Adreno Tools を使用すると、root を使わずにスマートフォンで最新のグラフィック ドライバーを簡単に使用できるようになります

Adreno Tools のおかげで、root アクセスなしで Android デバイスのグラフィックス ドライバーを更新できるようになりました。 さらに詳しく知りたい方は続きをお読みください。

スマートフォン向けの Web サイトは最新のデバイスのみに焦点を当てる傾向がありますが、大部分のユーザーは何らかの理由で携帯電話をアップグレードしないことを選択しています。 ハードウェア障害がなければ、これらのデバイスの多くは、所有者にとってはまだ問題なく動作するため、まだ何年も使用できる可能性があります。 その間 カスタムROM レガシースマートフォンは何年も生き続けることができますが、メーカーの公式サポートなしでカメラやグラフィックドライバーなどを最新の状態に保つことは、改造者にとって悪夢になる可能性があります。

Android での GPU ドライバーの更新

スマートフォンのエコシステムとは異なり、 PC のグラフィックス ドライバーを更新する いつでも考えられることです。 これは、PC ハードウェア ドライバーのモジュラー アーキテクチャにより可能になり、パワー ユーザーは クローズド ソース ドライバー パッケージをいじったり、OEM が提供するドライバーの代わりにオープンソース ドライバーを選択したりすることもできます。 バイナリ。 ただし、Android の場合、ドライバーのアップデートは通常、大規模な OS アップデートと一緒にのみ携帯電話に提供されます。

更新可能な GPU ドライバーは、バグの修正、グラフィックス パフォーマンスの向上、または OpenGL または Vulkan API からの新機能の追加に役立ちます。 最近では、 スマートフォンはかつてないほど大きくて高速になっており、ゲームに最適な乗り物となっているため、PC 風のドライバー設計をスマートフォンに移植することは可能です。 センス。

実際のところ、Project Treble を通じて Android をモジュール化する取り組みの中で、Google は実際にそれを可能にしました。 特定のプラットフォーム用のグラフィックス ドライバー セットをアプリとしてラップし、Play を通じて更新します。 店。 それ以来、いくつかの主流 Android OEM は、Google や ARM や Qualcomm などの主要 GPU ベンダーと協力して、 携帯電話の GPU ドライバーのアップデートを配布する 大規模なソフトウェア リリースから独立しています。

更新可能なグラフィックス ドライバーの設計により、断片化が軽減されますか?

はい、ある程度は。 それにもかかわらず、いくつかの懸念すべき疑問が依然として未解決のまま残されています。 まず、Google のメカニズムでは、クローズドソース ベンダーのドライバーをサードパーティのオープンソース製品に置き換える簡単な方法が提供されていません。 もちろん、ターゲット デバイスのベンダー パーティションにあるドライバー パッケージを手動で置き換えることもできます。 ルートアクセス そして何らかの方法で必要なファイルを入手しますが、それは多くの人にとって理想的な解決策ではありません。

次に、安定性と強化のパラドックスが起こります。 Android は、グラフィックス ドライバーをロードする際に階層構造を維持します。 工場出荷時にインストールされたビルドと新しく更新されたリリースを切り替えるには、次のコマンドを使用します。 開発者向けオプション => グラフィックドライバーの設定 アプリごとに考えると、最終的にはグラフィックス ドライバーのアップデートをいつプッシュするかは OEM の決定になります。 その結果、OEM がアップデートをロールアウトする責任を負っているため、エンドユーザーは SoC メーカーから直接ビルドされた最先端のドライバーを利用することができません。

前述したように、GPU ドライバーの更新は root アクセスでも可能ですが、root 以外の方法に勝るものはありません。 XDA シニアメンバーに感謝 細則という天才的なソリューションが完成しました。 Adreno ツール これにより、Android 上で GPU ドライバーをその場で変更または置き換えることができます。これも root なしで行うことができます。 Android を Nintendo Switch に移植するという開発者の経歴は、プロジェクト全体の起源がこの事業において確かに重要な役割を果たしました。 スカイラインは、オープンソースで開発中の Android 用 Nintendo Switch エミュレータです。

Skyline の開発者仲間 マーク「ピクセルリロン」 ランタイムドライブの交換というアイデアを提案しました 細則、最終的には Adreno Tools として具体化されました。 ルートレス ライブラリである Adreno Tools は、通常のアプリがカスタム GPU ドライバーをロードし、BCn テクスチャを処理し、ファイル操作をリダイレクトするのに役立ちます。 クアルコムの Adreno ファミリの GPU にはさらに複雑な変更が加えられています。 これは、システム ライブラリにフックし、新しいライブラリをシームレスに交換することで実現されます。 運転者。 特に、Mali GPU はまだサポートされていません。

