Accelerazione GPU e Chrome funzionano, ma il Bluetooth va in crash
In breve: Lo sviluppatore Skylar Taylor-Barrick è riuscito a far girare Googlebook OS su Mac con Apple Silicon usando una macchina virtuale che supporta l’accelerazione GPU e un browser Chrome funzionante. Il progetto, chiamato gbos-vm, permette agli utenti Mac di provare il sistema operativo per laptop basato su Android di Google senza acquistare un Googlebook. Rimane però un esperimento: ci sono bug e limiti di sicurezza che lo rendono inadatto all’uso quotidiano.
Il supporto grafico è il fulcro del lavoro. Googlebook OS si appoggia a Vulkan, mentre il sistema grafico di Apple utilizza Metal. Il progetto crea un collegamento tra queste due API grafiche così che la macchina virtuale possa sfruttare la GPU del Mac invece di delegare il rendering all’unità centrale.

Questo passaggio ha richiesto più di una semplice traduzione dei comandi grafici. Android condivide i buffer grafici tra OpenGL ES e Vulkan tramite un meccanismo di Linux che macOS non mette a disposizione. Nel progetto di Taylor-Barrick si è optato per l’uso della memoria condivisa POSIX, quindi quei buffer vengono importati in Metal e in MoltenVK, lo strato che traduce le chiamate Vulkan per il sistema grafico di Apple.
Anche il modo in cui vengono organizzati i dati delle texture differisce tra le piattaforme. Metal impone che le righe delle texture siano allineate e riempite fino a confini di 16 byte; Android non richiede questo padding. Il progetto aggiunge il padding sul lato Mac, lasciando che il sistema guest gestisca le texture come farebbe normalmente.
Queste modifiche forniscono alla VM grafica accelerata da hardware, ma non garantiscono piena compatibilità. Alcuni contenuti WebGL vengono visualizzati in modo errato perché Chrome si aspetta un’estensione Vulkan che MoltenVK non implementa. Inoltre la visualizzazione è limitata a 60 fotogrammi al secondo, dato che la build personalizzata di QEMU non espone un’impostazione per il refresh rate.
I got Googlebook OS running on my MacBook Pro
by u/moon-w0man in Googlebook
L’installazione parte da un’immagine di ripristino Dell per Googlebook. Uno script la scarica dai server di Google, modifica le parti specifiche dell’hardware e avvia il sistema operativo tramite QEMU. Per eseguire il tutto serve un Mac con Apple Silicon con almeno 16 GB di RAM, circa 60 GB di spazio libero e gli Xcode Command Line Tools di Apple.
Tra le altre dipendenze ci sono Homebrew e un Java Development Kit (JDK), oltre a un Android SDK contenente il Native Development Kit (NDK), gli strumenti di build e una piattaforma che supporti il livello API 34 o successivo. L’Android Emulator è facoltativo e fornisce una funzionalità Bluetooth simulata. È disponibile anche uno script separato che verifica la presenza di tutte le dipendenze necessarie prima di iniziare il processo.

L’immagine di ripristino è pensata per l’hardware dei Googlebook, non per i dispositivi virtuali emulati sulla VM del Mac. Per risolvere questa discrepanza, il progetto ricostruisce la partizione vendor utilizzando componenti del progetto Cuttlefish di Google, che fornisce dispositivi virtuali. Le partizioni di sistema restano invariate.
Questa soluzione avvia il sistema operativo, ma elimina anche alcune delle protezioni disponibili su un Googlebook fisico. La VM non dispone di un elemento di sicurezza hardware, quindi alcune funzionalità che normalmente si appoggerebbero al supporto hardware vengono gestite via software.
Di conseguenza le chiavi di cifratura non godono della stessa protezione hardware. La partizione vendor modificata perde anche il supporto al verified boot, mentre le altre partizioni mantengono la loro verifica originale.
Per questi motivi Taylor-Barrick consiglia di usare la VM per sviluppo e sperimentazione piuttosto che per compiti quotidiani. Un’installazione riuscita non garantisce che la macchina virtuale condivida le stesse proprietà di sicurezza dell’hardware per cui il sistema operativo è stato progettato.
Il supporto Bluetooth è limitato a un radio simulato, senza la possibilità di accoppiare dispositivi fisici. L’audio si comporta in modo irregolare; il trasferimento di dati fuori dall’ospite, la funzione del tasto destro del mouse e l’affidabilità in sessioni prolungate non sono stati valutati a fondo.
Questi problemi rendono gbos-vm più adatto a chi vuole analizzare Googlebook OS e accetta una configurazione incompleta. Lo script automatizza gran parte dell’installazione, ma gli strumenti di sviluppo richiesti, l’ingombro su disco e le incompatibilità ancora da risolvere rendono il procedimento più complesso rispetto all’installazione di una normale applicazione desktop.
Nonostante tutto, il progetto offre una via praticabile per accedere alla piattaforma su hardware Apple esistente. Chrome funziona e l’interfaccia beneficia dell’accelerazione GPU. Per sviluppatori ed appassionati questo è sufficiente per esplorare il sistema operativo — a patto di tenere presenti il supporto hardware incompleto e le protezioni di sicurezza ridotte.
Messaggi simili:
- Googlebook di Google Riscrive il PC: Non solo un Chromebook, ma Android al Centro!
- Google Rivela: Lo Sviluppo di Android Sarà Completamente Privato!
- Google deve vendere Chrome: Il Dipartimento di Giustizia USA contro il monopolio delle ricerche!
- Fine Imminente di uBlock Origin su Chrome: Settimane Contate, Non Mesi!
- Google Contrattacca: Propone Limiti agli Accordi di Ricerca Predefiniti e Proteggere Chrome

Nicola Costanzo esplora il mondo della tecnologia e dell’innovazione. I suoi articoli illuminano le sfide digitali che plasmano il nostro futuro.