Google sta abilitando il rendering accelerato dalla GPU per le applicazioni Linux all’interno della sua app Android Terminal, una funzionalità attualmente esclusiva di Pixel 10. Questo miglioramento, parte di Android 16 QPR2, utilizza la tecnologia Gfxstream per migliorare le prestazioni grafiche. Lo sviluppo segue l’introduzione a marzo dell’app Linux Terminal per il sistema operativo Android. Nella sua versione iniziale, l’applicazione era progettata per utilizzare la tecnologia di virtualizzazione, che le consentiva di eseguire ambienti Linux completi su hardware Android. Il supporto al momento del lancio, tuttavia, era limitato strettamente ai programmi a riga di comando, precludendo l’uso di applicazioni che richiedevano un’interfaccia utente grafica. Google sta ora affrontando questa limitazione nel prossimo aggiornamento Android 16 QPR2, che espanderà le capacità dell’app per includere programmi Linux desktop grafici. Nonostante l’aggiunta del supporto per le applicazioni grafiche in Android 16 QPR2, si prevede che le loro prestazioni non saranno ottimali sulla maggior parte dei dispositivi Android. L’attuale implementazione all’interno dell’app Linux Terminal dipende da un renderer basato su software noto come Lavapipe. Questo renderer utilizza l’unità di elaborazione centrale (CPU) del dispositivo per gestire operazioni ad uso intensivo di grafica. Queste operazioni includono calcoli complessi e rasterizzazione, ovvero il processo di conversione della grafica vettoriale nei pixel visualizzati su uno schermo. Le unità di elaborazione grafica del dispositivo (GPU) sono progettate specificamente per eseguire queste attività con maggiore velocità ed efficienza rispetto a una CPU, creando un collo di bottiglia nelle prestazioni quando viene utilizzato Lavapipe. Per risolvere questo problema di prestazioni, Google sta integrando il supporto Gfxstream nell’app Terminale. Gfxstream è una libreria di virtualizzazione grafica progettata per colmare il divario tra una macchina virtuale e l’hardware del dispositivo host. Funziona inoltrando le chiamate API grafiche dalla macchina virtuale Linux guest direttamente alla GPU nativa del dispositivo Android host. Questo processo consente alla GPU del dispositivo di gestire le attività di rendering, abilitando così l’accelerazione GPU per le applicazioni Linux e bypassando il renderer software basato sulla CPU.
La presenza di questo nuovo renderer è stata identificata per la prima volta durante un’analisi della versione Android Canary 2509 del mese scorso. È stato scoperto un nuovo menu “Accelerazione grafica” nelle impostazioni dell’app Terminale. Inizialmente, questo menu presentava solo un interruttore per il renderer software esistente. Un’indagine più approfondita del codice dell’app ha rivelato prove di una seconda opzione nascosta designata per un nuovo “renderer accelerato dalla GPU”. Il successivo esame del codice ha confermato che questo nuovo renderer era alimentato dalla tecnologia Gfxstream. Dopo il rilascio di Android 16 QPR2 Beta 3 la scorsa settimana, l’utente Reddit Unlucky_Drive6363 ha scoperto che l’accelerazione GPU per le applicazioni Linux era attivamente abilitata sul proprio smartphone Pixel 10. L’utente ha fornito uno screenshot come prova, che mostrava un programma Linux che rilevava con successo il driver grafico Vulkan del telefono. Hanno inoltre confermato che il menu “Accelerazione grafica” era diventato visibile nelle impostazioni dell’app Terminale, indicando che la funzionalità era attiva sul dispositivo. Ulteriori indagini sul firmware del dispositivo spiegano perché questa funzionalità è attualmente esclusiva del Pixel 10. Il firmware per questo modello specifico contiene un file di overlay che non è presente su altri telefoni Pixel che eseguono la stessa build Android 16 QPR2 Beta 3. Questo file di sovrapposizione contiene istruzioni che indicano esplicitamente all’app Terminale di abilitare il supporto Gfxstream. Non è chiaro il motivo per cui Gfxstream non è stato abilitato su altri dispositivi Pixel, poiché la tecnologia è, in linea di principio, indipendente dall’hardware. In quanto libreria di inoltro API, è progettata per funzionare indipendentemente dall’hardware GPU sottostante. Con Gfxstream abilitato, Pixel 10 può eseguire applicazioni Linux desktop grafiche utilizzando la sua GPU per il rendering anziché la sua CPU. La GPU Tensor G5 del dispositivo, pur non essendo necessariamente una delle migliori prestazioni per attività come l’emulazione di giochi, è sostanzialmente più capace di gestire il rendering grafico rispetto a qualsiasi CPU mobile. Essendo l’unico dispositivo mobile che attualmente supporta Gfxstream all’interno del terminale Linux, Pixel 10 possiede un netto vantaggio nella compatibilità delle applicazioni Linux rispetto a tutti gli altri dispositivi Android. L’implementazione del supporto Gfxstream non è ancora completa. L’utente Reddit ha riferito che la macchina virtuale Linux ha accesso solo a 47 delle 142 estensioni Vulkan supportate nativamente dal Pixel 10. Hanno inoltre notato che alcune delle estensioni disponibili non funzionano correttamente. Ciò ha comportato che alcune applicazioni abbiano prestazioni peggiori con l’accelerazione GPU rispetto al precedente renderer software. Gfxstream è progettato per fornire prestazioni quasi native, il che suggerisce che è necessario ulteriore lavoro per ottimizzare la funzionalità.





