doitsujin/dxvk

Games

A Vulkan-based translation layer that lets Direct3D 8/9/10/11 games and applications run on Linux through Wine.

18,412
1,330
C++
Zlib
9 years old

What DXVK does

DXVK translates Direct3D 8, 9, 10 and 11 calls into Vulkan, letting 3D applications run on Linux through Wine instead of Wine's older OpenGL-based D3D path. Current project status is tracked in the project wiki. The same source tree also builds DXVK Native, a variant that runs without Wine and is aimed at game and application ports or port bring-up; it needs an explicit WSI backend such as SDL3, SDL2 or GLFW via DXVK_WSI_DRIVER (source:36).

Install into a Wine prefix

Download a package from the releases page, then copy the matching DLLs into the prefix and add native DLL overrides in winecfg for d3d8, d3d9, d3d10core, d3d11 and dxgi (source:7). For a default prefix:

export WINEPREFIX=/path/to/wineprefix
cp x64/*.dll $WINEPREFIX/drive_c/windows/system32
cp x32/*.dll $WINEPREFIX/drive_c/windows/syswow64
winecfg

For a pure 32-bit prefix, copy x32/*.dll into system32 instead (source:9). Only the DLLs for the API you need are required: d3d8 uses d3d8.dll and d3d9.dll; d3d9 uses d3d9.dll; d3d10 uses d3d10core.dll, d3d11.dll and dxgi.dll; d3d11 uses d3d11.dll and dxgi.dll (source:10). To verify DXVK is active, enable the HUD, for example with DXVK_HUD=devinfo,fps (source:14). Launchers such as Steam Play, Lutris, Bottles and Heroic handle the setup automatically when enabled (source:7).

Remove and rebuild

To remove DXVK, delete the copied DLLs and the DLL overrides, then run wineboot -u to restore the original DLLs (source:7). Building from source requires Wine 10.0 or newer, Meson 0.58+, Mingw-w64 10.0+ and glslang (source:22); clone with submodules via git clone --recursive, then run ./package-release.sh master /your/target/directory --no-package to produce a dxvk-master folder with both 32-bit and 64-bit builds (source:28).

Constraints and caveats

Use a recent enough Vulkan driver for your hardware; driver status is documented on the driver support wiki. Modifying Direct3D libraries in multiplayer games may be treated as cheating and can get accounts banned, including some single-player games with multiplayer components (source:13). With drivers supporting VK_EXT_graphics_pipeline_library, shaders compile when the game loads them rather than at draw time, which can cause long periods of high CPU use during loading screens; watch progress with DXVK_HUD=compiler (source:18). Games that load D3D shaders only at draw time, such as many Unreal Engine titles, may still stutter (source:18). On Windows, log files are written to the game's working directory by default (source:15).

HotRepo's take

DXVK appears in HotRepo's C++ daily list on 2 November 2026 with 9 stars gained and a best position of 10 that day. Its discussion history on Hacker News goes back to a January 2018 thread with 216 points, where commenters debated whether the approach could also benefit Windows and noted it as a drop-in replacement for Wine's D3D11-over-OpenGL path (source:38), while another discussion highlighted the ban risk in online games (source:43). Later entries mark the 2.0 and 2.4 releases, the latter adding DX8 support. The long gap between the large 2018 thread and the small 2022/2024 release posts reflects a mature project whose major milestones now get modest discussion rather than explosive attention.

Written by AI from the project's README, updated . The project's own docs are the source of truth.

Hacker News

Dvxk: A Vulkan-Based D3D11 Implementation for Linux with Wine
▲ 216 · 51 comments · January 21, 2018
DXVK 2.0 released
▲ 4 · 0 comments · November 11, 2022
DXVK 2.4 with DX8 support added
▲ 2 · 0 comments · July 11, 2024