Did you know we have a Forum? Come and say hi!
We use affiliate links to earn us some pennies. Learn more.

VKD3D-Proton is an incredibly important project for ensuring Direct3D 12 games run well on Linux / SteamOS using Vulkan, with a big new release up.

This is automatically included in Valve's Proton, so you don't need to do anything to update to it. Proton Experimental usually pulls in changes from it fairly often. However, if you wish to try it out in the current version of Proton we have a GamingOnLinux guide to tell you what to do.

With version 3.0.1 the developer notes this is likely to be the last release before "VK_EXT_descriptor_heap" support lands.

As for what's new in VKD3D-Proton 3.0.1 - quite a lot actually. There's various fixes and improvements to specific games like Death Stranding 2, Spider Man 2, Crimson Desert, REANIMAL and others. There's also support for more D3D12 features like D3D12 view instancing (experimental). Plenty of optimizations too, a bunch of which is for mobile chips but there's a number of performance improvements for all users included.


Pictured - Death Stranding 2 on Linux

Amazing work as always! Enabling Linux platforms to play tons of games, even some brand-new AAA games on the day that they release.

Full changelog, click me

This is likely the last release before VK_EXT_descriptor_heap lands.
There are some practical reasons why this is 3.0.1 instead of 3.1,
but numbers don't really matter that much anyway.

A ton of work on descriptor heaps have been happening in the background as well,
but that is not included in this release.

Features

  • D3D12 view instancing is now experimentally supported.
    It is enabled for the one known game that requires it, Crimson Desert (1.04+).
  • Implement VK_EXT_present_timing, allowing for smooth frame pacing for SyncInterval > 1 when supported.
  • Support Independent Devices feature.
  • Add support for new AGS WMMA ops required for FSR4 Ray Reconstruction and Denoiser, as used in Crimson Desert.
  • Expose new interfaces for more up-to-date NVAPI and expose some support for NVAPI shader intrinsics.
    With up-to-date dxvk-nvapi, the vendor extensions for Shader Execution Reordering should work for example.
  • Expose new interfaces for AMD AGS and expose some support for AGS shader intrinsics, as used in Crimson Desert.

Fixes

  • Allow SV_PrimitiveID to be read in more shader stages as expected.
  • Various fixes for NVIDIA Reflex to improve performance in some cases. [NVIDIA contrib]
    • Rather than trying to lock NVAPI present ID to our present ID, these can now be decoupled.
      This helps frame-gen in particular, since we can now signal this situation properly.
  • Various fixes to make Turnip pass vkd3d-proton test suite.
  • Various fixes in dxil-spirv to make new games not crash in shader compiler.
  • Fix regression in F1 2019/2020 where old workaround in old compiler was not retained in new code.
  • Misc other bug fixes.

Performance

Most of the performance work for this release revolved around giving some love to mobile chips which rely
on tiling for optimal performance:

  • Implement deferred clears and discards to potentially improve performance on e.g. Turnip.
  • Take advantage of render pass suspend-resume on mobile GPUs, which can potentially improve performance a lot.
    NOTE: This depends on driver and game to "do the right thing". It does not magically make things go faster.
  • Move query pool initialization and resolves around to avoid breaking render passes as much as possible.
  • Rework how MSAA resolves work to make it easier for drivers to optimize.

Other performance improvements:

  • Implement a batched system for complex ExecuteIndirect where existing split command list optimization did not work.
    Improves GPU bound performance in various games that spam ExecuteIndirect with state updates like Crimson Desert, Starfield and Halo Infinite.
  • Implement SM 6.4 dot2add with VK_VALVE_shader_mixed_float_dot_product if supported.
  • Finally use a proper Vulkan TRANSFER queue for D3D12 COPY queues if supported instead of Vulkan COMPUTE queue.
    RADV does not expose this by default yet, but a TRANSFER queue is now used on NVIDIA by default,
    which should improve performance when streaming assets.

Workarounds

  • Introduce a mechanism to apply workarounds based on shader entry point name instead of hash.
    This is not always available, but should avoid churn in e.g. Wuthering Waves and Crimson Desert
    which are moving targets w.r.t. shader hashes.
  • Workaround DispatchRays where game forgets to set root signature correctly.
  • Workaround misc game bugs in:
    • Shadows of the Tomb Raider
    • Rise of the Tomb Raider
    • Spider Man 2
    • Death Stranding 2
    • Guardians of the Galaxy
    • REANIMAL
    • Crimson Desert
    • ... and others I probably missed to mention
  • Workaround hardware bug on RDNA4 with SV_ShadingRate on affected Mesa versions.
    • Fixed in 26.1+. Workaround is disabled on those versions.
  • Remove NULL SMEM PRT HW workaround on AMD in future Mesa 26.2+.
    • Resolves a 1.5 year old nightmare in Monster Hunter Wilds.
  • Add performance workaround for NVIDIA kernel when waiting for ID3D12Fences.
  • Allow RDNA1 GPUs to pretend that they support barycentrics and VRS. Allows Crimson Desert to run on RDNA1.
  • Remove global submission lock workaround on NVIDIA.

Misc

Remove legacy paths for VK_NV_device_generated_commands{,_compute} and compute fallback for NV_dgcc.
No relevant driver is impacted by this cleanup.

Source: GitHub

Article taken from GamingOnLinux.com.
5 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. You can follow me personally on Mastodon [External Link].
See more from me
All posts need to follow our rules. Please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Readers can also email us for any issues or concerns.
1 comment

CatKiller 2 hours ago
Plenty of optimizations too, a bunch of which is for mobile chip
Note that the Frame [uses Turnip.](https://www.igalia.com/2025/11/helpingvalve.html)
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon Logo Patreon. Plain Donations: PayPal Logo PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register