Adreno Tools gör det enklare att använda uppdaterade grafikdrivrutiner på din smartphone, utan root

Tack vare Adreno Tools kan du nu uppdatera grafikdrivrutinen på din Android-enhet utan root-åtkomst. Läs vidare för att veta mer!

Smartphone-orienterade webbplatser tenderar att fokusera bara på de senaste enheterna, men en stor del av användarna väljer att inte uppgradera sina telefoner av en eller annan anledning. Bortsett från hårdvarufel kan många av dessa enheter fortfarande ha många år av användning framför sig eftersom de, för deras ägare, fortfarande fungerar bra. Medan anpassade ROM kan hålla äldre smartphones vid liv i evigheter, kan det vara en mardröm för moddarna att hålla saker som kameran och grafikdrivrutinerna uppdaterade utan officiellt tillverkarstöd.

Uppdatera GPU-drivrutiner på Android

Till skillnad från smarttelefonens ekosystem, uppdatera grafikdrivrutinen på din PC är något man alltid kan tänka på. Detta är möjligt på grund av den modulära arkitekturen hos PC-hårdvarudrivrutiner, som gör det möjligt för avancerade användare att mixtra med drivrutinspaket med stängd källkod, eller till och med välja drivrutiner med öppen källkod istället för OEM-tillhandahållna binärer. När det gäller Android kommer drivrutinsuppdateringar i allmänhet bara till din telefon tillsammans med större OS-uppdateringar.

Uppdaterbara GPU-drivrutiner kan komma till nytta för att fixa buggar, förbättra grafikprestanda eller lägga till nya funktioner från OpenGL eller Vulkan API: er. Nu för tiden, smartphones är större och snabbare än någonsin, vilket gör dem till det perfekta fordonet för spel, vilket gör det att portera den PC-liknande drivrutinsdesignen till dem känsla.

Faktum är att i ett försök att modularisera Android via Project Treble, gjorde Google det faktiskt möjligt för att slå in grafikdrivrutinsuppsättningen för en viss plattform som en app och uppdatera den via Play Lagra. Sedan dess har flera vanliga Android OEM-tillverkare samarbetat med Google och stora GPU-leverantörer, inklusive ARM och Qualcomm, för att distribuera uppdateringar för sina telefoners GPU-drivrutiner oberoende av större programvaruversioner.

Minskar den uppdateringsbara grafikdrivrutinen fragmentering?

Ja, till viss del. Ändå är några oroande frågor fortfarande obesvarade. För det första ger Googles mekanism inte ett enkelt sätt att ersätta drivrutinen för leverantörer med sluten källkod med ett tredjepartserbjudande med öppen källkod. Du kan naturligtvis byta ut drivrutinspaketet manuellt i leverantörspartitionen för målenheten, förutsatt att du har root-åtkomst och på något sätt få tag på de nödvändiga filerna, men det är inte en idealisk lösning för många.

Därefter kommer stabilitet-mot-förbättring-paradoxen. Android har ett hierarkiskt arrangemang när det gäller att ladda grafikdrivrutinen. Medan man kan växla mellan den fabriksinstallerade versionen och den nyare uppdaterade utgåvan med hjälp av Utvecklaralternativ => Inställningar för grafikdrivrutin per app baseras det i slutändan på OEM: s beslut när grafikdrivrutinen ska uppdateras. Som ett resultat kan en slutanvändare inte använda avancerade drivrutiner direkt från SoC-tillverkaren, eftersom OEM-tillverkare fortfarande är ansvariga för att rulla ut uppdateringarna.

Som nämnts tidigare är det möjligt att uppdatera GPU-drivrutiner med root-åtkomst, men ingenting kan slå en icke-root-metod. Tack till XDA Senior Member av lagar, vi har nu en genialisk lösning som heter Adreno verktyg som tillåter on-the-fly GPU-drivrutiner modifieringar eller ersättningar på Android - även utan root! Utvecklarens bakgrund med att porta Android till Nintendo Switch spelade verkligen en avgörande roll i denna satsning, eftersom hela projektet har sitt ursprung i Horisont, en pågående Nintendo Switch-emulator med öppen källkod för Android.

Andra Skyline-utvecklare Markera "Pixelylon" pitchade idén om runtime drive ersättning till av lagar, som så småningom materialiserades till Adreno Tools. Eftersom det är ett rotlöst bibliotek kan Adreno Tools hjälpa alla vanliga appar att ladda anpassade GPU-drivrutiner, hantera BCn-texturer och omdirigera filoperationer för ytterligare komplexa modifieringar på Qualcomms Adreno-familj av GPU: er. Det gör det genom att ansluta till systembibliotek och sömlöst byta in det nya förare. Noterbart finns det inget stöd för Mali GPU: er ännu.

