Apples ARM-CPU M1 hat das Potenzial, die Zukunft der Softwareentwicklung mitzugestalten. Asahi Linux, ein nativer Port von Linux auf den M1, erlaubt eine Bestandsaufnahme.
Der erste, zugegeben rudimentäre Eindruck von Asahi Linux [1] sowie die schiere Leistung des Mac Studio mit dem M1 Ultra (Abbildung 1) bestärkt unsere Erwartung, dass es in den kommenden Jahren einen spannenden Kampf zwischen x86- und ARM-Chips um die Vorherrschaft im CPU-Markt für leistungsstarke Workstations geben wird. Das liegt nicht nur an der bloßen Leistung der Apple-CPUs, sondern vor allem daran, was damit möglich ist.

Abbildung 1: Der M1 Ultra besteht aus 114 Milliarden Transistoren und unterstützt bis zu 128 GByte Arbeitsspeicher. Quelle: Apple
Asahi als Referenz-Linux
Schon Ende 2020 und damit nur wenige Monate nach der ersten öffentlichen Vorstellung von Apples M1-CPU begann der für beeindruckende Hacks und seine Portierungsarbeiten bekannte Linux-Entwickler Hector Martin mit einem Linux-Port auf die neue Apple-Plattform. Inzwischen finanzieren mehr als 1000 Menschen Martins Arbeit per Crowdfunding, sodass er in Vollzeit an dem Projekt arbeiten kann. Mittlerweile wirkt auch eine Community an der Portierung mit.
Dass Martin so schnell so viele Menschen für eine Finanzierung der Portierung gewinnen konnte, dürfte vor allem zwei Gründe haben: Erstens sind Mac-Nutzer es von der x86-Produktserie gewohnt, alternative Betriebssysteme nativ auf ihren Geräten verwenden zu können. Zweitens bietet Apple als erster Hersteller abseits von Nischensystemen auf Basis von Server-Hardware sehr leistungsfähige Rechner mit ARM-CPUs, die tatsächlich als Entwickler-Workstations in Betracht kommen.
Vor allem die bisher als Linux-Rechner verfügbaren ARM-Geräte sind meist im niedrigen Preissegment angesiedelt und damit zwar ein interessantes Spielzeug oder eine leichte Office-Maschine, aber oft eben nicht mehr. Mit hochgezüchteten x86-Geräten konnten die ARM-Geräte bislang nicht mithalten. Apple ändert das nun im wirklich großen Stil, und Asahi bietet all jenen eine gewohnte Umgebung, die endlich einen Linux-Desktop-Rechner mit ARM zum Entwickeln wollen.
Das Asahi-Projekt sieht sich selbst als Referenzdistribution für Ports von Linux-Systemen auf die Apple Macs mit ARM-Chip alias Apple Silicon. Seit wenigen Wochen ist eine erste Alpha-Version der Distribution verfügbar, die sich laut Ankündigung an Entwickler und Power-User richtet. Die an dem Asahi-Projekt beteiligten Entwickler verwenden dabei viel Energie auf eine sehr ausführliche Dokumentation möglicher Probleme und Abläufe. Dasselbe gilt für die zahlreichen Warnungen vor der Nutzung: Falls etwas schiefgeht, ist der Mac im schlimmsten Fall gebrickt. Wir konnten Asahi Linux aber zum Arbeiten nutzen.
Auf die Schnelle zum Arch Linux auf dem M1
Die Installation der Alpha-Version von Asahi Linux auf unserem Mac Mini gelang nicht nur erfreulich simpel, sondern auch erstaunlich problemlos. Das Magazin “The Register” beschreibt den Vorgang gar ironisch als “ein wenig enttäuschend” [2]. Völlig falsch ist das nicht. Zwar sind auch für Linux-Nutzer die Zeiten haarsträubender und beängstigender Installationsroutinen längst vorbei, doch dass die Asahi-Installation keinerlei Probleme macht, hatten wir zwar gehofft, aber nicht wirklich erwartet.
Bietet der genutzte Mac genügend Platz auf der SSD, genügt es zur Installation, das Skript der Distribution im Terminal auszuführen und den Anweisungen zu folgen. Dabei übernimmt der Installer etwa das Verkleinern des bestehenden MacOS, das Anlegen neuer Partitionen und das Aufheben einiger Sicherheitsvorkehrungen des Mac, um einen eigenen Bootloader und UEFI-Firmware installieren zu können.
Nach ein paar einfachen Eingaben, mehreren Warnungen und Neustarts bootet der Mac Mini letztlich in eine Arch-Linux-Installation mit KDE Plasma als Desktop (Abbildung 2). In diesem Arch Linux auf ARM finden wir uns als langjährige Linux-Nutzer schnell zurecht. Die Distro läuft ohne größere Fehler, wir können Software über den Paketmanager installieren, mit Firefox surfen und im Prinzip direkt mit dem Entwickeln unter Linux auf dem Mac Mini mit M1-Chip beginnen.
Asahi profitiert hier von den Bemühungen der Distributoren und Softwareentwickler, die seit inzwischen einem Jahrzehnt am Support der 64-Bit-ARM-Architektur (AArch64) unter Linux arbeiten. Auch die Desktop-Nutzung ist dabei mittlerweile prinzipiell kein Problem mehr. Das zeigen Community-Projekte wie das Pinebook Pro oder Google mit seinen kommerziell erfolgreichen Chromebooks.
Eingeschränkte Hardware
Bis auf die Grundzüge ist die Unterstützung von Hardware durch Asahi Linux aber noch begrenzt. So läuft die Grafikausgabe etwa über den Framebuffer, eine GPU-Beschleunigung gibt es nicht. Auf unserem 4K-Monitor im Büro erhalten wir trotz Nutzung des Software-Rasterizers LLVMpipe nur eine Auflösung von 1900 x 1200 Pixeln. Das Projekt listet weitere fehlende Hardware auf [3]. Dazu gehören Bluetooth, USB 3, Thunderbolt und DisplayPort sowie einiges mehr.
Wie das Projekt darüber hinaus beschreibt, funktionieren einige Anwendungen nicht, weil der verwendete Linux-Kernel auf Speicherseiten mit 16 KByte Größe setzt. Das geschehe, um die IOMMU des M1 besser zu integrieren, und führe zu Leistungsverbesserungen, heißt es. Allerdings unterstützen das einige Anwendungen nicht. Dazu gehören Chromium und damit Electron, alles, was Jemalloc verwendet – oder auch Blender, wie wir in unserem Test feststellen mussten. Das Team um Martin arbeitet stetig daran, mehr Hardware einzubinden.
Mit Tastatur, Maus, Ethernet, Browser, Compilern und einer Bildausgabe konnten wir aber schon einige Tage recht produktiv mit dem Mac Mini arbeiten. Ein wirklich tauglicher Ersatz für den Büroalltag mit Videokonferenzen, Audioaufnahmen und schnellem lokalen Dateiaustausch ist Asahi noch nicht. Immerhin können wir nativen Code kompilieren und programmieren – theoretisch sogar hardwarenah –, Container aufsetzen und ausführen sowie zahlreiche Webprojekte lokal testen.
Das alles läuft nicht nur jetzt schon sehr schnell, mit dem M1 Ultra ist ein High-End-Rechner mit Linux und einer ARM-CPU in greifbarer Nähe. Auch das Entwickeln unter MacOS und Linux wird immer besser unterstützt.
Schnelle Linux-Workstation mit ARM-CPUs
Erste ausführliche Benchmarks [4] von Phoronix, die die Leistung von Asahi Linux mit der von MacOS auf dem Mac Mini vergleichen, zeigen bereits das enorme Potenzial des Linux-Ports. Trotz weitgehend fehlender Optimierungen etwa zur Energieaufnahme der M1-CPU unter Linux kann Asahi mit MacOS mithalten oder es sogar überholen, sofern die Software für den ARM-Befehlssatz optimiert wurde. Auch sonst ist Asahi Linux in Sachen Leistung konkurrenzfähig zu MacOS. Das hängt aber unter Umständen von weiteren Faktoren wie I/O oder Ähnlichem ab. In eigenen Tests konnten wir die Ergebnisse von Phoronix prinzipiell bestätigen.
Wie bereits beschrieben, fehlt Asahi Linux aus unterschiedlichen Gründen bisher aber nicht nur an einigen Stellen die notwendige Unterstützung von Hardware, sondern auch einige Werkzeuge wie Visual Studio Code. Dank der vergleichsweise langfristigen Architekturunterstützung von AArch64 unter Linux ist die Linux-Community aber den Arbeiten unter MacOS um ungefähr ein Jahrzehnt voraus. Das ist einer der Gründe, die für die Nutzung von Asahi Linux sprechen.
Entwicklungsmonster mit ARM
Mit der Veröffentlichung der M1-Geräte war MacOS abseits von Apples eigenen Xcode-Werkzeugen vergleichsweise weit entfernt davon, produktiv und vor allem nativ zur Entwicklung genutzt werden zu können. Das galt für eine ganze Reihe an Projekten, die noch nicht über Homebrew verfügbar waren, oder auch für Programmiersprachen wie Java oder das Framework Qt, die noch nicht auf MacOS unter ARM portiert worden waren.
Inzwischen gibt es nur noch wenige sehr große Projekte, deren Support noch nicht vollständig für Apple Silicon umgesetzt ist. Dazu gehören Flutter und MongoDB. Die lange Zeit vom Homebrew-Projekt [5] gepflegte Liste zum Support von Apple-Chips auf Github darf inzwischen als veraltet gelten. Dort finden sich zahlreiche Projekte, die mit Verweis auf Go oder Java als noch nicht unterstützt beschrieben werden, was aber nicht mehr stimmt. Über die Formulae [6] lässt sich im Einzelnen überprüfen, ob und wie gut die gewünschte Entwicklungssoftware läuft. Aber selbst GCC und davon abhängige Projekte werden inzwischen von Homebrew unterstützt.
Als Praxisbeispiel haben wir auf dem Mac Studio mit MacOS versucht, das aktuelle Android Studio und die JRE aus dem nativen OpenJDK 17 zu verwenden, um eine Android-App zu kompilieren. Mit dem Mac Mini war das Anfang 2021 noch eine große Herausforderung, eine native Java-Nutzung nicht möglich. Inzwischen stellt das kein Problem mehr dar, und wir konnten etwa den Webbrowser Firefox Klar schnell bauen und im Emulator testen.
Apple selbst hat sich eine Übergangszeit von zwei Jahren genehmigt, während derer mit Rosetta 2 noch eine Emulationsschicht für x86-Binärdateien angeboten werden soll. Die beschriebenen Fortschritte zeigen beispielhaft, dass sich dieser Zeitplan zumindest für die geläufigste Entwicklungssoftware problemlos einhalten lässt.
Apple könnte triumphieren
Diese Erkenntnis zusammen mit dem stetig fortschreitenden Support-Erfolg von Asahi Linux lässt uns sehr optimistisch in die Zukunft von Apples ARM-Plattform blicken. In Benchmarks kann der M1 Ultra problemlos mit x86-Chips wie AMDs Ryzen 9 5950X mithalten, benötigt dabei aber deutlich weniger Energie für vergleichbare Leistungen. Selbst das Bauen ganzer Webbrowser dauert jetzt auf einem kompakten ARM-Gerät nur noch wenige Minuten.
Zwar gibt es immer noch gute Gründe, an den x86-Maschinen festzuhalten, etwa native Code-Abhängigkeiten. Inzwischen arbeiten aber nicht mehr nur Smartphones mit ARM-CPUs, was für eine Nutzung einer ARM-Workstation zum Entwickeln spricht. Die Verbreitung von ARM-CPUs in Server- und Cloud-Umgebungen wie AWS und mittlerweile auch Azure nimmt ebenfalls weiter massiv zu. Inzwischen soll der ARM-Anteil bei rund 15 Prozent aller CPUs liegen, Tendenz steigend.
Zwar gibt es mit den Neoverse-Designs von ARM und darauf aufbauenden Prozessoren wie dem Ampere Altra auch andere ARM-CPUs als die von Apple, die es durchaus mit handelsüblichen x86-Server-CPUs aufnehmen können. Leistungsfähige Desktop-Chips auf ARM-Basis und Rechner dazu, wie Apple sie bietet, sind aber weiter kaum in Sicht. Im Angebot finden sich bestenfalls Workstation-Systeme mit ARM-Server-Chips [7].
Apple bleibt mit seinem Angebot also in der Breite weiter konkurrenzlos. Das Unternehmen hat bereits angekündigt, dass der Mac Studio den Mac Pro als Geräteklasse nicht ersetzen soll. Vermutlich folgen hier also noch Geräte mit 30 oder mehr ARM-CPU-Kernen und der Möglichkeit, mehr als 1 TByte RAM anzubinden. Spätestens damit stößt Apple endgültig in die letzte Bastion von x86-CPUs vor. Dank Asahi Linux und auch mit MacOS haben Entwickler spätestens dann wieder eine Alternative zu Rechnern mit x86-Chips.
Infos
- Asahi Linux: https://asahilinux.org
- “The Register” über Asahi Linux: https://www.theregister.com/2022/03/22/asahi_hands_on/
- Hardware-Support: https://asahilinux.org/2022/03/asahi-linux-alpha-release/
- Phoronix-Benchmarks: https://www.phoronix.com/scan.php?page=article&item=apple-m1-linux-perf&num=3
- Homebrew-Projekt auf Github: https://github.com/Homebrew/brew/issues/7857
- Formulae: https://formulae.brew.sh/
- Workstation mit ARM-Server-Chip: https://store.avantek.co.uk/ampere-altra-64bit-arm-workstation.html







