DXVK
Developers | |
---|---|
doitsujin | |
Joshua-Ashton | |
K0bin | |
AlpyneDreams | |
Community | |
Release dates | |
Windows | January 14, 2018[Note 1] |
Key points
- Vulkan-based translation layer for Direct3D 8-11 games used by e.g. Proton to allow Windows games to run on Linux.
- Windows is not officially supported, though generally works, and may even improve performance compared to native.
- Starting with version 2.0 a Vulkan 1.3 driver is required.[4] Cards which entered legacy status before 2022 thus won't work.[Note 2]
General information
Availability
Source | DRM | Notes | Keys | OS |
---|---|---|---|---|
Official website |
Installation
Instructions for Windows: |
---|
|
Uninstallation
Remove the installed DLL files from the game folder to uninstall DXVK. |
---|
Performance
For most games, DXVK provides 10-20% lower framerate comparing to native DirectX, as the translation isn't always perfect and DXVK cannot enhance GPU performance.
However, for some circumstances, you may get even higher framerate than native DirectX. This is due to framerate being limited by the weaker one between CPU and GPU, and DXVK have slightly lower call overhead which reduce CPU usage (this is useful for those who have a weak CPU with powerful GPU, in the latest DX11 games which can manage to push hundreds of thousands draw calls). Moreover, this can restore (if not exceed) much of the CPU-limited DX9 performance that was lost in later Windows 10 builds.
Other information
dxvk-async
- dxvk-async is a fork of DXVK that changes the compilation of pipelines (e.g. shaders etc) to be an asynchronous operation performed by a worker thread. This prevents the compile process from blocking the main thread which could otherwise cause noticable stutters in games.
- Not supported anymore by the developer since it was superseded by graphics pipeline libraries support.[5]
dxvk-gplasync
- dxvk-gplasync is a successor to dxvk-async that combines asynchronous compiling and pre-compiling of shaders.
Notes
- ↑ It is... debatable... which release version we should use. Technically speaking v1.0 was released on February 25, 2019[1] but is otherwise not really different than any other releases that predates it and came after, ergo I opted to see the very first public release, v0.20,[2] as the 'official' release date.[3]
- ↑ This isn't really a problem for open-source drivers on Linux (as newer Vulkan versions don't mandate any additional hardware feature), but on Windows it means that Nvidia's Kepler and AMD GPUs older than GCN4 aren't supported anymore and can use 1.10.3 at the most.
References
- ↑ GitHub - doitsujin/dxvk - Version 1.0 - last accessed on 2022-09-24
- ↑ GitHub - doitsujin/dxvk - Version 0.20 - last accessed on 2022-09-24
- ↑ Verified by User:Aemony on 2022-09-24
- ↑ Driver support · doitsujin/dxvk Wiki - GitHub
- ↑ the async patch partially breaks the dxvk-cache · Issue #55 · Sporif/dxvk-async - last accessed on June 2023