DXVK is a Vulkan-based compatibility layer for Direct3D-9,10 & 11. It allows running 3D applications on Linux using Wine.
For the current status of the project, please refer to the DXVK wiki.
- Wine >= 3.10
- Wine dependencies - Wine Staging is recommended
- Vulkan capable GPU - Note for Intel iGPU users: Only Skylake, Kaby Lake, and Coffee Lake offer full Vulkan support. Anything older is only partial. Although some games might work nothing is guaranteed.
- Driver supported by DXVK.
- Vulkan loader, both 64-bit and 32-bit.
To take advantage of DXVK and its improved performance you must install a supported graphics driver and Vulkan dependencies.
To learn how to do that, follow our guide here: Installing Drivers
Watch the following videos on how to add, and use a custom DXVK version with Lutris.
Tutorial on how to add a custom DXVK version:
Warning: We advise you use async-enabled DXVK only with singleplayer games. We do not bear the responsibility should you be banned using async with multiplayer games. Use at your own risk.
If you rather follow text than a video, here are the (slightly generalized) steps.
Open a command line interface, and clone the repository from GitHub that you're interested in, and change into its folder:
git clone https://github.com/doitsujin/dxvk.git
cd dxvk
Check out the branch you are interested in:
git checkout async
Adjust the simple way to compile DLLs to your needs (and note the build requirements).
For example, choose the target directory $HOME/.local/share/lutris/runtime/dxvk/dxvk-async
.
./package-release.sh master $HOME/.local/share/lutris/runtime/dxvk/dxvk-async --no-package
Successful compilation will create a subfolder dxvk-master
inside your target directory, which in turn contains folders called x32
and x64
that contain the dlls.
Move both folders up once in the directory tree:
mv $HOME/.local/share/lutris/runtime/dxvk/dxvk-async/dxvk-master/x32/ $HOME/.local/share/lutris/runtime/dxvk/dxvk-async/
mv $HOME/.local/share/lutris/runtime/dxvk/dxvk-async/dxvk-master/x64/ $HOME/.local/share/lutris/runtime/dxvk/dxvk-async/
Now delete the folder dxvk-master
that was created during compilation:
rm -fr $HOME/.local/share/lutris/runtime/dxvk/dxvk-async/dxvk-master
Now open Lutris, and open the configuration of the game you're interested in, e.g. by right-click, Configure.
Switch to the tab Runner options and change the entry DXVK version to the target folder you created, i.e. set it to dxvk-async
.
Depending on the custom DXVK version you compiled, you can go to tab System options and change key/value pairs for the Environment variables.
For example, you can change the key DXVK_HUD
from value fps
to full
.
https://github.com/doitsujin/dxvk/wiki/Common-issues
https://www.youtube.com/playlist?list=PLghCwIBikt5hqXHHlKKkA_bertuvcwjgl
https://lutris.net/games/?q=dxvk%3A+true&search-installers=on
*Disclaimer: Not all games listed are playable.