Dankzij Adreno Tools kunt u nu het grafische stuurprogramma op uw Android-apparaat bijwerken zonder root-toegang. Lees verder om meer te weten!
Smartphone-georiënteerde websites richten zich doorgaans alleen op de nieuwste apparaten, maar een groot deel van de gebruikers kiest er om de een of andere reden voor om hun telefoon niet te upgraden. Afgezien van hardwarestoringen kunnen veel van deze apparaten nog jarenlang worden gebruikt, omdat ze voor hun eigenaren nog steeds prima werken. Terwijl aangepaste ROM's kan oudere smartphones eeuwenlang in leven houden, kan het voor de modders een nachtmerrie zijn om zaken als de camera en grafische stuurprogramma's up-to-date te houden zonder officiële ondersteuning van de fabrikant.
GPU-stuurprogramma's bijwerken op Android
In tegenstelling tot het smartphone-ecosysteem, het grafische stuurprogramma op uw pc bijwerken is iets waar je altijd over na kunt denken. Dit is mogelijk dankzij de modulaire architectuur van pc-hardwarestuurprogramma's, waardoor hoofdgebruikers dit kunnen doen sleutelen aan closed source driverpakketten, of kiezen zelfs voor open-source drivers in plaats van door OEM geleverde binaire bestanden. In het geval van Android komen stuurprogramma-updates echter doorgaans alleen naar uw telefoon naast grotere OS-updates.
Bijwerkbare GPU-stuurprogramma's kunnen van pas komen voor het oplossen van bugs, het verbeteren van de grafische prestaties of het toevoegen van nieuwe functies van OpenGL- of Vulkan-API's. Tegenwoordig, Smartphones zijn groter en sneller dan ooit, waardoor ze het perfecte voertuig zijn om te gamen. Het overbrengen van het pc-achtige driverontwerp naar hen maakt gevoel.
In een poging Android te modulariseren via Project Treble heeft Google dit feitelijk mogelijk gemaakt om de grafische stuurprogrammaset voor een bepaald platform als een app te verpakken en deze bij te werken via Play Winkel. Sindsdien hebben verschillende reguliere Android-OEM’s samengewerkt met Google en grote GPU-leveranciers, waaronder ARM en Qualcomm, om updates distribueren voor de GPU-stuurprogramma's van hun telefoons onafhankelijk van grotere softwarereleases.
Vermindert het bijwerkbare ontwerp van de grafische driver de fragmentatie?
Ja, tot op zekere hoogte. Toch blijven een aantal verontrustende vragen nog steeds onbeantwoord. In de eerste plaats biedt het mechanisme van Google geen gemakkelijke manier om de driver van de closed-sourceleverancier te vervangen door een open-sourceaanbod van derden. U kunt het stuurprogrammapakket uiteraard handmatig vervangen in de leverancierspartitie van het doelapparaat, op voorwaarde dat u dat heeft root-toegang en op de een of andere manier de benodigde bestanden in handen krijgen, maar dat is voor velen geen ideale oplossing.
Vervolgens komt de stabiliteit versus verbetering-paradox. Android onderhoudt een hiërarchische indeling als het gaat om het laden van het grafische stuurprogramma. Terwijl men kan schakelen tussen de in de fabriek geïnstalleerde build en de nieuwere bijgewerkte release met behulp van Ontwikkelaarsopties => Voorkeuren voor grafische stuurprogramma's per app komt het uiteindelijk neer op de beslissing van de OEM wanneer de update van het grafische stuurprogramma moet worden gepusht. Als gevolg hiervan kan een eindgebruiker geen gebruik maken van geavanceerde driver-builds rechtstreeks van de SoC-maker, omdat OEM's nog steeds verantwoordelijk zijn voor het uitrollen van de updates.
Zoals eerder vermeld is het updaten van GPU-stuurprogramma's mogelijk met root-toegang, maar er gaat niets boven een niet-root-methode. Met dank aan XDA Senior-lid statuten, hebben we nu een geniale oplossing genaamd Adreno-hulpmiddelen waarmee on-the-fly wijzigingen of vervangingen van het GPU-stuurprogramma op Android mogelijk zijn - ook zonder root! De achtergrond van de ontwikkelaar bij het overzetten van Android naar de Nintendo Switch speelde zeker een cruciale rol in deze onderneming, aangezien het hele project zijn oorsprong vindt in Horizon, een open-source, work-in-progress Nintendo Switch-emulator voor Android.
Collega Skyline-ontwikkelaar Markeer "Pixelylon" gooide het idee van runtime-schijfvervanging naar voren statuten, dat uiteindelijk uitgroeide tot Adreno Tools. Omdat het een rootloze bibliotheek is, kan Adreno Tools elke reguliere app helpen bij het laden van aangepaste GPU-stuurprogramma's, omgaan met BCn-texturen en het omleiden van bestandsbewerkingen voor verdere complexe aanpassingen aan Qualcomm's Adreno-familie van GPU's. Het doet dit door systeembibliotheken aan te sluiten en naadloos de nieuwe in te wisselen bestuurder. Opvallend is dat er nog geen ondersteuning is voor Mali GPU’s.
Omdat er geen beperking is op de herkomst van het stuurprogramma, kunnen liefhebbers ook stuurprogramma's van derden laden via Adreno Tools. Dit is vooral handig voor degenen die Turnip willen uitproberen - een open-source Vulkan-stuurprogramma voor Qualcomm Adreno grafische hardware dat valt onder de Freedreno paraplu. Bijvoorbeeld, AetherSX2, maakt de PlayStation 2-emulator voor Android al gebruik van Adreno Tools om eindgebruikers de mogelijkheid te bieden keuze om voor Turnip te kiezen in plaats van de OEM-driver voor betere prestaties.
Adreno Tools op GitHub
Hoe kan ik hiervan profiteren?
Houd er rekening mee dat het Adreno Tools-project wordt geleverd als een softwarebibliotheek. Het betekent dat je geen vooraf gecompileerd APK-bestand kunt vinden dat op magische wijze de mogelijkheid biedt om een externe grafische driverstack door het hele systeem te gebruiken. In plaats daarvan moet een ontwikkelaar de bibliotheek in zijn project opnemen, zodat zijn app deze kan bieden de mogelijkheid om bijgewerkte grafische stuurprogrammabestanden of een alternatief van derden zonder root te laden toegang. Dit is precies hoe Skyline- en AetherSX2-ontwikkelaars Adreno Tools momenteel gebruiken.
Vanuit het perspectief van de eindgebruiker kan Adreno Tools alleen niet alle beperkingen van de Android-implementatie van het GPU-stuurprogramma oplossen. Het is slechts een hulpmiddel voor de ontwikkelaarsgemeenschap om enkele van de grootste obstakels van grafische stuurprogramma-updates op Android-apparaten te omzeilen - dat is alles. Je kunt er alleen van profiteren via een app, maar voor een systeembrede handmatige driverupdate is nog steeds root-toegang vereist.
Wat kan ik doen als ik root heb?
Als u een hoofdgebruiker bent met een geroot apparaat, kunt u een systeembrede geforceerde installatie uitvoeren van een bijgewerkte grafische driver op uw apparaat. Om dit te doen, moet u de BLOB-bestanden (Binary Large OBject) van het stuurprogramma, die voorverpakte binaire softwarebestanden bevatten voor interactie met de GPU, uit een bijgewerkt firmwarepakket extraheren. U kunt de firmware van een ander apparaat gebruiken, maar het stuurprogramma moet overeenkomen met dezelfde GPU-familie van het doelapparaat.
Nadat u de vereiste bestanden hebt uitgepakt, kunt u ze vervolgens inpakken als een Magisk-module en deze op de doelsmartphone installeren om de bestaande leveranciersstuurprogramma's op een systeemloze manier te vervangen. Natuurlijk is het proces iets ingewikkelder dan het klinkt. Mogelijk moet u rekening houden met de interface-incompatibiliteit tussen de oude en de bijgewerkte stuurprogramma's, waarvoor shimming nodig zou zijn.
'Shim' betekent '(iets) vastzetten of een ruimte opvullen'. Dit is feitelijk wat een ontwikkelaar wanneer doet een shim schrijven - ze voegen extra codes toe zodat de BLOB kan communiceren met het platform dat ze zijn werken met. Gelukkig voor onze lezers, ontwikkelaar statuten heeft al een vulstuk geschreven om de kloof tussen verschillende Adreno-stuurprogrammarevisies te overbruggen, en je kunt kant-en-klare flashbare OpenGL- en Vulkan-stuurprogramma's vinden voor Adreno 500 En Adreno 600 familie van GPU's op onze forums.
Benieuwd naar de voordelen van het handmatig installeren van een bijgewerkt grafisch stuurprogramma? Esper's Mishaal Rahman deelde een interessante vergelijking van de GPU-prestaties in 3DMark van een Leeuwebek 845-aangedreven Google Pixel 3 XL met Android 12 met de standaarddriver versus een nieuwer stuurprogramma van de Snapdragon 8 Gen 1:
Best fascinerend, nietwaar? Maar vergeet de afweging tussen objectiviteit en relevantie niet. Hoewel het installeren van een bijgewerkt GPU-stuurprogramma met root-toegang zijn voordelen heeft, maar het heeft zeker ook zijn valkuilen. Het is niet bedoeld voor beginners, en als je met het apparaat knoeit, kan de garantie vervallen. Om te beginnen heb je een ontgrendelde bootloader nodig, wat misschien niet in alle scenario's haalbaar is.
Conclusie
Gezien de alternatieven voor de modding-scène voor Android GPU-stuurprogramma's in het verleden, is de Adreno Tools-bibliotheek een fantastische stap voorwaarts, vooral vanwege het wortelloze karakter ervan. We kijken ernaar uit om te zien hoe het project in de toekomst groeit en volwassen wordt. Probeer het zeker eens en laat ons weten wat je ervan vindt in de reacties!
Bron:Esper