Jump to content

WineHQ Team aims for DirectX 12 to Vulkan library

Mr. Doomguy

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 comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


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

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Forum Statistics

    Total Topics
    Total Posts
  • Create New...