Don't want to see articles from a certain category? When logged in, go to your User Settings and adjust your feed in the Content Preferences section where you can block tags!
We do often include affiliate links to earn us some pennies. See more here.

DXVK 1.4.3 released helping games with a large number of different shaders

By -
Last updated: 18 Oct 2019 at 8:21 pm UTC

No doubt some of our readers will be in for a busy weekend testing, with another release of DXVK now officially available.

Developer Philip Rebohle put out DXVK 1.4.3 this evening which adds in a new file format for the state cache, which should give smaller files. The state cache from previous versions of DXVK should be converted automatically, so no manual effort is required.

Additionally, even more performance is continuing to be squeezed out of this Vulkan layer for Wine as it has a reduction in CPU overhead. It was noted that it should be of particular benefit to those games that have a large number of different shaders. Frankly, I'm amazed Rebohle can somehow still push the performance even further.

On top of that, a few bug fixes were added into the mix too:

  • Fixed incorrect barriers in case graphics shaders write to UAVs.
  • Fixed incorrect MSAA sample positions being reported to shaders.
  • Fixed some MSVC compiler warnings (#1218).

Find DXVK on GitHub.

Article taken from GamingOnLinux.com.
21 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 checked 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 . You can also follow my personal adventures on Bluesky.
See more from me
The comments on this article are closed.
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
32 comments Subscribe
Page: 1/2»
  Go to:

Lunielle 18 Oct 2019
It's not that amazing when you see games like Monster Hunter World achieve just 70% of FPS compared to Windows.. Why do some games have such low performance while others can perform, even better than Windows sometimes? Aside from that DXVK is truly amazing.
Liam Dawe 18 Oct 2019
It's not that amazing when...
Considering this is an outside layer, that the game developers don't give any thought to and it's all unofficial running on an unsupported platform, it's amazing.
fjorgemota 18 Oct 2019
It's not that amazing when you see games like Monster Hunter World achieve just 70% of FPS compared to Windows.. Why do some games have such low performance while others can perform, even better than Windows sometimes? Aside from that DXVK is truly amazing.

Both Wine and DXVK still are "translation" layers that convert Windows calls to Linux/vulkan calls. These imply some overhead, as it's not a 1:1 translation with all the APIs outside Wine and DXVK being developed specifically for it, like those on Windows.
fagnerln 18 Oct 2019
It's not that amazing when you see games like Monster Hunter World achieve just 70% of FPS compared to Windows.. Why do some games have such low performance while others can perform, even better than Windows sometimes? Aside from that DXVK is truly amazing.

3/4 of the performance isn't that bad, if you can play at 70~80fps on Windows, you can obviously hit 60fps with some adjustment on Linux.

It IS really amazing
YoRHa-2B 18 Oct 2019
It's not that amazing when you see games like Monster Hunter World achieve just 70% of FPS compared to Windows.. Why do some games have such low performance while others can perform, even better than Windows sometimes? Aside from that DXVK is truly amazing.
Different games do vastly different things, and with this little data it's impossible to tell why it runs poorly on your system (are you CPU-bound? GPU-bound?).

Monster Hunter World in particular is known to be crazy (read: stupid) with its multithreading, which can cause all sorts of performance issues on wine especially if you aren't using fsync. Should it be DXVK's fault, then yeah, Nvidia's D3D11 driver still has a significant edge and that isn't likely to ever change, it's a translation layer after all.

Considering this is [...] running on an unsupported platform, it's amazing.
While there's truth to that, we're really looking at getting as close to parity as possible, and just 70% of Windows performance is pretty bad to be perfectly honest. Especially when most games get ≥85% these days, at least on AMD GPUs.
Liam Dawe 18 Oct 2019
Considering this is [...] running on an unsupported platform, it's amazing.
While there's truth to that, we're really looking at getting as close to parity as possible, and just 70% of Windows performance is pretty bad to be perfectly honest. Especially when most games get ≥85% these days, at least on AMD GPUs.
Fair enough! Still continues to impress me though and all these improvements you keep doing should add up nicely over time :)
Linuxwarper 19 Oct 2019
While there's truth to that, we're really looking at getting as close to parity as possible, and just 70% of Windows performance is pretty bad to be perfectly honest. Especially when most games get ≥85% these days, at least on AMD GPUs.
Do you think that it will be easier to get closer to Windows performance with VKD3D for DX12 games than with DXVK and DX11 games? Considering the similarities DX12 and Vulkan share and the opposite for DX11 and Vulkan.
1xok 19 Oct 2019
Looking at the benchmarks between DXVK, Feral ports and Windows is sometimes almost more fun than playing. ;)
YoRHa-2B 19 Oct 2019
Do you think that it will be easier to get closer to Windows performance with VKD3D for DX12 games than with DXVK and DX11 games? Considering the similarities DX12 and Vulkan share and the opposite for DX11 and Vulkan.
Believe it or not, but mapping D3D12 to Vulkan is harder than D3D11. Yes, the APIs are similar in concept, but there are many little details which make it rather painful and introduce overhead in vkd3d. D3D11 might need more code, but it's fairly straight-forward for the most part since its abstractions are higher-level.

That said, in games where D3D12 is significantly better than D3D11, you'll find that vkd3d beats dxvk by a fair margin as well, so it's by no means slow, but there are quite a few nasty issues to sort out.
F.Ultra 19 Oct 2019
View PC info
  • Supporter
Do you think that it will be easier to get closer to Windows performance with VKD3D for DX12 games than with DXVK and DX11 games? Considering the similarities DX12 and Vulkan share and the opposite for DX11 and Vulkan.
Believe it or not, but mapping D3D12 to Vulkan is harder than D3D11. Yes, the APIs are similar in concept, but there are many little details which make it rather painful and introduce overhead in vkd3d. D3D11 might need more code, but it's fairly straight-forward for the most part since its abstractions are higher-level.

