We do often include affiliate links to earn us some pennies. See more here.

Translating Direct3D 12 to Vulkan for use with Wine makes a huge step forwards, as the Wine team have announced the release today of vkd3d 1.2.

As a refresher, this is another project like DXVK which translates Direct3D 9/10/11 to Vulkan and forms part of Steam Play's Proton compatibility layer. This vkd3d is the official one being developed by the Wine team, which was created by the late Józef Kucia who sadly died last year. Valve also have their own fork, with VKD3D-Proton.

CodeWeavers developer and Wine leader Alexandre Julliard today announced their official vkd3d 1.2 release. They listed the highlights as:

  • Availability of libvkd3d-shader as a public library.
  • Support for tessellation shaders.
  • Version 1.1 root signatures.
  • Stream output support.

The full list shows just how much work went into this release, with a lot more Direct3D 12 features features now supported including multi-sampling, reserved resources, indirect indexed draws, depth rendering without a pixel shader, depth clipping, dual-source blending and the list goes on.

New environment variables came with this release too including:

  • VKD3D_CONFIG can be used to set options that change the behaviour of libvkd3d.
  • VKD3D_TEST_BUG can be used to disable bug_if() conditions in the test suite.
  • VKD3D_TEST_FILTER can be used to control which tests are run.
  • VKD3D_VULKAN_DEVICE can be used to override the Vulkan physical device used by vkd3d.

What's also interesting in their release notes is that Windows is now a supported target platform. That can be useful for direct testing and comparisons, and like we've seen with DXVK - people do actually use that on Windows as well as it can improve performance there on certain titles.


With the news recently that Microsoft has acquired ZeniMax, who own Bethesda - so think The Elder Scrolls, Fallout, Wolfenstein, DOOM, Dishonored, Quake, Starfield and more - it's going to be quite essential that we have a good Direct3D 12 to Vulkan layer ready considering Microsoft will no doubt push for more lock-in with their own Direct3D as opposed to using Vulkan.

Article taken from GamingOnLinux.com.
25 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.
See more from me
The comments on this article are closed.
16 comments
Page: 1/2»
  Go to:

sub Sep 22, 2020
That last paragraph.
You're right.
Didn't think of that. :/
In particular the id Software guys put Vulkan to really good use.
Would be interesting to see if they'll be forced to change their backend.
sub Sep 22, 2020
Quoting: Guest
Quoting: subThat last paragraph.
You're right.
Didn't think of that. :/
In particular the id Software guys put Vulkan to really good use.
Would be interesting to see if they'll be forced to change their backend.

Since its Microsoft i wouldnt be surprised to see it happen.

But they said they changed and now ... love Linux.

*clownface*
Avehicle7887 Sep 22, 2020
Microsoft only love themselves and their contributions to open source (and Linux) is because they need it. If we benefit anything from them it's because of the way things are.

On the topic at hand, I thought work on the vkd3d had halted after Kucia's passing, the github page hasn't been updated since 2018. Wasn't aware they were still working on it on their own git.
Arten Sep 22, 2020
My first thought was when I heard about zenimax: "What that means for doom vulkan renderer?" I'm not pleased with MS buying Id, but at least we have vkd3D, which is great!
Arehandoro Sep 22, 2020
Holly shit, I didn't know about the acquisition! Man, it's really discouraging seeing how companies are being engulfed by bigger companies constantly and amass an even larger portion of IPs and talent :(
Brisse Sep 22, 2020
A while ago I didn't think d3d12 would get much adoption, but these days I'm not so sure. Glad there is vkd3d anyway. Didn't think there would be much need for it, but it might just turn out that one day it will be essential for people like us.
Avehicle7887 Sep 22, 2020
Curiosity got the better of me, I ran a quick compile with this new release. Control runs but with a bunch of errors in terminal, the main menu renders fine but as soon as you start a new game it goes into a huge memory leak. It quickly ate up all 16GB, luckily I managed to kill it before the swap space filled up too.

Be careful if you want to tinker. Tip: I always keep an SSH login from my phone to pc in case of emergency access to terminal.


Last edited by Avehicle7887 on 22 September 2020 at 12:51 pm UTC
kokoko3k Sep 22, 2020
Quoting: Avehicle7887Be careful if you want to tinker. Tip: I always keep an SSH login from my phone to pc in case of emergency access to terminal.
Use oomd instead:
https://github.com/facebookincubator/oomd


Last edited by kokoko3k on 22 September 2020 at 1:49 pm UTC
wytrabbit Sep 22, 2020
View PC info
  • Mega Supporter
Quoting: kokoko3k
Quoting: Avehicle7887Be careful if you want to tinker. Tip: I always keep an SSH login from my phone to pc in case of emergency access to terminal.
Use oomd instead:
https://github.com/facebookincubator/oomd

A project maintained by Facebook? I trust them even less than MS
kokoko3k Sep 22, 2020
Quoting: wytrabbitA project maintained by Facebook? I trust them even less than MS
Oh well, but you've several alternatives:
1) Inspect the source code and see if there are evil things inside.
2) Use the original project when it was not yet mantained by Facebook:
https://github.com/danobi/oomd
Note: but still on github, mantained by microsoft!
3) Deal with it since it will be incorporated in systemd
https://github.com/systemd/systemd/pull/15206#issuecomment-689467195
Note: see note on #2
4) Use other similar projects: https://wiki.archlinux.org/index.php/Improving_performance#Improving_system_responsiveness_under_low-memory_conditions
5) have another terminal ready to rescue the system via ssh, better if sshd is mapped and locked in unswappable ram.
6) disable swap space
7) Take it easier :-P


Last edited by kokoko3k on 22 September 2020 at 3:11 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.