The Khronos Group announced on Monday, February 26, that Valve Software, LunarG, and The Brenwill Workshop collaborated to create MoltenVK, a new API promising better graphics and faster performance on MacOS and iOS. It essentially enables games relying on Apple’s proprietary Metal graphics API to utilize the Vulkan library while maintaining high-performance, native speeds. MoltenVK will first be utilized in Valve’s Dota 2 for MacOS via a free update slated to arrive in the coming months.
Games and other graphics-intensive applications require a middleman to get the best performance. On the simplest level, a graphics API serves as a translator between the hardware (GPU) and software (game). DirectX is the most-used solution developed by Microsoft for Windows-based machines followed by the open-source OpenGL platform. Vulkan is a newer, high-performance open-source alternative to both.
Although Apple’s devices support OpenGL, they obviously don’t support DirectX. They also don’t “officially” support Vulkan but instead rely on Apple’s native alternative called Metal. That is where MoltenVK comes in; when a game running on MacOS or iOS makes a graphics-related Metal request to the hardware, a “translator” uses Vulkan-based shaders instead.
“MoltenVK is a library which translates calls within the Vulkan graphics and compute API, to underlying calls to Apple’s Metal API on both iOS and macOS,” the Khronos Group explains.
As part of the announcement, Valve distributed benchmarks comparing Dota 2 running on MacOS using OpenGL versus a ported version running with Vulkan. Here are the numbers in frames per second:
Mac Pro Late 2013 AMD FirePro D500 |
MacBook Pro Mid 2013 Nvidia GT 650M |
MacBook Pro Mid 2014 Intel Iris Pro |
|
OpenGL |
75.5 |
35.9 |
42.2 |
Vulkan |
102.8 |
53.9 |
47.7 |
MoltenVK is part of the Vulkan Portability Initiative to expand Vulkan’s capabilities to devices that don’t support native Vulkan drivers, such as Apple’s devices. This initiative focuses on developing “specifications, open-source libraries, and tools.” But all those involved want a universal platform, meaning they are targeting devices that rely on DirectX 12 and OpenGL as well.
In addition to announcing MoltenVK, the Khronos Group launched the open source LunarG Vulkan SDK for MacOS. This SDK enables developers to build, run, and debug Vulkan-based MacOS applications. It consists of loader and validation layers for developers to see if they’re using the API correctly. Additional features and tools will become available in the near future.
“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,” Nvidia’s Neil Trevett said in a statement.
Vulkan is actually the offspring of AMD’s Mantle API. Mantle was intended to be a close-to-the-hardware platform for developers, giving them better, “lower” access to AMD’s Radeon-based graphics than DirectX and OpenGL. That translates into better performance and better visuals when developers actually take advantage of the platform.
But with the arrival of DirectX 12, AMD donated its Mantle technology to the Khronos Group to create Vulkan and discontinued Mantle as a game API. Vulkan aims to replace OpenGL as the standard open-source graphics API solution.