First Linux graphics driver for Apple silicon released by devs | Cult of Mac

Graphics breakthrough brings Linux on Apple silicon closer to reality


Quake 3 running in a Linux environment on an M1 Mac
3D first-person shooter Quake 3 can run in Linux on an M1 Mac with the new graphics driver.
Screenshot: Alyssa Rosenzweig & Asahi Lina/Asahi Linux Blog

Independent developers working to get Linux running on Apple silicon have made a significant breakthrough — the release of the first graphics driver. This is an important step toward running operating systems other than macOS on Apple’s powerful new computers.

“We’ve been working hard over the past two years to bring this new driver to everyone, and we’re really proud to finally be here,” wrote developers Alyssa Rosenzweig and Asahi Lina in a Wednesday blog post announcing the GPU driver release. “This is still an alpha driver, but it’s already good enough to run a smooth desktop experience and some games.”

What’s so hard about running Linux on Mac?

Apple’s M1 and M2 chips represent a very unique design in the computing world. The chips are revolutionary in integrating the main processor (CPU), graphics processor (GPU), memory (RAM) and other special components all in one piece.

Apple spent years tailoring macOS for this design, but other operating systems like Linux need to be rewritten to adapt to the radical new chip architecture.

Linux, a modular operating system often used to run data centers and servers, is a popular environment among computer scientists and programmers. Porting the open-source OS to Macs running on Apple silicon has been in the works for more than two years now.

What progress have the developers made?

The Linux graphics driver released by Rosenzweig and Lina adds support for OpenGL 2.1 and OpenGL ES 2 for Apple’s new Macs. These libraries enable apps and games to use the powerful GPU built into the M1 and M2 chips to render 2D and 3D graphics.

They say this is enough to supercharge everyday activities on the desktop, like dragging around windows and playing older games like Quake3 and Neverball. Even this early release can render it all in crisp 4K resolution at a smooth 60 frames per second.

Drawing windows on the screen isn’t very hard for the computer, but when people expect 15 or more hours of battery life out of their MacBook, any performance optimizations will have big benefits. Even your web browser uses GPU acceleration to render the complicated apps you use every day.

What graphics drivers do

A graphics driver is software that translates code to run on a computer’s faster GPU instead of the general-purpose CPU. Playing a 3D game on the CPU instead of the GPU is like driving to the store in a propeller airplane instead of a car. Both will get the job done, but one is clearly purpose-built for the task.

Every operating system needs not one but several graphics drivers in order to support games built with different graphics libraries.

What’s next for running Linux on Apple silicon?

SuperTuxKart running in a Linux environment on an M1 Mac
A sneak preview of SuperTuxKart running with OpenGL ES 3.
Screenshot: Alyssa Rosenzweig & Asahi Lina/Asahi Linux Blog

OpenGL 2.1 and OpenGL ES 2 are far from the latest graphics libraries, each more than 15 years old. In the development pipeline are newer versions of OpenGL and the popular new cross-platform library that has taken the world by a storm, Vulkan.

With these, users will be able to play newer games in their Linux environment and get more battery life and performance along the way.

It’ll be a while before running Linux on Apple silicon is as easy as it was on an Intel Mac, but thanks to developers’ hard work — which you can support on Patreon — the dream is becoming a reality.


Daily round-ups or a weekly refresher, straight from Cult of Mac to your inbox.

  • The Weekender

    The week's best Apple news, reviews and how-tos from Cult of Mac, every Saturday morning. Our readers say: "Thank you guys for always posting cool stuff" -- Vaughn Nevins. "Very informative" -- Kenly Xavier.