Díky Adreno Tools nyní můžete aktualizovat grafický ovladač na svém zařízení Android bez přístupu root. Čtěte dále a dozvíte se více!
Webové stránky zaměřené na chytré telefony mají tendenci se zaměřovat pouze na nejnovější zařízení, ale velká část uživatelů se rozhodla své telefony z toho či onoho důvodu neupgradovat. Kromě selhání hardwaru může mít mnoho z těchto zařízení před sebou ještě roky používání, protože pro jejich majitele stále fungují dobře. Zatímco vlastní ROM dokáže udržet staré smartphony naživu po věky, pro moddery může být noční můrou udržovat věci jako fotoaparát a ovladače grafiky aktuální bez oficiální podpory výrobce.
Aktualizace ovladačů GPU v systému Android
Na rozdíl od ekosystému smartphonů aktualizace ovladače grafiky na vašem PC je něco, na co můžete vždy myslet. To je možné díky modulární architektuře hardwarových ovladačů PC, což umožňuje zkušeným uživatelům pohrávat se s balíčky ovladačů s uzavřeným zdrojovým kódem nebo se dokonce rozhodnout pro ovladače s otevřeným zdrojovým kódem namísto ovladačů poskytovaných OEM dvojhvězdy. V případě Androidu však aktualizace ovladačů obvykle přicházejí do vašeho telefonu pouze spolu s většími aktualizacemi OS.
Aktualizovatelné ovladače GPU se mohou hodit pro opravu chyb, zlepšení grafického výkonu nebo přidání nových funkcí z API OpenGL nebo Vulkan. Dnes, chytré telefony jsou větší a rychlejší než kdy jindy, což z nich dělá perfektní prostředek pro hraní her, a proto k nim přenesení designu ovladače ve stylu PC dělá smysl.
Ve skutečnosti to Google ve snaze modularizovat Android prostřednictvím Project Treble skutečně umožnil zabalit sadu grafických ovladačů pro konkrétní platformu jako aplikaci a aktualizovat ji prostřednictvím Play Obchod. Od té doby několik běžných výrobců Android OEM spolupracovalo se společností Google a hlavními dodavateli GPU, včetně ARM a Qualcomm, aby distribuovat aktualizace ovladačů GPU svých telefonů nezávislé na větších verzích softwaru.
Snižuje návrh aktualizovatelného grafického ovladače fragmentaci?
Ano, do určité míry. Několik znepokojivých otázek však stále zůstává nezodpovězeno. Za prvé, mechanismus společnosti Google neposkytuje snadný způsob, jak nahradit ovladač uzavřeného dodavatele open source nabídkou třetí strany. Balíček ovladače můžete samozřejmě ručně nahradit v oddílu dodavatele cílového zařízení, pokud jej máte root přístup a nějak dostat do rukou potřebné soubory, ale to pro mnohé není ideální řešení.
Dále přichází paradox stability versus vylepšení. Android zachovává hierarchické uspořádání, pokud jde o načítání ovladače grafiky. I když lze přepínat mezi sestavením nainstalovaným ve výrobě a novější aktualizovanou verzí pomocí Vývojářské možnosti => Předvolby ovladače grafiky na základě jednotlivých aplikací se nakonec scvrkává na rozhodnutí výrobce OEM, kdy podat aktualizaci grafického ovladače. Výsledkem je, že koncový uživatel nemůže využívat nejnovější verze ovladačů přímo od výrobce SoC, protože OEM jsou stále zodpovědní za zavádění aktualizací.
Jak již bylo zmíněno dříve, aktualizace ovladačů GPU je možná s přístupem root, ale nic nepřekoná metodu bez oprávnění root. Díky XDA Senior Member podle zákona, nyní máme geniální řešení pojmenované Nástroje Adreno který umožňuje průběžné úpravy nebo výměny ovladačů GPU v systému Android – i to bez root! Zásadní roli v tomto počinu jistě sehrálo vývojářské zázemí portování Androidu na Nintendo Switch, protože celý projekt má svůj původ v Panoráma, open source, rozpracovaný emulátor Nintendo Switch pro Android.
Kolega vývojář Skyline Označit "Pixelylon" předložil myšlenku výměny běhového disku podle zákona, který se nakonec zhmotnil do Adreno Tools. Protože se jedná o knihovnu bez kořenů, mohou Adreno Tools pomoci jakékoli běžné aplikaci načíst vlastní ovladače GPU, vypořádat se s texturami BCn a přesměrovat operace se soubory pro další složité úpravy na GPU rodiny Qualcomm Adreno. Činí tak zapojením do systémových knihoven a bezproblémovou výměnou za nové Řidič. Je pozoruhodné, že zatím neexistuje podpora pro GPU Mali.
Vzhledem k tomu, že neexistuje žádné omezení ohledně původu ovladače, nadšenci mohou také načíst ovladače třetích stran prostřednictvím Adreno Tools. To je užitečné zejména pro ty, kteří chtějí vyzkoušet Turnip – open-source ovladač Vulkan pro grafický hardware Qualcomm Adreno, který spadá pod Freedreno deštník. Například, AetherSX2, emulátor PlayStation 2 pro Android již využívá nástroje Adreno, aby koncovým uživatelům poskytl možnost rozhodnout se pro tuřín místo ovladače OEM pro lepší výkon.
Adreno Tools na GitHubu
Jak z toho mám prospěch?
Mějte na paměti, že projekt Adreno Tools se dodává jako softwarová knihovna. Znamená to, že nemůžete najít předem zkompilovaný soubor APK, který magicky umožňuje používat externí zásobník grafických ovladačů v celém systému. Místo toho musí vývojář začlenit knihovnu do svého projektu, aby jeho aplikace mohla nabízet možnost načítání aktualizovaných souborů grafického ovladače nebo alternativy třetí strany bez root přístup. Přesně tak vývojáři Skyline a AetherSX2 využívají Adreno Tools právě teď.
Z pohledu koncového uživatele nemohou Adreno Tools samy o sobě vyřešit všechna omezení implementace ovladače GPU pro Android. Je to pouze nástroj pro vývojářskou komunitu, jak obejít některé z největších překážek aktualizací grafických ovladačů na zařízeních Android – to je vše. Jeho výhody můžete získat pouze prostřednictvím aplikace, ale celosystémová ruční aktualizace ovladače stále vyžaduje přístup root.
Co mohu dělat, když mám root?
Pokud jste zkušený uživatel s rootovaným zařízením, můžete provést celosystémovou vynucenou instalaci sestavení aktualizovaného grafického ovladače na vašem zařízení. Chcete-li tak učinit, musíte extrahovat soubory BLOB ovladače (Binary Large OBject), které obsahují předem zabalené softwarové binární soubory pro interakci s GPU, z aktualizovaného balíčku firmwaru. Můžete použít firmware z jiného zařízení, ale ovladač musí odpovídat stejné rodině GPU cílového zařízení.
Po extrahování požadovaných souborů je můžete zabalit jako modul Magisk a nainstalovat jej do cílového smartphonu, abyste nahradili stávající ovladače dodavatele bezsystémovým způsobem. Proces je samozřejmě trochu složitější, než se zdá. Možná se budete muset postarat o nekompatibilitu rozhraní mezi staršími a aktualizovanými ovladači, pro které by bylo nutné shimming.
„Přehodit“ znamená „zaklínovat (něco) nebo vyplnit prostor“. To je efektivně to, co vývojář dělá, když psaní shim – přidávají další kódy, které umožňují propojení BLOB s platformou, na které jsou pracovat s. Naštěstí pro naše čtenáře, vývojáře podle zákona již napsal shim pro překlenutí mezery mezi různými revizemi ovladačů Adreno a můžete najít flashovatelné ovladače OpenGL a Vulkan připravené k použití pro Adreno 500 a Adreno 600 rodina GPU na našich fórech.
Zajímá vás, jaké výhody přináší ruční instalace aktualizovaného grafického ovladače? Mishaal Rahman z Espera se podělil o zajímavé srovnání výkonu GPU v 3DMark ze Snapdragonu Google Pixel 3 XL s výkonem 845 se systémem Android 12 se standardním ovladačem oproti novějšímu ovladači ze Snapdragonu 8 Gen 1:
Docela fascinující, že? Nezapomínejte však na kompromis mezi objektivitou a relevantností. Instalace aktualizovaného ovladače GPU s přístupem root má své výhody, ale určitě má také svá úskalí. Není to určeno pro začátečníky, navíc manipulace se zařízením může zneplatnit záruku. Pro začátek potřebujete odemčený bootloader, což nemusí být možné ve všech scénářích.
Závěr
Vzhledem k alternativám pro scénu modifikace ovladačů GPU pro Android v minulosti je knihovna Adreno Tools fantastickým krokem vpřed, zejména pro svou bezkořenovou povahu. Těšíme se na to, jak se projekt v budoucnu rozroste a dospěje. Určitě to vyzkoušejte a dejte nám vědět, co si myslíte v komentářích!
Zdroj:Esper