While there has been progress with the Mesa code targeting Apple M1 to run basic tests like glmark2, that has traditionally been an effort running under macOS with its kernel driver. This week the Asahi Linux crew celebrated their first rendered triangle running with a fully open-source driver stack.
Since last year there has been early Apple M1 code in Mesa from the Asahi Linux developers with Alyssa Rosenzweig leading that graphics reverse engineering effort. Much of that early OpenGL driver work has been carried out under macOS due to the reverse-engineering work happening there with Apple not publishing any specifications or drivers from other platforms. Plus for the Gallium3D/Mesa work like getting the shader compiler working and comparing results to the macOS driver stack is useful while being able to leverage the macOS kernel driver until getting a DRM/KMS Linux driver is certainly useful.
For those using Asahi Linux today, there is just a basic frame-buffer driver and the OpenGL acceleration is just leveraging LLVMpipe. But this week with the latest experimental Linux kernel and Mesa code being worked on by Asahi developers, they have now managed to successfully render their first triangle with that fully open-source driver stack. (updated: It turns out this first triangle appears to be from their m1n1 based environment and not a proper Linux driver stack quite yet.)
First triangle ever rendered on an M1 Mac with a fully open source driver! 🎉🎉🎉🎉 https://t.co/cyLeQRpJ4x
— Asahi Linux (@AsahiLinux) June 1, 2022
Developer Asahi Lina shared the good news of the first triangle off this fully open driver.
Asahi Lina shows off the first Apple M1 rendered triangle on a fully open-source driver stack — unlike prior achievements, not relying on the existing macOS kernel driver.
It will be a while still though before you can expect to play OpenGL games on Apple M1 hardware with modern GL features and good performance, but nice progress is being made by the Asahi Linux crew and in the future hopefully a nice open-source Vulkan driver stack too in due course.