Tänu Adreno Toolsile saate nüüd värskendada oma Android-seadme graafikadraiverit ilma juurjuurdepääsuta. Loe edasi, et rohkem teada saada!
Nutitelefonidele suunatud veebisaidid keskenduvad tavaliselt ainult uusimatele seadmetele, kuid suur osa kasutajatest otsustab ühel või teisel põhjusel oma telefone mitte uuendada. Kui riistvaratõrge välja arvata, võib paljudel neist seadmetest olla veel aastaid kasutusaega, sest nende omanike arvates töötavad need endiselt hästi. Kuigi kohandatud ROM-id võib pärandnutitelefone aegade elus hoida, võib olla õudusunenägu moderaatoritele, et hoida selliseid asju nagu kaamera ja graafikadraiverid ajakohasena ilma tootja ametliku toetuseta.
GPU draiverite värskendamine Androidis
Erinevalt nutitelefonide ökosüsteemist graafikadraiveri värskendamine arvutis on midagi, millele võite alati mõelda. See on võimalik arvuti riistvaradraiverite modulaarse arhitektuuri tõttu, mis võimaldab energiakasutajatel seda teha nokitsege suletud lähtekoodiga draiveripakettide kallal või valige OEM-i pakutavate draiverite asemel isegi avatud lähtekoodiga draiverid kahendkoodid. Androidi puhul aga tulevad draiverivärskendused telefoni üldjuhul vaid suuremate OS-i uuenduste kõrval.
Uuendatavad GPU draiverid võivad olla kasulikud vigade parandamiseks, graafika jõudluse parandamiseks või OpenGL-i või Vulkani API-de uute funktsioonide lisamiseks. Tänapäeval nutitelefonid on suuremad ja kiiremad kui kunagi varem, muutes need ideaalseks sõidukiks mängimiseks, seega teeb arvutile omase draiverikujunduse teisaldamine neile. meel.
Tegelikult tegi Google selle võimalikuks, püüdes Androidi Project Treble'i kaudu moduleerida konkreetse platvormi graafikadraiveri komplekti pakkimiseks rakenduseks ja värskendamiseks Play kaudu Kauplus. Sellest ajast alates on mitmed peamised Androidi originaalseadmete tootjad teinud koostööd Google'i ja suuremate GPU müüjatega, sealhulgas ARM ja Qualcomm, et levitada oma telefonide GPU draiverite värskendusi sõltumatu suurematest tarkvaraväljaannetest.
Kas värskendatav graafikadraiveri disain vähendab killustumist?
Jah, mingil määral. Sellegipoolest on mõned murettekitavad küsimused endiselt vastuseta. Esiteks ei paku Google'i mehhanism lihtsat viisi suletud lähtekoodiga müüja draiveri asendamiseks kolmanda osapoole avatud lähtekoodiga pakkumisega. Muidugi saate sihtseadme hankija partitsioonis oleva draiveripaketi käsitsi asendada, kui see on olemas juurjuurdepääs ja kuidagi kätte saada vajalikud failid, aga see pole paljude jaoks ideaalne lahendus.
Järgmiseks tuleb stabiilsuse ja täiustamise paradoks. Android säilitab graafikadraiveri laadimisel hierarhilise paigutuse. Kuigi tehases installitud konstruktsiooni ja uuema värskendatud versiooni vahel saab vahetada, kasutades Arendaja valikud => Graafika draiveri eelistused Rakendusepõhiselt taandub see lõppkokkuvõttes OEM-i otsusele, millal graafikadraiveri värskendus lükata. Selle tulemusel ei saa lõppkasutaja kasutada otse SoC-tootjalt pärit uusimaid draivereid, kuna originaalseadmete tootjad vastutavad endiselt värskenduste levitamise eest.
Nagu varem mainitud, on GPU draiverite värskendamine võimalik juurjuurdepääsuga, kuid mitte miski ei saa ületada mittejuure meetodit. Aitäh XDA vanemliikmele põhimäärused, meil on nüüd geniaalne lahendus nimega Adreno tööriistad mis võimaldab käigupealt GPU draivereid muuta või asendada Androidis – ka ilma rootita! Kindlasti mängis selles ettevõtmises otsustavat rolli arendaja taust Androidi portimisel Nintendo Switchile, kuna kogu projekt sai alguse Skyline, avatud lähtekoodiga töötav Nintendo Switchi emulaator Androidile.
Fellow Skyline'i arendaja Märkige "Pixelylon" esitas idee käitusaja draivi asendamiseks põhimäärused, millest lõpuks sai Adreno Tools. Kuna Adreno Tools on juurteta raamatukogu, võib see aidata igal tavalisel rakendusel laadida kohandatud GPU draivereid, käsitleda BCn-tekstuure ja suunata failitoiminguid ümber edasised keerulised muudatused Qualcommi Adreno GPU-de perekonnas. Selleks haakub see süsteemiteegidesse ja vahetab sujuvalt uue vastu autojuht. Eelkõige pole Mali GPU-dele veel tuge.
Kuna draiveri päritolu piiranguid ei ole, saavad entusiastid Adreno Toolsi kaudu laadida ka kolmandate osapoolte draivereid. See on eriti kasulik neile, kes soovivad proovida Turnipi – avatud lähtekoodiga Vulkani draiverit Qualcomm Adreno graafika riistvara jaoks, mis kuulub Freedreno vihmavari. Näiteks, AetherSX2, Androidile mõeldud PlayStation 2 emulaator kasutab juba Adreno tööriistu, et anda lõppkasutajatele valik naeris parema jõudluse saavutamiseks OEM-draiveri asemel.
Adreno tööriistad GitHubis
Kuidas ma sellest kasu saan?
Pidage meeles, et Adreno Toolsi projekt tarnitakse tarkvara raamatukoguna. See tähendab, et te ei leia eelkompileeritud APK-faili, mis võimaldaks võluväel kasutada välist graafikadraiveri virna kogu süsteemis. Selle asemel peab arendaja lisama raamatukogu oma projekti, et nende rakendus saaks pakkuda võimalus laadida värskendatud graafikadraiveri faile või kolmanda osapoole alternatiivi ilma juuruta juurdepääs. Täpselt nii kasutavad Skyline'i ja AetherSX2 arendajad praegu Adreno tööriistu.
Lõppkasutaja vaatenurgast ei suuda Adreno Tools üksi lahendada kõiki Androidi GPU draiveri rakendamise piiranguid. See on lihtsalt tööriist, mille abil arendaja kogukond saab Android-seadmetes graafikadraiveri värskendamise suurimatest takistustest mööda minna – see on kõik. Selle eeliseid saate kasutada ainult rakenduse kaudu, kuid kogu süsteemi hõlmav käsitsi draiveri värskendus nõuab siiski juurjuurdepääsu.
Mida ma saan teha, kui mul on root?
Kui olete juurkasutaja, kellel on juurdunud seade, saate oma seadmesse teha uuendatud graafikadraiveri järgu kogu süsteemis sundinstalli. Selleks peate värskendatud püsivarapaketist ekstraheerima draiveri BLOB (Binary Large OBject) failid, mis sisaldavad eelpakendatud tarkvara binaarfaile GPU-ga suhtlemiseks. Võite kasutada mõne muu seadme püsivara, kuid draiver peab vastama sihtseadme samale GPU perekonnale.
Pärast vajalike failide ekstraktimist saate need pakkida Magiski moodulina ja installida selle sihtnutitelefoni, et asendada olemasolevad müüja draiverid süsteemita. Muidugi on protsess veidi keerulisem, kui see kõlab. Võimalik, et peate hoolitsema liidese ühildamatuse eest pärand- ja värskendatud draiverite vahel, mille jaoks on vajalik shiming.
"Sihima" tähendab "(millegi) kiilumist või tühiku täitmist." See on tegelikult see, mida arendaja millal ja millal teeb shim kirjutamine – nad lisavad täiendavaid koode, et võimaldada BLOBil liidestada nende platvormiga tõõtan koos. Meie lugejate õnneks, arendaja põhimäärused on juba kirjutanud vahekaardi, et ületada lõhe erinevate Adreno draiverite versioonide vahel ja leiate kasutusvalmis välgutatavad OpenGL-i ja Vulkani draiverid Adreno 500 ja Adreno 600 GPU-de perekond meie foorumites.
Kas soovite teada värskendatud graafikadraiveri käsitsi installimise eelistest? Esperi Mishaal Rahman jagas huvitavat võrdlust Snapdragoni 3DMarki GPU jõudluse kohta 845-toitega Google Pixel 3 XL, mis töötab Android 12-ga koos standarddraiveriga versus Snapdragon 8 uuem draiver 1. põlvkond:
Päris põnev, kas pole? Kuid ärge unustage kompromissi objektiivsuse ja asjakohasuse vahel. Juurjuurdepääsuga värskendatud GPU draiveri installimisel on oma eelised, kuid kindlasti on sellel ka lõkse. See ei ole mõeldud algajatele, lisaks võib seadmega jamamine tühistada garantii. Alustuseks vajate lukustamata alglaadurit, mis ei pruugi olla kõigi stsenaariumide puhul teostatav.
Järeldus
Arvestades Androidi GPU draiverite muutmise alternatiive, on Adreno Toolsi teek suurepärane samm edasi, eriti selle juurteta olemuse tõttu. Ootame huviga, kuidas projekt tulevikus kasvab ja küpseb. Proovige kindlasti ja andke meile kommentaarides teada, mida arvate!
Allikas:Esper