We do often include affiliate links to earn us some pennies. See more here.

Not exactly Linux news, but still interesting since Vulkan is what will likely power many Linux games in future and having Vulkan on Mac could result in easier ports to Linux. The Khronos Group has worked with Valve, LunarG, and The Brenwill Workshop to make this happen.

Announced today by The Khronos Group, the MoltenVK project is now officially open source under the Apache License 2.0 and you can find it on GitHub right now. There's no fees or royalties involved, so any game developer can use it without any hassle—which is really great. Seems SDL2 has added some support for it already too.

I've spoken to a number of a developers over the last few years, with a few of them being quite worried about supporting Metal as well as Vulkan/OpenGL when doing ports. The extra time needed for yet another graphical API was cited as something of a concern (and a possible reason for some Linux ports not happening, due to the extra time vs market share), hopefully with MoltenVK now being open source we can get Vulkan on all platforms, to reduce the game porting burden.

From the official announcement, it seems Valve share that same feeling (with it helping to reduce porting costs):

“We have been running substantial production loads through the Vulkan tools on Mac, including Dota 2 which is now running faster than the native OpenGL version,” said Pierre-Loup Griffais at Valve. “These efforts are aimed toward reducing development and porting costs for any developer supporting multiple platforms.”. Valve also showed off this video to show the difference:

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

