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.

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.