WineD3D Optimistic In Their Yet To Be Proven Vulkan Backend, DXVK “Dead End”


WINE --

For the past months we’ve been aware of CodeWeavers/Wine developers exploring a possible Vulkan back-end to WineD3D as an alternative to their long-standing approach of taking Direct3D calls and mapping it to OpenGL. This WineD3D Vulkan back-end would be akin to DXVK, VK9, D9VK, and others of ultimately using Vulkan to accelerate an alternative API. While the code has just been started, it appears the upstream Wine developers believe in their approach.

Back when the WineD3D Vulkan plans were made known there was the drama over not using DXVK instead and their reasons why. We’ve seen the start of the basic work towards ultimately providing a Vulkan-based WineD3D back-end but it isn’t yet usable for gamers today.

In an unrelated Wine mailing list discussion today about the Persistent Buffer Allocator (PBA) patches for improving the gaming experience, DXVK got brought up. To that CodeWeavers employee and lead WineD3D developer Henri Verbeet commented, “If you’re interested in doing performance work though, I’d argue it would be more interesting to try to close the gap for those cases where DXVK is currently faster than wined3d. It’s great that DXVK is working so well for some people, but it’s also ultimately a dead end.

As a follow-up Henri commented, “The short version is that Wine’s own Vulkan D3D backend should make DXVK superfluous in the long term.

If/when WineD3D’s Vulkan support surpasses DXVK in terms of functionality and performance and support for as many games remains to be seen. For now Valve appears to be continuing to go full-throttle with DXVK with no signs of it letting up for the foreseeable future considering how well it’s working today with many games and offering much better performance than what is possible with only Wine right now. Even for Wine’s Direct3D support using their own DXVK library for Direct3D 12 to Vulkan, while some basic functionality is there, on the D3D12 front it’s still far from being complete.