The Khronos Group, an open consortium of leading hardware and software companies creating computer industry open standards, such as OpenGL, WebGL, OpenCL and many others, has announced that the Vulkan® Working Group’s Portability Initiative has been working with Khronos members Valve, LunarG, and The Brenwill Workshop to enable Vulkan applications to be ported to Apple platforms.
Demand for Vulkan on Apple—Here’s the Solution
While Apple has developed its own proprietary Metal, a low-level graphics API (application programming interface), developers wanting to efficiently develop cross-platform applications that utilize low-level, higher performing graphics APIs have not been able to reach Apple’s platforms without costly workarounds, such as developing a Mac version of a game using Metal and a Windows version of a game using DirectX 12.
The big news today is that with the help of Khronos members the Khronos Group is ready to bring Vulkan to developers for Apple’s platforms. The 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 both Apple’s Metal and Microsoft’s DirectX 12 drivers.
Released into open source today is the MoltenVK library from The Brenwill Workshop, which translates calls within the Vulkan portable subset to underlying Metal calls on macOS and iOS. MoltenVK uses the open source SPIRV-Cross cross-compiler to translate Vulkan shaders into underlying native code shader formats.
Running Vulkan applications on Apple platforms has been the number one request from developers and today’s release of the MoltenVK runtime and LunarG macOS SDK brings that capability to life…
“Running Vulkan applications on Apple platforms has been the number one request from developers and today’s release of the MoltenVK runtime and LunarG macOS SDK brings that capability to life,” said Neil Trevett, VP NVIDIA, and Khronos Group President. “Developers are invited to download the open source Vulkan Portability tools today and provide feedback via Vulkan Ecosystem GitHub Issue. 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.”
“With MoltenVK, we’ve worked hard to bring a consistent Vulkan-based API to macOS and iOS while maintaining the performance improvements required by modern game developers,” said Bill Hollings, President of The Brenwill Workshop.
Also available today will be the open source LunarG Vulkan SD for macOS on LunarXchange, which enables software developers to build, run, and debug their Vulkan applications for the Apple Mac platform. The LunarG SDK for macOS provides loader and validation layers, which allows programmers to check their code for correct API usage. LunarG will continue to evolve the macOS SDK to add additional tools and features.
The Khronos Group’s Portability Landing Page links to an open source collection of tools, SDKs, and runtime libraries to enable Vulkan development on macOS and deployment on macOS and iOS platforms. Valve is extending Dota 2 using the Vulkan tools on macOS to achieve significantly higher performance than native OpenGL® drivers.
The Khronos Group has been instrumental in developing and shepherding industry standards for the benefit of the entire computing industry. Pivotal achievements affecting the CAD, BIM, and 3D industries include most importantly the cross-platform graphics API, OpenGL. It has been OpenGL ES’s achievement that led to universal graphics across multiple competing mobile devices platforms and gaming platforms. To learn more about The Khronos Group go here.
Architosh Analysis and Commentary
In speaking with Neil Trevett, VP at NVIDIA and Khronos Group President, he mentioned that getting these new developers tools out into the community means software developers, including pro app developers, can now start considering utilizing Vulkan as their primary graphics API for their games and apps.
Trevett told Architosh that 95 percent of the Metal API is covered in the Vulkan portable subset library by MoltenVK; there are only five things not covered which are rarer items that if a developer was previously using with Metal they would need to rewrite their app or devise a workaround.
Key information not discussed in the press release but shared with Architosh include the following items:
- The MoltenVK library was previously something developers acquired. Now it is open source due to a nondisclosed business arrangement between Valve and The Brenwill Workshop. Valve is a major game platform software company, responsible for the incredibly popular Steam platform, its work with HTV Vive VR headset and many games
- Trevett also mentioned that Vulkan has been incredibly popular with developers in the gaming space because it allows for them to write once and deploy across platforms, desktop and mobile. Developers can utilize OpenGL today to do the same thing but the performance benefits are clear. Valve’s Dota 2 game is running 50 percent faster using Vulkan than OpenGL using these just released APIs and toolsets.
- Trevett said no pro app developers have started investigating using these new Vulkan tools for reaching Apple platforms. It should be noted that CAD market, in particular, is slow to move to new technologies and it would be expected that the gaming developers would be driving this forward.