Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal. You can also buy games using our partner links for GOG and Humble Store.
We do often include affiliate links to earn us some pennies. See more here.

VKD3D-Proton version 2.12 adds NVIDIA Reflex support

By - | Views: 29,720

The project that implements Direct3D 12 on top of Vulkan, VKD3D-Proton, has version 2.12 out now bringing with it more new features like NVIDIA Reflex support! Technology like VKD3D-Proton is used directly by Proton, to enable Windows games to run on Linux / Steam Deck.

New Features:

  • Implement support for NVIDIA Reflex through VK_NV_low_latency2. Thanks to NVIDIA for contributing implementation.
  • Implement D3D12 render pass API (tier 0).
  • Implement ID3D12DeviceRemovedExtendedDataSettings stubs. Fixes some games that rely on this existing.
  • Implement VK_EXT_device_fault. Makes it possible to grab fault information and vendor binary if supported.
  • Implement VK_EXT_swapchain_maintenance1
    • Allows seamless transition between V-Sync and tearing present modes without stutter.
    • Implemented on both Mesa and NV drivers.
  • Expose Shader Model 6.7 by default if
    VK_KHR_shader_maximal_reconvergence and VK_KHR_shader_quad_control are supported.
  • Add optimized descriptor copy path on Intel Arc GPUs that support VK_EXT_descriptor_buffer
  • Implement fallback for compute shader derivatives on NVIDIA Pascal and older GPUs. Allows exposing Shader Model 6.7 by default on Pascal as well (albeit with some known cases where it does not work). The workaround is expected to work with any known use of SM 6.6 compute derivatives in the wild.

There's also some game fixes for Atlas Fallen, Warhammer: Darktide, Resident Evil 4, multiple Unreal Engine 5 games, World of Warcraft and disabling of RT by default in Persona 3 Reload on Steam Deck.

Pictured - Resident Evil 4

Additionally this release also implements VK_NV_raw_access_chains which they said "significantly" improves GPU performance on NVIDIA in some games.

Full changelog, click me

Features

  • Implement support for NVIDIA Reflex through VK_NV_low_latency2. Thanks to NVIDIA for contributing implementation
  • Implement D3D12 render pass API (tier 0)
  • Implement ID3D12DeviceRemovedExtendedDataSettings stubs. Fixes some games that rely on this existing
  • Implement VK_EXT_device_fault. Makes it possible to grab fault information and vendor binary if supported
  • Implement VK_EXT_swapchain_maintenance1
    • Allows seamless transition between V-Sync and tearing present modes without stutter
    • Implemented on both Mesa and NV drivers
  • Expose Shader Model 6.7 by default if
    VK_KHR_shader_maximal_reconvergence and VK_KHR_shader_quad_control are supported
  • Add optimized descriptor copy path on Intel Arc GPUs that support VK_EXT_descriptor_buffer
  • Implement fallback for compute shader derivatives on NVIDIA Pascal and older GPUs.
    Allows exposing Shader Model 6.7 by default on Pascal as well (albeit with some known cases where it does not work).
    The workaround is expected to work with any known use of SM 6.6 compute derivatives in the wild

Fixes

  • Fix Atlas Fallen black screen due to edge case with MinLODClamp
  • Correctly disable alpha-to-coverage if sampler mask is exported
  • Fix format feature reports for DXGI_FORMAT_UNKNOWN
  • Relax root signature compatibility rules when compiling Ray Tracing pipelines.
    Fixes GPU hang on NV in Warhammer: Darktide
  • Fix GPU hang on NV in UE5 Lyra demo
  • Explicitly validate stage IO signatures in PSO creation similar to native D3D12 runtime.
    Fixes some scenarios where a game attempts to create an invalid pipeline that should have failed creation
    on native D3D12

Workarounds

  • Workaround crash in Resident Evil 4 RT mode when tessellation is enabled
  • Workaround mesh shader glitches on NVIDIA in several UE5 titles
  • Workaround GPU hang on NVIDIA in World of Warcraft when MSAA is enabled
  • Disable RT by default in Persona 3 Reload on Deck

Performance

  • Implement VK_NV_raw_access_chains. Significantly improves GPU performance on NV GPUs in some games.
    Games using DXBC instead of DXIL are expected to see more improvements.
    Not all games are expected to see an uplift
  • Fix extremely poor GPU performance in some locations in Persona 3 Reload

Debug

  • Add support for VKD3D_QUEUE_PROFILE, a simple system profiling method
    • Includes VK_NV_low_latency2 support to debug NVIDIA Reflex sleeps
  • Root signature blobs are also dumped when dumping shaders
    • A simple CLI tool to inspect the root-sig blobs is included in programs/
  • Misc improvements to breadcrumbs, debug ring, etc
  • Pipeline creation failure now dumps PSO creation commands in log

Additionally, DXVK-NVAPI, the alternative implementation of NVIDIA's NVAPI library for usage with DXVK and VKD3D-Proton also had a new release with version 0.7. This added the NVIDIA Reflex support and improvements for NVIDIA NVK support.

Article taken from GamingOnLinux.com.
15 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 came back to check 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. Find me on Mastodon.
See more from me
7 comments

rustigsmed Mar 18
So I'm assuming with reflex support - nVidia frame generation may work now for those are after some fake frames.
Xpander Mar 18
Quoting: rustigsmedSo I'm assuming with reflex support - nVidia frame generation may work now for those are after some fake frames.

Not yet.
Tbh its kinda pointless to have higher number of frames anyway when the input is like low fps.. yeah reflex will make input better but you can enable reflex without framegeneration also to make input feel nicer.

But reflex support is quite nice and seems to somewhat work with the games i tried, but hard to really say how much actually improved. My brain is old and slow.
Ehvis Mar 18
View PC info
  • Supporter Plus
Still not entirely sure what reflex is supposed to bring me. Any suggestions for testing it?
D34VA_ Mar 18
Quoting: EhvisStill not entirely sure what reflex is supposed to bring me. Any suggestions for testing it?
Use a camera and a wired input device. Record in high framerate (proper slow motion). The time between input and action can be determined by comparing the time between press and apparent action over frames per logical second.


Last edited by D34VA_ on 18 March 2024 at 11:28 am UTC
Ehvis Mar 18
View PC info
  • Supporter Plus
Quoting: D34VA_
Quoting: EhvisStill not entirely sure what reflex is supposed to bring me. Any suggestions for testing it?
Use a camera and a wired input device. Record in high framerate (proper slow motion). The time between input and action can be determined by comparing the time between press and apparent action over frames per logical second.

That's more about the technical stuff. I meant a game where it should make a difference.
Tevur Mar 18
Try CP2077 with DLSS Frame Generation. This raises input lag significantly.
Now use Reflex to see, the game feels much mor responsive.

The better usecase would be fast competitive games, but honestly i'm too old to sense the 10 ms cutting edge 1337ness i would win there with Reflex.
Xpander Mar 18
Quoting: EhvisThat's more about the technical stuff. I meant a game where it should make a difference.

Cyberpunk 2077, The FINALS, Apex Legends(DX12), Deep Rock Galactic, Ghostrunner ...etc

https://www.nvidia.com/en-gb/geforce/technologies/reflex/supported-products/

dx11 games dont work yet afaik. you need to merge this PR to it: https://github.com/doitsujin/dxvk/pull/3690


Last edited by Xpander on 18 March 2024 at 3:27 pm UTC
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: 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


Or login with...
Sign in with Steam Sign in with Google
Social logins require cookies to stay logged in.