```
metadata.title = "Asahi Linux"
metadata.tags = ["computers"]
metadata.date = "2022-03-20 10:49:42 -0400"
metadata.shortDesc = "A brief but pleasant experiment in running Linux on Apple Silicon."
metadata.slug = "asahi-linux"
```

The [alpha release](https://asahilinux.org/2022/03/asahi-linux-alpha-release/) of Asahi Linux, a project to run Linux on Apple Silicon computers, came out a couple days ago. And out of a combination of boredom and curiosity, I thought I'd give it a shot.

<!-- excerpt-end -->

## Installation

The installation process went very smoothly. The installer utility the Asahi team built functioned perfectly. The one pain point, however, was when shrinking the default partition to make room for the new Linux one, my whole machine locked up for about three minutes. No input was registered and the entire screen stopped updating. The installer does warn you about this beforehand, but it was kind of nerve-wracking nonetheless. After that, the installation went perfectly smoothly, and I'm now running the Asahi Linux Desktop (a modified version of Arch Linux) on my [M1 Max MacBook Pro](/2022/m1-max/).

## State of Linux

Overall, Linux runs quite well natively on the M1 Max. Despite the alpha state, I haven't (yet) run into any issues the Asahi team didn't warn about.

So far, almost all of the software I'e tried to install has worked. The sole exception was Rust, as the prebuilt version in the Arch repo uses jemalloc, which does not support the 16K page size of the M1 family. But, building Rust from source[^1] got it working fine.

[^1]: While building Rust from source, the laptop got the hottest I've ever felt it outside of playing graphically intensive games. The fan also became audible, though still nowhere near the jet-enigne levels of previous Intel laptops.

The biggest gap in Asahi right now is the lack of drivers for the chip's GPU. This means the machine uses software rendering (llvmpipe), which is a great deal slower than proper GPU rendering would be. However, the M1 Max is fast enough for software rendering to be usable for most tasks. Even watching 1080p youtube in Firefox was fine, and glxgears runs at about 700 FPS. Although moving the cursor seems to be a smooth 60 FPS[^2], everything else appears to be capped at 30. This could be a configuration issue, but I don't know enough to figure it out (and cursory googling doesn't reveal anything helpful).

[^2]: The internal display on the MBP is only detected as supporting 60Hz, rather than the full 120 it supports.

Another as-of-yet unsupported feature on Linux is CPU scaling, meaning all the CPU cores run at their full clock speed continuously, consuming all that extra power. I haven't had very much time to use it on battery, but in spite of this, the battery life seems usable (probably no worse than my old Intel MBP).

This has been a fairly pleasant experience. Though, after I finish writing this post, I'll be returning to macOS. A good deal of what I do is macOS-specific, not to mention that I enjoy having audio output.

The work of the Asahi team so far is incredibly impressive. What's more, some of their efforts, such as the m1n1 bootloader, are going towards supporting other operating systems as well as Linux. Maybe I should try [OpenBSD](https://marc.info/?l=openbsd-arm&m=164768992119719&w=2) next...
