VKD3D
gitlab.winehq.org
Spec sheet
- Purpose
- VKD3D is a set of libraries and tools intended to help port Direct3D applications to other platforms.Read 9 Oct 2026 · repo.or.cz
- License
- The project is made available under the GNU Lesser General Public License version 2.1 or later.Read 9 Oct 2026 · repo.or.cz
- Application integration
- The utilities library provides familiar Direct3D entry points such as D3D12CreateDevice() and D3DCompile().Read 4 Oct 2026 · repo.or.cz
- Build requirements
- Building requires SPIRV-Headers, Vulkan-Headers version 1.3.228 or later, Perl, and libjson-perl.Read 4 Oct 2026 · repo.or.cz
- Debug interface
- The project says its environment variables are mostly for debugging and are not a stable interface, so they may change or be removed.Read 4 Oct 2026 · repo.or.cz
- Developer tools
- The vkd3d 2.0 announcement says D3DCompile(), D3DCompile2(), D3DCompile2VKD3D(), and D3DPreprocess() support D3D_COMPILE_STANDARD_FILE_INCLUDE as an include handler.Read 9 Oct 2026 · list.winehq.org
- Development and CI
- The project says development takes place on Wine GitLab, where merge requests are automatically tested with GitLab CI.Read 4 Oct 2026 · repo.or.cz
- GLSL and MSL status
- The project README says GLSL and Metal Shading Language output are works in progress.Read 9 Oct 2026 · repo.or.cz
- Graphics API
- The project describes VKD3D as a 3D graphics library built on Vulkan with an API similar, but not identical, to Direct3D 12.Read 9 Oct 2026 · repo.or.cz
- Graphics backend
- Its low-level Direct3D 12 implementation is built on Vulkan.Read 4 Oct 2026 · repo.or.cz
- HLSL improvements
- Version 2.0 added HLSL shader features including structured thread group shared memory stores, interlocked operations, and a common subexpression elimination optimization pass.Read 9 Oct 2026 · list.winehq.org
- Intended use
- The README describes the project as helping port Direct3D applications to platforms such as Linux with Vulkan or macOS with Metal.Read 9 Oct 2026 · repo.or.cz
- Platform examples
- The project describes porting Direct3D applications to Vulkan or OpenGL on Linux and Metal on macOS.Read 4 Oct 2026 · repo.or.cz
- Release
- The vkd3d team announced version 2.0 on May 21, 2026, with source code available as a tarball and from Git repositories.Read 9 Oct 2026 · list.winehq.org
- Shader formats
- Supported inputs include HLSL, DXIL, DXBC/TPF, and Direct3D shader model 1–3 bytecode; outputs include SPIR-V, GLSL, MSL, Direct3D formats, and Direct3D shader assembly.Read 9 Oct 2026 · repo.or.cz
- Shader outputs
- GLSL and Metal Shading Language output are described as works in progress and are not considered ready for release.Read 4 Oct 2026 · repo.or.cz
- Shader targets
- Version 2.0 includes an experimental Metal Shading Language target with support for pixel shader specified stencil reference values.Read 9 Oct 2026 · list.winehq.org
- Shader translation
- libvkd3d-shader translates between supported shader formats and can retrieve shader reflection information.Read 9 Oct 2026 · repo.or.cz
- Source availability
- The project announcement lists a downloadable vkd3d 2.0 source tarball and Git repositories on WineHQ GitLab and Codeberg.Read 9 Oct 2026 · list.winehq.org
- Windowing limitation
- VKD3D does not implement DXGI interfaces for adapter enumeration, swapchains, or windowing; applications must provide these or use a library such as GLFW, SDL, or Qt.Read 4 Oct 2026 · repo.or.cz
Where Specifiction places it
- Game Compatibility Layers#24 of 276.9