Independent guide · not affiliated with the DXVK project or Valve · downloads always link to the official GitHub

Try: d3d9.maxAvailableMemory, DXVK_HUD, GTA IV, Failed to create Vulkan instance

HOW-TO · LINUX · WINE · DXVK 3.1.1

How to use DXVK on Linux with Wine

If you play through Steam (Proton), Lutris, Bottles or Heroic, DXVK is already set up for you: you do not install anything. For a plain Wine prefix, copy DXVK's x64 DLLs into the prefix's system32 and the x32 DLLs into syswow64, then set d3d8, d3d9, d3d10core, d3d11 and dxgi to native. Without those overrides Wine ignores the files. DXVK 3.x needs Wine 10.1 or newer and a Vulkan 1.4-class driver.
Checked
2026-11-07
On this page
  1. Do you need to install DXVK at all?
  2. Before you start: three checks
  3. Install DXVK into a Wine prefix (manual method)
  4. Per-game install instead of the whole prefix
  5. Check that DXVK is active
  6. Winetricks: the shortcut and its catch
  7. Update or change the DXVK version
  8. Remove DXVK from a prefix
  9. DXVK vs Wine’s own Direct3D
  10. Distro notes
How we checked this
Before you start0 / 4

Do you need to install DXVK at all?

Which route is yours
You play withWhat to do
Steam (Proton) or Steam DeckNothing: Proton bundles DXVK. See the Proton page.
Lutris, Bottles or HeroicNothing to install; pick the DXVK version in the launcher. The DXVK README says these tools set it up automatically.
Plain Wine, wine-staging, or a script you run yourselfThis page.

Before you start: three checks

Wine version

DXVK 3.x needs Wine 10.1 or newer (DXVK wiki). Read yours with wine —version. If your distribution ships an older Wine, use the WineHQ packages, or an older DXVK line; the wiki history lists Wine 8.14 or newer for 2.7. See the requirements page.

Vulkan driver, 64-bit and 32-bit

Confirm Vulkan with the command below and read the GPU name and apiVersion.

Terminal bash

          
          vulkaninfo --summary
          
          
          
        

Most old games are 32-bit, and without the 32-bit Vulkan driver 32-bit games fail at start (F34): on Ubuntu we needed mesa-vulkan-drivers:i386. Other distributions use similar 32-bit Mesa Vulkan packages (Fedora i686, Arch lib32 packages); we have not verified the exact names on those, so check your distribution’s package search.

Prefix architecture

A 64-bit prefix, the default, has drive_c/windows/syswow64. A 32-bit-only prefix has only system32, and takes the 32-bit DLLs there.

Install DXVK into a Wine prefix (manual method)

Use the builder to get the exact commands for your prefix, then read the steps.

Wine Command Builder8 blocksBuilds text on your device. Runs nothing.
Direct3D versions

DXVK 3.1.1 needs Wine 10.1 or newer (DXVK wiki). Check yours with: wine --version

1. Set up Fix the prefix and the folder you download into.

export WINEPREFIX="$HOME/.wine"
cd "$HOME/Downloads"

2. Download From the official GitHub release only.

curl -L -o dxvk-3.1.1.tar.gz "https://github.com/doitsujin/dxvk/releases/download/v3.1.1/dxvk-3.1.1.tar.gz"

3. Verify Compare with the official SHA-256 (18,041,512 bytes). The command prints OK or FAILED.

echo "40565b4a724aadc4433fa4e010b4b23916d9b1f1baeee64e17186db94f54e608  dxvk-3.1.1.tar.gz" | sha256sum -c -

4. Extract The archive holds x64 and x32 folders.

tar -xzf dxvk-3.1.1.tar.gz

5. Copy the DLLs 64-bit DLLs go to system32, 32-bit DLLs to syswow64.

