HOW-TO · LINUX · WINE · DXVK 3.1.1
How to use DXVK on Linux with Wine
How we checked this
Do you need to install DXVK at all?
| You play with | What to do |
|---|---|
| Steam (Proton) or Steam Deck | Nothing: Proton bundles DXVK. See the Proton page. |
| Lutris, Bottles or Heroic | Nothing 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 yourself | This page. |
No rows match.
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.
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.
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.gz5. 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 /f7. 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.exe8. 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 -uRead each command before you run it. Terminal only; nothing here is a download button.
-
Download the release
Getdxvk-3.1.1.tar.gzfrom the official release page (see the download page) and check its SHA-256, which is40565b4a…4e54e608(F11).Check: sha256sum prints OK.
-
Extract it
The archive hasx64andx32folders. -
Copy the DLLs
Putx64/*.dllinto<prefix>/drive_c/windows/system32andx32/*.dllinto…/syswow64. This is the README method, and it worked for 32-bit and 64-bit test apps (F04). -
Set the overrides to native
Inwinecfg, Libraries tab, add d3d8, d3d9, d3d10core, d3d11 and dxgi and set them to native, or use thewine reg addlines from the builder. For one launch you can useWINEDLLOVERRIDES=“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:
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).
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
- DXVK README at v3.1.1 (how to use) · accessed 2026-11-07
- DXVK wiki: Driver support · accessed 2026-11-07
- DXVK releases · accessed 2026-11-07