ドライバーの発行元に制限がないため、愛好家は Adreno Tools を通じてサードパーティのドライバーを読み込むこともできます。 これは、Turip (Qualcomm Adreno グラフィックス ハードウェア用のオープンソース Vulkan ドライバー) を試してみたい人に特に役立ちます。 フリードレノ 傘。 例えば、 エーテルSX2、Android 用 PlayStation 2 エミュレータはすでに Adreno Tools を利用してエンドユーザーに カブを選ぶという選択肢 パフォーマンスを向上させるために、OEM ドライバーの代わりに使用します。

GitHub の Adreno ツール

この恩恵を受けるにはどうすればよいでしょうか?

Adreno Tools プロジェクトはソフトウェア ライブラリとして出荷されることに注意してください。 これは、システム全体で外部グラフィックス ドライバー スタックを使用できるようにする、魔法のようにコンパイル済みの APK ファイルが見つからないことを意味します。 代わりに、アプリが提供できるように、開発者はライブラリをプロジェクトに組み込む必要があります。 更新されたグラフィックス ドライバー ファイルまたはサードパーティの代替ファイルを root なしでロードする機能 アクセス。 これはまさに、Skyline と AetherSX2 の開発者が現在 Adreno Tools を活用している方法です。

エンドユーザーの観点から見ると、Adreno Tools だけでは Android の GPU ドライバー実装の制限をすべて解決することはできません。 これは、開発者コミュニティが Android デバイスのグラフィックス ドライバーの更新における最大の障害のいくつかを回避するためのツールにすぎません。それだけです。 このメリットを享受できるのはアプリを通じてのみですが、システム全体のドライバーを手動で更新するには依然として root アクセスが必要です。

root を持っている場合はどうすればよいですか?

root 化されたデバイスを使用するパワー ユーザーの場合は、デバイス上で更新されたグラフィックス ドライバー ビルドをシステム全体に強制インストールすることができます。 これを行うには、更新されたファームウェア パッケージから、GPU と対話するための事前にパッケージ化されたソフトウェア バイナリを含むドライバー BLOB (Binary Large OBject) ファイルを抽出する必要があります。 別のデバイスのファームウェアを使用することもできますが、ドライバーはターゲット デバイスの同じ GPU ファミリに対応している必要があります。

必要なファイルを抽出した後、それらを Magisk モジュールとしてパックし、対象のスマートフォンにインストールして、システムレスな方法で既存のベンダー ドライバーを置き換えることができます。 もちろん、このプロセスは思っているよりも少し複雑です。 従来のドライバーと更新されたドライバーの間のインターフェイスの非互換性に対処する必要がある場合があり、これにはシミングが必要になります。

「シム」とは、「(何かを)押し込むか、スペースを埋める」ことです。 これは事実上、開発者が行うことです。 シムの書き込み - BLOB がプラットフォームとインターフェースできるようにするためのコードを追加します。 一緒に働く。 読者の皆様、開発者の皆様にとって幸いなことに 細則 さまざまな Adreno ドライバー リビジョン間のギャップを埋めるための shim がすでに書き込まれており、すぐに使用できるフラッシュ可能な OpenGL および Vulkan ドライバーを見つけることができます。 アドレノ500 そして アドレノ600 フォーラムの GPU ファミリ。

更新されたグラフィックス ドライバーを手動でインストールする利点について知りたいですか? Esper の Mishaal Rahman 氏は、3DMark における Snapdragon の GPU パフォーマンスの興味深い比較を共有しました。 845 搭載の Google Pixel 3 XL で Android 12 を実行し、ストック ドライバーと Snapdragon 8 の新しいドライバーを使用する場合 第 1 世代:

とても魅力的ですね。 ただし、客観性と関連性の間のトレードオフを忘れないでください。 root アクセスを使用して更新された GPU ドライバーをインストールすることには利点もありますが、落とし穴も確かにあります。 初心者向けではなく、デバイスをいじると保証が無効になる可能性があります。 まずロックを解除したブートローダーが必要ですが、これはすべてのシナリオで実現できるわけではありません。

結論

過去の Android GPU ドライバー改造シーンの代替手段を考えると、Adreno Tools ライブラリは、特にその根無し草の性質において素晴らしい前進です。 プロジェクトが今後どのように成長し、成熟していくのかを楽しみにしています。 ぜひ試してみて、コメントでご意見をお聞かせください。


ソース:超能力者