A member of the Asahi Linux team has shown the GNOME desktop running on the Apple M1 chip, reporting that it is “not great, but usable.”
Alyssa Rosenzweig, a prominent Asahi Linux developers working to port Linux to the Apple M1, announced the milestone on Twitter. She was able to get Debian booted on the Apple M1 to reaching the GNOME Shell desktop environment.
LLVMPipe, my shoddy display controller, and hours of @svenpeter42‘s patience presents….
GNOME Shell on the Apple M1, bare metal.
No, it’s not GPU accelerated. Yes, I’m sending this tweet from it. pic.twitter.com/P4YuPEnbvp
— Alyssa Rosenzweig (@alyssarzg) August 22, 2021
A terminal in the shot shows that it is running a pre-release of the 5.14 Linux kernel, Debian Linux, and GNOME 3.38.4. “No, it’s not GPU accelerated,” she said, adding: “Honestly, it’s usable. Not great, but usable, on a near mainline kernel. If ‘missing most drivers’ is this snappy, when everything is done @AsahiLinux will run like a dream on these machines.”
The important caveat though is that currently that desktop experience is relying just on LLVMpipe for OpenGL acceleration as needed by the GNOME desktop. LLVMpipe is the Mesa Gallium3D software implementation for accelerating OpenGL on the CPU.
The developer took to Reddit to clarify a number of points:
This is Linux running natively on the M1 CPUs, not through an emulator or virtual machine, hence ‘bare metal’.
The Linux operating system can only make use of the CPU as of now. The GPU, which is normally used to do everything from decoding videos, displaying (rendering) desktop graphics and animations, and of course displaying (rendering) graphics in games, is not ready yet. They are working to make it ready for displaying desktop graphics and animations (have an accelerated desktop) by the end of the year.
The drivers for the CPU and some other hardware (but not the GPU) are already submitted and accepted to the mainline Linux kernel, meaning that any Linux operating system that uses that version of the Linux kernel or above has the ability to run on M1. In other words, all Linux operating systems can now run on M1 without any further effort on their part other than to simply adopt the latest kernel.
The graphical user interface (GUI) seen in action here is not developed by the Asahi Linux team (nor is the operating system, which is called Debian Bullseye). It is called the GNOME shell (version 3.38), and is a separate project altogether that is specifically dedicated to making a graphical user interface for Linux operating systems. Since the Asahi Linux team developed the drivers, Debian and GNOME shell can now make use of the drivers to run on M1.
The performance achieved so far is impressive, according to the Asahi Linux team. Even without proper drivers and almost non-existant optimization, the experience feels snappy. It will ‘run like a dream’ when they are done with it.
She further explained that the kernel used included patches for the pin control subsystem, PCIe, and a “work in progress display driver… that gets us to display, USB and Ethernet.”
She described it as a “nice milestone on the way to a DCP driver,” where DCP is a co-processor for the GPU, unique to Apple silicon. Support for GPU acceleration is critical to a fully usable and polished operating system.