Google maakt GPU-versnelde weergave mogelijk voor Linux-applicaties binnen zijn Android Terminal-app, een functie die momenteel exclusief is voor de Pixel 10. Deze verbetering, onderdeel van Android 16 QPR2, maakt gebruik van Gfxstream-technologie om de grafische prestaties te verbeteren. De ontwikkeling volgt op de introductie in maart van de Linux Terminal-app voor het Android-besturingssysteem. In de eerste release was de applicatie ontworpen om virtualisatietechnologie te gebruiken, waardoor deze volwaardige Linux-omgevingen op Android-hardware kon draaien. Ondersteuning bij de lancering was echter strikt beperkt tot opdrachtregelprogramma’s, waardoor het gebruik van applicaties waarvoor een grafische gebruikersinterface nodig was, werd uitgesloten. Google pakt deze beperking nu aan in de komende Android 16 QPR2-update, die de mogelijkheden van de app zal uitbreiden met grafische desktop Linux-programma’s. Ondanks de toevoeging van ondersteuning voor grafische applicaties in Android 16 QPR2, zullen de prestaties op de meeste Android-toestellen naar verwachting niet optimaal zijn. De huidige implementatie binnen de Linux Terminal-app is afhankelijk van een op software gebaseerde renderer die bekend staat als Lavapipe. Deze renderer maakt gebruik van de centrale verwerkingseenheid (CPU) van het apparaat om grafisch-intensieve bewerkingen uit te voeren. Deze bewerkingen omvatten complexe berekeningen en rastering, het proces waarbij vectorgebaseerde afbeeldingen worden omgezet in de pixels die op een scherm worden weergegeven. Grafische verwerkingseenheden (GPU’s) van apparaten zijn speciaal ontworpen om deze taken met grotere snelheid en efficiëntie uit te voeren dan een CPU, waardoor een prestatieknelpunt ontstaat wanneer Lavapipe wordt gebruikt. Om dit prestatieprobleem op te lossen, integreert Google Gfxstream-ondersteuning in de Terminal-app. Gfxstream is een grafische virtualisatiebibliotheek die is ontworpen om de kloof tussen een virtuele machine en de hardware van het hostapparaat te overbruggen. Het werkt door grafische API-aanroepen van de virtuele gast-Linux-machine rechtstreeks door te sturen naar de eigen GPU van het Android-hostapparaat. Met dit proces kan de GPU van het apparaat de renderingtaken uitvoeren, waardoor GPU-versnelling voor Linux-applicaties mogelijk wordt en de CPU-gebaseerde software-renderer wordt omzeild.
Pixel 10-gebruikers krijgen eindelijk verlichting van de nachtmerrie van een week lang app-crashes
De aanwezigheid van deze nieuwe renderer werd voor het eerst geïdentificeerd tijdens een analyse van de 2509 Android Canary-release van vorige maand. Er is een nieuw menu “Grafische versnelling” ontdekt in de instellingen van de Terminal-app. Aanvankelijk bood dit menu alleen een schakelaar voor de bestaande software-renderer. Dieper onderzoek van de code van de app bracht bewijs aan het licht van een tweede, verborgen optie die was bedoeld voor een nieuwe ‘GPU-versnelde renderer’. Later onderzoek van de code bevestigde dat deze nieuwe renderer werd aangedreven door de Gfxstream-technologie. Na de release van Android 16 QPR2 Beta 3 vorige week ontdekte Reddit-gebruiker Unlucky_Drive6363 dat GPU-versnelling voor Linux-applicaties actief was ingeschakeld op hun Pixel 10-smartphone. De gebruiker verstrekte een screenshot als bewijs waaruit bleek dat een Linux-programma met succes het Vulkan grafische stuurprogramma van de telefoon detecteerde. Ze bevestigden ook dat het menu “Grafische versnelling” zichtbaar was geworden in de instellingen van hun Terminal-app, wat aangeeft dat de functie live was op het apparaat. Nader onderzoek naar de firmware van het apparaat verklaart waarom deze mogelijkheid momenteel exclusief is voor de Pixel 10. De firmware voor dit specifieke model bevat een overlay-bestand dat niet aanwezig is op andere Pixel-telefoons met dezelfde Android 16 QPR2 Beta 3-build. Dit overlaybestand bevat instructies die de Terminal-app expliciet vertellen om de Gfxstream-ondersteuning in te schakelen. Het blijft onduidelijk waarom Gfxstream niet is ingeschakeld op andere Pixel-apparaten, aangezien de technologie in principe hardware-agnostisch is. Als API-doorstuurbibliotheek is deze ontworpen om onafhankelijk van de onderliggende GPU-hardware te functioneren. Als Gfxstream is ingeschakeld, kan de Pixel 10 grafische desktop Linux-applicaties uitvoeren met behulp van de GPU voor weergave in plaats van de CPU. De Tensor G5 GPU van het apparaat is weliswaar niet noodzakelijkerwijs toonaangevend op het gebied van taken als game-emulatie, maar is aanzienlijk beter in staat om grafische weergave te verwerken dan welke mobiele CPU dan ook. Als het enige mobiele apparaat dat momenteel Gfxstream ondersteunt binnen de Linux Terminal, heeft de Pixel 10 een duidelijk voordeel op het gebied van compatibiliteit met Linux-applicaties vergeleken met alle andere Android-apparaten. De implementatie van Gfxstream-ondersteuning is nog niet voltooid. De Reddit-gebruiker meldde dat de virtuele Linux-machine toegang heeft tot slechts 47 van de 142 Vulkan-extensies die standaard worden ondersteund door de Pixel 10. Ze merkten ook op dat sommige van de beschikbare extensies niet correct functioneren. Dit heeft ertoe geleid dat bepaalde applicaties slechter presteren met GPU-versnelling dan met de vorige software-renderer. Gfxstream is bedoeld om bijna-native prestaties te leveren, wat suggereert dat er extra werk nodig is om de functie te optimaliseren.