cp "dxvk-3.1.1/x64/d3d10core.dll" "$WINEPREFIX/drive_c/windows/system32/"
cp "dxvk-3.1.1/x64/d3d11.dll" "$WINEPREFIX/drive_c/windows/system32/"
cp "dxvk-3.1.1/x64/d3d8.dll" "$WINEPREFIX/drive_c/windows/system32/"
cp "dxvk-3.1.1/x64/d3d9.dll" "$WINEPREFIX/drive_c/windows/system32/"
cp "dxvk-3.1.1/x64/dxgi.dll" "$WINEPREFIX/drive_c/windows/system32/"
cp "dxvk-3.1.1/x32/d3d10core.dll" "$WINEPREFIX/drive_c/windows/syswow64/"
cp "dxvk-3.1.1/x32/d3d11.dll" "$WINEPREFIX/drive_c/windows/syswow64/"
cp "dxvk-3.1.1/x32/d3d8.dll" "$WINEPREFIX/drive_c/windows/syswow64/"
cp "dxvk-3.1.1/x32/d3d9.dll" "$WINEPREFIX/drive_c/windows/syswow64/"
cp "dxvk-3.1.1/x32/dxgi.dll" "$WINEPREFIX/drive_c/windows/syswow64/"

6. Set the overrides to native Without these Wine ignores the files (finding F03).

wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d10core /t REG_SZ /d native /f
wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d11 /t REG_SZ /d native /f
wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d8 /t REG_SZ /d native /f
wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d9 /t REG_SZ /d native /f
wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v dxgi /t REG_SZ /d native /f

7. Check it works Start a game or test program. The terminal should show a line DXVK: v3.1.1 (finding F15).

DXVK_HUD=1 wine /path/to/game.exe

8. Remove it again Delete the overrides and files, then let Wine restore its own DLLs (README method).

wine reg delete 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d10core /f
wine reg delete 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d11 /f
wine reg delete 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d8 /f
wine reg delete 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d9 /f
wine reg delete 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v dxgi /f
rm -f "$WINEPREFIX/drive_c/windows/system32/d3d10core.dll"
rm -f "$WINEPREFIX/drive_c/windows/system32/d3d11.dll"
rm -f "$WINEPREFIX/drive_c/windows/system32/d3d8.dll"
rm -f "$WINEPREFIX/drive_c/windows/system32/d3d9.dll"
rm -f "$WINEPREFIX/drive_c/windows/system32/dxgi.dll"
rm -f "$WINEPREFIX/drive_c/windows/syswow64/d3d10core.dll"
rm -f "$WINEPREFIX/drive_c/windows/syswow64/d3d11.dll"
rm -f "$WINEPREFIX/drive_c/windows/syswow64/d3d8.dll"
rm -f "$WINEPREFIX/drive_c/windows/syswow64/d3d9.dll"
rm -f "$WINEPREFIX/drive_c/windows/syswow64/dxgi.dll"
wineboot -u

