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

Debian、Ubuntu、または Linux Mint 上の Google Chrome、Brave、Vivaldi、および Opera ブラウザでハードウェア アクセラレーションによるビデオ デコーディングを有効にする方法

Google Chrome 88 (およびそれ以降) では、ハードウェア アクセラレーションによるビデオ デコードが Linux で利用できるようになりましたが、デフォルトでは有効になっていません。ただし、Linux でハードウェア アクセラレーションをサポートする Chromium ベースの Web ブラウザーは、Google Chrome だけではありません。 この記事では、Debian、Ubuntu、Pop! で実行されている Google Chrome、Brave、Vivaldi、および Opera Web ブラウザでハードウェア アクセラレーションによるビデオ デコーディングを有効にする方法について説明します。 _OS、または Linux Mint (Xorg のみ)。

Web ブラウザでハードウェア アクセラレーションによるビデオ デコーディングを使用すると、オンライン ビデオを再生する際の CPU 使用率が低下します (したがって、バッテリの消耗も少なくなります)。

Chromium Web ブラウザーには、Linux でハードウェア アクセラレーションによるビデオ デコードをしばらくの間利用できるようにするパッチがあり、一部の Linux ディストリビューションにはこれらのパッチがパッケージ化されていることに注意してください。そのため、Chromium ユーザーは、Linux ディストリビューションに応じて、またはパッチを適用した Chromium を他の方法でインストールしたかどうかに応じて、しばらくの間 Linux でハードウェア アクセラレーションを使用していました。たとえば、Ubuntu / Linux Mint には、VA-API パッチが適用された Chromium ビルドを含む PPA があります。したがって、構造によっては、これらの手順が Chromium ブラウザでも機能する場合があります。

また、Debian / Ubuntu ベースの Linux ディストリビューションだけでなく、他の Linux ディストリビューションでもハードウェア アクセラレーションによるビデオ デコーディングを有効にする方法に関するこれらの手順を追加したいと思いますが、ドライバー名は異なります。

これらの手順は、Nvidia グラフィックスを搭載した Ubuntu 20.10 デスクトップでテストし、以下にリストされている Web ブラウザーを元の Ubuntu パッケージ (DEB パッケージ付き) でインストールしました。 Ubuntu 20.04 および 20.10 で Intel グラフィックス (第 10 世代) を搭載したラップトップでもテスト済みです。これをテストするための AMD グラフィックス デバイスを所有していません。

私のテストでは、ハードウェア アクセラレーションによるビデオ デコーディングを Linux で動作させることができました:

  • Google Chrome 安定版 88
  • 勇敢な厩舎 1.19
  • Vivaldi スナップショット 3.6 / [編集] 最新の Vivaldi Stable 3.6 も動作
  • オペラ ベータ 74

もちろん、新しいバージョン (Google Chrome 89、Brave 1.20 など) でも動作するはずです。

私にとって、ハードウェア アクセラレーションによるビデオ デコーディングは、次のものでは機能しませんでした:

  • Vivaldi 安定版 3.5 . Vivaldi Stable は現在バージョン 36 で、ハードウェア アクセラレーションによるビデオ デコーディングが機能しています
  • オペラ厩舎 73
  • Microsoft Edge – chrome://flags/#enable-accelerated-video-decode は 1 つもありません フラグ (ハードウェア アクセラレーション ビデオ デコーディングを有効にするため)。

--use-gl=egl を使用して、XWayland で VA API を使用できます。 コマンド ライン フラグ、まだ試していません . Google Chrome 91 (およびその他の Chromium 91 ベースのブラウザー) 以降では、--enable-features=VaapiVideoDecoder も必要です。 フラグ。

[[編集]]以下の手順に従って、--use-gl=egl でブラウザを使用してみました Intel グラフィックスとハードウェア アクセラレーション ビデオ再生を備えたラップトップで作業している Wayland のフラグ。ただし、このラップトップのビデオは、これらの設定ではぎくしゃくしています。したがって、この場合、私は Firefox ハードウェア アクセラレーション ビデオ再生を使用することを好みます (同じラップトップで Wayland と Firefox を使用すると、ビデオの再生はスムーズですが、CPU 使用率は Chromium ベースのブラウザーを使用する場合よりも高くなります)。

Debian、Ubuntu、または Linux Mint (X11) 上の Google Chrome、Brave、Vivaldi、および Opera Web ブラウザーでハードウェア アクセラレーション ビデオ デコーディングを有効にする方法

上記の Web ブラウザー (Google Chrome 88 以降、Brave 1.19 以降、Vivaldi 3.6 以降、Opera 74 以降) でハードウェア アクセラレーションによるビデオ デコーディングを有効にするために必要なもの:

1.次の Web ブラウザ フラグを有効にします:

Google Chrome 90 以前に基づくブラウザの場合:

  • ソフトウェア レンダリング リストの上書き:chrome://flags/#ignore-gpu-blocklist
  • ハードウェア アクセラレーション ビデオ デコーディング:chrome://flags/#enable-accelerated-video-decode

