How to set up DXVK in Wine on Linux
DXVK (also known as DirectX to Vulkan) is one of the tools included in Steam’s Steam Play feature. It’s a Vulkan-based translation layer that converts Direct3D 8, 9, 10, and 11 calls to Vulkan, the open-source graphics API that runs natively on Linux. While DXVK is primarily used in Steam Play, it’s not the only place that Linux users can take advantage of this fantastic technology. In this guide, we’ll show you how to set up DXVK in Wine, so that you’ll be able to use it to play modern video games without the aide of Steam Play!
Compatibility note: DXVK 2.x and later require a GPU and driver with Vulkan 1.3 support, as noted by PCGamingWiki. If your hardware or driver does not meet that baseline, you will need to use an older DXVK branch or DXVK may not work at all. Check your GPU specifications and driver version before proceeding.
DXVK in Wine: Requirements and Setup
DXVK needs a current, compatible Wine or Proton environment to run. Wine Staging is not simply “the latest Wine” — it is a separate branch that carries additional experimental patches. Either standard Wine or Wine Staging will work as long as your installation is reasonably up to date and your system supports the required Vulkan extensions.
If you are using Steam Play, Lutris, Bottles, or Heroic Games Launcher, those tools generally configure DXVK automatically when it is enabled in their settings, so you may not need to follow the manual steps in this guide at all.
For everyone else, the best starting point is the official WineHQ website. On the site, they have a detailed list of all of the Linux distributions that have Wine packages available and will help you figure out how to get it going.
If you don’t understand WineHQ and need guidance, we encourage you to check out our post on installing Wine Staging on Linux. In it, we go over how to get it working on Ubuntu, Debian, Arch Linux, Fedora, and even OpenSUSE!
Get DXVK
The easiest and most reliable way to get DXVK on any Linux distribution is directly from the official DXVK GitHub releases page. This approach always gives you the latest version and does not depend on your distro’s package repositories carrying an up-to-date build.
Download the latest release
Visit the DXVK releases page on GitHub and download the latest .tar.gz archive. Once downloaded, extract it. Inside you will find an x64/ folder and an x32/ folder, each containing the DXVK DLL files.
Configure DXVK in Wine
With the archive extracted, open a terminal and follow the steps below to install DXVK into your Wine prefix. Getting the configuration right is the most important step when setting up DXVK in Wine, so take your time with each part.
Install using the setup script (recommended)
The setup script is the simplest method and handles DLL placement and overrides for you automatically. First, set your Wine prefix path. Replace ~/.wine with the path to your actual prefix if it is different:
export WINEPREFIX=~/.wine
Then, from inside the extracted DXVK folder, run:
./setup_dxvk.sh install
The script will place the correct DLLs into your prefix and register the necessary overrides without any further steps required.
Manual installation
If you prefer to install DXVK by hand, copy the DLLs into the appropriate directories inside your Wine prefix:
- Copy all files from
x64/into~/.wine/drive_c/windows/system32/ - Copy all files from
x32/into~/.wine/drive_c/windows/syswow64/ - If you are using a pure 32-bit prefix, copy the
x32/DLLs intosystem32/instead — there is nosyswow64in a 32-bit prefix.
After copying the files, open winecfg and go to the Libraries tab. Add a native DLL override for each of the following entries that applies to your game: d3d8, d3d9, d3d10core, d3d11, dxgi. Set each one to native, builtin.
You only need to override the DLLs that match the Direct3D version your game uses — for example, add d3d9 for a D3D9 game, or d3d11 and dxgi for a D3D11 game.
Source code
The source code for DXVK is up on Github, so if you’re looking to use it on a lesser-known Linux distribution click this link here.
Running Games with DXVK in Wine
With the DXVK libraries set up and linked to Wine, you’ll be able to use it to run most modern Windows games immediately. Running games with DXVK in Wine is straightforward once the DLLs and overrides are in place. Before diving into game-specific compatibility, it is worth confirming that DXVK is actually active rather than assuming the setup worked.
Verify that DXVK is working
The simplest way to confirm DXVK is running is to enable its built-in HUD. Launch your game with the DXVK_HUD environment variable set like this:
DXVK_HUD=fps,devinfo wine YourGame.exe
If DXVK is active, a small overlay will appear in the top-left corner of the game window showing the frame rate and the GPU name. If no HUD appears, DXVK is not being used — the game is most likely still running through wined3d, which means either the DLLs were placed in the wrong folder or the winecfg overrides were not saved correctly.
Troubleshooting checklist
If DXVK does not appear to be working, run through these checks:
- Vulkan driver support: Confirm your GPU driver supports Vulkan 1.3 or higher. Run
vulkaninfo | grep apiVersionto check. Update your driver if needed. - 32-bit vs 64-bit DLL placement: A 64-bit game needs the
x64/DLLs insystem32/. A 32-bit game in a 64-bit prefix needs thex32/DLLs insyswow64/. In a pure 32-bit prefix, thex32/DLLs go insystem32/. Mixing these up is one of the most common mistakes. - Correct DLLs for the API in use: Only override the DLLs that match the Direct3D version your game uses. A D3D9 game needs
d3d9.dll. A D3D11 game needsd3d11.dllanddxgi.dll. A D3D8 game needsd3d8.dll. - Overrides saved in winecfg: Open winecfg, go to the Libraries tab, and make sure the relevant overrides are listed as native, builtin and not missing entirely.
For more information about running games in Wine, head over to WineHQ.org, click on the search box and look through the results for a video game you’d like to run.
Don’t want to deal with WineHQ? Check out GamingOnLinux’s DXVK compatibility list instead. It’ll help you figure out what games run well with DXVK and which ones don’t. For example, if you want to use DXVK for GTA V on Linux, you’ll find detailed instructions and compatibility information to get started.
Remove or Revert DXVK from a Wine Prefix
If a specific game performs worse under DXVK, breaks entirely, or you simply want to compare DXVK against the default wined3d renderer, you can safely remove DXVK in Wine and restore your prefix to its original state.
Using the setup script (recommended)
If you installed DXVK using setup_dxvk.sh, uninstalling is just as straightforward. Set your Wine prefix path and run the uninstall command from inside the extracted DXVK folder:
export WINEPREFIX=~/.wine ./setup_dxvk.sh uninstall
The script will remove the DXVK DLLs and clean up the overrides automatically.
Manual removal
If you installed DXVK by hand, remove it manually with the following steps:
- Delete the DXVK DLL files (
d3d8.dll,d3d9.dll,d3d10core.dll,d3d11.dll,dxgi.dll) from~/.wine/drive_c/windows/system32/and, if applicable, from~/.wine/drive_c/windows/syswow64/. - Open winecfg, go to the Libraries tab, and remove any native overrides you added for
d3d8,d3d9,d3d10core,d3d11, anddxgi. - Finally, run the following command to allow Wine to restore its own built-in DLL files to the prefix:
wineboot -u
After completing these steps, your Wine prefix will use the default wined3d renderer again. This is a useful way to isolate whether DXVK is the cause of a specific problem before filing a bug report or seeking further help.
Sadly, The Gaming On Linux site doesn’t seem to have the DXVK Gaming Compatibility list available anymore,.
on Ubuntu, getting dkvx
ERROR: no certificate subject alternative name matches
requested host name ‘ftp.br.debian.org’.
Please update this to include mxlinux.
when installing dxvk on ubuntu, you cant install because the site gives a 404 error.