Adreno Tools gør det nemmere at bruge opdaterede grafikdrivere på din smartphone uden root

click fraud protection

Takket være Adreno Tools kan du nu opdatere grafikdriveren på din Android-enhed uden root-adgang. Læs videre for at vide mere!

Smartphone-orienterede hjemmesider har en tendens til kun at fokusere på de nyeste enheder, men en stor del af brugerne vælger ikke at opgradere deres telefoner af den ene eller anden grund. Bortset fra hardwarefejl kan mange af disse enheder stadig have mange års brug foran sig, fordi de for deres ejere stadig fungerer fint. Mens brugerdefinerede ROM'er kan holde ældre smartphones i live i evigheder, kan det være et mareridt for modderne at holde ting som kamera og grafikdrivere opdateret uden officiel producentsupport.

Opdatering af GPU-drivere på Android

I modsætning til smartphone-økosystemet, opdatering af grafikdriveren på din pc er noget man altid kan tænke over. Dette er muligt på grund af den modulære arkitektur af pc-hardware-drivere, som gør det muligt for superbrugere pille ved lukkede kilde-driverpakker, eller vælg endda open source-drivere i stedet for OEM-leverede binære filer. I tilfælde af Android kommer driveropdateringer dog generelt kun til din telefon sammen med større OS-opdateringer.

Opdaterbare GPU-drivere kan være nyttige til at rette fejl, forbedre grafikydelsen eller tilføje nye funktioner fra OpenGL eller Vulkan API'er. I dag, smartphones er større og hurtigere end nogensinde, hvilket gør dem til det perfekte køretøj til spil, hvorfor portering af det pc-agtige driverdesign til dem gør følelse.

Faktisk, i et forsøg på at modularisere Android via Project Treble, gjorde Google det faktisk muligt at indpakke grafikdriversættet til en bestemt platform som en app og opdatere det gennem Play Butik. Siden da har flere almindelige Android OEM'er samarbejdet med Google og store GPU-leverandører, herunder ARM og Qualcomm, for at distribuere opdateringer til deres telefoners GPU-drivere uafhængig af større softwareudgivelser.

Reducerer det opdaterbare grafikdriverdesign fragmentering?

Ja, til en vis grad. Ikke desto mindre er et par bekymrende spørgsmål stadig ubesvarede. Først og fremmest giver Googles mekanisme ikke en nem måde at erstatte den lukkede kildeleverandørs driver med et tredjeparts open source-tilbud. Du kan selvfølgelig manuelt erstatte driverpakken i leverandørpartitionen på målenheden, forudsat at du har root adgang og på en eller anden måde få fingrene i de nødvendige filer, men det er ikke en ideel løsning for mange.

Dernæst kommer stabilitet-versus-enhancement-paradokset. Android opretholder et hierarkisk arrangement, når det kommer til at indlæse grafikdriveren. Mens man kan skifte mellem den fabriksinstallerede build og den nyere opdaterede udgivelse vha Udvikler muligheder => Præferencer for grafikdrivere på en per-app basis, koger det i sidste ende ned til OEM's beslutning, hvornår den skal skubbe grafikdriveropdateringen. Som følge heraf kan en slutbruger ikke bruge avancerede driver builds direkte fra SoC-producenten, da OEM'er stadig er ansvarlige for at udrulle opdateringerne.

Som tidligere nævnt er opdatering af GPU-drivere muligt med root-adgang, men intet kan slå en ikke-root-metode. Tak til XDA Senior Member vedtægter, har vi nu navngivet en genial løsning Adreno værktøjer der tillader on-the-fly GPU driver modifikationer eller udskiftninger på Android - også uden root! Udviklerens baggrund med at portere Android til Nintendo Switch spillede bestemt en afgørende rolle i denne satsning, da hele projektet har sin oprindelse i Skyline, en åben kildekode, igangværende Nintendo Switch-emulator til Android.

Med Skyline-udvikler Mark "Pixelylon" slog ideen om udskiftning af runtime-drev til vedtægter, som til sidst blev til Adreno Tools. Da Adreno Tools er et rodløst bibliotek, kan Adreno Tools hjælpe enhver almindelig app med at indlæse brugerdefinerede GPU-drivere, håndtere BCn-teksturer og omdirigere filoperationer for yderligere komplekse ændringer på Qualcomms Adreno-familie af GPU'er. Det gør det ved at tilslutte sig systembiblioteker og problemfrit bytte det nye ind chauffør. Især er der ingen understøttelse af Mali GPU'er endnu.