Google Chrome 91 以降に基づくブラウザの場合 (ハードウェア アクセラレーション ビデオ デコーディングはなくなりましたが、新しいコマンド ライン フラグを使用する必要があります。手順 4 を参照してください):

  • ソフトウェア レンダリング リストの上書き:chrome://flags/#ignore-gpu-blocklist

2. libva-drm2 および libva-x11-2 と同様に、VA API ドライバーをインストールして、メディア (ソース) をデコードできるようにします (これら 2 つはおそらく既にインストールされていますが、念のため; これら 2 つがないとハードウェア アクセラレーションが機能しないことに気付いた後、これら 2 つを後の編集で追加しました。依存関係としてこれら 2 つのパッケージに含まれている vainfo をインストールすると、そうなるでしょうか?作業開始):

  • Intel Gen 7 以前のハードウェアの場合:

sudo apt install i965-va-driver-shaders libva-drm2 libva-x11-2

  • Intel Gen 8+ ハードウェアの場合:

sudo apt install intel-media-va-driver-non-free libva-drm2 libva-x11-2

  • Nouveau および AMD ドライバーの場合 (Nouveau ドライバーでハードウェア アクセラレーションを使用するブラウザーを取得できませんでした。運が良ければよいでしょう):

sudo apt install mesa-va-drivers libva-drm2 libva-x11-2

  • 独自の Nvidia ドライバの場合 – リポジトリからインストールするか、独自の GPU ドライバー PPA を使用してインストールできます (たとえば、Ubuntu で [追加ドライバー] ダイアログを開始し、そこからインストールします)。 独自の Nvidia ドライバーを使用している場合は、パッチを適用したドライバーが必要です。あまりにも vdpau-va-driver ([[編集]]このパッチは VP9 をサポートしなくなりました。グラフィックがサポートしていても、いずれにしても h264ify 拡張機能を使用する必要があります。以下を参照してください)。ここから入手できます (libvdpau1 も必要です) vdpau-va-driver に依存しているため、ここから) Debian / Ubuntu / Linux Mint / Pop! _OS など そこからの Ubuntu 20.04 パッケージは、Ubuntu 20.10 以降でも動作します。このパッケージで使用されているパッチを確認したい場合は、(上記と同じリンクを使用して) .debian.tar.gz アーカイブをダウンロードし、「パッチ」フォルダを参照してください。これらの DEB が Debian で動作しない場合 (試したことはありません)、vdpau-va-driver (orig.tar.gz | debian.tar.xz) および libvdau (orig.tar.gz | debian.tar.xz) のリンクを使用してください。 debian.tar.xz) を使用して .orig.tar.gz および .debian.tar.xz アーカイブをダウンロードし、システムに DEB パッケージをビルドします。 libva-drm2 と libva-x11-2 もインストールします:sudo apt install libva-drm2 libva-x11-2

intel-media-va-driver のフリーではないバージョンの理由 と i965-va-driver ?理論的には、これは無料版 (?) で動作するはずですが、Intel Gen 10 ラップトップでの私のテストでは、ハードウェア アクセラレーションによるビデオ デコーディングは intel-media-va-driver-non-free でしか動作しませんでした。 ドライバーであり、intel-media-va-driver ではありません (i965 ドライバーについてはよくわかりませんが、似ているかもしれないと考えました)。他の誰かもここにいて、これが彼女にとってうまくいったと言っています.

3. VP9 ハードウェア ビデオ デコーディングをサポートしないグラフィック カードにのみ必要:h264ify ブラウザー拡張機能をインストールします。

お使いのグラフィック カードが VP9 ハードウェア ビデオ デコーディングをサポートしていない場合は、h264ify ブラウザ拡張機能 (または Enhanced-h264ify – 元の拡張機能では機能しないが、これで機能すると言うユーザーもいます。私にとっては逆です) をインストールして、 VP9 で有効化。

[[編集]]Nvidia ユーザー:上記のパッチを適用した vdpau-va ドライバーは、Chromium ベースのブラウザーで VP9 ハードウェアを加速しなくなりました。したがって、h264ify 拡張機能を使用し、VP9 を回避して、ハードウェア アクセラレーションによるビデオ デコードを取得する必要があります。

それでも MojoVideoDecoder im chrome://media-internals が表示されない場合 (以下のセクションを参照して、ハードウェア アクセラレーションによるビデオ デコーディングが有効になっており、実際にブラウザーで使用されていることを確認してください)、この拡張機能をインストールした後、Web ブラウザーを再起動してみてください。必要なケースとそうでないケースを見てきました。

