Open-Source Apple GPU Vulkan Driver Merged For Mesa 24.3

Written by Michael Larabel in Mesa on 27 July 2024 at 02:00 AM EDT. 25 Comments
MESA
Merged today for Q4's Mesa 24.3 feature release is a brand new open-source Vulkan driver: Honeykrisp, the driver providing Vulkan API support for Apple Silicon GPUs as part of the Asahi Linux effort.

Honeykrisp is the reverse-engineered, Vulkan driver for Apple GPUs that was started by Alyssa Rosenzweig. As written about in early June, Honeykrisp is a new Vulkan driver derived from the NVK sources as what was the NVIDIA open-source Vulkan driver quickly forming in Mesa as a modern driver implementation.

Apple M2 with Asahi Linux


Before getting too excited about this Vulkan API driver for Apple Silicon GPUs being merged, there's a host of caveats at the moment...

First, this Vulkan 1.3 driver only works now on Apple M1 and M2 SoCs. Support for newer (M3 / M4) SoCs will come at a later date.

Besides being limited to the earlier Apple Silicon SoCs, there's another big factor to consider: the performance is subpar for right now and it's not recommended for end-users in current form. Alyssa wrote in the Honeykrisp commit:
"Theoretically, we now support everything DXVK requires for D3D11 with full FL11_1. To quote Rob Herring:

How's performance? Great, because I haven't tested it.

This driver is NOT ready for end users... YET. Stay tuned, it won't be long now :}

I would like to reiterate: Honeykrisp is not yet ready for end users.
...
Regardless, as the kernel UAPI is not yet stable, this driver will refuse to probe without out-of-tree Mesa patches. This is the same situation as our GL driver.

On the Mesa side, the biggest todo before the release is improving performance. Right now, I expect WineD3D with our GL4.6 driver to give better performance. This isn't fundamental, just needs time ... our GL driver is 3 years old and honeykrisp is 3 months old.

On the non-Mesa side, there's still a lot of movement around krun and FEX packaging before this becomes broadly useful for x86 games.

At any rate, now that I've finished up geometry and tessellation, I'm hopefully done rewriting the whole driver every 2 weeks. So I think this is settled enough that it makes sense to upstream this now instead of building up a gigantic monster commit in a private branch."

So it's exciting this nearly ten thousand lines of new code Vulkan driver has been merged for Mesa 24.3 (not the upcoming Mesa 24.2 release premiering in August), but it's not yet ready for end-users to light up their Apple Silicon GPUs with Vulkan API workloads on Linux.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week