After years in development, we will be releasing WebGPU on Windows in Firefox 141! WebGPU gives web content a modern interface to the user’s graphics processor, enabling high-performance computation and rendering. We’re excited about WebGPU because we believe it will raise the ceiling for games, visualization, and local computation on the web.
You can find a tutorial on WebGPU at webgpufundamentals.org, try out the WebGPU Samples, and read documentation for the API at MDN. WebGPU is defined in two W3C standards, WebGPU and WGSL, whose development Mozilla has participated in since it began in 2017.
WebGPU has been available in Google Chrome since 2023, and is expected to be available in Safari 26 this fall.
Although Firefox 141 enables WebGPU only on Windows, we plan to ship WebGPU on Mac and Linux in the coming months, and finally on Android. Windows was our first priority because that’s where the great majority of our users are, but we are looking forward to enabling it on the other platforms as soon as it is robust and our test coverage is adequate. (Your humble author is strictly a Linux user, so this concern is close to his heart.) Note that WebGPU has been available in Firefox Nightly on all platforms other than Android for quite some time.
Firefox’s WebGPU implementation is based on WGPU, a Rust crate that provides a unified, portable interface to the low-level graphics APIs of the underlying platform: Direct3D 12, Metal, and Vulkan. WGPU is developed as an independent open source project on GitHub, but Mozilla is a major contributor. WGPU is widely used outside Firefox, and has an active community, so if you are a Rust developer interested in contributing to Firefox’s WebGPU support, WGPU is a good place to start.
WebGPU is a large, complex API. We’ve focused our efforts so far on making high-visibility WebGPU applications and demos run smoothly, and we believe it should work well in Firefox 141 for many use cases. However, there is plenty of work remaining to be done to improve our performance and compliance with the specification. In particular:
- Firefox uses unbuffered inter-process communication to convey web content’s requests to the GPU sandbox process, which introduces significant overhead. We addressed this in Bug 1968122, which improved performance significantly. The fix will appear in Firefox 142.
- Firefox currently uses an interval timer to tell when the GPU has completed a task, adding significant latency to many applications where the task finishes quickly. There are better ways to do this, we are changing Firefox to use them. You can follow our progress in Bug 1870699.
- Firefox does not yet support WebGPU’s importExternalTexture method, which lets the GPU read decompressed video content directly from the decoder. You can follow our progress in Bug 1827116.
Please give WebGPU a try in Firefox! If you encounter problems, please report them in the WebGPU component in Bugzilla. As always, provide us with as detailed instructions as you can to make the bug occur, and attach the contents of about:support to the bug so we can see what kind of system you are using.
It’s been a big project, but we’re done tinkering with the engine and taking test drives — we’re finally ready to roll WebGPU out of the garage and hand it over to you for daily use. We’re looking forward to seeing what you can do with WebGPU in Firefox!
Four years sind the last blog update! I thought the technology has been abandoned… Thank you for the great news! Can you give me a hint where can I find a list of supported GPUs?
It runs on top of Vulkan, Metal, D3D12, and OpenGL. So anything that supports those.
Yay! WebGPU!
YAY, it’s fun!
WEB 3D is the futureeeee. Thanks Mozilla!
Can’t wait to see this also supported on GNU/Linux. Would be great to have more regular updates (technical details) about bringing WebGPU to GNU/Linux.
working in Android nightly after changing this preference setting value to true..browsing is more smoother now.
gfx.webgpu.ignore-blocklist to true
not sure why the article says after month..
Yayyyyyy more junk to disable permanently. dom.webgpu.enabled = false
Firefox already eats GIGABYTES of memory just idling with unloaded tabs in the background. It ignores group policy set by the admin. Now I want to give it full permission to eat my 12GB video card too? HAHAHAHA get real.
Coupled with the new rebrand to “Mozilla Advertising” on the main corporate webpage, I think it’s over. By 150 I’m expecting ads in a non-closable sidebar. Also the terrible vertical tab layout was a joke. It’s like browsing by favicons, it’s so awful.
Anyway Zen Browser has fixed that issue by having a good vertical tab layout and none of the spyware telemetry in the back. It’s a good holdover while the ship capsizes and sinks slowly :)
You really write a lot of nonsense. A web API is not “junk” and does not affect you at all if you do not use a web application that makes use of it. And if you want to use a web application that requires it, you are dependent on the support. Group policies are not ignored if they are used correctly. There was no rebranding to “Mozilla Advertising”. There are no plans for non-removable advertising in a sidebar. If you don’t like the design of the vertical tabs: Firefox is pretty much the only browser that allows design customization via CSS. Telemetry is not even remotely related to spyware. It’s obvious you’re just a troll trying to promote Zen. But as is so often the case, less is more. Maybe apply less thickly next time, then it won’t be so noticeable.
Not to mention that Firefox reserves more ram than it needs, which shows as higher usage but the system can reclaim it whenever it needs for other tasks. A lot of misunderstandings going on in anon’s post.
Awesome! Thanks for the work you put into it, I imagine it was (and still is) an extremely complex and challenging task.
I’ve always used Firefox ever since version 3.6.