M1 Ultra und Asahi Linux: Mit Linux und Leistung zum ARM-Entwicklungsmonster++

Ein Jahr ist es her, dass wir uns Apples ARM-CPU M1 erstmals angesehen haben , und unser Eindruck war, dass ARM trotz vieler Schwächen der damals recht neuen Plattform die Zukunft der Softwareentwicklung gehören könnte.
Mit der Verfügbarkeit von Asahi Linux, einem nativen Port von Linux auf Apple Silicon, sowie mit dem M1 Ultra im Mac Studio wird es höchste Zeit für eine erneute Bestandsaufnahme unserer damaligen Einschätzung.
Der erste, zugegeben rudimentäre Eindruck von Asahi Linux sowie die schiere Leistung das Mac Studio mit dem M1 Ultra bestärkt uns noch mehr darin, 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.
Asahi als Referenz-Linux für Apple Silicon
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 1.000 Menschen Martins Arbeit per Crowdfunding, so dass er in Vollzeit an dem Projekt arbeiten kann. Inzwischen 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 aus 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 bisher 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 Poweruser richtet.
Die an dem Asahi-Projekt beteiligten Entwickler verwenden dabei viel Energie auf eine sehr ausführliche Dokumentation möglicher Probleme und Abläufe ebenso wie auf zahlreiche Warnungen vor der Nutzung. Denn falls etwas schiefgeht, ist der Mac im schlimmsten Fall gebrickt. Wir konnten Asahi Linux aber zum Arbeiten nutzen.
In wenigen Minuten zum Arch Linux auf dem M1
Die Installation der Alpha-Version von Asahi Linux auf unserem Mac Mini ist nicht nur erfreulich simpel, sondern auch erstaunlich problemlos. Das Magazin The Register beschreibt den Vorgang(öffnet im neuen Fenster) gar als "ein wenig enttäuschend" .
Wirklich 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.
Ist auf dem genutzten Mac genügend Platz auf der SSD vorhanden, reicht 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 die Aufhebung 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. In diesem Arch Linux on 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 dem 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 Desktopnutzung ist dabei mittlerweile prinzipiell kein Problem mehr. Das zeigen Community-Projekte wie das Pinebook Pro oder Google mit seinen kommerziell erfolgreichen Chromebooks.
Hardwaresupport noch eingeschränkt
Bis auf die Grundzüge ist der Hardwaresupport von Asahi Linux aber noch begrenzt. So läuft die Grafikausgabe etwa über den Framebuffer, eine GPU-Beschleunigung gibt es nicht. An unserem 4K-Monitor im Büro erhalten wir trotz Nutzung des Software-Rasterizers LLVMpipe nur eine Auflösung von 1.900 x 1.200 Pixeln. Das Projekt listet weiteren fehlenden Hardware-Support auf(öffnet im neuen Fenster) . Dazu gehören Bluetooth, USB3, Thunderbolt und Displayport sowie einiges mehr.
Wie das Projekt darüber hinaus beschreibt, funktionieren einige Anwendungen nicht, weil der genutzte Linux-Kernel auf Speicherseiten mit 16 KByte Größe setze. Das geschehe, um die IOMMU des M1 besser zu integrieren, und führe zu Leistungsverbesserungen.
Allerdings unterstützen dies eben einigen Anwendungen nicht. Dazu gehören Chromium und damit Electron, "alles, was Jemalloc verwendet" , oder auch Blender, wie wir in unserem Test feststellen müssen. Das Team um Martin arbeitet aber stetig daran, den Hardwaresupport zu verbessern.
Mit Tastatur, Maus, Ethernet, Browser, Compilern und einer Bildausgabe können 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 zwar noch nicht. Jedoch können wir nativen Code kompilieren und programmieren, theoretisch sogar hardwarenah, Container aufsetzen und ausführen sowie zahlreiche Webprojekte lokal testen.
Das ist 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 der Entwicklungssupport unter MacOS und Linux wird immer besser.
Schnelle Linux-Workstation mit ARM-CPUs
Erste ausführliche Benchmarks von Phoronix(öffnet im neuen Fenster) , 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 dem MacOS mithalten oder dieses gar überholen, sofern die Software auf den ARM-Befehlssatz optimiert wurde. Auch sonst ist die Leistung von Asahi Linux konkurrenzfähig zu MacOS, das ist aber unter Umständen von weiteren Faktoren wie I/O oder Ähnlichem abhängig. In eigenen Tests können wir die Ergebnisse prinzipiell bestätigen.
Wie bereits beschrieben, fehlt Asahi Linux aus unterschiedlichen Gründen bisher aber nicht nur an einigen Stellen der notwendige Hardwaresupport, sondern es fehlen auch einige Werkzeuge wie etwa Visual Studio Code. Dank der vergleichsweise langen Architektur-Unterstü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.
Konkurrenzlose 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 etwa Flutter und MongoDB. Die lange Zeit vom Homebrew-Projekt gepflegte Liste zum Support von Apple Silicon auf Github(öffnet im neuen Fenster) ist inzwischen als veraltet anzusehen.
Dort finden sich etwa zahlreiche Projekte, die mit Verweis auf Go oder Java als noch nicht unterstützt beschrieben werden, was aber nicht mehr stimmt. Über die sogenannten Formulae(öffnet im neuen Fenster) lässt sich im Einzelnen überprüfen, ob und wie gut die gewünschte Entwicklungssoftware unterstützt wird. 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 und die native Java-Nutzung nicht möglich. Inzwischen ist das kein Problem mehr und wir können etwa den Browser Firefox Klar schnell bauen und im Emulator testen.
Apple selbst hat sich zwei Jahre Übergangszeit gegeben, in denen 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äufigsten Entwicklungssoftware problemlos halten lässt.
Apple könnte weiter triumphieren
Diese Erkenntnis, zusammen mit dem stetig fortschreitenden Support-Erfolg von Asahi Linux, lässt uns sehr positiv 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 Browser dauert jetzt nur noch wenige Minuten auf einem kompakten ARM-Gerät.
Noch vor vier oder fünf Jahren hätten wir solch eine Aussage für einen schlechten Witz gehalten. Schon in einer ersten Analyse zum M1 Ultra schrieben wir deshalb, dass die CPUs von Apple wohl auf Jahre konkurrenzlos bleiben würden.
Zwar gibt es immer noch gute Gründe, an den x86-Maschinen festzuhalten, etwa native Code-Abhängigkeiten. Inzwischen nutzen aber nicht nur Smartphones ARM-CPUs, was für eine Nutzung einer ARM-Workstation zum Entwickeln spricht. Auch die Verbreitung von ARM-CPUs in Server- und Cloud-Umgebungen wie AWS und mittlerweile auch Azure nimmt weiter massiv zu. Inzwischen soll der ARM-Anteil rund 15 Prozent aller CPUs betragen , 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. Dabei handelt es sich höchstens um Workstation-Systeme mit den ARM-Server-Chips(öffnet im neuen Fenster) .
Apple bleibt mit seinem Angebot also in der Breite weiter konkurrenzlos. Und 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 des Supports über Asahi Linux und auch in MacOS haben Entwickler spätestens dann wieder eine Alternative zu Rechnern mit x86-Chips.