Adreno Tools gjør det enklere å bruke oppdaterte grafikkdrivere på smarttelefonen din, uten root

Takket være Adreno Tools kan du nå oppdatere grafikkdriveren på Android-enheten din uten root-tilgang. Les videre for å vite mer!

Smarttelefon-orienterte nettsteder har en tendens til å kun fokusere på de nyeste enhetene, men en stor del av brukerne velger å ikke oppgradere telefonene sine av en eller annen grunn. Bortsett fra maskinvarefeil, kan mange av disse enhetene fortsatt ha mange års bruk foran seg, fordi for eierne deres fungerer de fortsatt helt fint. Samtidig som tilpassede ROM-er kan holde eldre smarttelefoner i live i evigheter, kan det være et mareritt for modderne å holde ting som kamera og grafikkdrivere oppdatert uten offisiell produsentstøtte.

Oppdatering av GPU-drivere på Android

I motsetning til smarttelefonens økosystem, oppdatering av grafikkdriveren på PC-en er noe du alltid kan tenke på. Dette er mulig på grunn av den modulære arkitekturen til PC-maskinvaredrivere, som gjør det mulig for superbrukere triks med driverpakker med lukket kildekode, eller velg til og med åpen kildekode-drivere i stedet for OEM-leverte binære filer. Når det gjelder Android, kommer driveroppdateringer vanligvis bare til telefonen din sammen med større OS-oppdateringer.

Oppdaterbare GPU-drivere kan være nyttige for å fikse feil, forbedre grafikkytelsen eller legge til nye funksjoner fra OpenGL eller Vulkan APIer. Nå for tiden, smarttelefoner er større og raskere enn noen gang, noe som gjør dem til det perfekte kjøretøyet for spill, og derfor gjør det å overføre den PC-aktige driverdesignen til dem. føle.

Faktisk, i et forsøk på å modularisere Android via Project Treble, gjorde Google det faktisk mulig å pakke inn grafikkdriversettet for en bestemt plattform som en app og oppdatere det gjennom Play Butikk. Siden den gang har flere vanlige Android OEM-er samarbeidet med Google og store GPU-leverandører, inkludert ARM og Qualcomm, for å distribuere oppdateringer for telefonens GPU-drivere uavhengig av større programvareutgivelser.

Reduserer den oppdaterbare grafikkdriverdesignen fragmentering?

Ja, til en viss grad. Likevel er det fortsatt noen bekymringsfulle spørsmål som står ubesvart. For det første gir ikke Googles mekanisme en enkel måte å erstatte leverandørdriveren med lukket kildekode med et tredjeparts åpen kildekodetilbud. Du kan selvfølgelig erstatte driverpakken manuelt i leverandørpartisjonen til målenheten, forutsatt at du har rot tilgang og på en eller annen måte få tak i de nødvendige filene, men det er ikke en ideell løsning for mange.

Deretter kommer stabilitet-versus-forbedring-paradokset. Android opprettholder en hierarkisk ordning når det gjelder lasting av grafikkdriveren. Mens man kan bytte mellom den fabrikkinstallerte bygningen og den nyere oppdaterte utgivelsen ved hjelp av Utviklermuligheter => Preferanser for grafikkdrivere på en per-app-basis, koker det til slutt ned til OEMs avgjørelse når den skal presse grafikkdriveroppdateringen. Som et resultat kan en sluttbruker ikke bruke nyskapende driverbygg direkte fra SoC-produsenten, siden OEM-er fortsatt er ansvarlige for å rulle ut oppdateringene.

Som nevnt tidligere er oppdatering av GPU-drivere mulig med root-tilgang, men ingenting kan slå en ikke-root-metode. Takk til XDA Senior Member vedtekter, har vi nå kalt en genial løsning Adreno-verktøy som tillater on-the-fly GPU driver modifikasjoner eller erstatninger på Android – også uten root! Utviklerens bakgrunn med å portere Android til Nintendo Switch spilte absolutt en avgjørende rolle i denne satsingen, siden hele prosjektet har sin opprinnelse i Skyline, en åpen kildekode, pågående Nintendo Switch-emulator for Android.

Andre Skyline-utvikler Merk "Pixelylon" pitchet ideen om bytte av kjøretidsstasjon til vedtekter, som til slutt materialiserte seg til Adreno Tools. Som et rotløst bibliotek kan Adreno Tools hjelpe enhver vanlig app med å laste tilpassede GPU-drivere, håndtere BCn-teksturer og omdirigere filoperasjoner for ytterligere komplekse modifikasjoner på Qualcomms Adreno-familie av GPUer. Det gjør den ved å koble seg til systembiblioteker og sømløst bytte inn det nye sjåfør. Spesielt er det ingen støtte for Mali GPUer ennå.