Eftersom det inte finns någon begränsning för drivrutinens ursprung, kan entusiaster också ladda tredjepartsdrivrutiner via Adreno Tools. Detta är särskilt användbart för dem som vill prova Turnip -- en öppen källkod Vulkan-drivrutin för Qualcomm Adreno grafikhårdvara som faller under Freedreno paraply. Till exempel, AetherSX2, PlayStation 2-emulatorn för Android använder redan Adreno Tools för att ge slutanvändare val att välja kålrot istället för OEM-drivrutinen för bättre prestanda.

Adreno Tools på GitHub

Hur drar jag nytta av detta?

Tänk på att Adreno Tools-projektet levereras som ett mjukvarubibliotek. Det betyder att du inte kan hitta en förkompilerad APK-fil som på magiskt sätt möjliggör möjligheten att använda en extern grafikdrivrutinsstack i hela systemet. Istället måste en utvecklare införliva biblioteket i sitt projekt, så att deras app kan erbjuda möjligheten att ladda uppdaterade grafikdrivrutinsfiler eller ett tredjepartsalternativ utan root tillgång. Det är precis så Skyline- och AetherSX2-utvecklare använder Adreno Tools just nu.

Ur ett slutanvändarperspektiv kan inte Adreno Tools ensamt lösa alla begränsningar för Androids GPU-drivrutinimplementering. Det är bara ett verktyg för utvecklargemenskapen för att kringgå några av de största hindren för uppdateringar av grafikdrivrutiner på Android-enheter – det är allt. Du kan bara få fördelarna med det genom en app, men en systemomfattande manuell drivrutinsuppdatering kräver fortfarande root-åtkomst.

Vad kan jag göra om jag har root?

Om du är en avancerad användare med en rotad enhet kan du utföra en systemomfattande tvångsinstallation av en uppdaterad grafikdrivrutin på din enhet. För att göra det måste du extrahera drivrutinsfilerna BLOB (Binary Large OBject) som innehåller förpackade mjukvarubinärfiler för interaktion med GPU: n från ett uppdaterat firmwarepaket. Du kan använda firmware från en annan enhet, men drivrutinen måste motsvara samma GPU-familj för målenheten.

Efter att ha extraherat de nödvändiga filerna kan du packa dem som en Magisk-modul och installera den på målsmarttelefonen för att ersätta de befintliga drivrutinerna från leverantören på ett systemlöst sätt. Naturligtvis är processen lite mer komplicerad än den låter. Du kan behöva ta hand om gränssnittsinkompatibiliteterna mellan de äldre och de uppdaterade drivrutinerna, för vilka shims skulle vara nödvändigt.

Att "shimsa" är att "kila (något) eller fylla upp ett utrymme." Detta är faktiskt vad en utvecklare gör när skriver ett shim — de lägger till ytterligare koder för att BLOB ska kunna samverka med den plattform de är arbetar med. Lyckligtvis för våra läsare, utvecklare av lagar har redan skrivit ett shim för att överbrygga klyftan mellan olika Adreno-drivrutinversioner, och du kan hitta färdiga att använda flashbara OpenGL- och Vulkan-drivrutiner för Adreno 500 och Adreno 600 familj av GPU: er på våra forum.

Nyfiken på fördelarna med att manuellt installera en uppdaterad grafikdrivrutin? Espers Mishaal Rahman delade en intressant jämförelse av GPU-prestanda i 3DMark från en Snapdragon 845-driven Google Pixel 3 XL som kör Android 12 med standarddrivrutinen jämfört med en nyare drivrutin från Snapdragon 8 Gen 1:

Ganska fascinerande, eller hur? Men glöm inte avvägningen mellan objektivitet och relevans. När du installerar en uppdaterad GPU-drivrutin med root-åtkomst har det sina fördelar, men det har verkligen sina fallgropar också. Det är inte avsett för nybörjare, plus att bråka med enheten kan ogiltigförklara garantin. Du behöver en olåst starthanterare till att börja med, vilket kanske inte är genomförbart i alla scenarier.

Slutsats

Med tanke på alternativen för moddingscenen för Android GPU-drivrutiner i det förflutna, är Adreno Tools-biblioteket ett fantastiskt steg framåt, särskilt för dess rotlösa natur. Vi ser fram emot att se hur projektet växer och mognar i framtiden. Se till att prova det och låt oss veta vad du tycker i kommentarerna!


Källa:Esper