dxvk/README.md

56 lines
2.2 KiB
Markdown
Raw Normal View History

2017-11-17 10:34:38 +00:00
# DXVK
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](https://github.com/doitsujin/dxvk/wiki).
For binary releases, see the [releases](https://github.com/doitsujin/dxvk/releases) page.
2017-11-17 10:34:38 +00:00
## Build instructions
### Requirements:
2017-12-05 12:27:36 +00:00
- [wine-staging](https://wine-staging.com/) for Vulkan support
2017-11-17 10:34:38 +00:00
- [Meson](http://mesonbuild.com/) build system
- [MinGW64](http://mingw-w64.org/) compiler and headers
- [glslang](https://github.com/KhronosGroup/glslang) front end and validator
2017-11-17 10:34:38 +00:00
### Building DLLs
Inside the dxvk directory, run:
```
2017-12-12 11:54:49 +00:00
# 64-bit build. For 32-bit builds, replace
# build-win64.txt with build-win32.txt
2017-11-17 10:34:38 +00:00
meson --cross-file build-win64.txt build.w64
cd build.w64
2017-12-12 11:54:49 +00:00
meson configure -Dprefix=/target/directory
# for an optimized release build:
meson configure -Dbuildtype=release
2017-11-17 10:34:38 +00:00
ninja
ninja install
```
Both `dxgi.dll` and `d3d11.dll`as well as some demo executables will be located in `/target/directory/bin`.
2017-11-17 10:34:38 +00:00
## How to use
In order to run `executable.exe` with DXVK,
2018-01-13 15:36:04 +00:00
* Copy `dxgi.dll` and `d3d11.dll` into the same directory as the executable
2017-11-17 10:34:38 +00:00
* Run `WINEDLLOVERRIDES=d3d11,dxgi=n wine executable.exe`
2017-12-07 14:20:12 +00:00
DXVK will create a file `dxgi.log` in the current working directory and may print out messages to stderr.
### Environment variables
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 directory
2017-12-08 10:19:12 +00:00
- `DXVK_DEBUG_LAYERS=1` Enables Vulkan debug layers. Highly recommended for troubleshooting and debugging purposes.
- `DXVK_HUD=1` Enables the HUD
2017-12-08 10:19:12 +00:00
## Samples and executables
In addition to the DLLs, the following standalone programs are included in the project:
2017-12-28 18:07:52 +00:00
- `d3d11-compute`: Runs a simple compute shader demo. Requires native `d3dcompiler_47.dll`.
- `d3d11-triangle`: Renders a bunch of triangles using D3D11. Requires native `d3dcompiler_47.dll`.
2017-12-08 10:19:12 +00:00
- `dxgi-factory`: Enumerates DXGI adapters and outputs for debugging purposes.
2017-12-28 18:07:52 +00:00
- `dxbc-compiler`: Compiles a DXBC shader to SPIR-V.
2017-12-08 10:19:12 +00:00
- `dxbc-disasm`: Disassembles a DXBC shader. Requires native `d3dcompiler_47.dll`.
- `hlsl-compiler`: Compiles a HLSL shader to DXBC. Requires native `d3dcompiler_47.dll`.