GNU/Linux >> Linux の 問題 >  >> Debian

Ubuntu または Linux Mint の Chromium でハードウェア アクセラレーションを有効にする方法 (VA-API パッチを適用した PPA ビルド)

Linux の Google Chrome または Chromium ブラウザで Youtube やその他の同様の Web サイトの HD ビデオを視聴すると、CPU 使用率が大幅に増加し、ラップトップを使用するとかなり熱くなり、バッテリーが非常に速く消耗することに気付いたかもしれません。これは、Chrome/Chromium (Firefox もそうですが、強制する方法はありません) が Linux でハードウェア アクセラレーションによるビデオ デコーディングをサポートしていないためです。

この記事では、Linux で VA API を有効にし、GPU アクセラレーション ビデオ デコーディングのサポートを追加するパッチを含む Chromium ベータ版または開発版をインストールする方法について説明します。これにより、オンラインで HD ビデオを視聴する際の CPU 使用率が大幅に減少します。私はこれを試すための ATI/AMD グラフィックス カードを持っておらず、そのようなグラフィックス カードの経験がないため、このガイドでは Intel および Nvidia グラフィックス カードのみを対象としていますが、私が読んだ限りでは、ATI/AMD グラフィックスでも動作するはずです。 .

これは Ubuntu (18.04) リポジトリの Chromium で、GPU アクセラレーションによるビデオ デコードを使用せずに 1080p の YouTube ビデオを再生しています:

Ubuntu 18.04 で VA API パッチとハードウェア アクセラレーション ビデオ デコードを使用して Chromium で再生されている同じ 1080p YouTube ビデオ:

スクリーンショットの CPU 使用率に注意してください。どちらのスクリーンショットも、私の古いデスクトップで撮ったものですが、それでも非常に強力です。私のラップトップでは、ハードウェア アクセラレーションを使用しないと、Chromium の CPU 使用率がはるかに高くなります。

Linux 上の Chromium に VA API サポートを追加するパッチは、「Linux 上の VAVDA、VAVEA、および VAJDA を VAAPI のみで有効にする」というタイトルです。 ' はもともと 1 年以上前に Chromium に提出されましたが、まだマージされていません。

