Meta portiert das Android-Framework Cuttlefish auf Macs mit Apple-Chip

Published · AI Daily — AI-assisted deep research, methodology & disclosure

Meta Reality Labs hat Cuttlefish, das Framework für virtuelle Geräte von AOSP, auf macOS und Apple-Chips portiert. Die Änderungen betreffen den vhost-user-Pfad von QEMU, die Speicherverfolgung von HVF, die native Cocoa-Anzeige sowie Build und Signierung. Veröffentlicht wird als QEMU-Fork und Patch-Satz.

Meta bringt Cuttlefish auf Macs mit Apple-Chip

Am 13. November 2026 beschrieb der Engineering-Blog von Meta, wie Reality Labs Cuttlefish, das Framework für virtuelle Geräte im Android Open Source Project, so portiert hat, dass es nativ unter macOS und auf Apple-Chips läuft. Der Beitrag stammt von Hadrien Zalek, Joe Knox, Alex Chong und Marcel Apfelbaum. Reality Labs baut Produkte wie KI-Brillen und nutzt Emulatoren, um Entwicklung und Tests zu skalieren, ohne auf knappe echte Geräte angewiesen zu sein. Wichtig ist: Es handelt sich nicht um eine offizielle Veröffentlichung von Google oder AOSP. Meta liefert die Arbeit als QEMU-Fork und als Patch-Satz und sagt, man prüfe noch, wie sich die Änderungen an die Upstream-Projekte zurückgeben lassen.

Warum Meta eine einzige Plattform wollte

Wer Software für Android-Geräte jenseits von Telefonen testet, braucht ein virtuelles Gerät, das das Softwareverhalten des echten Produkts möglichst genau abbildet. Ein leichter Emulator wie Goldfish deckt einen Teil ab, doch Unterschiede zum echten Gerät können Fehler bis spät in der Entwicklung verbergen. Cuttlefish startet dieselben Systemabbilder wie echte Hardware und führt einen realistischen Software-Stack auf virtueller Hardware aus, es folgt einem physischen Gerät also enger. Das Problem: Cuttlefish lief nur unter Linux, während die Entwickler von Anwendungen und Bibliotheken bei Meta auf Macs mit Apple-Chip arbeiten. Meta musste daher Goldfish und Cuttlefish nebeneinander unterstützen. Laut Beitrag kostete das Rechenleistung, verwirrte Entwickler, bremste das Emulator-Team und zwang jedes Werkzeug, zwei Plattformen zu bedienen. Der Beitrag merkt an, dass auch AOSP diese Trennung zieht: Goldfish für Anwendungsentwickler, Cuttlefish für Plattformentwickler.

Die drei Lücken unter macOS

Cuttlefish ist die Orchestrierungsschicht. Die Komponente, die das Gastbetriebssystem tatsächlich ausführt, ist ein Hypervisor, also ein Überwacher virtueller Maschinen. Unter Linux nutzt Cuttlefish normalerweise crosvm und unterstützte früher QEMU als Alternative, doch diese Anbindung war inaktiv geworden. Für native Unterstützung auf Apple-Chips hat Meta die QEMU-Unterstützung wiederbelebt. Viele virtuelle Geräte von Cuttlefish nutzen vhost-user-Backends, das sind eigene Prozesse, die QEMU über einen Socket virtio-Geräte bereitstellen. Große Teile dieser Architektur setzten Linux voraus. Drei Annahmen scheiterten unter macOS: Die vhost-user-Mechanik war auf Linux beschränkt und ließ sich weder bauen noch ausführen, der Hypervisor von Apple setzt Ressourcengrenzen, die QEMU nicht erwartete, und die nativen Wege für Anzeige, Build und Signierung gab es nicht.

Was Meta geändert hat

Die wichtigste Änderung betraf den vhost-user-Pfad von QEMU. Die Frontends, libvhost-user und Backends im Verzeichnis contrib wie vhost-user-blk waren auf Linux beschränkt. Meta lockerte diese Build-Beschränkungen, sodass sie auch unter macOS gebaut werden können. Damit übergeben die Geräte-Backends von Cuttlefish auf einem Mac die Arbeit an QEMU, genau wie unter Linux. Auf Apple-Chips beschleunigt QEMU über das Hypervisor.framework, kurz HVF, statt über KVM. Das HVF-Backend verfolgte für größere Cuttlefish-Konfigurationen zu wenige Speicherbereiche, und Meta erhöhte deshalb die Zahl der Verfolgungsplätze.