That said, in games where D3D12 is significantly better than D3D11, you'll find that vkd3d beats dxvk by a fair margin as well, so it's by no means slow, but there are quite a few nasty issues to sort out.

Looked over the list at https://wiki.winehq.org/Vkd3d_known_issues and oboy you where not kidding. The difference in binding model and heap descriptors does not sound fun at all, reducing overhead there is going to be a major pain.
TheRiddick 19 Oct 2019
Just keeps getting better,

I would like some coding to be done to allow better freesync or VRR support, maybe allowing it to function regardless of monitor(s) setups. That be neat, atm gsync and freesync only work once second monitors are disabled and only if flipping is enabled and compositing is disabled, its got quite a long list of CONDITIONS to get variable refresh rate working.

And even after all that is met, you can still end up with screen flicker like I experience even tho it doesn't exist under Windows (which lets me run at lower VRR rates btw).
1xok 19 Oct 2019
Looked over the list at https://wiki.winehq.org/Vkd3d_known_issues and oboy you where not kidding. The difference in binding model and heap descriptors does not sound fun at all, reducing overhead there is going to be a major pain.

What are the advantages of DX12 over Vulkan for developers? I can only think of the Xbox support.
TheRiddick 19 Oct 2019
Many claim DX12 has easier to gain, gains in performance (fps).
Xpander 19 Oct 2019
World of Warcraft Classic started having heavy freezes after reaching to new areas or completing quests, like 1-2 sec freezes. Switched back to previous version of DXVK and problems went away. Need more testing though.
TheRiddick 19 Oct 2019
WoW Classis uses DirectX9 doesn't it? is that not D9VK?
YoRHa-2B 19 Oct 2019
I would like some coding to be done to allow better freesync or VRR support, maybe allowing it to function regardless of monitor(s) setups.
All of that is down to the Linux graphics stack, games/dxvk/whatever can't really do anything at all to improve the situation.

What are the advantages of DX12 over Vulkan for developers? I can only think of the Xbox support.
Well, for starters, D3D12 works on all Windows 10 systems and has excellent driver support from all vendors.

Windows drivers shipping with Windows Update sometimes don't come with Vulkan support -> games straigt-up don't work. Driver quality is also way worse (AMD is pretty bad, Intel seems to be especially bad, only Nvidia is acceptable these days - and that also was a whole different story ~2 years ago).

Tools are fine these days, but developers who are used to the Microsoft ecosystem will want to use Microsoft's tools, which obviously don't support Vulkan either.

For end users, Vulkan games are always annoying because stuff like OBS doesn't support Vulkan properly.

There's a ton of reasons why we probably won't see many Vulkan games on Windows, but the API itself isn't really one of them (I've seen people rant about how much better designed D3D12 is, but I'd wholeheartedly disagree there).

World of Warcraft Classic started having heavy freezes after reaching to new areas or completing quests, like 1-2 sec freezes.
Sounds like your average shader compiler stutter. 1.4.3 does change some shader code and WoW doesn't really make use of the state cache as well as it could.

There have been no other changes in the code that could cause this.

WoW Classis uses DirectX9 doesn't it? is that not D9VK?
WoW classic only supports D3D11.


Last edited by YoRHa-2B on 19 Oct 2019 at 1:15 pm UTC
Linuxwarper 19 Oct 2019
Do you think that it will be easier to get closer to Windows performance with VKD3D for DX12 games than with DXVK and DX11 games? Considering the similarities DX12 and Vulkan share and the opposite for DX11 and Vulkan.
Believe it or not, but mapping D3D12 to Vulkan is harder than D3D11. Yes, the APIs are similar in concept, but there are many little details which make it rather painful and introduce overhead in vkd3d. D3D11 might need more code, but it's fairly straight-forward for the most part since its abstractions are higher-level.

That said, in games where D3D12 is significantly better than D3D11, you'll find that vkd3d beats dxvk by a fair margin as well, so it's by no means slow, but there are quite a few nasty issues to sort out.
Is it primarily harder because there aren't solutions in place or because the way D3D12 works? Like if Vulkan were to have feature parity with D3D12, if that's right way to put it, would that make mapping to Vulkan easier?
YoRHa-2B 19 Oct 2019
Is it primarily harder because there aren't solutions in place or because the way D3D12 works? Like if Vulkan were to have feature parity with D3D12, if that's right way to put it, would that make mapping to Vulkan easier?
Both. There are some extensions in the works that will solve some problems, but others are caused by fundamental differences in the API - Vulkan is a lot more explicit, and that's where things get really nasty. Right now, vkd3d technically violates the Vulkan spec quite badly because of that, and fixing it will be very hard and potentially come at a cost.


Last edited by YoRHa-2B on 19 Oct 2019 at 5:09 pm UTC
What mean this error?
err:   DxvkMemoryAllocator: Memory allocation failed
err:     Size:      33554432
err:     Alignment: 256
err:     Mem flags: 0x6
err:     Mem types: 0x681
err:   Heap 0: 1105 MB allocated, 969 MB used, 1149 MB allocated (driver), 7616 MB budget (driver), 8192 MB total
err:   Heap 1: 976 MB allocated, 934 MB used, 1035 MB allocated (driver), 11955 MB budget (driver), 11955 MB total
err:   DxvkMemoryAllocator: Memory allocation failed
YoRHa-2B 19 Oct 2019
It means that you're running into this problem with the Nvidia driver. No official fix available at this time, although they know what's causing it.


Last edited by YoRHa-2B on 19 Oct 2019 at 5:19 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.
Buy Games
Buy games with our affiliate / partner links: