Adreno Tools улеснява използването на актуализирани графични драйвери на вашия смартфон, без root

Благодарение на Adreno Tools вече можете да актуализирате графичния драйвер на вашето Android устройство без root достъп. Прочетете, за да научите повече!

Уебсайтовете, ориентирани към смартфони, обикновено се фокусират само върху най-новите устройства, но голяма част от потребителите избират да не надграждат телефоните си по една или друга причина. С изключение на повреда в хардуера, много от тези устройства може все още да имат години употреба пред себе си, защото за техните собственици те все още работят добре. Докато потребителски ROM може да поддържа старите смартфони живи векове, може да бъде кошмар за модераторите да поддържат неща като камерата и графичните драйвери актуални без официална поддръжка от производителя.

Актуализиране на драйвери на GPU на Android

За разлика от екосистемата на смартфоните, актуализиране на графичния драйвер на вашия компютър е нещо, за което винаги можете да мислите. Това е възможно поради модулната архитектура на хардуерните драйвери за компютър, която позволява на опитните потребители да бъркайте с пакети драйвери със затворен код или дори изберете драйвери с отворен код вместо предоставени от OEM двоични файлове. В случая с Android обаче актуализациите на драйверите обикновено идват на телефона ви само заедно с по-големите актуализации на ОС.

Актуализируемите GPU драйвери могат да бъдат полезни за коригиране на грешки, подобряване на графичната производителност или добавяне на нови функции от OpenGL или Vulkan API. В днешно време, смартфоните са по-големи и по-бързи от всякога, което ги прави идеалното превозно средство за игри, следователно пренасянето на дизайна на драйвера в стил PC към тях прави смисъл.

В интерес на истината, в опит да модулизира Android чрез Project Treble, Google всъщност го направи възможно за да обвиете набора от графични драйвери за определена платформа като приложение и да го актуализирате чрез Play Магазин. Оттогава няколко основни OEM производители на Android си сътрудничиха с Google и основните доставчици на GPU, включително ARM и Qualcomm, за разпространяват актуализации за GPU драйверите на своите телефони независимо от по-големите версии на софтуера.

Дизайнът на актуализирания графичен драйвер намалява ли фрагментацията?

Да, до известна степен. Въпреки това, няколко тревожни въпроса все още остават без отговор. На първо място, механизмът на Google не предоставя лесен начин за замяна на драйвера на доставчика със затворен код с предложение с отворен код на трета страна. Можете, разбира се, да замените ръчно пакета на драйвера в дяла на доставчика на целевото устройство, при условие че имате root достъп и по някакъв начин да се докопате до необходимите файлове, но това не е идеалното решение за мнозина.

Следва парадоксът стабилност срещу подобрение. Android поддържа йерархична подредба, когато става въпрос за зареждане на графичния драйвер. Въпреки че можете да превключвате между фабрично инсталираната компилация и по-новата актуализирана версия, като използвате Опции за разработчици => Предпочитания на графичния драйвер на базата на приложение, в крайна сметка се свежда до решението на OEM кога да натисне актуализацията на графичния драйвер. В резултат на това крайният потребител не може да използва най-новите версии на драйвери директно от производителя на SoC, тъй като OEM производителите все още са отговорни за пускането на актуализациите.

Както споменахме по-рано, актуализирането на GPU драйвери е възможно с root достъп, но нищо не може да победи не-root метод. Благодарение на XDA Senior Member устав, сега имаме гениално решение на име Инструменти на Adreno който позволява модификации или замени на GPU драйвери в движение на Android — това също без root! Историята на разработчика за пренасяне на Android към Nintendo Switch със сигурност изигра решаваща роля в това начинание, тъй като целият проект произхожда от Skyline, емулатор на Nintendo Switch с отворен код, в процес на работа за Android.

Колега разработчик на Skyline Маркирайте "Pixelylon" представи идеята за подмяна на устройството по време на работа устав, който в крайна сметка се материализира в Adreno Tools. Тъй като е библиотека без root, Adreno Tools може да помогне на всяко обикновено приложение да зарежда персонализирани драйвери за GPU, да се справя с BCn текстури и да пренасочва файлови операции за допълнителни сложни модификации на семейството графични процесори Adreno на Qualcomm. Това става чрез свързване към системни библиотеки и безпроблемно смяна на новите шофьор. Трябва да се отбележи, че все още няма поддръжка за графични процесори Mali.

