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:
| 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