An exciting release of VKD3D-Proton has arrived! VKD3D-Proton 2.11 brings with it some big improvements for the Direct3D 12 to Vulkan translation layer used in Valve's Proton for Linux PC and Steam Deck.
First big change is that DXR is now enabled by default, no more needing to set "VKD3D_CONFIG=dxr" as that is the default. However they note a few special cases where it is not. Sampler feedback is also now supported through emulation, and thanks to this DX Ultimate (FL 12.2) is also now exposed by default on RDNA2+ and Turing+.
There's also various performance fixes, new workarounds for game issues and a few general bug fixes. All the rest available below in the full changelog:
Changelog, click me
Features
DXR enabled by default
VKD3D_CONFIG=dxr
is default now, and no longer needed.
There are some special cases where DXR is not enabled by default. The only such current example is
"Hellblade: Senua's Sacrifice" on Deck which force-enables DXR if it is supported, even on Deck.
New semantics are:
dxr
: Force-enable DXR, even when it is considered unsafenodxr
: Disable DXRdxr11
: Removed.dxr
already implied DXR 1.1 anyway
Sampler feedback
This feature was the last feature required for FL 12.2 and is implemented through emulation.
As demonstrated in the implementation docs, all
native implementations of this feature are fundamentally broken in some way.
There's also no known game that ships requiring this feature, so we just consider this a checkbox feature.
DX Ultimate (FL 12.2) now exposed by default
On RDNA2+ and Turing+ we can finally expose the DX Ultimate feature set!
Misc
- Implement a bunch of missing "Vulkan-on-D3D12" features
- IndependentFrontAndBackStencilRefMaskSupported
- TriangleFanSupported
- DynamicIndexBufferStripCutSupported
- DynamicDepthBiasSupported
- NonNormalizedCoordinateSamplersSupported
- MismatchingOutputDimensionsSupported
- PointSamplingAddressesNeverRoundUp
- RasterizerDesc2Supported
- Explicit line rasterization mode
- NarrowQuadrilateralLinesSupported
- AnisoFilterWithPointMipSupported
- Implement missing MSAD instruction in DXIL, allowing FSR3 to run
- Implement some esoteric DXR features
- Implement support for multiple mismatching global root signatures in DXR
- Fixes crash in Battlefield V
- Implement support for LOCAL_ON_EXTERNAL dependencies in DXR
- Fixes DXR in Warhammer: Darktide
- Implement support for multiple mismatching global root signatures in DXR
- Implement support for ExecuteIndirect + Mesh shaders with state changes
- Currently unused by games
Performance
- Improve performance of NV_device_generated_commands and NV_device_generated_commands_compute by
reordering and batching command preprocessing- We have observed 15% FPS gains in Halo Infinite on RADV
- 1-2% in Starfield in some test locations
- Needs pending Mesa work to land to take advantage of this improvement
- Tune memory allocation patterns for DGC preprocess buffers
- Avoids a lot of allocation churn
- Greatly reduces CPU overhead on NV
Workarounds
- Work around RADV bug causing GPU hang in RE4: Separate Ways DLC
- Work around RADV bug causing GPU hang in Lords of the Fallen
- Work around Witcher 3 bug causing broken shadows and GPU hangs when enabling DXR
- Work around Cyberpunk 2077 bug when RT is enabled, where game would cause spurious GPU hangs due to accessing descriptor heap out of bounds
- Work around Windjammers 2 bug causing random crashes on startup
- Add support for VK_EXT_image_compression_control to allow for more fine-grained workarounds for broken games running on RADV
- Enable NV_device_generated_commands_compute on latest NV beta drivers
- 545.x drivers are still disabled until a fix can be confirmed on shipping drivers
- Remove CURB_MEMORY_PSO_CACHE workaround on Mesa 23.2+
- Should reduce overhead in PSO creation
Fixes
- Misc dxil-spirv changes to fix various bugs in game shaders as usual
- Fix Jurassic World Evolution 2 crashing when enabling DXR
- Fix some deprecation warnings in Meson build system
- Some submodule locations moved, which may cause minor disruption
Full release notes here.
Amazing how far Direct3D to Vulkan translation has come. The power of open source right here! Helping to get tens of thousands of games running on Linux / Steam Deck.
I finally got a new graphics card capable of ray-tracing and restarted Cyberpunk with patch 2.0, only to find out that RT will crash my computer *sadpanda*
Quoting: KROMHopefully with the next Proton Experimental, but I guess GloriousEggroll will be first.Don't worry to much raytracing makes a lot of scenes look more unrealistic and wrong than the traditional lighting in that game.
I finally got a new graphics card capable of ray-tracing and restarted Cyberpunk with patch 2.0, only to find out that RT will crash my computer *sadpanda*
still have to use "RADV_PERFTEST=rt", or i do not get the RT option
Is it safe?
Quoting: KROMHopefully with the next Proton Experimental, but I guess GloriousEggroll will be first.
I finally got a new graphics card capable of ray-tracing and restarted Cyberpunk with patch 2.0, only to find out that RT will crash my computer *sadpanda*
Same. But I also found RT tanked performance for very little observable improvement. The in-engine lighting is so damned good it barely matters. Unlike, eg, Control where RT on is a *completely* different experience
Quoting: Vasya SovariQuoting: KROMHopefully with the next Proton Experimental, but I guess GloriousEggroll will be first.
I finally got a new graphics card capable of ray-tracing and restarted Cyberpunk with patch 2.0, only to find out that RT will crash my computer *sadpanda*
Same. But I also found RT tanked performance for very little observable improvement. The in-engine lighting is so damned good it barely matters. Unlike, eg, Control where RT on is a *completely* different experience
Yeah performance really tanks with RT (until it crashes), pretty unplayable without FSR and even then it's barely playable. :|
But good to know that Control also has RT. I think I still have an unfinished savegame, now I have a good reason to finally finish it. :)
Are someone care about ray-tracing? If you play game, do you look at ray-tracing? Or look other things, like how to keep alive?
Quoting: mylkai do not have many RT games, but i tried it with lego builders journey on epic with heroic
still have to use "RADV_PERFTEST=rt", or i do not get the RT option
You must have old Mesa then. It shouldn't be necessary otherwise.
Quoting: deathxxxThis ray-tracing is just useless. Heavy drop performance for what?
Are someone care about ray-tracing? If you play game, do you look at ray-tracing? Or look other things, like how to keep alive?
I'd agree about something like Cyberpunk 2077. Performance drop in it is just not worth it. But may be some lighter games can benefit more from it. Didn't something like Minecraft add ray tracing support? No idea how it works without Vulkan though.
Last edited by Shmerl on 25 November 2023 at 11:59 pm UTC
See more from me