Provides a Vulkan-based implementation of DXGI and D3D11 in order to run 3D applications on Linux using Wine.
For the current status of the project, please refer to the project wiki.
- wine-staging for Vulkan support
- Meson build system
- MinGW64 compiler and headers
- SDL2 headers and DLL
Inside the dxvk directory, run:
# 64-bit build. For 32-bit builds, replace
# build-win64.txt with build-win32.txt
meson --cross-file build-win64.txt build.w64
cd build.w64
meson configure -Dprefix=/target/directory
ninja
ninja install
Both dxgi.dll
and d3d11.dll
as well as some demo executables will be located in /your/directory/bin
.
In order to run executable.exe
with DXVK,
- Copy
dxgi.dll
,d3d11.dll
andSDL2.dll
into the same directory as the executable - Run
WINEDLLOVERRIDES=d3d11,dxgi=n wine executable.exe
DXVK will create a file dxgi.log
in the current working directory and may print out messages to stderr.
The behaviour of DXVK can be modified with environment variables.
DXVK_SHADER_DUMP_PATH=directory
Writes all DXBC and SPIR-V shaders to the given directoryDXVK_DEBUG_LAYERS=1
Enables Vulkan debug layers. Highly recommended for troubleshooting and debugging purposes.
In addition to the DLLs, the following standalone programs are included in the project:
d3d11-triangle
: Renders a triangle using D3D11. Requires natived3dcompiler_47.dll
.dxgi-factory
: Enumerates DXGI adapters and outputs for debugging purposes.dxbc-dcompiler
: Compiles a DXBC shader to SPIR-V.dxbc-disasm
: Disassembles a DXBC shader. Requires natived3dcompiler_47.dll
.dxvk-triangle
: Renders a triangle using pure DXVK, which is the Vulkan-based state tracker that the D3D11 implementation is based on.