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
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
andd3d11.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.DXVK_HUD=1
Enables the HUD
In addition to the DLLs, the following standalone programs are included in the project:
d3d11-compute
: Runs a simple compute shader demo. Requires natived3dcompiler_47.dll
.d3d11-triangle
: Renders a bunch of triangles using D3D11. Requires natived3dcompiler_47.dll
.dxgi-factory
: Enumerates DXGI adapters and outputs for debugging purposes.dxbc-compiler
: Compiles a DXBC shader to SPIR-V.dxbc-disasm
: Disassembles a DXBC shader. Requires natived3dcompiler_47.dll
.hlsl-compiler
: Compiles a HLSL shader to DXBC. Requires natived3dcompiler_47.dll
.