この記事では、Raspberry Pi OS (Raspberry Pi 4 用) で実行されている Chromium ブラウザーでハードウェア アクセラレーションを有効にする方法について説明します。
GPU アクセラレーションを有効にすると、サポートされている動画 (YouTube など) を再生するときの CPU 負荷が大幅に低下します。私の場合、Raspberry Pi 4 Model B を使用したメインの Chromium GPU およびレンダラー プロセスは、ハードウェア アクセラレーションが有効になった後、CPU 使用率が ~ 160% および ~ 130% から ~ 30% および 23% 未満 (htop による) になりました。余談ですが、これは近日中に執筆予定の記事の要件です。
Raspberry Pi OS には、Raspberry Pi 4 でハードウェア アクセラレーションを使用して Chromium を実行するために必要なすべてが含まれていますが、そのままでは機能しません。 Raspberry Pi 4 の場合、追加のパッケージをインストールしたり、OpenGL をアクティブにしたりする必要はありません。これらは既にアクティブになっているためです。必要なのは、いくつかの Chromium ブラウザー フラグを有効にすることだけです。以下には、ハードウェア アクセラレーションによるフル スクリーン ビデオの再生時に発生する画面のティアリングの「修正」もあります。
これを Raspberry Pi 4 Model B (Raspberry Pi OS を使用) でテストしたので、これが機能することだけを確認できます。これに対応して、古い Raspberry Pi モデルでは raspi-config を使用して偽/完全な KMS で OpenGL を有効にする必要がある場合があります (古いモデルで追加の手順が必要かどうかはわかりません)。これは Raspberry Pi 4 には必要ありません。
ただし、これは Raspberry Pi 4 Model B でしかテストできず、自分でテストできないことについては記事を書きたくないので、Raspberry Pi 4 とその手順のみに焦点を当てます。
Raspberry Pi OS (Raspberry Pi 4) で実行されている Chromium ブラウザでハードウェア アクセラレーションを有効にする
Raspberry Pi OS (Raspberry Pi 4) で実行されている Chromium ブラウザーでハードウェア アクセラレーションを有効にするには、次の 3 つの手順を実行します (2.5 に似ています)。
1. Chromium ブラウザでハードウェア アクセラレーションを有効にします。
chrome://flags
で次のフラグを有効にします :
- ソフトウェア レンダリング リストの上書き:
chrome://flags/#ignore-gpu-blocklist
- ハードウェア アクセラレーション ビデオ デコーディング
chrome://flags/#enable-accelerated-video-decode
- GPU ラスタライズ:
chrome://flags/#enable-gpu-rasterization
完了したら Chromium を再起動してください。
2. h264ify Chromium 拡張機能が有効になっていることを確認してください。
Raspberry Pi OS の Chromium には、デフォルトで uBlock origin と h264ify 拡張機能がインストールされています。 YouTube が h264 でエンコードされたビデオを使用するように、h264ify が有効になっていることを確認してください。これは、Raspberry Pi がハードウェア アクセラレーションによるビデオ デコードをサポートするためです。
3.オプション:全画面表示のビデオ ティアリングを修正します。
全画面表示のビデオ ティアリングを修正する方法 (上記の修正) では、コンポジターを無効にする必要があります。これを行うには、Raspberry Pi でターミナルを開き、次のコマンドを実行してコンソール バージョンの Raspberry Pi Software Configuration Tool を実行します。
sudo raspi-config
Up
を使用 / Down
メニューと Tab
をナビゲートする矢印キー Finish
のようなボタンを選択するには 、 OK
または Back
.コンポジターを無効にするには、Advanced Options -> Compositor
に移動します No
を選択します 無効にします。
完了したら、Finish
を選択します システムを再起動してください。
それだけです。これで、Chromium Web ブラウザがハードウェア アクセラレーションになり、ハードウェア アクセラレーションによるビデオ デコードを実行できるようになりました。
関連:Debian、Ubuntu、または Linux Mint 上の Google Chrome、Brave、Vivaldi、および Opera ブラウザでハードウェア アクセラレーション ビデオ デコーディングを有効にする方法
Chromium ブラウザがハードウェア アクセラレーションされているかどうかを確認する方法
Chromium ブラウザがハードウェア アクセラレーションを使用しているかどうかを確認するには、chrome://gpu
にアクセスしてください。 クローム:
ハードウェア アクセラレーションが有効になっている場合、ハードウェア アクセラレーションに関連するすべてのフィールドが緑色で表示されます。
これは、上記のフラグがアクティブ化される前の状態です (つまり、下のスクリーンショットでは、ハードウェア アクセラレーションはアクティブ化されていません):
ハードウェア アクセラレーション ビデオ デコーディングが Chromium で動作しているかどうかを確認する方法 、YouTube ビデオを再生してから Ctrl + Shift + i
を押します Chrome DevTools が開きます。次に、Chrome DevTools の右上隅にある 3 つの縦のドット メニューをクリックし、More tools -> Media
を選択します。 :
新しい Media
では [DevTools] タブで、左側の YouTube ビデオ (Players
の下) をクリックします。 ) 次に Properties
を確認してください サブタブが選択され、Video Decoder
まで下にスクロールします セクション。 Raspberry Pi OS の Chromium 88+ では、Decoder name
値は MojoVideoDecoder
でなければなりません ハードウェア アクセラレーション ビデオ デコーディングが有効で動作している場合。 Chromium 86 (バージョン 87 についてはわかりません) までは、デコーダーは MmalVideoDecoder
と呼ばれていました ハードウェア アクセラレーションによるビデオ デコーディングが有効で動作している場合。
また、CPU 使用率がはるかに低いこともわかるはずです。 B. YouTube で 1080p ビデオを再生する場合。
Raspberry Pi OS で実行されている Chromium ブラウザで Widevine を有効にして、Netflix、Amazon Prime、Hulu などを再生することもできます。