Da der ikke er nogen begrænsning på driverens oprindelse, kan entusiaster også indlæse tredjepartsdrivere gennem Adreno Tools. Dette er især nyttigt for dem, der ønsker at prøve Turnip -- en open source Vulkan-driver til Qualcomm Adreno grafikhardware, der falder ind under Freedreno paraply. For eksempel, AetherSX2, PlayStation 2-emulatoren til Android bruger allerede Adreno Tools til at give slutbrugere valg at vælge majroe i stedet for OEM-driveren for bedre ydeevne.

Adreno Tools på GitHub

Hvordan får jeg gavn af dette?

Husk, at Adreno Tools-projektet leveres som et softwarebibliotek. Det betyder, at du ikke kan finde en prækompileret APK-fil, der på magisk vis gør det muligt at bruge en ekstern grafikdriverstak i hele systemet. I stedet skal en udvikler inkorporere biblioteket i deres projekt, så deres app kan tilbyde muligheden for at indlæse opdaterede grafikdriverfiler eller et tredjepartsalternativ uden root adgang. Det er præcis sådan, Skyline- og AetherSX2-udviklere bruger Adreno Tools lige nu.

Fra et slutbrugerperspektiv kan Adreno Tools alene ikke løse alle begrænsningerne ved Androids GPU-driverimplementering. Det er blot et værktøj for udviklerfællesskabet til at omgå nogle af de største forhindringer for grafikdriveropdateringer på Android-enheder - det er det. Du kan kun få fordelene ved det gennem en app, men en systemdækkende manuel driveropdatering kræver stadig root-adgang.

Hvad kan jeg gøre, hvis jeg har root?

Hvis du er en superbruger med en rootet enhed, kan du udføre en systemdækkende tvungen installation af en opdateret grafikdriver, der er bygget på din enhed. For at gøre det skal du udpakke driver-BLOB-filerne (Binary Large OBject), der indeholder færdigpakkede softwarebinære filer til interaktion med GPU'en fra en opdateret firmwarepakke. Du kan bruge firmwaren fra en anden enhed, men driveren skal svare til den samme GPU-familie på målenheden.

Efter at have udtrukket de nødvendige filer, kan du pakke dem som et Magisk-modul og installere det på målsmartphonen for at erstatte de eksisterende leverandørdrivere på en systemløs måde. Selvfølgelig er processen en smule mere kompliceret, end den lyder. Du skal muligvis tage dig af grænsefladeinkompatibiliteterne mellem de gamle og de opdaterede drivere, som shimming ville være nødvendig.

At "shim" er at "kile (noget) eller fylde et mellemrum." Dette er faktisk, hvad en udvikler gør hvornår skrive et shim - de tilføjer yderligere koder for at give BLOB'en mulighed for at interface med den platform, de er arbejder med. Heldigvis for vores læsere, udvikler vedtægter allerede skrevet et shim for at bygge bro mellem forskellige Adreno-driverrevisioner, og du kan finde klar-til-brug flashbare OpenGL- og Vulkan-drivere til Adreno 500 og Adreno 600 familie af GPU'er på vores fora.

Nysgerrig efter at vide om fordelene ved manuelt at installere en opdateret grafikdriver? Espers Mishaal Rahman delte en interessant sammenligning af GPU-ydeevnen i 3DMark fra en Snapdragon 845-drevet Google Pixel 3 XL, der kører Android 12 med standarddriveren versus en nyere driver fra Snapdragon 8 Gen 1:

Ret fascinerende, ikke? Men glem ikke afvejningen mellem objektivitet og relevans. Mens installation af en opdateret GPU-driver med root-adgang har sine fordele, men det har bestemt også sine faldgruber. Det er ikke beregnet til begyndere, plus at rode med enheden kan annullere garantien. Du har brug for en ulåst bootloader til at starte med, hvilket måske ikke er muligt i alle scenarier.

Konklusion

I betragtning af alternativerne til Android GPU-drivermoddingscenen i fortiden, er Adreno Tools-biblioteket et fantastisk skridt fremad, især for dets rodløse natur. Vi glæder os til at se, hvordan projektet vokser og modnes i fremtiden. Sørg for at prøve det, og lad os vide, hvad du synes i kommentarerne!


Kilde:Esper