Jump to content

WineHQ Team aims for DirectX 12 to Vulkan library

Recommended Posts

Following last weekend's WineConf 2017 and its announcement, Wine project founder Alexandre Julliard has sent out a detailed action item list as a result of the developers' meeting in Poland.


Perhaps most exciting is that they will be developing VKD3D in its own Git repository. The VKD3D code-base is to be a Direct3D 12 to Vulkan library for eventually allowing D3D12 Windows games to run on Linux via translations to Vulkan, similar to the project's work on converting Direct3D calls to OpenGL.


Separately there has also been the VK9 effort for running Direct3D 9 over Vulkan, but this Wine VKD3D project is just about Direct3D 12 with that matching more nicely to the semantics of Vulkan. Besides, Wine's Direct3D 10/11 support backed by OpenGL is already getting into good shape.


But don't expect vkd3d to become usable overnight as it will likely be quite some months involved before it will be helping out for running Windows D3D12 games under Wine. It will also be interesting to see once full-featured if any game studios/porters will be using it to assist in porting games to Linux, assuming the overhead isn't too high of this yet-to-be-developed library.


At WineConf 2017, developers also agreed to begin producing more detailed Git commit messages, consolidating some of their mailing lists, and to begin building binary Wine packages for Android.


Their current plan is also to do the code freeze for Wine 3.0 around the end of November, meaning the release should be out on schedule in December or January.


The list of action items can be found on Wine-devel.




But that is not all, the community also aims to make a good use of the Vulkan API for other DirectX versions.


DXVK is currently in development which translates Direct3D 11 calls into Vulkan and can be used for Wine.


VK9 is similar to the mentioned DXVK, but for Direct3D 9 calls.


Why is this important?


Currently Wine uses OpenGL to translate the calls from DirectX and compared to Vulkan, the latter is a lower-level API which offers parallel tasking which can result in a major performance difference. For Linux users this is a good news, but sadly, MacOS users are out of luck since Apple refuses to implement Vulkan into their system as they want to push their own graphics API called Metal. A third party Vulkan implementation does exists, but it uses Metal API to translate the calls.


At the same time it may cause Linux to be more future proof while (most likely) providing backwards compatibility with older games on Windows.

Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in

Sign In Now
  • Found PCGamingWiki useful? Please consider making a Donation or visiting our Patreon.
  • Who's Online   0 Members, 0 Anonymous, 353 Guests (See full list)

    There are no registered users currently online

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Forum Statistics

    Total Topics
    Total Posts
  • Create New...