Asahi Linux Enables Early Apple GPU Driver Support - WIP OpenGL 2.1 + GLES 2.0
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.