You can sign up to get a daily email of our articles, see the Mailing List page!
Support us on Patreon to keep GamingOnLinux alive. This ensures we have no timed articles and no paywalls. Just good, fresh content! Alternatively, you can donate through Paypal, Flattr and Liberapay.!

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.

26 Likes, Who?
We do often include affiliate links to earn us some pennies. We are currently affiliated with GOG and Humble Store. See more information here.
19 comments
Page: «2/2
  Go to:

Shmerl 23 September 2018 at 7:51 pm UTC
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


Last edited by Shmerl at 23 September 2018 at 7:54 pm UTC. Edited 3 times.
Leopard 23 September 2018 at 7:57 pm UTC
Shmerl
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.
rcgamer 23 September 2018 at 8:42 pm UTC
I just get more impressed with this project with every release. The game I can see the most difference in from one release to another is Super Mega Baseball. With just the regular Proton beta it ran but very slowly even when shadows and crowd density were set to minimum. Then after updating the dxck in proton to .072 and using nvidia beta drivers I could play with max shadow quality and max crowd density. After adding .80 to Proton I can now add 8x AF and the game is still running great.
wvstolzing 23 September 2018 at 8:55 pm UTC
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 23 September 2018 at 9:05 pm UTC
YoRHa-2B
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 23 September 2018 at 9:41 pm UTC
View PC info
  • Supporter
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 23 September 2018 at 9:47 pm UTC
tuubi
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 24 September 2018 at 5:02 pm UTC
YoRHa-2B
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 at 24 September 2018 at 5:04 pm UTC
YoRHa-2B 24 September 2018 at 5:07 pm UTC
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 at 24 September 2018 at 5:07 pm UTC
  Go to:
While you're here, please consider supporting GamingOnLinux on Patreon or Liberapay. We have no adverts, no paywalls, no timed exclusive articles. Just good, fresh content. Without your continued support, we simply could not continue!

We also accept Paypal donations and subscriptions! If you already are, thank you!

Due to spam you need to Register and Login to comment.


Or login with...

Livestreams & Videos
Community Livestreams
  • Decisions: „Life Is Strange: Before The Storm“
  • Date:
See more!
Popular this week
View by Category
Contact
Latest Comments
Latest Forum Posts