Тъй като няма ограничение за произхода на драйвера, ентусиастите могат също да зареждат драйвери на трети страни чрез Adreno Tools. Това е особено полезно за тези, които искат да изпробват Turnip - Vulkan драйвер с отворен код за графичен хардуер на Qualcomm Adreno, който попада в Freedreno чадър. Например, AetherSX2, емулаторът на PlayStation 2 за Android вече използва Adreno Tools, за да даде на крайните потребители избор да изберете Turnip вместо OEM драйвера за по-добра производителност.

Adreno инструменти в GitHub

Каква полза имам от това?

Имайте предвид, че проектът Adreno Tools се доставя като софтуерна библиотека. Това означава, че не можете да намерите предварително компилиран APK файл, който по магически начин позволява възможността за използване на стек от външни графични драйвери в цялата система. Вместо това разработчикът трябва да включи библиотеката в своя проект, така че приложението му да може да предлага възможността за зареждане на актуализирани файлове с графичен драйвер или алтернатива на трета страна без root достъп. Точно така разработчиците на Skyline и AetherSX2 използват Adreno Tools в момента.

От гледна точка на крайния потребител, Adreno Tools сами по себе си не могат да решат всички ограничения на внедряването на GPU драйвера на Android. Това е просто инструмент за общността на разработчиците за заобикаляне на някои от най-големите пречки при актуализациите на графични драйвери на устройства с Android — това е всичко. Можете да получите предимствата от него само чрез приложение, но ръчната актуализация на драйвера за цялата система все още изисква root достъп.

Какво мога да направя, ако имам root?

Ако сте опитен потребител с руутнато устройство, тогава можете да извършите системно принудително инсталиране на актуализиран графичен драйвер, изграден на вашето устройство. За да направите това, трябва да извлечете BLOB (Binary Large OBject) файлове на драйвера, които съдържат предварително опаковани софтуерни двоични файлове за взаимодействие с GPU от актуализиран пакет на фърмуера. Можете да използвате фърмуера от друго устройство, но драйверът трябва да съответства на същата GPU фамилия на целевото устройство.

След като извлечете необходимите файлове, можете да ги опаковате като модул Magisk и да го инсталирате на целевия смартфон, за да замените съществуващите драйвери на доставчика по безсистемен начин. Разбира се, процесът е малко по-сложен, отколкото звучи. Може да се наложи да се погрижите за несъвместимостта на интерфейса между наследените и актуализираните драйвери, за които би било необходимо shimming.

Да „отминеш“ означава да „вклиниш (нещо) или да запълниш пространство“. Това на практика прави разработчикът, когато писане на подложка - те добавят допълнителни кодове, за да позволят на BLOB да взаимодейства с платформата, която са работещ с. За щастие на нашите читатели, разработчик устав вече написа подложка за преодоляване на празнината между различните ревизии на драйвери на Adreno и можете да намерите готови за използване флашируеми OpenGL и Vulkan драйвери за Адрено 500 и Адрено 600 семейство GPU в нашите форуми.

Любопитни ли сте да знаете за предимствата на ръчното инсталиране на актуализиран графичен драйвер? Mishaal Rahman от Esper сподели интересно сравнение на производителността на GPU в 3DMark от Snapdragon Google Pixel 3 XL с мощност 845, работещ с Android 12 със стандартния драйвер срещу по-нов драйвер от Snapdragon 8 Gen 1:

Доста завладяващо, нали? Но не забравяйте компромиса между обективност и уместност. Въпреки че инсталирането на актуализиран драйвер за GPU с root достъп има своите предимства, но със сигурност има и своите капани. Не е предназначено за начинаещи, освен това бъркането с устройството може да анулира гаранцията. Нуждаете се от отключен буутлоудър, за да започнете, което може да не е осъществимо във всички сценарии.

Заключение

Като се имат предвид алтернативите за сцената за модифициране на Android GPU драйвери в миналото, библиотеката Adreno Tools е фантастична стъпка напред, особено поради нейната природа без корени. Очакваме с нетърпение да видим как проектът расте и узрява в бъдеще. Не пропускайте да опитате и да ни кажете какво мислите в коментарите!


източник:Еспър