A new prototype merged into Mesa 26.2 on July 6, 2026 gives Windows Subsystem for Linux users their first taste of hardware-accelerated AV1 video encoding. The work, led by Microsoft engineers, leverages the DirectX 12 Hardware Media Foundation Transform (HMFT) to tap into the encoding hardware on modern GPUs from inside Linux environments running on Windows.

This isn’t a buttoned-up, broadly tested feature yet. It’s a developer preview, buried in a Gallium video frontend and a D3D12 video back-end inside Mesa—the open-source graphics driver stack that translates Vulkan and OpenGL calls into DirectX 12 commands for WSL. But the mere existence of the merge signals a serious push to close one of the most stubborn gaps between Linux-on-Windows and native Windows: media acceleration.

What got merged—and why it matters

At its core, the merge adds a new Gallium video frontend called d3d12_video to Mesa. This frontend hooks into the D3D12 video API and exposes a standard Linux interface (VA-API) to applications running in WSL. Applications that use VA-API for video encoding—think FFmpeg, GStreamer, or OBS Studio—can now request AV1 encoding and have the work dispatched to the GPU’s dedicated encoder block, rather than burning CPU cycles on software encoding.

The specific commit landed in the Mesa main branch, targeting the upcoming Mesa 26.2 release. It’s guarded by a build-time option (-D gallium-d3d12-video=true) and requires a WSL kernel that supports the necessary D3D12 video extensions. Microsoft’s WSL team has been laying the groundwork for this for over a year, progressively adding video decode and encode stubs to the DirectX-to-Linux translation layer.

AV1 encoding is particularly demanding. Unlike older codecs, AV1’s compression efficiency comes at a high computational cost. Software encoding on even powerful laptops can drop frame rates to a crawl. Hardware encoding turns that around: on discrete GPUs from NVIDIA, AMD, and Intel’s Arc series, dedicated AV1 encoders can process 4K video in real time with minimal CPU overhead.

Until now, WSL users who wanted AV1 had two poor choices: endure sluggish software encoding inside the VM, or switch entirely to a native Windows application. This merge opens a third path: stay inside your Linux workflow and get near-native encoding speeds.

What you can actually do with it—and what you can’t

If you’re a developer or power user who encodes video from within WSL, this prototype could fundamentally change your workflow. The immediate use cases fall into three buckets:

Content creators and streamers who run Linux-native tools like OBS Studio or FFmpeg in WSL can now encode live streams or archival footage in AV1 without leaving the WSL environment. That means you can manage a full Linux-based streaming stack—including chat bots, overlays, and scene composition—while encoding at hardware speeds.

Machine learning engineers who preprocess video datasets in WSL (e.g., trimming, transcoding, resizing) will see a dramatic speedup. AV1 is increasingly used for efficient storage of training data, and hardware encoding reduces preprocessing time from hours to minutes.

System administrators and CI/CD pipelines can now run automated media conversion jobs inside WSL-based containers without relying on CPU-only fallbacks. In cloud VMs or Dev Boxes with GPU partitions, this unlocks cost-effective, hardware-accelerated media processing.

But this is still a prototype. The current implementation covers only AV1 encoding—not decoding, and not other codecs like H.264 or HEVC. It’s also limited to GPUs that support AV1 encoding in DirectX 12, which means relatively recent hardware: NVIDIA RTX 40-series (Ada Lovelace), AMD Radeon RX 7000-series (RDNA 3), and Intel Arc GPUs. Older cards won’t benefit.

Stability is another open question. The code has passed basic tests in Microsoft’s internal CI, but real-world workloads—especially long-running encoding sessions—may hit driver bugs or resource leaks. There’s no official support channel yet; you’re on your own if something breaks.

How we got here: the long road to GPU parity in WSL

WSL’s graphics story has always been a tale of translation layers and community persistence. When WSL 2 launched with a real Linux kernel in 2019, GPU access was a distant dream. Microsoft bridged the gap with a D3D12 translation layer that mapped Vulkan and OpenGL calls to DirectX 12, enabling GUI apps and GPU compute. That work landed in 2020 and matured through the early 2020s.