Siden det ikke er noen begrensning på opprinnelsen til driveren, kan entusiaster også laste tredjepartsdrivere gjennom Adreno Tools. Dette er spesielt nyttig for de som ønsker å prøve Turnip -- en åpen kildekode Vulkan-driver for Qualcomm Adreno grafikkmaskinvare som faller inn under Freedreno paraply. For eksempel, AetherSX2, PlayStation 2-emulatoren for Android bruker allerede Adreno Tools for å gi sluttbrukere valg å velge kålrot i stedet for OEM-driveren for bedre ytelse.

Adreno Tools på GitHub

Hvordan drar jeg nytte av dette?

Husk at Adreno Tools-prosjektet leveres som et programvarebibliotek. Det betyr at du ikke kan finne en forhåndskompilert APK-fil som på magisk vis muliggjør muligheten til å bruke en ekstern grafikkdriverstabel i hele systemet. I stedet må en utvikler inkludere biblioteket i prosjektet sitt, slik at appen deres kan tilby muligheten til å laste oppdaterte grafikkdriverfiler eller et tredjepartsalternativ uten root adgang. Dette er nøyaktig hvordan Skyline- og AetherSX2-utviklere bruker Adreno Tools akkurat nå.

Fra et sluttbrukerperspektiv kan ikke Adreno Tools alene løse alle begrensningene til Androids GPU-driverimplementering. Det er bare et verktøy for utviklerfellesskapet for å omgå noen av de største hindringene for oppdateringer av grafikkdrivere på Android-enheter – det er det. Du kan bare få fordelene med det gjennom en app, men en systemomfattende manuell driveroppdatering krever fortsatt root-tilgang.

Hva kan jeg gjøre hvis jeg har root?

Hvis du er en superbruker med en rotet enhet, kan du utføre en systemomfattende tvungen installasjon av en oppdatert grafikkdriver på enheten din. For å gjøre det, må du trekke ut driverfilene BLOB (Binary Large OBject) som inneholder forhåndspakkede programvarebinærfiler for samhandling med GPU fra en oppdatert fastvarepakke. Du kan bruke fastvaren fra en annen enhet, men driveren må samsvare med den samme GPU-familien til målenheten.

Etter å ha pakket ut de nødvendige filene, kan du pakke dem som en Magisk-modul og installere den på målsmarttelefonen for å erstatte de eksisterende leverandørdriverne på en systemløs måte. Selvfølgelig er prosessen litt mer komplisert enn det høres ut. Du må kanskje ta vare på grensesnitt-inkompatibilitetene mellom de gamle og de oppdaterte driverne, som shimming vil være nødvendig for.

Å "shim" er å "kile (noe) eller fylle opp et mellomrom." Dette er faktisk hva en utvikler gjør når skrive et shim - de legger til tilleggskoder for å tillate BLOB å kommunisere med plattformen de er jobber med. Heldigvis for våre lesere, utvikler vedtekter har allerede skrevet et shim for å bygge bro mellom forskjellige Adreno-driverrevisjoner, og du kan finne klare til bruk flashbare OpenGL- og Vulkan-drivere for Adreno 500 og Adreno 600 familie av GPUer på forumene våre.

Nysgjerrig på å vite om fordelene ved å manuelt installere en oppdatert grafikkdriver? Espers Mishaal Rahman delte en interessant sammenligning av GPU-ytelsen i 3DMark fra en Snapdragon 845-drevet Google Pixel 3 XL som kjører Android 12 med lagerdriveren kontra en nyere driver fra Snapdragon 8 Gen 1:

Ganske fascinerende, ikke sant? Men ikke glem avveiningen mellom objektivitet og relevans. Mens du installerer en oppdatert GPU-driver med root-tilgang har det sine fordeler, men det har absolutt sine fallgruver også. Det er ikke ment for nybegynnere, pluss å rote med enheten kan ugyldiggjøre garantien. Du trenger en ulåst bootloader til å begynne med, noe som kanskje ikke er gjennomførbart i alle scenarier.

Konklusjon

Gitt alternativene for moddingscenen for Android GPU-drivere tidligere, er Adreno Tools-biblioteket et fantastisk skritt fremover, spesielt for sin rotløse natur. Vi gleder oss til å se hvordan prosjektet vokser og modnes i fremtiden. Sørg for å prøve det og la oss få vite hva du synes i kommentarene!


Kilde:Esper