vkd3d-proton is a Direct3D 12 to Vulkan translation layer that implements the full Direct3D 12 API on top of Vulkan for use in Proton.
The project addresses the need to run Direct3D 12 games on Linux by translating Direct3D 12 calls to Vulkan at runtime. Rather than pursuing broad compatibility, it prioritizes performance and game compatibility by aggressively leveraging modern Vulkan extensions and features. This approach requires recent driver versions and hardware capabilities but delivers better results for contemporary games than a backwards-compatible implementation would.
Adoption suits developers and users running games on Linux through Proton who have modern GPUs and drivers. The tool requires Vulkan 1.3 with descriptor indexing support, specific device features including samplerMirrorClampToEdge and shaderDrawParameters, and extensions like VK_EXT_robustness2 and VK_KHR_push_descriptor. For AMD, RADV is the recommended driver with Mesa 22.0 as the minimum; NVIDIA requires driver series 535 or later, with beta Vulkan drivers preferred; Intel GPUs have not been tested. The project explicitly does not aim for backwards compatibility with the vkd3d standalone API, making it unsuitable for systems with older hardware or drivers.
Development activity shows active engagement with driver-specific optimization and compatibility work. The project maintains close coordination with driver vendors to identify and work around bugs encountered during game testing. Builds are configured to cross-compile for Windows by default using Mingw-w64, with native compilation available as an option. The codebase depends on multiple submodules that must be pulled during setup, indicating a modular architecture that likely separates concerns across different components.