4. --use-gl=desktop で Web ブラウザを起動します VA API ハードウェア アクセラレーションを有効にするフラグ。 [[編集] Chromium 91 以降に基づくブラウザの場合、それも --enable-features=VaapiVideoDecoder で開始する必要があります フラグ。

ビデオのデコードに VA API を使用するには、Web ブラウザー (Chromium、Google Chrome、Brave、Opera、Vivaldi など) を次のコマンド ライン フラグで起動する必要があります:--use-gl=desktop .その結果、Web ブラウザは OpenGL を使用し、レンダリング バックエンドとして ANGLE を無効にします。これはもう必要ないはずだと読んだ場所もありますが、私のテストでは、Nvidia と Intel グラフィックスの両方で必要でした (これをテストするための AMD グラフィックスは持っていません)。

たとえば、このフラグで Google Chrome を起動するには:

google-chrome-stable --use-gl=desktop

これで Brave を開始します:

brave-browser --use-gl=desktop

などなど。

この変更を永続的にするには、ブラウザの .desktop ファイルを /usr/share/applications からコピーします ~/.local/share/applicationsまで (このフォルダーが存在しない場合は作成します)。ここにファイルをコピーすることで、更新によって上書きされないようにします。次に、.desktop ファイルを開きます (例:brave-browser.desktopbrave-browser-beta.desktopgoogle-chrome.desktop など) ~/.local/share/applications から テキストエディタを使用した場所。このファイルで、Exec= で始まる行を探します。 実行可能ファイルを変更して --use-gl=desktop を含めます .例えば。勇敢な場合:Exec=/usr/bin/brave-browser-stable --use-gl=desktop 、または Google Chrome の場合:Exec=/usr/bin/google-chrome-stable --use-gl=desktop %U

[非常に重要な編集] Chromium 91 (およびそれに基づくすべてのブラウザー) では、ハードウェア アクセラレーションによるビデオ デコーディングのブラウザー フラグがなくなりました。ハードウェア アクセラレーションによるビデオ再生を行うには、新しいコマンド ライン フラグ --enable-features=VaapiVideoDecoder を追加する必要があります。

--use-gl=desktop を追加するのと同じように、このフラグを追加します 国旗。両方、または少なくともハードウェア アクセラレーションによるビデオ デコードに必要なものが必要になります。

たとえば、これら 2 つのフラグを使用して Google Chrome を起動するには、次を使用します。

google-chrome-stable --use-gl=desktop --enable-features=VaapiVideoDecoder

または、代わりに Brave を開始してください:

brave-browser --use-gl=desktop --enable-features=VaapiVideoDecoder

重要な注意:--use-gl=desktop でブラウザを起動したときに真っ白なビデオ イメージが表示される場合 、 chrome://flags を確認してください そこでVulkanがアクティブ化されていないことを確認してください。 Vulkan が有効化され、ブラウザが --use-gl=desktop で起動された場合 オプションがこれを引き起こします。

もう 1 つ、今回は Opera ユーザー向け :h264ify 拡張機能を使用した後、YouTube や他のサイトで動画を再生できない場合は、こちらのソリューションを参照して、Opera で h264 サポートを有効にしてください (使用している Web ブラウザーが Opera Beta の場合、フォルダーは /opera-beta ).

以上です。

ハードウェア アクセラレーション ビデオ デコーディングが有効になっており、Chromium ベースのウェブ ブラウザで動作することを確認する方法

次に、Web ブラウザがハードウェア アクセラレーションによるビデオ デコーディングを使用しているかどうかを確認しましょう。

まず、ブラウザがハードウェア アクセラレーション ビデオをサポートしているかどうかを確認しましょう。これを行うには、新しいタブを開いて chrome://gpu にアクセスします .このページには、「ビデオ デコーディング:ハードウェア アクセラレーション」が表示されます (緑色で、ここのように):

これは、お使いの Web ブラウザーがハードウェア アクセラレーションによるビデオ デコーディングをサポートするようになったことを意味します。しかし、実際にハードウェアを使用してビデオをデコードできるのでしょうか?また、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 と言うべきです ) お使いのウェブ ブラウザは、ハードウェア アクセラレーションによるビデオ デコーディングを使用していません。


Debian
  1. Ubuntu 11.10 / LinuxMint12にGoogleChrome17をインストールする方法

  2. Ubuntuのグーグルクロームでwebglを有効にする

  3. APT PPA リポジトリを使用して Ubuntu、Debian、または Linux Mint に Oracle Java 15 をインストールする方法

  1. Ubuntu 18.04、Debian 9、LinuxMint19にPipをインストールする方法

  2. ルートとしてGoogleChromeを実行する方法– Ubuntu 11.10 / Linux Mint 12

  3. Ubuntu、Debian、または Linux Mint に Node.js と npm をインストールして構成する方法

  1. DebianおよびKaliLinuxにGoogleChromeをインストールする方法

  2. Ubuntu / Debian /LinuxMintでwxWidgetsをコンパイルしてインストールする方法

  3. APT PPA リポジトリから Ubuntu、Debian、または Linux Mint に Oracle Java 14 (JDK 14) をインストールする方法