Chrome には、ソフトウェア レンダリング リストを上書きするオプションがあります (#ignore-gpu-blacklist )、ただし、このオプションでは、ハードウェア アクセラレーションによるビデオ デコードは有効になりません。このオプションを有効にすると、次のように表示される場合があります:chrome://gpu :「ビデオ デコーディング:ハードウェア アクセラレーション 'しかし、それは実際に機能するという意味ではありません. YouTube で HD ビデオを開き、htop などのツールで CPU 使用率を確認します。 (これは、上のスクリーンショットで CPU 使用率を確認するために使用しているものです) - GPU ビデオ デコードが有効になっていないため、CPU 使用率が高くなるはずです。 以下のセクションでは、ハードウェア アクセラレーションによるビデオ デコーディングを実際に使用していることを確認できます。 [[編集]]それはもはや真実ではありません。 Google Chrome およびその他の Chromium ベースの Web ブラウザーは、デフォルトで VA API サポートを提供するようになりました。ただし、デフォルトでは有効になっていません。詳細については、以下を参照してください:Debian、Ubuntu、または Linux Mint 上の Google Chrome、Brave、Vivaldi、および Opera ブラウザーでハードウェア アクセラレーションによるビデオ デコーディングを有効にする方法


この記事で使用する VA API 対応の Chromium Ubuntu ビルドで使用されるパッチは、こちらから入手できます。

追加の利点として、PPA がインストールされた VA API で Chromium を使用すると、Ubuntu がデフォルトでプッシュした新しい標準の Snap Chromium ビルドの代わりに、Ubuntu でネイティブ Chromium ビルド (実際の DEB パッケージ) が得られます。

Ubuntu または Linux Mint で VA API をサポートする Chromium ブラウザをインストールして使用する

これを読んでいる人なら誰でも、Chromium Beta または Dev Branch が安定していないと見なされていることは明らかです。そのため、バグを見つけたり、クラッシュしたりすることができます。現時点では問題なく動作しますが、更新後に何が起こるかは誰にもわかりません。以下にリストされている PPA を使用すると、現在の安定した Chromium インストールが上書きされます (既にインストールされている場合)。

さらに、この記事で使用されている Chromium Beta および Dev Branch PPA リポジトリで、Widevine サポートを有効にする場合は、追加の手順が必要です (Netflix の動画や有料の YouTube 動画などを再生できるようにするため)、同期などの機能が必要な場合 (これには、API キーを登録してシステムに設定する必要があります)。これらの調整を実行するための手順は、Chromium Dev Branch PPA ラベルに記載されています。

Nvidia グラフィックスの場合、vdpau グラフィックス ドライバーを更新して、vaQuerySurfaceAttributes を実装する必要があります。そのため、Nvidia でこれを使用するには、パッチを適用した vdpau-va ドライバーが必要です。幸いなことに、Chromium-dev PPA はこのパッチが適用されたパッケージを提供します。ベータ PPA を使用する場合に備えて、手動でダウンロードできるようにリンクします。

VA API パッチを適用した Chromium は、サード パーティのリポジトリにある他の Linux ディストリビューションでも利用できます。 Ubuntu または Linux Mint を使用していない場合は、これらのパッケージを自分で見つける必要があります。

1. VA API をサポートする Chromium 用の PPA を追加します。

VA API をサポートする Chromium は、2 つの PPA リポジトリで利用できます。1 つは Chromium Beta で、もう 1 つは Chromium Dev です。2 つのうちの 1 つを選択してください (1 つだけを追加してください)。ベータ PPA はより安定するはずです。

Chrome ベータ ブランチ PPA を追加するには Ubuntu、Linux Mint および Ubuntu、または Xubuntu、Kubuntu、Ubuntu MATE、Lubuntu、Linux Mint MATE などの Linux Mint フレーバーに Chromium ブラウザーをインストールします。

sudo add-apt-repository ppa:saiarcot895/chromium-beta

Chrom 開発ブランチ PPA を追加できます そして、最新の Chromium ブラウザー開発ビルドを Ubuntu または Linux Mint (および、Xubuntu、Kubuntu、Ubuntu MATE、Linux Mint MATE などの Ubuntu または Linux Mint フレーバーと同様に、基本的なものを含む他の Ubuntu ベースの Linux ディストリビューション) にインストールします。

sudo add-apt-repository ppa:saiarcot895/chromium-dev

2. PPA を優先度 1001 で修正してください。

PPA の Chromium バージョンは、Ubuntu の更新によって上書きされる可能性があります。これを回避するために、Chromium VAAPI PPA パッケージに 1001 の優先度を割り当てることができます (ここで、500 は Ubuntu の標準であり、> 1000 はダウングレードしてもパッケージがインストールされることを意味します)。すべての Ubuntu の更新であり、システムのバージョンが新しい場合でもインストールできます。これは次のように行います。

  • ベータ PPA の場合:

これをターミナルで実行します:

sudo nano /etc/apt/preferences.d/saiarcot895-chromium-beta-pin-1001

以下を貼り付けます:

Package: *
Pin: release o=LP-PPA-saiarcot895-chromium-beta
Pin-Priority: 1001

ファイルを保存して終了します(nano save with Ctrl + o 、その後 Ctrl + x で終了します ).

  • 開発 PPA の場合:

これをターミナルで実行します:

sudo nano /etc/apt/preferences.d/saiarcot895-chromium-dev-pin-1001

以下を貼り付けます:

Package: *
Pin: release o=LP-PPA-saiarcot895-chromium-dev
Pin-Priority: 1001

ファイルを保存して終了します(nano save with Ctrl + o 、その後 Ctrl + x で終了します ).

3. Saiarcot895 (VA-API) PPA から Chromium ブラウザーをインストールします。

sudo apt update
sudo apt install chromium-browser

4. VA API ドライバーをインストールする

Intel グラフィックス カード Gen 7 以前の場合、i965-va-driver-shaders が必要です。 パッケージ (既にインストールされている可能性があります):

sudo apt install i965-va-driver-shaders

Intel Graphics Gen 8 以降の場合:

sudo apt install intel-media-va-driver-non-free

Nouveau および AMD ドライバーの場合 (私は AMD グラフィックスを持っていないので、これを試すことはできません。Nouveau ではうまくいかなかったので、専用の Nvidia ドライバーを使用する必要がありましたが、おそらくうまくいくでしょう) :
sudo apt install mesa-va-drivers
プロプライエタリ ドライバーを使用する Nvidia グラフィック カードの場合、パッチを適用した vdpau-va-driver が必要です。 Chromium Dev PPA から。 Chromium Dev PPA を追加したら、次のコマンドでインストールできます (20.04 までの Ubuntu バージョンの場合):

sudo apt install vdpau-va-driver

Ubuntu 20.10 または 21.04 を使用している場合 (このパッケージが PPA にアップロードされていない場合) 、パッチを適用した vdpau-va-driver をダウンロードできます ここから DEB パッケージ (libvdpau1 も必要) を手動でインストールします。 Ubuntu 20.04 だけでなく、20.10 および 21.04 でも動作します。

5. Chromium でハードウェア アクセラレーション ビデオ オプションを有効にします。

次をコピーして Chrome URL バーに貼り付けます:chrome://flags/#enable-accelerated-video-decode (または Hardware-accelerated video decode を検索します chrome://flags のオプション )、有効にします。 [[編集]]このフラグは、Chromium 91 以降では有効にする必要がなくなりました (フラグ リストでは使用できなくなりました)。 次に、ソフトウェア レンダリング リストを上書きする:chrome://flags/#ignore-gpu-blocklist もチェックします。 .完了したら、Chromium ブラウザを再起動します。

デフォルトの Google Chrome/Chromium ビルドでは、このオプションは利用できないと表示されますが、VA-API 対応の Chromium ビルドを使用したため、有効にできるようになりました。

6. h264ify クローム拡張機能をインストールします。この拡張機能が機能しない場合は、代わりに Enhanced-h264ify をインストールしてください。

YouTube (およびおそらく他のいくつかのサイトも) はデフォルトで VP8 または VP9 ビデオ コーデックを使用しており、多くの GPU はこのコーデックのハードウェア デコードをサポートしていません。 h264ify 拡張機能により、YouTube は、ほとんどの GPU がサポートするはずの VP8/VP9 の代わりに H.264 を使用するようになります。

この拡張機能は 60fps の動画もブロックできるため、ローエンドのコンピューターで役立ちます。

動画を右クリックして、YouTube 動画で使用されているコーデックを確認できます。 Stats for nerdsを選択 . h264ify 拡張機能を有効にすると、avc/mp4a がコーデックとして表示されます。この拡張子がないと、コーデックは vp09/opus のようになります。 [[編集]]Nvidia ユーザー: 上記のパッチを適用した vdpau-va ドライバーは、Chromium ベースのブラウザーで VP9 を高速化しなくなりました。そのため、h264ify 拡張機能を使用し、VP9 を避けてハードウェア アクセラレーションによるビデオ デコードを行う必要があります。--use-gl=desktop で Chromium ブラウザーを使用する必要があります。 ANGLE を無効にするフラグ。これがないと、ハードウェア アクセラレーションによるビデオ デコーディングは機能しません。 [[編集]]Chromium 91 以降では、VDAVideoDecoder も必要です フラグ。
したがって、次のように Chromium ブラウザを起動する必要があります:

chromium-browser --use-gl=desktop --enable-features=VaapiVideoDecoder
/usr/share/applications/ から Chromium デスクトップ ファイルをコピーできます。 ~/.local/share/applications/ へ 、その Exec を変更します このフラグを含める行。そうすれば、Chromium ブラウザーが起動すると、自動的にこのフラグが使用されます (更新によって上書きされることはありません):
cp /usr/share/applications/chromium-browser.desktop ~/.local/share/applications/

sed -i 's/Exec=chromium-browser %U/Exec=chromium-browser --use-gl=desktop --enable-features=VaapiVideoDecoder %U/' ~/.local/share/applications/chromium-browser.desktop

Chromium が GPU ビデオ デコードを使用しているかどうかを確認する方法

YouTube でビデオを開きます。次に Ctrl + Shift + i を押します Chrome DevTools を開きます。 3 つの縦の点のメニューから、More tools -> Media をクリックします。 .次に、DevTools の左側のパネルでビデオのタイトルをクリックします (Players セクション)、Video Decoder を調べます Media のセクション Chrome DevTools タブ:

デコーダー名が VideoDecode Accelerator であると表示された場合 または VDAVideoDecoder (以前は MojoVideoDecoder でした 、それ以前は GpuVideoDecoder でした 、したがって、これらのいずれかを取得し、古いブラウザー バージョンを使用している場合でも問題ありません。ハードウェア アクセラレーションがあります) と Hardware decoder true です 、ハードウェア アクセラレーションによるビデオ デコーディングを使用します。 FFmpegVideoDecoder と表示されている場合 、 VpxVideoDecoder または Dav1dVideoDecoder (この場合は Hardware decoder false と言うべきです ) お使いのウェブ ブラウザは、ハードウェア アクセラレーションによるビデオ デコーディングを使用していません。

動作しない場合は、chromium-browser を実行してデバッグを試みることができます コマンド ラインから VA API に関連するエラーが表示されるかどうかを確認します。 vainfo を実行することもできます (Ubuntu または Linux Mint にインストールします:sudo apt install vainfo ) と vdpauinfo (Nvidia の場合、Ubuntu または Linux Mint にインストールします:sudo apt install vdpauinfo )、エラーが発生するかどうかを確認してください。重要な注意:後で完全に白いビデオ画像が表示される場合(ただし、MojoVideoDecoder が表示される場合)は、chrome://flags を確認してください。 そこでVulkanがチェックされていないことを確認してください。 Vulkan が有効になっているが、起動時のブラウザが --use-gl=desktop の場合 オプションにより、これが発生します。

VA API パッチで Chromium を削除し、公式の安定した Ubuntu / Linux Mint Chromium ビルドを使用する方法

Chromium with VA API ビルドをシステムから完全に削除し、公式の Ubuntu / Linux Mint の安定した Chromium ブラウザー ビルドに戻したい場合は、PPA を削除できます。

PPA をクリーニングするには、次のようにインストールできる PPA クリーナー ユーティリティが必要です。

sudo apt install ppa-purge

次に、追加された Chromium PPA を削除します:

  • Chrome ベータ版 PPA:
sudo ppa-purge ppa:saiarcot895/chromium-beta

  • Chromium 開発 PPA:
sudo ppa-purge ppa:saiarcot895/chromium-dev

また、この PPA を固定するために使用した APT 設定ファイルを削除しましょう。これはもう何もしないからです:

sudo rm /etc/apt/preferences.d/saiarcot895-chromium-*-pin-1001


Debian

Debian10でのMuninとMonitによるサーバー監視

  1. PHPComposerをDebian11にインストールする方法

  2. Debian10にuTorrentをインストールする方法

  3. Debian11にGitをインストールして設定する方法

Debian11にOpenNMSネットワーク監視ソリューションをインストールする方法

  1. Linuxファイルのパーミッションを理解する

  2. Debian10バスターにJellyfinメディアサーバーをインストールする方法

  3. Debian11にTeamViewerをインストールする方法

WildflyアプリケーションサーバーをDebian11Bullseyeにインストールする方法

  1. Debian8でmod_pagespeedとMemcachedを使用してApacheを高速化する

  2. Debian 8(Jessie)でのMuninとMonitによるサーバー監視

  3. Debian11にSimulIDEをインストールする方法