DXVK, the translation layer that converts Direct3D calls to Vulkan for use with Wine and Proton, has a big new release out with version 2.0. This is one of the ways that Proton performs so well for Windows games on Linux desktop and Steam Deck.
For this, you will need to ensure you have up to date drivers, they said any Vulkan 1.3 capable driver and Wine version are required now. The new recommend versions are:
Driver | Required version | Recommended version |
---|---|---|
AMD (RADV) | 22.0 | 22.2 |
Nvidia | 510.47.03 | 520.56.06 |
Intel (ANV) | 22.0 | 22.2 |
As for what's new? A lot! As expected from a major version bump.
Firstly, DXVK-Native, that provides Vulkan support for Native Linux applications has now been upstreamed and merged into DXVK directly so that it "can be used as a drop-in replacement to port D3D applications without having to change rendering code". This is really great and for developers who are looking to port their games, it's breaking down another barrier.
One of the most exciting changes is to shader compiling. Unless games already have their shaders ready, like you see in Steam when it downloads them for you, there will often be a lot of stuttering as the game builds it up with DXVK as you play. That's now changed! If you have drivers that support what's needed, the "shaders will now be compiled at the time the game loads its D3D shaders, rather than at draw time" resulting in reduced or eliminated shader compile stutter. There's some caveats with this though like some games only loading their shaders as you play anyway, 32-bit games may stutter and NVIDIA uses more space.
I cannot stress how excited I am for the above on both Steam Deck and Linux desktop!
Other highlights:
- D3D9
- Reduce the likelihood of running out of address space in 32-bit D3D9 games
- Reading from an active render target in D3D9 games is now properly supported, which previously caused rendering artifacts on newer AMD hardware and required driver-level workarounds. This affects a number of games, including GTA IV.
- The D3D9 alpha test implementation was changed to more closely match the behaviour of Nvidia's implementation, which fixes inaccuracies in various games.
- D3D10
- Removal of some unused bits
- D3D11
- DXVK now exposes D3D11 Feaure Level 12_1 with the following newly added features:
- Tiled Resources up to Tier 3, provided that the corresponding Vulkan sparse binding and sparse residency features are supported
- Conservative Rasterization up to Tier 3, provided that the corresponding Vulkan conservative rasterization features are supported.
- Rasterizer Ordered Views, provided that the corresponding Vulkan fragment shader interlock features are supported.
- Closer to Windows behaviour for "immediate contexts and deferred contexts", might help "improve compatibility to third-party libraries and mods that hook into the D3D11 immediate context specifically, and reduces CPU overhead since some frequently used code paths are now more specialized for each context type".
- More optimizations to reduce CPU overhead in games like Assassin's Creed: Origins and God of War.
- DXVK now exposes D3D11 Feaure Level 12_1 with the following newly added features:
There's also numerous game-specific bug fixes including issues solved for: Alan Wake, Alice Madness Returns, Anomaly: Warzone Earth, Beyond Good and Evil, Dragon Age Origins, Empire: Total War, Final Fantasy XV, Grand Theft Auto IV, Heroes Of Annihilated Empires, King Of Fighters XIII, Metal Gear Solid V: Ground Zeroes, Sonic Generations, Spider Man: Shattered Dimensions, The Ship, Warhammer Online and Ys Seven.
Incredible work from all involved to make Linux gaming better than ever.
For Steam Deck users: you'll have to wait for SteamOS updates to bring in a new driver for support for all the features. Some of it is not yet ready in the Mesa GPU drivers for either desktop or Steam Deck.
QuoteIf you have drivers that support what's needed, the "shaders will now be compiled at the time the game loads its D3D shaders, rather than at draw time" resulting in reduced or eliminated shader compile stutter.Finally graphics pipeline library is merged into a stable branch! Now Imwait for stable Proton to pick this up...
QuoteFor this, you will need to ensure you have up to date drivers, they said any Vulkan 1.2 capable driver and Wine version are required nowThe release announcement mentions Vulkan 1.3, not 1.2
Quoting: mr-victoryFixed, thanks for the note, glad I caught this comment. In future, be sure to send a correction instead so we don't miss it.QuoteFor this, you will need to ensure you have up to date drivers, they said any Vulkan 1.2 capable driver and Wine version are required nowThe release announcement mentions Vulkan 1.3, not 1.2
Quoting: mr-victoryNow Imwait for stable Proton to pick this up...FWIW Proton 7.0 won't get this since we don't want to bump the hw/driver requirements on a stable release. Next major update should have it though, and this has basically been in Experimental for quite some time now.
*them are part of next bunch of testing titles
In both games with i had nvidia geforce gtx 1050 have much stutter
Last edited by mrdeathjr on 10 November 2022 at 6:18 pm UTC
Quoting: mrdeathjrIn my case stay testing lastest git (most of this changes comes with 2.0) and shader stutter are reduced so much in some unreal engine 3 games: for now test damnation and rise of argonautsQuick note to say I deeply appreciate your games testing and it always makes me happy to see your posts. Double thumbs up!
In both games with i had nvidia geforce gtx 1050 have much stutter
On another note, Debian currently rolls with Mesa 22.2.0 (testing), 22.2.3 (sid) and 22.3.0 (experimental)
Of course in Siduction we also have 23.0-git.
QuoteIf you have drivers that support what's needed,
What do you mean with that, exactly?
Quoting: Comandante ÑoñardoWhat do you mean with that, exactly?
It means your Vulkan driver needs to implement the `VK_EXT_graphics_pipeline_library` extension to use the feature. The only currently released stable driver which supports it is Nvidias 520 series drivers. AMD (radv) and Intel (ANV) are still working on it.
Quoting: YoRHa-2BQuoting: mr-victoryNow Imwait for stable Proton to pick this up...FWIW Proton 7.0 won't get this since we don't want to bump the hw/driver requirements on a stable release. Next major update should have it though, and this has basically been in Experimental for quite some time now.
And it helps. It really reduces stuttering in games a lot for me. An example would be moving on horse preloading in KCD: Deliverance (maybe shadows/foilage?) and I think in God of War, since I had odd stutters but using a new nvidia driver and experimental they disappear.
May be a coincident though. I doubt it, since those were very prominent and they magically disappeared.
Quoting: BlistoQuoting: Comandante ÑoñardoWhat do you mean with that, exactly?
It means your Vulkan driver needs to implement the `VK_EXT_graphics_pipeline_library` extension to use the feature. The only currently released stable driver which supports it is Nvidias 520 series drivers. AMD (radv) and Intel (ANV) are still working on it.
I have the 520.56.06 version..
In theory, this should improve Lutris and Bottles gaming.
I just checked and this version of DXVK is not yet available on lutris or bottles
See more from me