- Home
- Game Compatibility Layers
- vkd3d-proton
vkd3d-proton
What it is
vkd3d-proton is a free project that implements Direct3D 12 on Vulkan and supports Direct3D 12 development for Proton. It is intended to act as a replacement for d3d12.dll and d3d12core.dll in Wine, including Proton, and can also run on Windows. The project prioritizes performance and game compatibility using modern Vulkan features, a choice that limits compatibility with older drivers and systems. Its requirements include Vulkan 1.3 and specified descriptor indexing, device features, and Vulkan extensions. RADV is the recommended and most-tested AMD driver, with Mesa 22.0 listed as the minimum; the README recommends current NVIDIA drivers and requires at least the 535 series. Intel GPUs have not been tested by the project. vkd3d-proton does not provide DXGI components itself and shares a DXGI implementation with DXVK 2.1 or later. It manages a shader cache for DXBC/DXIL-to-SPIR-V conversion, which the README says can reduce stutter and load times. Developer documentation includes shader dumps and overrides, RenderDoc capture, GPU breadcrumbs, and descriptor QA checks.
For and against
For
- Free project for Windows and Linux
- Provides Direct3D 12 support through Vulkan
- Manages a shader conversion cache
- Documents RenderDoc capture and shader debugging tools
Against
- Requires Vulkan 1.3 and specified driver features
- Older drivers and systems may not be compatible
- Intel GPUs have not been tested
- DXGI components are not included
The verdict
vkd3d-proton targets Direct3D 12 use through Vulkan, with performance and game compatibility as priorities. Check driver requirements first, and account for the separate DXGI implementation requirement.
Who it suits
It suits users of Wine or Proton who need Direct3D 12 support through Vulkan, provided their drivers meet the listed requirements. Its documented debugging features also address developers working on graphics issues.
Plans and prices
vkd3d-proton
Open-source project; no paid plans or price listed
Read 3 Oct 2026 · github.com
On the record
- AMD support
- RADV is the recommended and most-tested AMD driver, with Mesa 22.0 listed as the current minimum.github.com · read 3 Oct 2026
- Development tools
- The README documents developer debugging features including shader dumps and overrides, RenderDoc capture, GPU breadcrumbs, and descriptor QA checks.github.com · read 3 Oct 2026
- Driver requirements
- The README lists Vulkan 1.3 and specific descriptor indexing, device-feature, and Vulkan-extension requirements for drivers.github.com · read 3 Oct 2026
- DXGI integration
- vkd3d-proton does not supply DXGI components itself; it shares a DXGI implementation with DXVK 2.1 or later.github.com · read 3 Oct 2026
- Intel support
- The README says Intel GPUs have not been tested by the project.github.com · read 3 Oct 2026
- Linux limitation
- A native Linux binary can be built, but the README says it is not intended to be compatible with upstream Wine and is mostly for development.github.com · read 3 Oct 2026
- NVIDIA support
- The README recommends the latest NVIDIA drivers and states that at least the 535 series is needed.github.com · read 3 Oct 2026
- Priorities
- The project prioritizes performance and game compatibility, using modern Vulkan features at the expense of compatibility with older drivers and systems.github.com · read 3 Oct 2026
- Purpose
- vkd3d-proton aims to implement the full Direct3D 12 API on top of Vulkan and provides Direct3D 12 support development for Proton.github.com · read 3 Oct 2026
- Shader cache
- It manages a driver cache for DXBC/DXIL-to-SPIR-V conversion, which the README says can reduce stutter and load times.github.com · read 3 Oct 2026
- Use
- It is intended to be used as native Win32 d3d12.dll and d3d12core.dll drop-in replacements in Wine, including Proton, or on Windows.github.com · read 3 Oct 2026
- Windows limitation
- Native Windows use is described as mostly relevant to developer testing, and the README notes that many games only try to load d3d12.dll on Windows 10.github.com · read 3 Oct 2026