Fedora で Chrome が更新され、VAAPI (Video Acceleration API) のサポートを可能にするパッチが適用されました。 VAAPI を使用すると、CPU の消費を抑えて消費電力を改善しながら、ビデオの再生がよりスムーズになります。
このパッチはアップストリームの Chromium メンテナから拒否されましたが、Ubuntu、Arch Linux などの VAAPI パッチを含むサードパーティ パッケージがいくつかあります。そして今、Fedora にはデフォルトでこれが含まれています!
なぜそんなに重要なのですか?たとえば、私のラップトップ (Fedora 29 で Chromium を使用) は、YouTube ビデオの再生時に CPU 使用率が非常に高く、非常に熱くなり、同時にバッテリーを消耗しました:
これは同じ Video / Fedora ラップトップですが、今回はハードウェア アクセラレーテッド ビデオ デコーディング (VAAPI) を有効にした Chromium を使用しており、CPU 使用率がはるかに低いことがわかります:
fedoramagazine.org から、Firefox、VAAPI パッチなしの Chromium、および VAAPI 付き Chromium でビデオを再生したときの CPU 使用率の違いを示す別のスクリーンショット (写真提供者:Tobias Wolfshappen):
AMD グラフィックスの場合、Chromium はデフォルトでハードウェア アクセラレーションによるビデオ デコーディングを使用する必要がありますが、それを必要とする Intel グラフィックスは libva-intel-driver
を使用しません。 RPM Fusion からのパッケージ。私の Fedora ラップトップは Intel グラフィックスを使用しているため、Nvidia についてはわかりません。ただし、Ubuntu と同じように機能させるには、パッチを適用した vdpau-va ドライバーが必要になる可能性が高いです。
ただし、Intel と AMD の両方のグラフィックスで、h264 ビデオのハードウェア アクセラレーションによるビデオ デコーディングを有効にする場合は、いくつかの追加機能をインストールする必要があります .これは、Fedora Chromium ビルドがデフォルトで h264 をサポートしていないためです。
一部の古い GPU は、VP8 / VP9 コーデックのハードウェア デコードをサポートしていません。それについてできることは何もありません。そのような場合、VP8 / VP9 ビデオはハードウェア アクセラレーションされません。
デフォルトで VP8 / VP9 を使用する 1 つの Web サイトは YouTube です。ただし、YouTube は VP8 / VP9 の代わりに h264 を強制的に使用することができるため、ハードウェア アクセラレーションによるビデオ デコードが可能になります。
関連:Ubuntu または Linux Mint 上の Chromium でハードウェア アクセラレーションを有効にする方法 (VA API パッチを適用した PPA ビルド)
以下の手順では、Intel グラフィックスを搭載した Fedora でハードウェア アクセラレーションによるビデオ デコーディングを有効にする方法、Intel と AMD グラフィックスの両方で h264 ビデオを有効にする方法、および YouTube で VP8 / VP9 の代わりに h264 を使用するように強制する方法について説明します。また、Chromium がハードウェア アクセラレーションによるビデオ デコーディングを使用していることを確認する方法についても説明しています。
要件:
- Fedora の chrome 71 から VAAPI パッチが追加されたため、このバージョン以降が必要です (Fedora Rawhide と Fedora 29 で利用可能、Fedora 28 と EPEL 7 でテスト済み)
- VAAPI が Chromium ブラウザーで動作するには、Xorg セッションを使用する必要があります (GDM / GNOME ユーザーの場合は、
Sign In
の横にある歯車アイコンをクリックします)。 ログイン画面で ボタンをクリックし、GNOME on Xorg
を選択します。 )。 Intel グラフィックスを搭載した私のラップトップは、Fedora 29 の Wayland (XWayland) で VAAPI を使用できませんでしたが、AMD グラフィックスで同じことができるかどうかは完全にはわかりません.
I. AMD / Intel Graphics:RPM Fusion chromium-libs-media-freeworld
を有効にしてインストールします h264 サポート用。
RPM Fusion リポジトリをインストールするには、これらの手順を参照してください (Fedora のバージョンのパッケージをダウンロードしてインストールするか、コマンド ラインの手順に従います)。 RPM Fusion がアクティブ化されたら、その chromium-libs-media-freeworld
をインストールします。 Fedora システム上のパッケージ:
sudo dnf install chromium-libs-media-freeworld
Ⅱ. AMD / Intel グラフィックス:YouTube で VP8 / VP9 の代わりに h.264 を使用するように強制します。
その h264ify Chrome 拡張機能をインストールして、YouTube が VP8 / VP9 ビデオの代わりに H.264 ビデオをストリーミングするようにします。
これは、前述のように、多くの GPU が VP8 / VP9 コーデックのハードウェア デコードをサポートしておらず、YouTube ではデフォルトで使用されているためです。
III. Intel グラフィックスのみ:libva-intel-hybrid-driver
をインストールします。 と libva-intel-driver
Chromium で VAAPI を使用するための RPM Fusion のパッケージ。
sudo dnf install libva-intel-driver libva-intel-hybrid-driver
ちなみに Hardware-accelerated video decode
は と Hardware-accelerated mjpeg decode for captured frame
フラグは Fedora Chromium ビルドではデフォルトで有効になっているため、手動で有効にする必要はありません。
Chromium が GPU ビデオ デコードを使用しているかどうかを確認する方法
Chromium が GPU ビデオ デコードを使用しているかどうかを確認するには、まず YouTube でビデオを再生します。次に、Chromium で新しいタブを開き、URL バーに次のように入力します:chrome://media-internals
chrome://media-internals
について タブをクリックし、ビデオの URL をクリックして (展開します)、下にスクロールして Player Properties
の下を見てください。 、そしてあなたはそれを見つけるはずです video_decoder
財産。 video_decoder
の場合 GpuVideoDecoder
の価値があります 、これは、他のタブの YouTube で現在再生されているビデオが、ハードウェア アクセラレーションによるビデオ デコードを使用していることを意味します。また、ビデオを再生するときの Chromium の CPU 負荷が大幅に低下していることにも気付くはずです。
FFmpegVideoDecoder
という名前の場合 または VpxVideoDecoder
、加速されたビデオデコードが機能していないか、h264ify Chrome拡張機能またはを忘れた可能性があります. chromium-libs-media-freeworld
をインストール (または非アクティブ化) する RPM Fusion からのパッケージ