このプロジェクトについて
chromebook-fixerは、メインストリームのLinuxディストリビューションを実行するChromebook向けのハードウェア有効化修正を収集するユーザー単位のユーティリティです。これらのディストリビューションでは、カメラ、センサー、オーディオ、電源の動作がChromeOSファームウェアのバイナリやベンダーカーネルツリーに依存することがよくあります。また、タッチ駆動のGRUBフロントエンドであるNightfall Boot Managerのインストールと設定も行います。
このツールの特徴は、すべての修正が検出に基づいてゲートされていることです。`detect.sh`は、何かを変更する前に問題が実際にマシンに存在するかどうかを判断し、`verify.sh`は修正自体のマーカーが配置されているかどうかをチェックします。これは「症状が消えた」こととは意図的に区別されており、上流の修正やパッケージのアップグレードが修正を静かに上書きした場合に可視化されます。
21の修正がサブシステムごとにグループ化されて出荷されています:IPU3カメラスタック(IOMMUパススルー、ImgU grableak、VCMオートフォーカス、向き)、画面/輝度/回転(加速度計、バックライト権限、自動回転、AUXおよびDPCDによるパネル輝度、タブレットモードスイッチ、タッチ再開リバインド)、オーディオAVS DSP、ECボタンポーリング、GNOMEのロック画面にブリッジされたChromeOS指紋リーダー、Nightfallブートマネージャーのインストールとデフォルト設定、Waydroidフック/netfilter/USB、zramスワップ。
使用法は明確です:`status`はマシンが必要とするものを表示し、`list -v`はすべての修正を説明し、`apply <id>`は1つをインストールし、`verify`はそれをチェックし、`revert`はそれを元に戻します。高リスクの修正には、確認のために修正IDの入力が必要です。`--kernel`フラグは、モジュールビルド修正用に特定のインストール済みカーネルを対象とします。名前で要求され、検出によって確認されない限り、何も適用されません。
Nightfall管理は、ブートメニューのタイムアウト(NightfallおよびGRUB)、回転とスプラッシュ設定、BobZKernel tarballからのカーネルインストール、デフォルトカーネルの選択、カーネル削除、バックアップの表示/削除(Pixel Slateのみ)をカバーします。`update`コマンドはツールのgitチェックアウトを早送りし、Nightfallをその場で再ビルドでき、`.previous`ロールバックペアを保持します。
READMEはリスクについて異常なほど率直です:修正は低レベルの変更(ライブラリの置き換え、udevルールの編集、他のパッケージのファイルへのパッチ適用、カーネル動作の変更)を行い、一部はカーネルパニックやログへの記録なしにマシンをハードロックさせる可能性があります。これはGoogle Nocturne(Pixel Slate)という1台のマシンでのみ開発・テストされており、各修正の`danger`フィールドは一般的な注意ではなく観察された動作から書かれています。Nightfall自体は例外で、GRUBを備えた任意のx86-64-v2 PCで提供され、Pixel SlateとLenovo LOQでエンドツーエンドでテストされています。
修正はデータ駆動型です:各修正は`fix.yaml`メタデータ(カテゴリ、リスク、DMIに対する`applies_to`正規表現、`reverts_cleanly`、`danger`)と最大4つのスクリプトを持つディレクトリです。新しいモデルのサポート追加は、書き直しではなく、検出スクリプトとデータです。プロジェクトはGPL-3.0-or-laterで、Pixel Slate以外のモデルへの貢献を歓迎します。
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.