Bei der Anzeige wechselte Meta zur nativen Cocoa-Anzeige von QEMU, statt sich auf die WebRTC-Oberfläche zu stützen. Zu den Änderungen zählen die Unterstützung des BGRA-Pixelformats, um Darstellungsfehler zu beseitigen, die Umwandlung von Mausklicks in Toucheingaben und eine eigene Geometrie-Option über das Flag -g. Außerdem aktivierte Meta die instabilen Rutabaga-Strukturen, die nötig sind, um die Grafik-ABI auf der Rust-Seite in gfxstream- und rutabaga-Konfigurationen zu treffen. Zuletzt kam die Arbeit an Build und Paketierung: Darwin-Build-Unterstützung, QEMU für arm64 unter macOS bauen, Korrekturen an der Toolchain, die JIT-Berechtigung sowie Codesignierung und Notarisierung. Auf der Cuttlefish-Seite ergänzte Meta die Unterstützung für macOS als Host, damit sich die Orchestrierung auf einem Mac bauen und ausführen lässt.

Vorteile laut Meta

Mit dem Wechsel zu einer Plattform will Meta den Wartungsaufwand gesenkt, den Infrastrukturbedarf verringert, überflüssige Werkzeuge entfernt, die Genauigkeit verbessert und sichergestellt haben, dass Entwickler dieselben virtuellen Geräte nutzen wie die kontinuierliche Integration. Eine einzige Plattform erleichterte auch die Unterstützung von Bluetooth-Kopplung, WLAN, Mobilfunk, 3D-Grafik, Tests von Over-the-Air-Updates, Fastboot und Schnappschüssen für CI und Entwicklung. Das sind Metas eigene Aussagen. Der Beitrag nennt weder Benchmarks noch Kostenzahlen noch gemessene Genauigkeitswerte. Meta sagt außerdem, dass dasselbe virtuelle Gerät mit externen Entwicklern geteilt wird, die für sein Ökosystem bauen. Drittteams testen also auf der Plattform, mit der Meta sein eigenes Betriebssystem prüft.

Der Beitrag bringt zudem ein Argument zu KI-Agenten. Je größer die Rolle von Agenten in der Android-Entwicklung wird, desto wichtiger ist es, die Ausführung zu prüfen, nicht nur Code zu erzeugen. Virtuelle Geräte erlauben es Ingenieuren und automatisierten Agenten, gleichzeitig in getrennten Umgebungen zu arbeiten, den Zustand sofort zurückzusetzen und Testläufe zu wiederholen, ohne echte Hardware zu teilen.

Bezug und offene Punkte

Meta verteilt die Arbeit in zwei Teilen. Das Repository qemu-wearables ist ein von Meta gepflegter QEMU-Fork mit seinen Commits. Das Repository cuttlefish-wearables ist eine Sammlung von Patch-Dateien samt Anleitung, wie man Android und AOSP damit patcht. Beide liegen auf GitHub unter facebookincubator und enthalten Anweisungen zum Bauen und zum Anwenden der Patches. Meta dankt den Gemeinschaften von QEMU und Cuttlefish, besonders Stefano Garzarella für die vsock-user-Umsetzung, die die macOS-Anbindung unmittelbar möglich machte.

Beim Wort »vollständige« Unterstützung ist Vorsicht angebracht. Der Beitrag beschreibt eine für Metas eigenen Einsatz funktionierende Portierung, die als Fork und als Patches geteilt wird. Er sagt nicht, dass die Änderungen in QEMU oder AOSP aufgenommen sind, und nennt weder fehlende Funktionen noch bekannte Fehler. Solange Upstream sie nicht übernimmt, muss jeder, der das einsetzt, Patches anwenden, neu bauen und diese Arbeit aktuell halten.

Sources

FAQ

Was ist Cuttlefish, und warum hat Meta es auf den Mac portiert?

Cuttlefish ist das Framework für virtuelle Geräte im Android Open Source Project. Es startet dieselben Systemabbilder wie echte Hardware und liegt damit näher am physischen Gerät als der leichte Emulator Goldfish. Es lief nur unter Linux, während Metas Entwickler Macs mit Apple-Chip nutzen. Die Portierung erspart den Betrieb zweier Plattformen.

Ist das eine offizielle Upstream-Version von Google/AOSP, und ist sie in QEMU oder AOSP aufgenommen?

Nein, beides nicht. Meta teilt die Arbeit in zwei GitHub-Repositories: qemu-wearables, ein von Meta gepflegter QEMU-Fork, und cuttlefish-wearables, ein Satz Patches für Android und AOSP. Meta prüft noch, wie sich die Änderungen an Upstream zurückgeben lassen. Wer es einsetzt, muss die Patches selbst anwenden und bauen.

Was hat Meta geändert, damit Cuttlefish unter macOS läuft?

Meta nahm drei Arten von Änderungen vor. Die auf Linux beschränkte vhost-user-Mechanik in QEMU wurde für macOS-Builds geöffnet, die Zahl der Verfolgungsplätze für Speicherbereiche im HVF-Backend wurde erhöht, und die Anzeige wechselte zum nativen Cocoa. Dazu kamen arm64-Builds, die JIT-Berechtigung, Codesignierung und Notarisierung.