x86-Software auf ARM-Macs: So funktioniert Rosetta 2

25. Juni 2020 09:00 Uhr - Redaktion

Langjährige Mac-Nutzer erinnern sich: Als Apple vor 15 Jahren von PowerPC- auf Intel-Prozessoren wechselte, ermöglichte eine Kompatibilitätsfunktion namens Rosetta die Nutzung von noch nicht angepasster Software auf den neuen Rechnern. Nun feiert Rosetta ein Comeback: Auf Macs mit Apple-eigenen, ARM-basierten Prozessoren wird die Version 2 der Übersetzungstechnologie dafür sorgen, dass sich x86-basierte Software weiternutzen lässt.

Rosetta 2 soll schneller, leistungsfähiger und kompatibler sein als die erste Version bei der PowerPC-auf-Intel-Umstellung - so das Versprechen Apples. Rosetta 2 übersetzt x86-Software automatisch bei der Installation in ARM-kompatiblen Code. Dadurch ist keine Echtzeit-Übersetzung im Betrieb notwendig, was der Performance zugute kommt. Apple hat aber zusätzlich eine Live-Übersetzung für spezifische Bereiche implementiert, beispielsweise für Java-Code oder JavaScript-Just-in-Time-Compiler.

Rosetta 2 sei auch für komplexe Anwendungen und Plug-ins ausgelegt, so Apple weiter. Nicht unterstützt werden Kernel-Extensions und x86-Virtualisierer, gleiches gilt für spezifische Vektor-Befehle von Intel-Prozessoren (AVX, AVX2, and AVX512). In der Entwicklerdokumentation schreibt der Hersteller:

"Für den Benutzer ist Rosetta weitgehend transparent. Wenn eine ausführbare Datei nur Intel-Befehle enthält, startet macOS automatisch Rosetta und beginnt mit dem Übersetzungsprozess. Wenn die Übersetzung abgeschlossen ist, startet das System die übersetzte ausführbare Datei anstelle des Originals. Der Übersetzungsprozess nimmt jedoch Zeit in Anspruch, so dass Benutzer manchmal den Eindruck haben könnten, dass übersetzte Anwendungen langsamer gestartet oder ausgeführt werden."

 
Rosetta 2
 
Rosetta 2 übersetzt x86_64 auf arm64 schon bei der Installation.
Bild: Apple.

 

In der WWDC20-Präsentation demonstrierte Apple die Leistungsfähigkeit von Rosetta 2 anhand von zwei anspruchsvollen Softwaretiteln: Dem Animations- und Modellingprogramm Maya und dem Action-Adventure "Shadow of the Tomb Raider". Diese laufen via Rosetta 2 sehr flüssig auf dem Entwickler-ARM-Mac (Developer Transition Kit, im Mac-mini-Gehäuse), in dem wohlgemerkt eine zwei Jahre alte CPU (A12Z) zum Einsatz kommt. Die für das vierte Quartal erwarteten ersten ARM-Macs werden mit an Sicherheit grenzender Wahrscheinlichkeit über weitaus schnellere Prozessoren verfügen.

Natürlich muss sich Rosetta 2 in der Praxis bei Millionen Anwendern erst noch bewähren, aber zumindest der erste Eindruck ist sehr positiv. Bleibt die Frage, wie lange Rosetta 2 ein Bestandteil von macOS sein wird. Hier wird aktuell viel (und vor allem wild) spekuliert unter Verweis auf die PowerPC-auf-Intel-Umstellung, als Rosetta 1 nur in einer einzigen macOS-Version (Snow Leopard) verfügbar war.

 

 

Ein derartiges Szenario würden wir Stand heute für ARM-Macs ausschließen. Die Situation ist eine ganz andere als vor eineinhalb Jahrzehnten. Es gibt es heute viel, viel mehr Mac-Nutzer als 2005 - laut Apple besteht eine installierte Basis von über 100 Millionen aktiv genutzter Intel-Macs. Das Angebot an Mac-Software ist heute weitaus größer als damals zu PowerPC-Zeiten. Außerdem sind heutzutage die Nutzungszyklen von Hardware wesentlich länger als früher.

Und: Die damalige Umstellung von PowerPC auf Intel war aus der Not geboren und musste schnell gehen, weil PowerPC keinerlei Perspektiven mehr bot und praktisch am Ende war. Bei der Umstellung jetzt hat Apple alle Zeit, die benötigt wird. Zudem will Apple die Intel-Macs noch viele Jahre lang mit neuen macOS-Versionen versorgen. Es deutet sich also eine lange, sehr lange Phase der Koexistenz von Intel-Macs und ARM-Macs, von Intel-Software und ARM-Software an. Und dies impliziert eine lange Notwendigkeit für Rosetta 2.