Завдяки інструментам Adreno тепер ви можете оновити графічний драйвер на своєму пристрої Android без кореневого доступу. Читайте далі, щоб дізнатися більше!
Веб-сайти, орієнтовані на смартфони, як правило, зосереджуються лише на найновіших пристроях, але значна частина користувачів з тих чи інших причин не оновлює свої телефони. За винятком апаратної несправності, багато з цих пристроїв ще можуть мати роки використання попереду, тому що, на думку їхніх власників, вони все ще працюють чудово. Поки призначені для користувача ПЗУ може підтримувати життя застарілих смартфонів протягом багатьох років, для моддерів може бути кошмаром підтримувати такі речі, як камера та графічні драйвери, без офіційної підтримки виробника.
Оновлення драйверів GPU на Android
На відміну від екосистеми смартфонів, оновлення графічного драйвера на вашому ПК це те, про що завжди можна думати. Це можливо завдяки модульній архітектурі драйверів апаратного забезпечення ПК, яка дозволяє досвідченим користувачам повозитися з закритими пакетами драйверів або навіть вибрати драйвери з відкритим кодом замість наданих OEM двійкові файли. Однак у випадку Android оновлення драйверів зазвичай надходять на ваш телефон лише разом із більшими оновленнями ОС.
Оновлювані драйвери GPU можуть стати в нагоді для виправлення помилок, покращення продуктивності графіки або додавання нових функцій із API OpenGL або Vulkan. в наші дні, Смартфони стали більшими та швидшими, ніж будь-коли, що робить їх ідеальним транспортним засобом для ігор, тому перенесення дизайну драйверів у стилі ПК на них дійсно робить сенс.
Фактично, намагаючись модульувати Android через Project Treble, Google дійсно зробив це можливим щоб обернути графічний драйвер для певної платформи як додаток і оновити його через Play Магазин. Відтоді кілька основних виробників Android співпрацювали з Google і основними постачальниками GPU, зокрема ARM і Qualcomm, щоб поширювати оновлення для драйверів GPU своїх телефонів незалежно від більших випусків програмного забезпечення.
Чи зменшує фрагментацію оновлюваний графічний драйвер?
Так, певною мірою. Тим не менш, кілька хвилюючих питань досі залишаються без відповіді. По-перше, механізм Google не забезпечує простого способу заміни драйвера постачальника із закритим вихідним кодом пропозицією третьої сторони з відкритим кодом. Ви, звичайно, можете вручну замінити пакет драйверів у розділі постачальника цільового пристрою, якщо у вас є кореневий доступ і якимось чином отримати необхідні файли, але це не ідеальне рішення для багатьох.
Далі йде парадокс «стабільність проти покращення». Android підтримує ієрархічну структуру, коли справа доходить до завантаження графічного драйвера. Хоча можна перемикатися між встановленою на заводі збіркою та новішою оновленою версією за допомогою Налаштування виробника => Параметри графічного драйвера на основі окремої програми, це зрештою зводиться до рішення OEM, коли просувати оновлення графічного драйвера. У результаті кінцевий користувач не може використовувати новітні збірки драйверів безпосередньо від виробника SoC, оскільки OEM-виробники все ще відповідають за розгортання оновлень.
Як згадувалося раніше, оновити драйвери графічного процесора можливо з root-доступом, але ніщо не може зрівнятися з некореневим методом. Дякуємо старшому члену XDA підзаконні акти, тепер у нас є геніальне рішення під назвою Інструменти Adreno що дозволяє миттєво модифікувати або замінювати драйвер графічного процесора на Android — і це теж без root! Досвід розробника портування Android на Nintendo Switch, безсумнівно, відіграв вирішальну роль у цій затії, оскільки весь проект бере свій початок у Skyline, незавершений емулятор Nintendo Switch для Android з відкритим кодом.
Другий розробник Skyline Марка «Pixelylon» подав ідею заміни диска під час виконання підзаконні акти, який зрештою матеріалізувався в Adreno Tools. Оскільки Adreno Tools є бібліотекою без коренів, вона може допомогти будь-якій звичайній програмі завантажувати власні драйвери GPU, мати справу з текстурами BCn і перенаправляти операції з файлами для подальші складні модифікації сімейства графічних процесорів Qualcomm Adreno. Це робиться шляхом підключення до системних бібліотек і плавної заміни нових водій. Примітно, що ще немає підтримки графічних процесорів Mali.
Оскільки немає обмежень щодо походження драйвера, ентузіасти також можуть завантажувати драйвери сторонніх розробників за допомогою Adreno Tools. Це особливо корисно для тих, хто хоче випробувати Turnip — відкритий драйвер Vulkan для графічного обладнання Qualcomm Adreno, який підпадає під Freedreno парасолька. Наприклад, AetherSX2, емулятор PlayStation 2 для Android уже використовує інструменти Adreno, щоб надати кінцевим користувачам вибрати ріпу замість драйвера OEM для кращої продуктивності.
Інструменти Adreno на GitHub
Яку користь я маю від цього?
Майте на увазі, що проект Adreno Tools поставляється як бібліотека програмного забезпечення. Це означає, що ви не можете знайти попередньо скомпільований файл APK, який чарівним чином дає змогу використовувати стек зовнішніх графічних драйверів у всій системі. Натомість розробник повинен включити бібліотеку у свій проект, щоб його програма могла пропонувати можливість завантаження файлів оновленого графічного драйвера або сторонньої альтернативи без root-прав доступу. Саме так зараз розробники Skyline і AetherSX2 використовують інструменти Adreno.
З точки зору кінцевого користувача, самі по собі інструменти Adreno не можуть усунути всі обмеження реалізації драйвера графічного процесора Android. Це лише інструмент для спільноти розробників, щоб обійти деякі з найбільших перешкод, пов’язаних з оновленням графічних драйверів на пристроях Android — і все. Ви можете отримати переваги лише через програму, але для загальносистемного ручного оновлення драйвера все одно потрібен доступ root.
Що я можу зробити, якщо у мене є root?
Якщо ви досвідчений користувач із пристроєм із root-доступом, ви можете виконати загальносистемну примусову інсталяцію оновленої збірки графічного драйвера на вашому пристрої. Для цього вам потрібно витягнути файли драйвера BLOB (Binary Large OBject), які містять попередньо запаковані двійкові файли програмного забезпечення для взаємодії з графічним процесором, з оновленого пакета мікропрограми. Ви можете використовувати мікропрограму з іншого пристрою, але драйвер має відповідати тому самому сімейству GPU цільового пристрою.
Після вилучення необхідних файлів ви можете запакувати їх як модуль Magisk і встановити його на цільовому смартфоні, щоб замінити наявні драйвери постачальника безсистемним способом. Звичайно, процес дещо складніший, ніж здається. Можливо, вам доведеться подбати про несумісність інтерфейсу між застарілими та оновленими драйверами, для чого знадобиться прокладка.
«Шимувати» означає «вклинювати (щось) або заповнювати простір». Фактично це те, що робить розробник написання прокладки — вони додають додаткові коди, щоб дозволити BLOB взаємодіяти з платформою, якою вони є працювати з. На щастя для наших читачів, розробник підзаконні акти вже написав прокладку, щоб подолати розрив між різними версіями драйверів Adreno, і ви можете знайти готові до використання флеш-драйвери OpenGL і Vulkan для Адрено 500 і Адрено 600 сімейства GPU на наших форумах.
Цікаво дізнатися про переваги встановлення оновленого графічного драйвера вручну? Мішал Рахман з Esper поділився цікавим порівнянням продуктивності GPU в 3DMark із Snapdragon Google Pixel 3 XL із процесором 845 і Android 12 зі стандартним драйвером порівняно з новішим драйвером від Snapdragon 8 Gen 1:
Досить захоплююче, чи не так? Але не забувайте про компроміс між об’єктивністю та релевантністю. Хоча встановлення оновленого драйвера графічного процесора з кореневим доступом має свої переваги, але, безперечно, також має свої підводні камені. Він не призначений для початківців, до того ж, якщо ви користуєтеся пристроєм, гарантія може стати недійсною. Для початку вам потрібен розблокований завантажувач, що може бути неможливим у всіх сценаріях.
Висновок
Враховуючи альтернативи для сцени модифікації драйверів GPU Android у минулому, бібліотека інструментів Adreno є фантастичним кроком вперед, особливо з огляду на її безкореневу природу. Ми з нетерпінням чекаємо, як проект розвиватиметься та розвиватиметься в майбутньому. Обов’язково спробуйте і повідомте нам свою думку в коментарях!
Джерело:Еспер