Google active le rendu accéléré par GPU pour les applications Linux dans son application Android Terminal, une fonctionnalité actuellement exclusive au Pixel 10. Cette amélioration, qui fait partie d’Android 16 QPR2, utilise la technologie Gfxstream pour améliorer les performances graphiques. Le développement fait suite à l’introduction en mars de l’application Linux Terminal pour le système d’exploitation Android. Dans sa version initiale, l’application a été conçue pour utiliser la technologie de virtualisation, ce qui lui a permis d’exécuter des environnements Linux à part entière sur du matériel Android. Cependant, la prise en charge au lancement était strictement limitée aux programmes en ligne de commande, excluant l’utilisation d’applications nécessitant une interface utilisateur graphique. Google corrige désormais cette limitation dans la prochaine mise à jour Android 16 QPR2, qui étendra les capacités de l’application pour inclure des programmes Linux de bureau graphiques. Malgré l’ajout de la prise en charge des applications graphiques dans Android 16 QPR2, leurs performances devraient être sous-optimales sur la plupart des appareils Android. L’implémentation actuelle dans l’application Linux Terminal dépend d’un moteur de rendu logiciel appelé Lavapipe. Ce moteur de rendu utilise l’unité centrale de traitement (CPU) de l’appareil pour gérer les opérations gourmandes en graphiques. Ces opérations incluent des calculs complexes et la rastérisation, qui est le processus de conversion de graphiques vectoriels en pixels affichés sur un écran. Les unités de traitement graphique (GPU) des appareils sont spécialement conçues pour effectuer ces tâches avec une vitesse et une efficacité supérieures à celles d’un processeur, créant ainsi un goulot d’étranglement en termes de performances lorsque Lavapipe est utilisé. Pour résoudre ce problème de performances, Google intègre le support de Gfxstream dans l’application Terminal. Gfxstream est une bibliothèque de virtualisation graphique conçue pour combler le fossé entre une machine virtuelle et le matériel du périphérique hôte. Il fonctionne en transférant les appels d’API graphique de la machine virtuelle Linux invitée directement vers le GPU natif de l’appareil Android hôte. Ce processus permet au GPU de l’appareil de gérer les tâches de rendu, permettant ainsi l’accélération du GPU pour les applications Linux et contournant le moteur de rendu logiciel basé sur le CPU.
Les utilisateurs du Pixel 10 sont enfin soulagés du cauchemar d’une semaine de crash d’application
La présence de ce nouveau moteur de rendu a été identifiée pour la première fois lors d’une analyse de la version 2509 d’Android Canary du mois dernier. Un nouveau menu « Accélération graphique » a été découvert dans les paramètres de l’application Terminal. Initialement, ce menu ne présentait qu’une bascule pour le logiciel de rendu existant. Une enquête plus approfondie du code de l’application a révélé la présence d’une deuxième option cachée destinée à un nouveau « moteur de rendu accéléré par GPU ». Un examen ultérieur du code a confirmé que ce nouveau moteur de rendu était alimenté par la technologie Gfxstream. Suite à la sortie d’Android 16 QPR2 Beta 3 la semaine dernière, l’utilisateur de Reddit Unlucky_Drive6363 a découvert que l’accélération GPU pour les applications Linux était activement activée sur son smartphone Pixel 10. L’utilisateur a fourni une capture d’écran comme preuve, montrant un programme Linux détectant avec succès le pilote graphique Vulkan du téléphone. Ils ont également confirmé que le menu « Accélération graphique » était devenu visible dans les paramètres de leur application Terminal, indiquant que la fonctionnalité était active sur l’appareil. Une enquête plus approfondie sur le micrologiciel de l’appareil explique pourquoi cette fonctionnalité est actuellement exclusive au Pixel 10. Le micrologiciel de ce modèle spécifique contient un fichier de superposition qui n’est pas présent sur les autres téléphones Pixel exécutant la même version d’Android 16 QPR2 Beta 3. Ce fichier de superposition contient des instructions qui indiquent explicitement à l’application Terminal d’activer sa prise en charge Gfxstream. On ne sait toujours pas pourquoi Gfxstream n’a pas été activé sur d’autres appareils Pixel, car la technologie est, en principe, indépendante du matériel. En tant que bibliothèque de transfert d’API, elle est conçue pour fonctionner indépendamment du matériel GPU sous-jacent. Avec Gfxstream activé, le Pixel 10 peut exécuter des applications graphiques de bureau Linux en utilisant son GPU pour le rendu au lieu de son CPU. Le GPU Tensor G5 de l’appareil, bien qu’il ne soit pas nécessairement performant pour des tâches telles que l’émulation de jeux, est nettement plus capable de gérer le rendu graphique que n’importe quel processeur mobile. En tant que seul appareil mobile prenant actuellement en charge Gfxstream dans le terminal Linux, le Pixel 10 possède un net avantage en termes de compatibilité des applications Linux par rapport à tous les autres appareils Android. La mise en œuvre du support Gfxstream n’est pas encore terminée. L’utilisateur de Reddit a signalé que la machine virtuelle Linux n’a accès qu’à 47 des 142 extensions Vulkan supportées nativement par le Pixel 10. Ils ont également noté que certaines des extensions disponibles ne fonctionnent pas correctement. Cela a eu pour conséquence que certaines applications fonctionnent moins bien avec l’accélération GPU qu’avec le moteur de rendu logiciel précédent. Gfxstream est destiné à fournir des performances quasi natives, ce qui suggère qu’un travail supplémentaire est nécessaire pour optimiser la fonctionnalité.





