# Supported Platforms - MapLibre Rust Documentation

# Supported Platforms

For development the following platforms are recommended:

- Linux X11/Wayland
- MacOS
- Latest Firefox Nightly/Chrome Canary with WebGPU (Because WebGPU is a living spec, sometimes a bleeding-edge browser release is required)

## Short-term Obstacles

Platform | Obstacles
--- | ---
Linux X11 |
Linux Wayland |
Windows |
MacOS |
Android | * Unable to get window size before resume
iOS | * Touches are crashing the app on real devices * Instanced indices drawing is not supported * Drawing zero-length indices is prohibited
Firefox | * Shared Memory is currently not working because it a parallel web worker corrupts memory
Chrome |
Safari |
Mobile Firefox |
Mobile Chrome |
Mobile Safari |

## Long-term Goals

WebGPU is not enabled by default for all platforms.

WebGPU Status:

- Firefox
- Chrome
- WebKit

Platform | Linux & Android | Graphics API | Note
--- | --- | --- | ---
Linux X11 | ✅ | Vulkan |
Linux Wayland | ✅ | Vulkan |
Windows | ❓ | ❓ |
MacOS | ✅ | ❓ |
Android | ✅ | Vulkan/OpenGL ES/Angle | Not tested, but should work on all devices if Angle is used. Vulkan is not yet supported widely.
iOS | ✅ | Metal | Not tested.
Firefox | ✅ | WebGL/WebGPU |
Chrome | ✅ | WebGL/WebGPU | WebGPU is significantly faster because WASM output is smaller.
Safari | 🛠️ | WebGL/WebGPU | Safari does not yet support Shared Array Buffer
Mobile Firefox | 🆗 | WebGL/WebGPU |
Mobile Chrome | 🆗 | WebGL | WebGPU is not implemented.
Mobile Safari | 🛠️ | WebGL | WebGPU is not implemented. Safari does not yet support Shared Array Buffer

✅ = First Class Support — 🆗= Best Effort Support — 🛠️ = Unsupported, but support in progress