DXVK is an open-source translation layer which converts Direct3D 8/9/10/11 calls to Vulkan. It is used by Proton/Steam for Linux, by Intel Windows drivers, VirtualBox 7.x, and it can be used to run Direct3D-based games under Windows using Vulkan. DXVK has been confirmed to support over 80% of Direct3D Windows games "near flawlessly".

History

DXVK was first developed by Philip "doitsujin" Rebohle, then a recent graduate searching for his first job. It originated as a Nier: Automata fan project from him, to develop compatibility for the game on Linux. He was frustrated with the low performance of Wine's Direct3D 11 to OpenGL translation layer and was also suffering from an AMD driver bug which prevented him from playing on Windows. He had the idea of translating the game's graphics to the recently-released Vulkan and achieved this in late 2017. Rebohle released the project publicly in January 2018. He was swiftly approached by Valve with the offer of a contract, as it was apparent that this approach could have broader applications. He was hired to expand compatibility of the Linux version of Steam with Windows games.

In 2019, DXVK received Direct3D 9 support by merging with d9vk.

In November 2022, version 2.0 was released, introducing improvements to Direct3D 9 memory management, shader compilation, state cache, and support for Direct3D 11 feature level 12_1. Vulkan 1.3 support is now required.

Released on 24 January 2023, version 2.1 implemented HDR support and improved quality for certain old games.

Released on 12 May 2023, version 2.2 added D3D11On12 support.

Released on 10 July 2024, version 2.4 added support for Direct3D 8.

Released on 11 November 2024, version 2.5 features an overhauled memory and resource management which resulted in VRAM savings up to 1GB in certain games. Direct3D 8 and 9 received support for software cursor.

In June 2026, DXVK 3.0 replaced its legacy DXBC shader translation code with dxbc-spirv, reducing memory use in some games and moving more shader compilation work off the application thread. The release also began requiring Vulkan 1.4-era driver support. Users of AMD RDNA 1.0 and RDNA 2.0 architectures on Windows are advised against using DXVK 3.0 because "Windows driver for these GPUs no longer receives feature updates, can only use the slow legacy binding model, and suffers from severe performance issues that are not seen on any other driver".

Forks

D7VK is a DXVK fork that uses its D3D9 back-end to implement support for Direct3D 3, 5, 6 & 7. This supports all historic fixed-function versions of D3D, (given that it was only introduced with DirectX 2 and left largely unchanged in D3D3, while D3D4 was never released). The project does not expect to be upstreamed or merged with the parent, unlike D8VK which was merged in 2024. The original APIs were used from 1996 to 2000, having been superseded by programmable shaders in D3D8. The fork is therefore aimed at supporting applications from that period.

Controversies

The use of Wine/DXVK has gotten users banned from some online gaming platforms because these layers have been classified as illegitimate by their anti-cheat systems.

See also

  • WineD3D - Wine's original Direct3D to OpenGL translation layer which works well for games and applications using DirectX 9c and earlier
  • vkd3d - Wine's D3D12 to Vulkan translation layer

External links

  • - a Proton/Wine/DXVK compatibility database
  • - GitHub repository
  • - a Win32 compatibility layer for POSIX operating systems