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:
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.
This means we can use Vulkan on all of the major platforms: Linux, Windows, macOS, Android, and iOS... that's a huge benefit! :)
I know they also benefit greatly from this, but still, thank you Valve for being generous by "convincing" them to open source this with company resources... IE. money :)
So this is a good development, and I hope porters/developers just target Vulkan from now on and ignore Metal as much as possible. I wonder what Feral think of this, since they have been working on bringing titles to Apple with Metal support.
When Vulkan was originally announced I was really happy to see it come to Apple and Linux. With Apple Mac having a larger market share (gamer wise) as of right now, it seemed a great thing. Then they had to go their own way with Metal. I just don't understand the thinking, they have made it harder to bring more games to their platform and potentially set Vulkan adoption back at the same time.
So this is a good development, and I hope porters/developers just target Vulkan from now on and ignore Metal as much as possible. I wonder what Feral think of this, since they have been working on bringing titles to Apple with Metal support.
Simple Apple plan.
Don't adopt Vulkan , develop Metal.
Why?
Forcing devs to priotirize one platform to another: Android or Ios.
Apple made that mistake back in the days , with having OpenGL ES on Ios while Android has it too.
Apple only cares about Ios now , because people are joining to their ecosystem via Iphone's. Rest are there for milking money , forcing devs to buy Mac's etc.
Forcing devs to priotirize one platform to another: Android or Ios.
To put it in more concrete terms. To tax developers in order to discourage them from making cross platform releases. Supporting lock-in creates a tax, since it costs money, time and resources to break out of it.
Last edited by Shmerl on 26 February 2018 at 6:36 pm UTC
Basically this Apple failure works in our advantage. I hope in a few years no-one will remember Metal was ever a thing. :)
And the thing is, I've gotten the impression that Vulkan has really been . . . I dunno how to put it . . . kind of on the edge between major player and also-ran, at least in the desktop computing space. How it's going to pan out in terms of adoption is still up in the air; it hasn't stalled, but it hasn't come out a clear winner either. Adding Mac as a platform is just the kind of win that can tip developers' choices and move Vulkan into the clear winner column, a major platform seeing serious adoption and delivering on its promise.
And if that happens, game (and engine) developers will be looking at a situation where using Vulkan means easy releases on all the desktop computing platforms, Windows Mac and Linux, with little reason to leave Linux out. Probably good for Mac gaming too. Plans on whether to go Mac no longer run afoul of Metal and they include a probable easy addition of Linux as a little bonus. So not only does Linux get more of the Mac stuff, but there's likely more Mac stuff to get.
Admittedly, it seems the project has some missing bits so far--but since it's both important to a moderate number of players and open source so they can do something about it, I expect those limitations to be handled at reasonable speed. I can envision a future not so far distant where the dominant answer to the question "What platforms should we target and what graphical toolset should we use?" will be "We target all three, Windows Mac & Linux, because with Vulkan it's no big hassle."
Now all we have to do is get Sony to use Vulkan. Hey, weather keeps getting freakier, we could have a cold day in Hell any time!
When Vulkan was originally announced I was really happy to see it come to Apple and Linux. With Apple Mac having a larger market share (gamer wise) as of right now, it seemed a great thing. Then they had to go their own way with Metal. I just don't understand the thinking, they have made it harder to bring more games to their platform and potentially set Vulkan adoption back at the same time.
So this is a good development, and I hope porters/developers just target Vulkan from now on and ignore Metal as much as possible. I wonder what Feral think of this, since they have been working on bringing titles to Apple with Metal support.
Their goal: exert greater control over the users, procure yet more lock-in. It's all about putting up artificial barriers.
Edit: Place your bets now, how long do you think it will be before Apple changes the Metal API in such a way as to conveniently break MoltenVK?
Last edited by GustyGhost on 26 February 2018 at 6:55 pm UTC
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)
Edit: https://arstechnica.com/gadgets/2018/02/vulkan-is-coming-to-macos-ios-but-no-thanks-to-apple/
The portable subset will also soon be able to target another platform: DirectX 12. Expected within the next few months, a similar translation layer is being developed that will enable Vulkan applications to use a DirectX 12 back-end. While Windows, unlike macOS, does have Vulkan drivers from GPU companies, applications sold through the Microsoft Store are only permitted to use DirectX. Already today, some Store applications use ANGLE—an implementation of OpenGL ES that runs on top of DirectX—so that their developers can use a cross-platform graphics API. The Vulkan layer will enable the same for software that uses the high performance, low-level GPU API.
And from the press release:
The Khronos Vulkan Portability Initiative continues to refine and define a universally portable subset of Vulkan 1.0 that can be run at native performance levels over Metal and DirectX 12 drivers.
The Vulkan Portability Initiative will continue to strengthen the infrastructure and tooling around bringing Vulkan capabilities to multiple Metal and DX12 platforms - our long-term goal is to enable portable Vulkan code to be executed on any platform that developers care about.
Last edited by MayeulC on 26 February 2018 at 8:48 pm UTC
The big step will be getting companies out of the Windows-Only mentality, Zenimax is a perfect example of this with id Software's games.
Speaking of id Software, how long till we see Doom running in Wine on macOS? ;)
Right, he forgot to mention the Switch. The other two aren't cool enough for Vulkan.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? ;)
The main potential issues for developers will be performance impact and ease of integration with development workflow. Don't forget that Vulkan/DX12/Metal are really designed as abstractions of the parallel processing environment on the GPU. That is good for rendering and some other tasks, but there are many other elements of games and simulations that will remain on the CPU, often using OS specific APIs for performance or ease of programming.
It's a necessary step for Vulkan, but I doubt it will lead to Elder Scrolls VI appearing on Linux.
Now all we have to do is get Sony to use Vulkan. Hey, weather keeps getting freakier, we could have a cold day in Hell any time!
I guess someone will have to make GnmVK for the same purpose.
When Vulkan was originally announced I was really happy to see it come to Apple and Linux. With Apple Mac having a larger market share (gamer wise) as of right now, it seemed a great thing. Then they had to go their own way with Metal. I just don't understand the thinking, they have made it harder to bring more games to their platform and potentially set Vulkan adoption back at the same time.
So this is a good development, and I hope porters/developers just target Vulkan from now on and ignore Metal as much as possible. I wonder what Feral think of this, since they have been working on bringing titles to Apple with Metal support.
The entirety of apple hinges on doing as much as possible in-house. That's why they build their own hardware, that's why you can't install Mac OS on every machine.
It does seem stupid to lock yourself away from potential revenue from, say, competing with Windows (which they definitely would have won), but that's their philosophy of doing business, and it makes sense.
The good thing is, though, that Vulkan is a cross-platform library that doesn't suck. Now Fruits and Animals can play the same games as inanimate objects.
We still won't get Native Doom/whatever Vulkan AAA title so...While we may not get Doom, having more games using Vulkan even to begin with is still a good thing for the possibility of future ports and for all the people who can be bothered to fudge about with Wine.
See more from me