Open Source & Browser Engineering
Why Firefox Finally Adds Vulkan Video Decoding on Linux
Firefox 153 introduces a native Vulkan Video decoding path, handing video playback off to the GPU and closing a long-standing gap that forced Linux users into manual driver workarounds.
- Firefox 153 ships on July 21 as the latest Extended Support Release (ESR), bringing Vulkan Video decode to desktop and embedded Linux.
- The work was led by Nvidia engineer Tymur Boiko and builds on FFmpeg's existing Vulkan decode support.
- It covers H.264, H.265 and AV1, offloading the heavy lifting from the CPU to the GPU's dedicated video decode engine.
Most modern browsers already accelerate video decoding on the CPU or graphics chip, but Linux has long been the awkward child of the family. Nvidia cards in particular required users to install and manually configure a separate nvidia-vaapi-driver package just to get smooth hardware playback in a browser. For many distributions the feature simply did not work, and Firefox went further — it disabled hardware video decoding for all Nvidia devices on Linux, blanket style.
Vulkan Video fixes the mess by being vendor-agnostic. It is a cross-vendor specification, so the same code path can draw on whatever decode hardware the Vulkan driver exposes, without the browser needing a separate branch for Nvidia, AMD, Intel, or Arm. Firefox's implementation leans on FFmpeg, which already implemented Vulkan decoding, to bring the capability into the browser.
That agnosticism is exactly why Arm and embedded devices are the quiet beneficiaries. Nvidia's own DGX Spark, an Arm-based desktop AI computer running Ubuntu, previously lacked any hardware video decoding in Firefox because its chip does not expose VA-API or V4L2. A Mozilla tracking bug for that machine depends directly on this Vulkan Video work.
The feature launches gated behind two about:config preferences rather than flipped on by default, because hybrid graphics setups can still trigger edge cases. Nvidia driver 595.x or later is required. It is a behind-the-scenes engineering fix — the kind of thing most users will only notice as a browser that finally stops borrowing half the CPU to play a video.