A fresh look at Apple Silicon/Linux/MacOS X

My past views on Apple hardware

In 2007, some time after Apple had rebased MacOS on unix, I bought a Macbook and had a look. MacOS was not convenient for me, it did not even offer virtual screens at that time - I had been using these with Windowmaker on Linux since years. I tried native Linux on that Intel-CPU based hardware, it was not bad, but I preferred IBM Thinkpads for better driver availability, price and because of the red Trackpoint/nipple. My mum got the Macbook, I still felt much better with that than recommending her some Windows laptop. She stayed with Macbooks, before going to Japan I got her a Macbook in 2015, which she is still using.

So now with Apple silicon available, and Linux starting to get usableon the hardware, it was a good time to look again. I got a Macbook Air with 8GB RAM, 8 cores, 512GB SSD at Bic camera in Tokyo.

A look at the hardware and MacOS X

Wow, the Macbook Air is really thin. The hardware and MacOS X are tightly integrated, and convenient: after turning on, a personalization wizard starts. One presses a key with integrated fingerprint sensor multiple times, and can later use that for authentication. Setting English as system language and optional Japanese language input was easy. One leaves some voice samples to train Siri, which can then can answer simple questions like “What’s the weather” or “What’s the population of Germany?”. Asking like that is actually quicker than looking it up with a search engine - but I would not want to use such tech with proprietary tech, just with OpenSource backends. Siri can also not cope when multiple languages are used.

I type Japanese characters on Linux since many years, in concert with English and German. On Linux, we typically use key combinations like + to switch between Jap/Eng/Ger input modes, that’s really nicely done on the Macbook Airs keyboard: a dedicated key right of the spacebar activates Japanese, a dedicated key left of the spacebar jumps back to English. Besides that, I had hard times using the keyboard: the key is much higher than on other keyboards, also other keys are off.

The MacOS X desktop features are quite nice: on Linux I’m a fan of dark themes and the dark mode in browsers. On MacOS X, I was surprised to see the whole desktop switch to a dark mode in the evening, very nice!

As temperatures rise here in Tokyo, the Thinkpad T590 I use for most things is despite all kinds of optimizations often spinning up the fan - the Macbook is fantastic in getting warm but not being noisy at all. Really impressive.

Trying MacOS X software

I’m involved in the Performance Co-Pilot (PCP) project, a suite for performance measuring. PCP was usable on older MacOS X, so I gave it a try on this box with MacOS X 12. Fetching and compiling required some other pieces like ‘git’, I got these from the brew project, that has come a long way since the last time I used it. My second try would have been pkgsrc which I know from NetBSD.

I brought changes upstream to get PCP better into shape, but did not get it to compile on current MacOS X. Instead of Apples LLVM, one has to get GCC from brew, bison and so on.. here are details on where I got stuck.

Next on my list was Nebula: the way I use it is to have a central system, and have clients like this Macbook connect to that central system, and they then have access to an IP space, i.e. a 10.0.0.0/24 network. The clients can also be behind a NAT to establish the connection. The clients can then ‘see’ each other, so this is a nice idea for logging into systems to provide remote support. Nebula from MacOS X worked nicely for me, I just did not get automatic starting after reboots setup.

Linux on Apple Silicon

The big thing was of course to run Linux: Asahi Linux has an installer which makes it easy to setup dualboot with MaxOS. Installing Asahilinux went nicely, it’s arch based, comes with KDE. I then tried to install Fedora as a third system: that did not work out, the scripts are not prepared for a 3rd system. On Apple Silicon, no simple UEFI partitions are used, but more complex containers. The framework is set and implemented by Apple, and Hector Martin has done a great description of that, and suggested how Linux and other OS’s can utilize the system to be bootable.

So Fedora 35 runs nicely: plain Fedora userland, just with not the upstream kernel but the one from the Asahi Linux project. Last year I contributed to code in PCP to measure electrical power consumption, now I updated that code for Linux on Apple silicon. The Linux kernel is already reporting the current battery charge level and current consumption, with the PCP updates these metrics can now be recorded and visualized. Upcoming PCP 6.0 will be the first release with the changes.

I did some measurements, and even though some details of cpu control are missing, the power consumption of Linux on the Macbook is in the same area as with the Lenovo Thinkpads.

I use the i3 windowmanager on the Macbook, sway which I normally use is quite similiar. Virtualization also already works: I installed Fedora36 with the plain Fedora kernel as guest. Just as for speed, the guest speed is usable for trying things out, but operations like installation or ‘dnf update’ take their time: I suspect that is related to our currently imperfect dealing with the M1 cpu. Seems like the host is 2-70 times as fast as the guest, depending on the exact operation. When multiple cores can be assigned to the guest, that can help with the difference of course.

Further notes are on the wiki.

Linux@Apple Silicon: what works/works not?

The detailed list is here at the Asahilinux site, but speaking broadly: Linux with windowmanager is nicely usable, browsers. Sound via internal speaker is disabled, microphone jack works. Wireless works but I had hickups every now and then. The GPU is not yet supported, but the M1 does make up for that with pure cpu power, so that window managers work smoothly. Charging also works on Linux, ethernet too - the Macbook Air just has 2 USB-C connectors, so I would need an adapter for that. So, as daily driver all things are in order and reasonably stable.

I had wondered about getting a Mac mini with M1 chip instead of the Macbook Air, that would also provide 10GB ethernet.

Summary

This trip to Macbooks went nicer than my last one: with ARM base, the hardware feels much better than Intel based hardware. The keyboard is awkward to me, but with my external System 76 Launch keyboard that would not be a problem. MacOS X got more usable and some nice features - I just miss my flexibility from Linux, and the ability to dive into the code by myself if there are issues, which one has with OpenSource systems.

The ARM hardware can really have a future, working without fan noise is really nice. Pine powerbook and other hardware is also available.

I will play a bit more with the Macbook in the next weeks, and in summer in Germany hand it over to my mum.

Fedora on Apple Silicon


Last modified on 2022-05-15