For the brave people running Linux on Apple Silicon, their patience has paid off. GPU drivers that provide desktop hardware acceleration are now available in Asahi Linux, unleashing more of the M-series chips’ power.
It has taken roughly two years to reach this alpha-stage OpenGL driver, but the foundational groundwork should result in faster progress ahead, writes project leads Alyssa Rosenzweig and Asahi Lina. In the meantime, the drivers are “good enough to run a smooth desktop experience and some games.”
The drivers offer non-conformance-tested OpenGL 2.1 and OpenGL ES 2.0 support for all M-series Apple devices. That’s enough for desktop environments and older games running at 60 frames per second at 4K. But the next target is Vulkan support. OpenGL work is being done “with Vulkan in mind,” Lina writes, but some OpenGL support was needed to get desktops working first. There’s a lot more you can read about the interplay between OpenGL, Vulkan, and Zink in Asahi’s blog post.
For a while now, Asahi Linux has been making do with software-rendered desktops, but M-series chips are fast enough that they feel almost native (and sometimes faster than other desktops on ARM hardware). And while the Asahi project is relatively new, some core bits of Apple’s silicon are backward compatible with known and supported devices, like the original iPhone. And Asahi’s work is intended to move upstream, helping other distributions get up and running on Apple’s hardware.
The team of developers includes three core members—Rosenzweig, Lina, and Dougall Johnson—plus Ella Stanforth, who works on Vulkan drivers and future reuse. The developers note that their work stands “on the shoulders of FOSS giants.” That includes the NIR backend, the Direct Rendering Manager in the Linux kernel, and the Gallium3D API inside the open source Mesa drivers, which themselves build on 30 years of OpenGL work.
Installing the new drivers requires running a bleeding-edge kernel, Mesa drivers, and a Wayland-based desktop. The team welcomes bug reports, but not of the “this specific app isn’t working” variety. Their blog post details how and where to submit reports about certain kinds of GPU-specific issues.