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, a Vulkan-based compatibility layer for Direct3D 11 for use with Wine

Posted by , | Views: 13,150

One Wine related project I completely missed writing anything about is DXVK [GitHub], a Vulkan-based compatibility layer for Direct3D 11 for use with Wine.

I've been keeping an eye on it, but I only realised today I've not even put up even a most basic article letting people know it exists. It's seeing rather fast-paced development too, with a new version being released only yesterday.

The latest release has added in: Improved support for deferred contexts, Initial support for some D3D 11.1 features, Clipping and Culling planes, an on-disk pipeline cache and more.

It's intended to work with Wine 3.4, to hopefully give you better performance in certain games run through Wine. It's like the VK9 project [GitHub], which is aimed at Direct3D 9 although DXVK has more people working on it and much faster development.

I'm now subscribed to their feed, so I will keep up to date on each new release as it comes in.

It's interesting to see what will become of this, since the Wine developers are working on their own Vulkan implementation.

19 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.
64 comments
Page: 1/7»
  Go to:

razing32 26 March 2018 at 9:17 am UTC
View PC info
  • Supporter
This is interesting
Did not know about the D3d9 one.
Methinks more games shall run soon
lejimster 26 March 2018 at 9:19 am UTC
View PC info
  • Supporter
Still quite buggy at this stage, but some games do perform well already.

I like my Blizzard games, and it seems to be more fluid using DXVK than gallium-nine on Diablo III... But there are some visual bugs that need fixing.

I tried Quantum Break also which launches but is pretty slow in game right now 10-20 fps.

I've thought about trying this with Dying Light as I can't get the native Linux version to launch.

One thing to mention is you really need to be using the latest mesa-git and radv-git drivers if you're an AMD user, I was getting some weird glitches on the stable branch.


Last edited by lejimster at 26 March 2018 at 9:19 am UTC
silmeth 26 March 2018 at 9:23 am UTC
QuoteIt's interesting to see what will become of this, since the Wine developers are working on their own Vulkan implementation.
If you mean that Wine people are working on their D3D-on-Vulkan implementation – that’s true, but they are not doing the same. DXVK implements D3D11 on Vulkan. Wine’s VKD3D is to implement D3D12-on-Vulkan (basically the exact reverse of what Vulkan Portability Initiative tries to achieve), and Vk9, as you wrote, is to implement D3D9-on-Vulkan.

Three projects, and every one of them tries to implement a different version of D3D API.

I only wonder if Windows applications can call to multiple D3D versions simultanuously to draw on the same context, and if so, how it can be handled by such projects (does D3D11 implementation have to implement D3D9 and everything below too?). And if so, can all the D3Dx-on-Vulkan projects share code? As I have almost no experience with GPU programming and absolutely none with DirectX, I have no idea – but it’s something that, in my not educated enough mind, seems like a potential problem.


Last edited by silmeth at 26 March 2018 at 9:25 am UTC
Rugaliz 26 March 2018 at 10:17 am UTC
Any chance this will get included in the wine-staging project? so far it seams a pain in the ass to install as it is.
silmeth 26 March 2018 at 10:22 am UTC
RugalizAny chance this will get included in the wine-staging project? so far it seams a pain in the ass to install as it is.
Installing DXVK is pretty easy. It’s just pasting two dlls to wine prefix / application directory and setting library overrides in wine.

The problematic part is not directly related to DXVK – it is setting up Vulkan support in Wine itself (which needs Windows Vulkan SDK installed and set up). I think with time Wine will handle it somehow more automatically (probably like installing Gecko and Mono?), but for now they did not figure out how to do it properly.


Last edited by silmeth at 26 March 2018 at 10:27 am UTC. Edited 2 times.
Leopard 26 March 2018 at 10:37 am UTC
lejimsterStill quite buggy at this stage, but some games do perform well already.

I like my Blizzard games, and it seems to be more fluid using DXVK than gallium-nine on Diablo III... But there are some visual bugs that need fixing.

I tried Quantum Break also which launches but is pretty slow in game right now 10-20 fps.

I've thought about trying this with Dying Light as I can't get the native Linux version to launch.

One thing to mention is you really need to be using the latest mesa-git and radv-git drivers if you're an AMD user, I was getting some weird glitches on the stable branch.

I can run Dying Light native without problems on Nvidia binary. If you are a Mesa user , you must force OGL version to 4.5 via launch options.
liamdawe 26 March 2018 at 10:45 am UTC
silmethThree projects, and every one of them tries to implement a different version of D3D API.
True enough, I would have thought the Wine developers would eventually move to do more with Vulkan, but perhaps if they integrate stuff like this when it's more mature they won't need to themselves for other parts of D3D.
nox 26 March 2018 at 11:12 am UTC
View PC info
  • Supporter
lejimsterI've thought about trying this with Dying Light as I can't get the native Linux version to launch.
Hello fellow vega 56 user!
Just force the gl version:
MESA_GL_VERSION_OVERRIDE=4.4 MESA_GLSL_VERSION_OVERRIDE=440 %command%

jaycee 26 March 2018 at 11:21 am UTC
silmeth
QuoteIt's interesting to see what will become of this, since the Wine developers are working on their own Vulkan implementation.
If you mean that Wine people are working on their D3D-on-Vulkan implementation – that’s true, but they are not doing the same. DXVK implements D3D11 on Vulkan. Wine’s VKD3D is to implement D3D12-on-Vulkan (basically the exact reverse of what Vulkan Portability Initiative tries to achieve), and Vk9, as you wrote, is to implement D3D9-on-Vulkan.

Three projects, and every one of them tries to implement a different version of D3D API.

I only wonder if Windows applications can call to multiple D3D versions simultanuously to draw on the same context, and if so, how it can be handled by such projects (does D3D11 implementation have to implement D3D9 and everything below too?). And if so, can all the D3Dx-on-Vulkan projects share code? As I have almost no experience with GPU programming and absolutely none with DirectX, I have no idea – but it’s something that, in my not educated enough mind, seems like a potential problem.

D3D8 and 9 have common feature set. D3D10 is a completely new API, D3D11 builds on it. So its best implemented with a D3D9->Vulkan and D3D11->Vulkan codepath seperately.
pingubot 26 March 2018 at 11:57 am UTC
Using DXVK for a few month now and it is heavily evolving. As an example i can play Crysis 2 everything on ultra (except objects cause tesselation is not 100% feature complete) without any issues and with framerates ~ 60-100 fps on my gtx 970. Trying the same with wine leads to ~25fps the last time i tried. Also Crysis 3 is working nicely, but it is suffering from a mouse usage bug (not dxvk related). Basically all games which i have tried so far are faster (sometimes by magnitutes) than in wined3d. For blizzard game wine-pba is the best solutions atm, providing higher framerates in d3 and also being usable in sc2 with dx9.
  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
  • Tac Tics: „Shadow Tactics: Blades of the Shogun“
  • Date:
See more!
Popular this week
View by Category
Contact
Latest Comments
Latest Forum Posts