Confused on Steam Play and Proton? Be sure to check out our guide.
We do often include affiliate links to earn us some pennies. See more here.
VK9, formerly known as 'SchaeferGL' is an open source project that aims to implement d3d9 over Vulkan.

Explanation video:
YouTube Thumbnail
YouTube videos require cookies, you must accept their cookies to view. View cookie preferences.
Accept Cookies & Show   Direct Link

The creator of the project emailed us to let us know about it and it does sound quite interesting. I'm not sure how useful it will end up being, but projects like Wine could benefit from it if it manages to get good compatibility.

You can find it on github here. Read more about the aims and more on this page.

The developer has also been writing a blog about the progress. You can see the roadmap here of what the developer hopes to get done and when. Article taken from GamingOnLinux.com.
6 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly.
See more from me
The comments on this article are closed.
11 comments
Page: 1/2»
  Go to:

STiAT Nov 28, 2016
Hmh, I don't really get the point in the project except if it is for academic purpose (which is perfectly fine, don't get me wrong there!). Providing a d3d9->vulkan mapping for systems which ship with d3d9? In the end, 2020 we'll rather see Vulkan/DX12 things popping out than having D3D9 or even 11 being used, since most engines will be there by then.

But yet, for Wine which already does all this (basically, providing a WINAPI, HRESULT, IDirect3D9* stuff and windows event handler / STDMETHODCALLTYPE etc.), it may be a good starting point if they wanted to do a d3d9 to vulkan mapping.
Seegras Nov 28, 2016
And it will be a nice starting point to port your games from Windows/DX9 to Linux/Vulkan.
Sethox Nov 28, 2016
Quoting: STiATHmh, I don't really get the point in the project except if it is for academic purpose (which is perfectly fine, don't get me wrong there!). Providing a D3D9->Vulkan mapping for systems which ship with D3D9? In the end, 2020 we'll rather see Vulkan/DX12 things popping out than having D3D9 or even 11 being used, since most engines will be there by then.

But yet, for Wine which already does all this (basically, providing a WINAPI, HRESULT, IDirect3D9* stuff and windows event handler / STDMETHODCALLTYPE etc.), it may be a good starting point if they wanted to do a D3D9 to Vulkan mapping.

In any case, it's good all around. We know that Vulkan is a standard already so that makes old applications (on DX9) still available in the future. This potentially can increase performance for the old DX9 with continued support thanks to Vulkan.

So by your definition, just because such a platform already exist this implantation of DX9 over Vulkan is a waste?
Nah, we all know that alternatives can be adapted, and since it's open source it really can be adapted to Wine if they deem it worthy.


Last edited by Sethox on 28 November 2016 at 1:11 pm UTC
Cybolic Nov 28, 2016
Quoting: STiATHmh, I don't really get the point in the project except if it is for academic purpose (which is perfectly fine, don't get me wrong there!). Providing a d3d9->vulkan mapping for systems which ship with d3d9? In the end, 2020 we'll rather see Vulkan/DX12 things popping out than having D3D9 or even 11 being used, since most engines will be there by then.

But yet, for Wine which already does all this (basically, providing a WINAPI, HRESULT, IDirect3D9* stuff and windows event handler / STDMETHODCALLTYPE etc.), it may be a good starting point if they wanted to do a d3d9 to vulkan mapping.

If this matures, it means that GPU vendors can stop worrying about D3D9 support in their future drivers, putting all their focus on Vulkan support, which is good news for us.
As others have stated, it would also help Wine eventually.
MayeulC Nov 28, 2016
Quoting: STiATHmh, I don't really get the point in the project except if it is for academic purpose (which is perfectly fine, don't get me wrong there!). Providing a d3d9->vulkan mapping for systems which ship with d3d9? In the end, 2020 we'll rather see Vulkan/DX12 things popping out than having D3D9 or even 11 being used, since most engines will be there by then.

But yet, for Wine which already does all this (basically, providing a WINAPI, HRESULT, IDirect3D9* stuff and windows event handler / STDMETHODCALLTYPE etc.), it may be a good starting point if they wanted to do a d3d9 to vulkan mapping.
Let me disagree with your last point. To concentrate on this translation layer, I believe it is just easier to work on... Windows, which already supports both APIs, and as such, is just one DLL remplacement away, not involving wine.

That's interesting, but I wonder if there isn't reusable things in gallium nine, which does the same, albeit a bit higher level.
It also has its use cases where G9 isn't available, too.
t3g Nov 28, 2016
Is that under a MIT or BSD styled license? I'm confused as to why they wouldn't use a FSF approved one. If so, they should be more clear as it would otherwise be dead on arrival and confuse people.


Last edited by t3g on 28 November 2016 at 4:08 pm UTC
Trump Nov 28, 2016
This could help port older Dx9 games over to Linux. And possibly with better performance than before.
Also im happy to see the project coming along nicely, we need something other than directx12... Long Live Vulkan!
Mountain Man Nov 28, 2016
Will probably be good for porting older games to Linux or running them in Wine.
iskaputt Nov 28, 2016
I like how he approaches the problem, with realistic measure of success and roadmap. His reasoning is laid out and makes sense as well.

Additional kudos if he can keep up with his plans for the next three years!
TheRiddick Nov 28, 2016
Its possible that DX9-VK will give better performance then DX9-OGL, in saying that it would have been more useful if it was DX11, but I guess you gotta start somewhere.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.