Check out our Monthly Survey Page to see what our users are running.
We do often include affiliate links to earn us some pennies. See more here.

DXVK [GitHub], which provides a Vulkan-based D3D11 and D3D10 implementation for use in Wine has a new build out. The pace of development on this continues to absolutely mesmerise me, with each release bringing something really interesting. Reminder: See my interview with the creator of DXVK here.

New feature highlights in 0.80:

Improvements

  • Added State Cache
  • Direct3D Feature Level 11_1 is now supported.
  • Minor overall reduction of CPU overhead.

Bug fixes

  • Fixed crashes on some APU systems without dedicated video memory (#640)
  • Assetto Corsa: Fixed crashes and artifacts when reflections are disabled (#648)
  • Project Cars 2: Fixed crash upon loading the game (#375#641)

About the new State Cache feature, they said this:

In order to reduce stutter on subsequent runs of an application, DXVK now caches pipeline state, which allows it to compile shaders earlier than it currently does, even if the driver's shader cache got invalidated after an update. This may temporarily cause very high CPU load.

By default, this feature is enabled, and cache files are typically created in the same directory where the game executable is located. Refer to the README for further details.

We don't know when this will be pulled into Proton for Valve's Steam Play, which is now a few versions behind. If you wish to test DXVK with Wine directly, I've no doubt Lutris will have a build up sometime soon.

Article taken from GamingOnLinux.com.
Tags: Vulkan, Wine
22 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
The comments on this article are closed.
17 comments
Page: «2/2
  Go to:

Leopard Sep 23, 2018
Quoting: Shmerl
Quoting: YoRHa-2BThe game is silly and
a) creates multiple D3D11 devices
b) changes its current working directory multiple times.

The actual cache file you're looking for is in the /bin subdir, not in /bin/x64.

Also, Witcher 3 does not compile its shaders ahead of time, so you will still encounter stutters in this game (although it should be less annoying because it can now use multiple threads to do it in parallel).

Good to know, thanks. I see the one in bin, and it's around 1 MB after a brief test.

I noticed that general stutter is lower now. A lot of Ryzen cores help (DXVK reports using 12 threads for compilation):

info:  DXVK: Read 627 valid state cache entries
info:  DXVK: Using 12 compiler threads

Yes.

If you have 8 cores ( 4c / 8t included ) and greater , it uses 3/4 of cores for that.


If you have less than 8 cores it uses half of them.
wvstolzing Sep 23, 2018
Quoting: LeopardThere is no need for seeking meaning in numbers.

Just enjoy it , that's what i do.

That might be true in this case; though in general (including anything mission critical), you do have to think twice, or take precautions, before using zero-point software.
Avehicle7887 Sep 23, 2018
Quoting: YoRHa-2B
Quoting: ShmerlI tested it with The Witcher 3, and somehow witcher3.dxvk-cache that was generated is just 12 bytes.
The game is silly and
a) creates multiple D3D11 devices
b) changes its current working directory multiple times.

The actual cache file you're looking for is in the /bin subdir, not in /bin/x64.

Also, Witcher 3 does not compile its shaders ahead of time, so you will still encounter stutters in this game (although it should be less annoying because it can now use multiple threads to do it in parallel).

Fantastic update, this has eliminated a lot of the stutter in Witcher 3 :-)

I have but one question - How does the new shader cache work with Nvidia? The games now seem to store shader cache in both the *.dxvk-cache file and Nvidia's own method (I'm using the __GL_SHADER_DISK_CACHE_PATH envvar). Do they work together or I can disable the Nvidia built in one?

Thanks for your work.
tuubi Sep 23, 2018
View PC info
  • Supporter
Quoting: Avehicle7887I have but one question - How does the new shader cache work with Nvidia? The games now seem to store shader cache in both the *.dxvk-cache file and Nvidia's own method (I'm using the __GL_SHADER_DISK_CACHE_PATH envvar). Do they work together or I can disable the Nvidia built in one?
The new DXVK cache stores pipeline state, while Nvidia's cache stores compiled shaders. There's no actual overlap.
Avehicle7887 Sep 23, 2018
Quoting: tuubi
Quoting: Avehicle7887I have but one question - How does the new shader cache work with Nvidia? The games now seem to store shader cache in both the *.dxvk-cache file and Nvidia's own method (I'm using the __GL_SHADER_DISK_CACHE_PATH envvar). Do they work together or I can disable the Nvidia built in one?
The new DXVK cache stores pipeline state, while Nvidia's cache stores compiled shaders. There's no actual overlap.

That clears it, thanks :-)
F.Ultra Sep 24, 2018
View PC info
  • Supporter
Quoting: YoRHa-2B
Quoting: F.UltraSo I take it that DXVK is now DX11 feature complete, this is incredible news!
Not quite, Stream Output is still a big feature that's missing.

Ok so that is not part of the feature level then I suppose? (Or the Wikipedia page is wrong on 11_1 being the highest feature level for DX11).

Anyway, you are far to humble ;)


Last edited by F.Ultra on 24 September 2018 at 5:04 pm UTC
YoRHa-2B Sep 24, 2018
Quoting: F.UltraOk so that is not part of the feature level then I suppose?
It's part of 10_0 and above, but DXVK currently just ignores that and pretends that everything is fine.

And, well, that works in games that don't need the feature, but some do need it.


Last edited by YoRHa-2B on 24 September 2018 at 5:07 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!
The comments on this article are closed.