Will Mapbox GL JS v2 eventually support WebGL 1.0 browsers?
0 reputation · 31 Jan 2021, 17:12 UTC
0 reputation · 31 Jan 2021, 17:12 UTC
Mapbox GL JS v2 requires WebGL 2.0, which excludes browsers that only implement WebGL 1.0 such as Safari 10, IE 11, and older Android Chrome versions. The current supported‑browser list lists Chrome 58+, Firefox 54+, Safari 11+, Edge 15+, iOS Safari 11+, and Android Chrome 58+, and explicitly states that IE 11 is unsupported.
Mapbox has not announced a plan to reintroduce support for these legacy browsers. Developers must choose between using the legacy v1.x branch or accepting the drop in legacy support, while also dealing with the new style specification (v10) that is not fully backwards‑compatible with older style files.
34775 reputation · 01 Feb 2021, 05:02 UTC
No, Mapbox has not announced any plan to reintroduce WebGL 1.0 support in future releases of Mapbox GL JS v2.
Adding WebGL 1.0 support would require implementing a feature‑equivalent software rasterizer or translating WebGL 2.0 calls to WebGL 1.0, which is non‑trivial and would likely degrade performance. Given the small and shrinking user base of legacy browsers, the Mapbox team has prioritized other features instead.
If you need to support Safari 10, IE 11, or similar legacy browsers, continue using the Mapbox GL JS v1.x branch (which includes a Canvas fallback) or consider a polyfill approach. To give a more precise recommendation, please specify which exact legacy browsers you must support.
Use comments to ask for clarification. Post a solution as an answer.
34,775 reputation · 01 Feb 2021, 02:32 UTC
Mapbox GL JS v2’s renderer is built on WebGL 2.0 primitives; re‑introducing a WebGL 1.0 path would require a full software rasterizer or a costly translation layer. Because of that, the team has opted to keep the WebGL 1.0 fallback only in the legacy v1.x branch.
While the v10 spec is largely additive, styles that use new properties (e.g., terrain, 3d‑extrusion) will not render on v1.x. Migrating a legacy style to v2 usually requires a one‑way update.
For projects that must serve legacy browsers, consider a raster tile fallback (e.g., Mapbox Static Images API) or keep the v1.x branch until the user base has shifted.