Read each command before you run it. Terminal only; nothing here is a download button.

  1. Download the release

    Get dxvk-3.1.1.tar.gz from the official release page (see the download page) and check its SHA-256, which is 40565b4a…4e54e608 (F11).

    Check: sha256sum prints OK.

  2. Extract it

    The archive has x64 and x32 folders.
  3. Copy the DLLs

    Put x64/*.dll into <prefix>/drive_c/windows/system32 and x32/*.dll into …/syswow64. This is the README method, and it worked for 32-bit and 64-bit test apps (F04).
  4. Set the overrides to native

    In winecfg, Libraries tab, add d3d8, d3d9, d3d10core, d3d11 and dxgi and set them to native, or use the wine reg add lines from the builder. For one launch you can use WINEDLLOVERRIDES=“d3d8,d3d9,d3d10core,d3d11,dxgi=n,b”, which is what our tests used (F03).

    Check: DXVK prints its banner in the terminal.

Per-game install instead of the whole prefix

DLLs next to the game’s .exe also work under Wine, but only with overrides: the same files without overrides were ignored and Wine kept its own Direct3D (F03). Use this when one game shares a prefix with others; the builder’s “One game” method writes the launch line.

Check that DXVK is active

Three ways. Run the game from a terminal with DXVK_HUD=1 to see the HUD (see the HUD guide); read the terminal, because under Wine DXVK prints there and writes files only if DXVK_LOG_PATH is set (F14); and read the first lines of the log (F15). This is a real excerpt from our Wine 11 run:

base-dxvk311-d3d9-32.stderr.txt · lab Linux · Wine 11 · DXVK 3.1.1 log

          
          info:  Game: dxprobe32.exe
          
          
          
        
          
          info:  DXVK: v3.1.1
          
          
          The DXVK version: proof it is active.
        
          
          info:  Build: x86 gcc 16.2.0
          
          
          x86 means 32-bit DLLs.
        
          
          info:  Vulkan: Found vkGetInstanceProcAddr in winevulkan.dll @ 0x792b8140
          
          
          winevulkan.dll means Wine or Proton.
        
          
          info:  Found device: llvmpipe (LLVM 20.1.2, 256 bits) (llvmpipe 25.2.8)
          
          
          Your real GPU shows here; ours is a software renderer.
        

Two err: lines appear in every healthy Direct3D 11 run and are harmless (F17); the errors page explains them.

Winetricks: the shortcut and its catch

Winetricks has a dxvk verb. Which DXVK version it installs depends on your winetricks version, and an old distribution package may install an old DXVK. Update winetricks first and check the version in the log banner. We have not tested the verb, so we make no claim about what it does today.

Update or change the DXVK version

Overwrite the same files with the new release; the overrides stay. To go back, copy the older release’s DLLs. 3.x and 2.7.1 need different Wine and driver versions: see the DXVK 3 page.

Remove DXVK from a prefix

The README says wineboot -u restores Wine’s own DLLs; the manual way is the reverse of the install. Our builder prints both. We have not run the removal; see the uninstall guide.

DXVK vs Wine’s own Direct3D

Wine’s wined3d is the default when DXVK is not installed, and the fallback when DXVK cannot run (an old GPU or no Vulkan). The same test app with wined3d showed no HUD at all (F18).

The same app without DXVK (WineD3D): no HUD, which is why a missing HUD means DXVK is not loaded.2026-11-07 · T-LAB-01
Same triangle test window rendered by Wine's built-in Direct3D, with no DXVK HUD

Distro notes

Ubuntu: we used Ubuntu 24.04 with Wine 11; the 32-bit Mesa Vulkan driver package had to be installed (F34), which needs the i386 architecture enabled. For other distributions and immutable ones (Bazzite, SteamOS desktop mode), we have no tested notes: prefer Bottles or Lutris there. A distribution package called dxvk or libdxvk-native may be for DXVK Native (for developers), which is not what Wine games use.

Questions people ask

Does Wine use DXVK?

Not by itself. Wine's own Direct3D (wined3d) is the default; DXVK is used only when its DLLs are installed in the prefix with native overrides, or when a tool such as Proton or Lutris sets it up. In our test the same files without overrides were ignored (F03).

Does DXVK work on Linux?

Yes, that is its original use. We ran DXVK 3.1.1 on Wine 11 with Mesa's software Vulkan driver for Direct3D 8, 9 and 11, in 32-bit and 64-bit form (F01).

Why do 32-bit games fail with DXVK on Linux?

Before we installed the 32-bit graphics drivers, every 32-bit Direct3D 9 and 11 test app failed at device creation, with Wine's own Direct3D too (F34). Install the 32-bit Vulkan driver packages for your distro.

How do I check my DXVK version on Linux?

Run the game from a terminal. DXVK prints a line DXVK: v3.1.1 at start (F15); under Wine files are written only if DXVK_LOG_PATH is set (F14).

Do I need winetricks?

No. The manual copy and override steps work (F04). We have not tested the winetricks dxvk verb.

Sources

  1. DXVK README at v3.1.1 (how to use) · accessed 2026-11-07
  2. DXVK wiki: Driver support · accessed 2026-11-07
  3. DXVK releases · accessed 2026-11-07