Skip to content
SPECIFICTION
Get listed

VKD3D

gitlab.winehq.org

WindowsmacOSLinux

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

Alternatives to VKD3DAll alternatives →