Machine virtuelle qui fait tourner Googlebook OS sur les Mac à puce Apple Silicon

Skylar Taylor-Barrick a créé un outil de machine virtuelle baptisé gbos-vm qui permet de faire fonctionner Googlebook OS sur les ordinateurs Mac équipés de puces Apple Silicon. Cet outil utilise l'image de restauration réelle du Dell XPS Googlebook, un système basé sur Android 17 pour l'architecture ARM64. Comme l'ordinateur Dell utilise une puce Snapdragon X qui partage la même architecture Arm que les puces Apple Silicon, le système peut fonctionner directement via l'hyperviseur de macOS, sans recourir à une émulation lourde du processeur, ce qui n'est pas possible sur les anciens Mac Intel.

Surmonter les défis liés à la graphique et à la mémoire

Le principal défi de l'adaptation de Googlebook OS à macOS était la prise en charge de l'accélération matérielle, essentielle pour afficher l'interface de manière fluide et faire fonctionner le navigateur Chrome. Le système repose sur l'API graphique Vulkan et sur des mécanismes de partage de mémoire propres à Linux, qui ne sont pas disponibles sur macOS. Pour contourner ce problème, le projet utilise QEMU via les composants UTM et traduit les appels Vulkan vers l'API Metal d'Apple grâce à la couche MoltenVK. La développeuse a également ajusté la gestion de la mémoire partagée et réaligné les données de texture côté Mac afin d'éviter les erreurs d'affichage.

Assemblage de logiciels assisté par l'IA

Le projet remplace aussi la partition fournisseur propre à Dell par des pilotes virtuels issus du projet open source Cuttlefish de Google. Skylar Taylor-Barrick a expliqué sur Reddit avoir utilisé plusieurs modèles d'IA, dont GPT 6 Astra, DeepSeek 4.1 Flash et Claude Opus 5.5, pour l'aider à assembler et intégrer les différents composants logiciels du projet. Cette démarche illustre le recours croissant à l'intelligence artificielle dans les tâches complexes de développement logiciel.

Limites et préoccupations en matière de sécurité

Malgré ses réussites, la machine virtuelle présente plusieurs limites. L'affichage est plafonné à 60 images par seconde, le Bluetooth plante au démarrage à moins qu'une fausse puce radio ne soit simulée via l'émulateur Android, et les performances audio sont peu fiables. La gestion du curseur de la souris reste expérimentale. Par ailleurs, le système ne dispose pas de puce de sécurité matérielle, ce qui l'oblige à recourir à un chiffrement logiciel. Un processus en arrière-plan lié au module TPM plante également à répétition, ce qui soulève des inquiétudes en matière de sécurité. Le créateur du projet déconseille de l'utiliser avec les comptes Google principaux contenant des données sensibles.

Configuration requise et performances

Le projet est disponible sur GitHub, et l'installation est automatisée grâce au script ./install.sh. Il nécessite un Mac équipé d'Apple Silicon, au moins 16 Go de RAM, environ 60 gigaoctets d'espace disque libre, Homebrew, les outils en ligne de commande Xcode, ainsi que le SDK et le NDK d'Android. Sur un MacBook Pro M5, la compilation prend environ cinq minutes et le premier démarrage dure à peu près 45 secondes.