Select Page

Khronos is bringing Vulkan to MacOS and iOS

Seen by many as the future of PC gaming, Vulkan is an open-source API that promises better graphics performance and easier multi-platform development.

Instead of having to develop their games using DirectX for Windows and then use OpenGL for Mac and Linux, developers could use Vulkan for all versions of their games. That would encourage multi-platform development and lead to more games for everyone.

Bringing Vulkan applications to Apple

Unfortunately, Apple decided to drop Vulkan and focus all its energy on the Metal API, effectively killing that dream.

Introducing Vulkan for Mac and iOS

That changes today, as The Khronos Group, the industry consortium behind OpenGL and Vulkan, announced that Vulkan is coming to Apple platforms.

Khronos members Valve, LunarG, and The Brenwill Workshop worked together to bring Vulkan to Apple platforms MacOS and iOS. This support comes in the shape of a collection of free and open-source applications, SDKs, and runtime libraries.

Of particular interest for MacOS developers is the MoltenVK library, which translates calls from Vulkan to Metal calls on macOS and iOS. MoltenVK will be free, with no fees or royalties required.

What it means for developers

As a contributor to the initiative, Valve is leading the charge and used Vulkan to port Dota 2 for Mac, significantly improving performance (up to 50% faster than the native OpenGL drivers).

Vulkan Dota 2 macOS

Valve's Pierre-Loup Griffais believes this should greatly benefit developers:

These efforts are aimed toward reducing development and porting costs for any developer supporting multiple platforms.

According to Khronos President, Neil Trevett, developers will be able to bring their Vulkan-based applications to macOS and iOS with very little or no re-writing of the GPU compute and rendering functionality.

What it means for developers and gamers

Cheaper development and porting costs for developers could quickly translate into more games for MacOS and Linux.

One specific example is Dota 2's new Vulkan version, which will be released in the coming months as a free update to provide improved performance.

Suddenly all games that use Vulkan became significantly easier to port to MacOS. Among the most famous ones are The Talos Principle, Wolfenstein 2, Star Citizen and Doom.

What will happen next? Will Vulkan replace Metal?

Vulkan won't be replacing Metal anytime soon. Vulkan will be a thin runtime library sitting between the application and the Metal API. And the intention is to keep Vulkan as thin and light as possible and keep application performance as high as possible.

The list of games that support Metal for Mac keeps growing. It's in our best interest that Metal continues to improve and win over more developers. But in parallel, have viable Vulkan support would equally be great for Mac gamers because it could entice developers that already use Vulkan but wouldn't dream of adopting Metal to finally support MacOS.

Metal and Vulkan are mutually exclusive but complementary.

Next in line for Vulkan is DirectX12. If Vulkan works as advertised and encourages developers to use it instead of developing for Windows first (using DirectX12) and then porting to other platforms, Vulkan could significantly help grow multi-platform development and lead to more (and better) Mac and Linux games.

About The Author

Ric Molina

As Mac Gamer HQ's Founder and Editor, Ric Molina has been covering Mac gaming for the last 6 years. Since Ric started the Mac Gamer HQ adventure in 2012, many other Mac gaming sites have come and gone, but Mac Gamer HQ stays strong. Ric's work has been recognized and featured by some of the biggest tech outlets in the world, such as TechCrunch, Apple Insider, The Loop, Mac Rumors, iMore, Cult Of Mac, 9to5Mac and more. His work has also been awarded Macfixit's Top Apple Blogs to Watch Out for and Feedspot's Top 40 Mac Blogs And Websites for Macintosh Users. Taking advantage of his prior experience as a key account manager establishing relations with hundreds of suppliers, Ric does his best to reach out to developers supporting MacOS and giving them the exposure they deserve.


  1. Vel

    This is huge and excellent news!

    • Ric Molina

      Like when Metal for Mac was first announced, this sounds very promising. It will all depend on the level of support, the quality of the tools and the willingness of developers to test with Vulkan-powered Mac ports. We'll see!

  2. ikir

    Kill that damn OpenGL. Just use Metal and Vulkan.

    • Ric Molina

      If Vulkan can really just use Metal and doesn't require Apple to do anything to support it, killing OpenGL should be easy!

  3. Phil Enslin

    Marvelous idea .. special thanks to the decision makers who have not forgotten the Apple clan 🙂

  4. star-affinity

    Not to be that guy, but here's a comment on MacRumors from a guy named Mark who's working at Epic (you know, the Unreal engine) and he's toning down the benefits of these news a little:

    ”I don’t believe that MoltenVK will be immediately useful to most serious Mac games developers. Aspyr, Feral, Unity and here at Epic we already have direct, native Metal backends that are (or at least should be) faster and support a greater range of features than another intermediate translation library.

    Specifically MoltenVK has a list of limitations that make it sufficient for porting mobile Vulkan games and games with a primarily D3D9-era rendering engine, but probably inadequate for most modern D3D11+ game engines.

    Principally anything that requires geometry shaders or tessellation shaders is currently not going to work as MoltenVK doesn’t support them. They are *optional* features in Vulkan so it can still call itself conformant by contrast for D3D these are *required* features in D3D11 onward so games do use them, sometimes extensively. Moreover the approach MoltenVK takes to recompiling shaders makes it infeasible to impossible for them to be supported without significant work and performance penalties. Metal doesn’t have direct equivalents so the MoltenVK library would need to defer SPIRV to Metal translation until said shaders are used together in a Shader Pipeline at runtime. Only then could it recompile them to Metal and emulate all the necessary behaviour but this would result in a big performance hit on the CPU. It would also be harder to adopt the native features offered by Mac Metal to deal with these cases and hurt GPU performance.

    The other gotcha will be emulating type conversion of data between the resources and the shader. Metal doesn’t have a performant way to do that in all cases right now, so you need to use multiple different techniques to achieve the result while minimising the performance penalty. MoltenVK appears to support only a trivial subset of D3D’s implicit resource type casts which wouldn’t be enough for UE4.

    I wish them well in their efforts but this is not going to magically result in better performance in games shipped by Feral, or Epic, etc. It might well end up making it easier for smalller studios with their own engines, esp. mobile focused developers, and that is no bad thing.”

    • Ric Molina

      Very interesting stuff. I may have a chance to discuss with one of Khronos big bosses 🙂 I'll make sure some of these questions are asked.

  5. Siyoung

    Good news


Leave a reply

Your email address will not be published. Required fields are marked *


Explore by Genre

Low requirements graph

Can your Mac run it?

This free tool uses the data from every game we've ever tested to show you what games your Mac can run.

You have Successfully Subscribed!