DirectX 12 in Wine

Józef Kucia joseph.kucia at
Wed Jan 25 10:12:33 CST 2017


On Tue, Jan 24, 2017 at 7:17 AM, Gabríel Arthúr Pétursson
<gabriel at> wrote:
> With that said, what would an appropriate implementation in Wine look
> like?
> DirectX 12 on top of Vulkan seems like an obvious choice. The two
> APIs are very similar, whereas the DirectX 12 programming model
> deviates significantly from both OpenGL and DirectX 11.

Right, Vulkan seems to be the best choice. A hypothetical
implementation of D3D12 in Wine is likely to be a separate thing from

> Another approach is to leverage wined3d (i.e. OpenGL + extensions). I
> don't know to what extent wined3d can be used or needs to be changed in
> order to support DirectX 12, or if it'd be useful at all. Can anyone
> shed some light on whether this would be a feasible approach?

The only thing useful for D3D12 in wined3d seems to be SM5 bytecode parser.

The first step for implementing D3D12 in Wine is adding a support for
Vulkan. This is required in order to properly implement DXGI
swapchains which are linked to a given HWND. Generally, I recommend to
focus on Vulkan support first. Vulkan support in Wine will be
immediately beneficial to Vulkan applications, and it is the starting
point for further D3D12 work.


More information about the wine-devel mailing list