Software 45113 Published by

VKD3D-Proton 3.1, the open-source library that lets Windows Direct3D 12 games run on Linux via Vulkan, was tagged on 28 October 2026 by maintainer Hans-Kristian Arntzen. Arntzen describes it as a deliberate "stable" checkpoint rather than a feature drop, existing mainly to set up the larger, riskier v3.2 release. It still lands key modern-DX12 capabilities including opt-in VK_EXT_descriptor_heap support, DXR 1.2 ray tracing, and Shader Model 6.9 with Shader Execution Reordering. The descriptor heap is intentionally held back from the default for now but is expected to enable by default in v3.2, which Arntzen calls "uncharted territory."



VKD3D-Proton 3.1 ships as a "stable" checkpoint ahead of the v3.2 overhaul

The open-source DX12-to-Vulkan translator behind most AAA Windows games on Linux and the Steam Deck gets descriptor heaps, DXR 1.2, and Shader Model 6.9. The best part, maintainer Hans-Kristian Arntzen says, is what's queued for next.

VKD3D-Proton 3.1 was tagged today. It's the library that lets Windows Direct3D 12 games run on Linux. It translates each DX12 call into Vulkan on the fly. It lives inside Valve's Proton. That's why it handles a big chunk of the Steam titles that run on Linux and the Steam Deck.

Screenshot_from_2026_10_28_13_51_20

There's a nuance worth flagging up front. Hans-Kristian Arntzen describes 3.1 as a deliberate "stable" checkpoint. It's the last relatively quiet release before the codebase dives into the sweeping changes of v3.2. Think of it less as a feature bonanza and more as careful staging.

Keep in mind that it still lands a fair amount of good stuff, though.

What's new under the hood

The headline is VK_EXT_descriptor_heap support. Descriptor heaps let an app own the memory it uses to bind shader resources directly. That mirrors DX12's own model closely, and the payoff is less CPU overhead on resource binding, a real bottleneck in DX12 workloads.

The catch? It's not enabled by default. Arntzen cites driver quality concerns, but says the situation "will change imminently on master," which is "one of the reasons this release is happening now."

So the plan is that 3.2 flips it on by default, with 3.1 buying time to iron out edge cases. Community testing claims 5 to 20 FPS gains in some titles.

On top of that, 3.1 ships DXR 1.2 ray tracing through the KHR_opacity_micromap extension, dropping an old broken EXT path. It adds Shader Model 6.9, which brings Shader Execution Reordering and Long Vector. Both lean hard into ray tracing and machine learning, which is exactly why Arntzen lights them up on NVIDIA alone for now.

Then there's a smaller batch of changes: NVAPI intrinsics in the shader translation layer, AgilitySDK 619, and view instancing now on by default.

The rest reads like a long list of quiet fixes. That's kind of the point: VKD3D-Proton's real-world value lives in workarounds for games that assume Windows-only GPU behavior. 3.1 adds Wave32 handling for older AMD and Qualcomm hardware, plus a rewrite of the AMD_anti_lag path. Then there's Steam Frame support with ARM64 build help, and a fix for an NVIDIA compiler that exploited undefined behavior in integer division.

Why the version number matters more than the features

Here's the thing that will trip up anyone skimming release notes. Arntzen says 3.1 "is mostly just tagged now to facilitate bumping the build version shortly after to 3.2," and calls the follow-up a plunge into "uncharted territory."

On paper, 3.1 is doing a few jobs at once. It gets descriptor heaps into a tested, merged state. The DXR 1.2 and SM 6.9 paths ship so drivers and games get validated before a broad rollout. Meanwhile the build version gets pinned at 3.x for a clean baseline.

The community has taken to it. The GitHub release picked up a pile of emoji reactions across thumbs-up, hooray, and heart.

For context, Arntzen is essentially a one-man graphics effort, though a big one. He's a Norwegian programmer in Trondheim who works alongside Valve's Linux team, runs his own firm, and is better known to some by his blog handle "Themaister." After original VKD3D author Józef Kucia died in 2024, Arntzen became the central figure keeping DX12-on-Vulkan development alive.

His own notes still get quoted around these parts, especially the one about pathological barrier patterns: "Cannot trust applications to write competent code :')"

If you want to try it yourself, VKD3D-Proton 3.1 is available now. Head here to the GitHub release for the 3.1 tag, or over to the changelog for the full historical context.