Video acceleration took longer. The original WSL graphics driver stack (known as “WSLg”) focused on rendering, not media. In late 2024, Microsoft began laying the foundations for video decode and encode by exposing DirectX 12 Video APIs to the Linux side. A series of patches to the WSL kernel and Mesa’s D3D12 back-end added stub functions for H.264 and HEVC, but they were incomplete.

The big leap came with Microsoft’s decision to build a dedicated Gallium video frontend for D3D12, rather than trying to shoehorn video into the existing Gallium/D3D12 render-only path. This architectural choice mirrors what other translation layers (like VKD3D-Proton) have done for gaming—separating video encoding/decoding into its own optimized pipeline.

Mesa 26.2 is the first release to carry that work. The exact timeline from merge to a packaged release varies by Linux distribution, but Mesa typically releases quarterly. If 26.2 ships in Q3 2026 as expected, users of Fedora, Ubuntu, and other rolling distributions might see an experimental package within weeks of the official tarball.

Microsoft’s involvement is notable. The company’s WSL team actively contributes to Mesa, and this merge came with sign-offs from Microsoft employees. It’s a public commitment to making WSL a first-class multimedia platform, not just a development sandbox.

What to do now: testing the waters without breaking your system

If you’re tempted to try hardware-accelerated AV1 encoding in WSL today, here’s a practical, step-by-step guide to minimize risk:

  1. Check your GPU. Confirm you have a card with hardware AV1 encoding. On Windows, run dxdiag and look under the Display tab for “AV1 Encode” support. You can also check GPU manufacturer specs.
  2. Update WSL to the latest prerelease. Open a Windows Terminal and run wsl --update --pre-release. This ensures you have the most recent WSL kernel with D3D12 video extensions. You can revert later if needed.
  3. Install a Mesa 26.2 development build. Most users will compile from source. On Ubuntu 24.04 or later:
    bash git clone --depth 1 https://gitlab.freedesktop.org/mesa/mesa.git cd mesa mkdir build && cd build meson setup -Dgallium-drivers=d3d12 -Dvideo-codecs=all -Dgallium-d3d12-video=true --buildtype release .. ninja
    Installation is typically local (meson install --destdir /tmp/mesa-install), so you don’t overwrite system Mesa.
  4. Set environment variables. Before launching an encoding app, export the search path:
    bash export LIBVA_DRIVERS_PATH=/tmp/mesa-install/usr/local/lib/dri export LD_LIBRARY_PATH=/tmp/mesa-install/usr/local/lib:$LD_LIBRARY_PATH
  5. Test with FFmpeg. Use a build of FFmpeg compiled with VA-API support. A quick test command:
    bash ffmpeg -vaapi_device /dev/dri/renderD128 -f lavfi -i testsrc=size=1920x1080:rate=30 -c:v av1_vaapi -b:v 5M -t 10 test.mp4
    If it fails with “encoder not found,” your setup may be missing the AV1 VA-API profile. Double-check the GPU and Mesa build flags.

Remember: this is not a production-ready setup. Expect crashes, incomplete encodes, and driver timeouts. The safest path is to wait for a Mesa 26.2 release candidate and official packages from your distribution.

What comes next: the road to official support

Microsoft’s merge notes hint that this is just the beginning. The D3D12 video frontend is structured to support multiple codecs; the AV1 encoder is the first to land because it was the most requested and technically distinct. Future updates to Mesa 26.2 or 26.3 are likely to bring H.264, HEVC, and possibly VP9 encoding support, along with decode capabilities.

On the Windows side, Microsoft needs to stabilize the underlying D3D12 video API in WSL. The current implementation relies on experimental kernel features that may change. Once those solidify, the company can integrate the Mesa work into the default WSL graphics driver packages, making hardware encoding available out of the box with a simple wsl --install.

In the longer term, this prototype could rewrite expectations for hybrid Windows-Linux workflows. Content creators who’ve been shoehorning Windows apps into Linux pipelines, or vice versa, might finally get a seamless middle ground. And for developers who build media applications on Linux but target Windows users, WSL’s new encoding muscle removes a major friction point.

For now, though, the message is clear: GPU-accelerated AV1 encoding in WSL is no longer a pipe dream. It’s a prototype you can compile today, and a feature that’s on track to become a standard capability of Linux-on-Windows.