Skip to main content
Masterselects uses WebGPU, WebCodecs, and the File System Access API. Browser support for these APIs varies.

Browser support

BrowserEditingProject storageNotes
Chrome 113+FullNative (File System Access API)Primary supported browser
Chrome on AndroidPartialLimitedResponsive UI available; GPU performance varies by device
FirefoxFullRequires Native HelperFile System Access API not supported in Firefox; Native Helper provides a storage backend
Edge 113+FullNativeChromium-based; same support as Chrome
SafariNot supportedWebGPU implementation incomplete
Safari is not currently supported. WebGPU is available in Safari Technology Preview but the implementation is incomplete and Masterselects is not tested against it.

GPU requirements

  • Dedicated GPU — recommended for full performance at 1080p and above, and for compositing multiple simultaneous layers
  • Integrated GPU — functional for basic editing; may limit frame rates when using many effects or high-resolution footage
To confirm WebGPU is active in Chrome, open chrome://gpu and look for WebGPU in the feature list. If it shows as disabled or unavailable, update your GPU drivers and ensure hardware acceleration is enabled in Chrome settings.

Platform setup

Chrome on Windows supports WebGPU via D3D12 by default. No additional setup is required.If WebGPU is disabled:
  1. Open chrome://flags/#enable-unsafe-webgpu
  2. Set it to Enabled
  3. Relaunch Chrome
H.265 (HEVC) decode and encode is fully supported on Windows with a compatible GPU.

Firefox and the Native Helper

Firefox supports WebGPU and WebCodecs, so editing, playback, and effects work correctly. However, Firefox does not implement the File System Access API that Masterselects uses for project storage on Chrome. To use project persistence on Firefox, run the Native Helper — a Rust companion app that provides a local storage backend over a WebSocket connection:
cd tools/native-helper
cargo run --release
The Native Helper binds to 127.0.0.1 only and requires a random startup Bearer token for all HTTP and WebSocket connections. See Native Helper for full setup instructions.

Build docs developers (and LLMs) love