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.

While Valve continue pushing forward for gamers with VKD3D-Proton, the Wine team continue building up their own separate Direct3D 12 to Vulkan translation library with a new release out now.

vkd3d v1.11 brings these changes:

  • Initial support for compiling legacy Direct3D bytecode to SPIR-V.
  • Initial HLSL compiler support for compiling effect profiles.
  • Miscellaneous bug fixes and performance improvements.

The full complete changelog with all additions can be found on the Wine GitLab

So why the two projects? Well, they have quite different goals overall.

Valve want things ready a lot faster, and with dedicated support for all the latest games in Proton. Valve are a lot more aggressive on getting all the newest possible stuff inside VKD3D-Proton. Meanwhile Wine directly has a much wider software target, including various applications (not just games).

Article taken from GamingOnLinux.com.
15 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 emailing GamingOnLinux directly.
See more from me
2 comments

They are separate projects, but technically VKD3D-Proton is a fork of VKD3D with massive changes, and is better in every way for almost everything, including general software. That last part I've heard from GloriousEggroll and other members of the Lutris team, by the way. But it's true that VKD3D is supposed to be better for general software as opposed to being focused on games. It's just that VKD3D has implemented so few of the Direct3D12 API compared to VKD3D-Proton that the fork ends up being better overall right now.

DXVK, on the other hand, is a completely separate project from Wine for D3D9-11 and duplicates parts of the Wine project. It can even be used directly on Windows or by itself without Wine. Wine has an OpenGL translation layer for all other D3D versions except 12, called "WineD3D". However, Wine has a very experimental Vulkan translation layer hidden behind a registry key for Direct3D versions before 12.

You can enable it by reading the instructions here: https://wiki.winehq.org/Useful_Registry_Keys

Quote| +->renderer
| | [Select what backend to use for wined3d. Valid options are:

| | gdi
| | gl
| | vulkan

| | The "gdi" option (and its alias "no3d") mostly exists for legacy or test reasons.
| | As of Wine 5.1, gl is the default and vulkan is still work in progress,
| | so don't expect great results with it yet.]
...but you should just use DXVK.

DXVK is better than WineD3D's OpenGL backend for most APIs, but the OpenGL backend can be better in some cases for D3D9. That might not be the case anymore, but it was a few months ago.

There's also a WIP Vulkan translation layer for D3D8 for some reason.
Shmerl Mar 6
I think the key difference is that vkd3d-proton uses Vulkan fully without any limitations which allows it to target good performance. vkd3d uses Vulkan that's crippled by being limited to features that work on macOS's Metal over MoltenVK. Unless I misunderstood the idea.

That means that vkd3d will never be as efficient as vkd3d-proton. So for Linux users it's not even a question what to use.


Last edited by Shmerl on 7 March 2024 at 12:00 am 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!
Login / Register


Or login with...
Sign in with Steam Sign in with Google
Social logins require cookies to stay logged in.