Although the M1 and M2 chips in modern Macs are based on ARM processor designs, they are not like any other ARM design. That has made migrating from Linux to new Macs a difficult challenge, but there has been impressive progress recently.
Much of the work related to porting desktop Linux to Mac Apple Silicon computers (M1 and M2) has been done under the Asahi Linux project, which already offers a desktop distribution that can boot natively on many models. Although Linux has supported ARM chips for years, largely due to Google’s use of Linux for the Android kernel and devices like the Raspberry Pi, getting everything to work on Apple Silicon has been challenging.
The core operating system and desktop experience have been running on Asahi Linux for a while now, so some developers have moved to proper graphics support. Alyssa Rosenzweig helped reverse engineer the GPU on the M1 chip to create a user-space driver, based on documentation work by Dougall Johnson. However, a kernel-level driver was still missing, a task taken over by VTuber Asahi Linya.
Asahi Lina explained in a blog post, “Like other parts of the M1 chip, the GPU has a coprocessor called “ASC” that runs Apple’s firmware and manages the GPU. This coprocessor is a full ARM64 CPU running Apple’s proprietary real-time operating system called RTKit… and it’s in charge of everything! It handles power management, command scheduling and preemption, failover, and even performance counters, statistics, and things like temperature measurement. In fact, the macOS kernel driver does not communicate with the GPU hardware at all.
Through much trial and error, Asahi Lina developed an M1 GPU driver for the Linux kernel, written in the Rust programming language. Last month, it became stable enough to run the GNOME desktop environment on Wayland composer, and ongoing work on the kernel and user drivers allows some games to work, including the classic shooter. Earthquake. The blog post mentions, “since the GPU power management is handled by the firmware, all of that just works. I tested Xonotic at 1080p within a GNOME session, and the estimated runtime on battery was over 8 hours!
It will still be a few weeks (or months) before anyone trying out Linux on a Mac M1 or M2 will have easy access to the new GPU drivers, but work is progressing at an impressive rate, especially considering that Apple hasn’t documented the major part of your CPU. and the GPU architecture at all.
Source: Asahi Linux