Asahi Linux Enables Early Apple GPU Driver Support - WIP OpenGL 2.1 + GLES 2.0

Written by Michael Larabel in Apple on 7 December 2022 at 05:29 AM EST. 14 Comments
APPLE
The Asahi Linux distribution is now shipping an early, alpha quality graphics driver stack for the Apple M1/M2 SoCs. This work-in-progress driver consists of their experimental Rust-written DRM kernel driver and then the AGX Gallium3D code in Mesa that is currently targeting OpenGL 2.1 and OpenGL ES 2.0 support.

This code is being enabled within Asahi Linux itself as the Rust-written DRM kernel driver will still need more time to bake before being merged to the mainline kernel for getting the Rust infrastructure all together and ensuring the user-space API is solid. The AGX Gallium3D code continues to mature within the mainline Mesa code-base.

This open-source Apple GPU driver support on Linux is good enough to run some composited desktop environments and some GL2 / GLES 2.0 games. Games like Neverball and Quake III are known to be working and at playable speeds while there is room for more performance optimizations.

Lead AGX Mesa developer Alyssa Rosenzweig commented on the next steps:
What’s next? Supporting more applications. While OpenGL (ES) 2 suffices for some applications, newer ones (especially games) demand more OpenGL features. OpenGL (ES) 3 brings with it a slew of new features, like multiple render targets, multisampling, and transform feedback. Work on these features is well under way, but they will each take a great deal of additional development effort, and all are needed before OpenGL (ES) 3.0 is available.

What about Vulkan? We’re working on it! Although we’re only shipping OpenGL right now, we’re designing with Vulkan in mind. Most of the work we’re putting toward OpenGL will be reused for Vulkan. We estimated that we could ship working OpenGL 2 drivers much sooner than a working Vulkan 1.0 driver, and we wanted to get hardware accelerated desktops into your hands as soon as possible. For the most part, those desktops use OpenGL, so supporting OpenGL first made more sense to us than diving into the Vulkan deep end, only to use Zink to translate OpenGL 2 to Vulkan to run desktops. Plus, there is a large spectrum of OpenGL support, with OpenGL 2.1 containing a fraction of the features of OpenGL 4.6.


Running this experimental GPU driver support on Asahi Linux currently requires running with the linux-asahi-edge and mesa-asahi-edge code. More details on this currently experimental Apple GPU driver support via Alyssa's blog.
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