With developers now having the ability to target one API, we may even see Vulkan adoption increase along with better performing ports. The more games that use Vulkan, the better tested drivers will be and the more developers will become familiar with it. Not only that, but if Apple is slow to react with Metal API updates that developers need (I've seen many complain about it already), developers can simply opt for Vulkan.

Worth noting though it's not fully complete yet, with certain limitations like Tessellation and Geometry shader stages not being implemented and more that you can see here.

Read more here in the official announcement. Again, not Linux-specific news, but it's hopefully going to be good for us in the long-run.

Article taken from GamingOnLinux.com.
Tags: Valve, Vulkan
37 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 checked 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. You can also follow my personal adventures on Bluesky.
See more from me
The comments on this article are closed.
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
30 comments
Page: «2/2
  Go to:

STiAT Feb 27, 2018
That's cool that it could help Godot to have more consistent support (and hopefully performance) for their engine over all of their supported operating systems.
etonbears Feb 27, 2018
Only thing we need now is better materials to learn Vulkan online, and then with more Vulkan developers than DX developers, companies would start to use Vulkan and the port to linux

Just curious, but what kind of better materials did you have in mind? I sometimes go Khronos talks, and those guys & gals really like feedback about this kind of thing.

I think the online Vulkan Tutorial is fine for anyone who should be thinking about using Vulkan directly - C developers with 3D development experience.

A list of gotchas and tips would be a useful adjunct, if one doesn't exist already.

I doubt it will be easy for anyone without prior experience of 3D get the hang of Vulkan quickly.
natewardawg Feb 27, 2018
This means we can use Vulkan on all of the major platforms: Linux, Windows, macOS, Android, and iOS... that's a huge benefit! :)
Aren't you forgetting something? ;)

![](https://www.pinterestegiveaway.com/wp-content/uploads/2017/07/Nintendo-Switch-Xbox-One-S-Sony-PS4-Pro.jpg)

Very true, haha :D I guess I'm just living in a different world since the ones I mentioned I develop for on an almost daily basis. It's so neat to see it working on so many devices. M$ will have to give in soon or it might possibly hurt Xbox... or not :/


Last edited by natewardawg on 27 February 2018 at 1:52 pm UTC
STiAT Feb 27, 2018
We still won't get Native Doom/whatever Vulkan AAA title so...

Probably not, but the wine "mapping", since it won't be a real "porting" would be a lot easier.
WJMazepas Feb 28, 2018
Only thing we need now is better materials to learn Vulkan online, and then with more Vulkan developers than DX developers, companies would start to use Vulkan and the port to linux

Just curious, but what kind of better materials did you have in mind? I sometimes go Khronos talks, and those guys & gals really like feedback about this kind of thing.

I tried to learn a bit of Vulkan, but all the information that i found was for someone already with experience in developing 3d engines.

I dont know if is possible, but i would love a tutorial that went with the basics, medium and advanced stuff with Vulkan. Showing how to write a simple triangle and then going forward. But explaining everything for someone who has not touched OpenGL before.
dirkdierickx Feb 28, 2018
This is good news for Feral, did they react to this mac-vulkan port yet? Will they drop metal on mac and go vulkan only, it would make great sense for them.
Eike Feb 28, 2018
View PC info
  • Supporter Plus
I tried to learn a bit of Vulkan, but all the information that i found was for someone already with experience in developing 3d engines.

I dont know if is possible, but i would love a tutorial that went with the basics, medium and advanced stuff with Vulkan. Showing how to write a simple triangle and then going forward. But explaining everything for someone who has not touched OpenGL before.

For learning all the stuff from the beginning, I'd recommend a book. For such tasks, nothing beats paper besides the keyboard. I cannot give specific recommendations on books about Vulkan, though.
WJMazepas Mar 1, 2018
I tried to learn a bit of Vulkan, but all the information that i found was for someone already with experience in developing 3d engines.

I dont know if is possible, but i would love a tutorial that went with the basics, medium and advanced stuff with Vulkan. Showing how to write a simple triangle and then going forward. But explaining everything for someone who has not touched OpenGL before.

For learning all the stuff from the beginning, I'd recommend a book. For such tasks, nothing beats paper besides the keyboard. I cannot give specific recommendations on books about Vulkan, though.

Well i would love a good book. I tried to see some in Amazon but most of recommendations were saying that the goods were bad.

I'm gonna try to search again
WJMazepas Mar 1, 2018
Only thing we need now is better materials to learn Vulkan online, and then with more Vulkan developers than DX developers, companies would start to use Vulkan and the port to linux

Just curious, but what kind of better materials did you have in mind? I sometimes go Khronos talks, and those guys & gals really like feedback about this kind of thing.

I tried to learn a bit of Vulkan, but all the information that i found was for someone already with experience in developing 3d engines.

I dont know if is possible, but i would love a tutorial that went with the basics, medium and advanced stuff with Vulkan. Showing how to write a simple triangle and then going forward. But explaining everything for someone who has not touched OpenGL before.

Strangely enough, it's the simple triangle that's the hardest part to learn about Vulkan. I know that's weird, but Vulkan is a very explicit API, and a lot of information must be provided up front, well before that first triangle.

I've often thought that a better tutorial should do the reverse: provide a basic setup, give that first triangle, then work backwards to the first initialisation.

I'll keep this in mind to mention.

Seriously? Damn i'm really bad in this then. Do you recommend were i could start to learn Vulkan?
etonbears Mar 1, 2018
I tried to learn a bit of Vulkan, but all the information that i found was for someone already with experience in developing 3d engines.

I dont know if is possible, but i would love a tutorial that went with the basics, medium and advanced stuff with Vulkan. Showing how to write a simple triangle and then going forward. But explaining everything for someone who has not touched OpenGL before.

For learning all the stuff from the beginning, I'd recommend a book. For such tasks, nothing beats paper besides the keyboard. I cannot give specific recommendations on books about Vulkan, though.

Well i would love a good book. I tried to see some in Amazon but most of recommendations were saying that the goods were bad.

I'm gonna try to search again

Unfortunately, the modern graphics APIs are not easy to describe succinctly. Most of the books currently available do assume previous knowledge of 3D programing.

There are about a dozen steps required to set up a single shader pass, and you need to completely understand your data model before you can write a shader. This makes it difficult to provide a step by step recipe that you can follow, seeing what happens with each step.

As @mirv says, a more accessible route would be to provide a default set of API setup calls for a simple vertex/mesh model to allow immediate creation of visible shader output, then go back to describe how the shader output is supported by the API setup calls.

Vulkan is not magic. It doesn't make 3D programming somehow easier (quite the opposite) but it does mean that you can have a similar level of control over a GPU as you do over a CPU. That is, it does what you want, when you want, and nothing else.


Last edited by etonbears on 1 March 2018 at 10:55 am UTC
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.