DXVK 1.6.1 – D3D 9/10/11
DXVK (license zlib, https://github.com/doitsujin/dxvk) translates DirectX 11, DirectX 10 and DirectX 9 (since 1.5) into Vulkan 1.1 (minimum requirement since 1.5.2) and it’s main purpose is to be combined with Wine, but technically it can be used on Windows as well to confirm if the games in Wine work correctly. Instead of OpenGL the Vulkan API offers many advantages, but the most important one is the very fast development time of DXVK compared to the often buggy and slow DirectX to OpenGL translation of WineD3D.
Install DXVK from AUR (stable: dxvk-bin, experimental dxvk-git):
D9VK translated DirextX 9 (DX9) to Vulkan. It was developed based on DXVK from an independent developer and as it was almost feature complete it got merged back to DXVK on 2019-12-16.
DXWrapper – D3D8/DDraw 1-7 to D3D9
DXWrapper includes d3d8to9 (see Vulkan’ize Graphic and Compute API’s) and therefore it allows you to convert DirectX 8 to DirectX 9. Additionally DXWrapper integrates Dd7to9 to translate Direct Draw 1-7 to DirectX9. If you combine this with DXVK, many D3D8 and DD1-7 games are translated to D3D9 and will run on Vulkan too.
Install DXVK in Wine
If you you need to install it to a wine prefix, first run:
Or in this example a Steam Proton (Wine) prefix is used (replace USERAME and the GAMEID with the one from the Steam shop url):
Then run the DXVK setup, on Arch Linux (it is possible to use it with Wine prefixes as well). In this case only a symlink is created that allows you to easily update DXVK:
$ setup_dxvk install --symlink
To remove DXVK , run:
$ setup_dxvk uninstall
Display HUD in Wine or Proton
MangoHud is a beatiful Hud that supports Vulkan, OpenGL and DXVK and as the preferred solution nowadays, read Gaming.
DXVK Hud is the intergrated Hud that can show you additional details. It can be combined with MangoHud where it shows additionally the devinfo and api in a Hud, everything else can be shown already by MangoHud.
To verify that your application uses DXVK instead of wined3d by checking for the presence of the log files
dxgi.log in the application’s / game directory once you have started the game for the first time, or by enabling the HUD via the environment variable
DXVK_HUD=1. Example for Wine:
DXVK_HUD=1 wine ./Steam.exe
All DirectX 10 and 11 games run on Steam via Proton and DXVK (a Wine distribution of Valve). Just open Steam and play any Windows only game. To get the HUD, add the launch parameter to the game (to see all contents you can use “all” in DXVK >=0.95):
Since DXVK 0.65 you can use a configuration file that contains additional parameters for special cases where the default doesn’t work, read the Wiki page https://github.com/doitsujin/dxvk/wiki/Configuration.
There is now a pull request to compile DXVK as a native Linux library, read https://github.com/doitsujin/dxvk/pull/926 and replaced by https://github.com/doitsujin/dxvk/pull/1264. This should improve the integration with Wine, but this would need patches as well.
VKD3D – D3D12
VKD3D is integrated to Proton since 4.11-8 to translate DirectX 12 to Vulkan. To use it with Wine, install the following packages.
pacman -Sy vkd3d lib32-vkd3d
VKD3D performance is not the best and usually Direct 3D 11 is running faster on top of DXVK and Vulkan.