1. Home
  2. Linux
  3. Set up dxvk in wine on linux

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 into system32/ instead — there is no syswow64 in 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 apiVersion to check. Update your driver if needed.
  • 32-bit vs 64-bit DLL placement: A 64-bit game needs the x64/ DLLs in system32/. A 32-bit game in a 64-bit prefix needs the x32/ DLLs in syswow64/. In a pure 32-bit prefix, the x32/ DLLs go in system32/. 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 needs d3d11.dll and dxgi.dll. A D3D8 game needs d3d8.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.

DXVK in Wine compatibility list on GamingOnLinux

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, and dxgi.
  • 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.

4 Comments

  1. Sadly, The Gaming On Linux site doesn’t seem to have the DXVK Gaming Compatibility list available anymore,.

  2. on Ubuntu, getting dkvx

    ERROR: no certificate subject alternative name matches
    requested host name ‘ftp.br.debian.org’.