ここでは、Chromiumでのやり方を説明します。
Google Chrome for Linux 、またはLinux版のChromiumでは詳細設定やchrome://flagsを用いることで動画の再生にGPUを使えるように思えます。しかし、実際には動画の再生にGPUは使っていません。
対策として、動画の再生にGPUを使えるように改変されたChromiumをインストールします。
ctrl + alt + tを押して、端末を起動する
ppaを追加する
sudo add-apt-repository ppa:saiarcot895/chromium-beta
リポジトリのリストを更新する
sudo apt update
ブラウザChromiumをインストールする
sudo apt install chromium-browser
<VA-APIドライバーをインストールする>
パソコンのグラフィックカードによってインストールするパッケージが異なります。
コマンドsudo lshw -c videoなどを使って、グラフィックカードの種類を調べましょう。
<VA-APIドライバーをインストールする>(既にインストールされている場合もある)
intelのグラフィックカードで第8世代以上のものは次のドライバーをインストールします。
sudo apt install intel-media-va-driver-non-free
Wikipedia intel 第8世代
Wikipedia intel Braswell Pentium N3710
intelのグラフィックカードで第7世代以前の場合は次のものをインストールします。
sudo apt install intel-media-va-driver-non-free
Wikipedia intel 第8世代
Wikipedia intel Braswell Pentium N3710
intelのグラフィックカードで第7世代以前の場合は次のものをインストールします。
Block 60fps videoにチェックをいれておくとコマ落ちが少なくなります。
動画の再生にGPUが使われているか確認する方法
・動画を再生してからchrome://media-internalsにアクセスする。
・PlayersのRecent Playersのリストにある項目を選択する
・kVideoDecoderNameがMojoVideoDecoderになっていれば成功している。
参考
参考にしたサイトでは2019年12月20日の時点でchromium devを使うように述べてありましたが、今回はchromium betaをインストールしてみました。特に問題なく動作しています。
2020 7/10追記:
updateでsnap版の最新の安定版chromiumに更新されてしまいました。
そのため、Pinを使って、最新の安定版chromiumに更新されないようにする必要があります。
更新されてしまった場合、sudo apt policyを使ってバージョンを確認し、ダウングレードすると元に戻ります。依存するパッケージも同様にダウングレードします。
動画の再生にGPUが使われているか確認する方法
・動画を再生してからchrome://media-internalsにアクセスする。
・PlayersのRecent Playersのリストにある項目を選択する
・kVideoDecoderNameがMojoVideoDecoderになっていれば成功している。
参考
参考にしたサイトでは2019年12月20日の時点でchromium devを使うように述べてありましたが、今回はchromium betaをインストールしてみました。特に問題なく動作しています。
2020 7/10追記:
updateでsnap版の最新の安定版chromiumに更新されてしまいました。
そのため、Pinを使って、最新の安定版chromiumに更新されないようにする必要があります。
更新されてしまった場合、sudo apt policyを使ってバージョンを確認し、ダウングレードすると元に戻ります。依存するパッケージも同様にダウングレードします。
ダウングレードの手順 例)
以前のバージョンを確認する。
sudo apt policy chromium-browser
以前のバージョンを指定し、ダウングレードする。
sudo apt install chromium-browser=80.0.3987.163-0ubuntu1
追加したppaは以下のchromium-beta
sudo add-apt-repository ppa:saiarcot895/chromium-beta
pinを1001にするため、ファイルを作成する。(pinは1000以上にするといいらしいです。)
sudo gedit /etc/apt/preferences.d/ppa-saiarcot895-chromium-beta
起動したgeditに以下のテキストを貼り付け、保存する
Package: *
Pin: release o=LP-PPA-saiarcot895-chromium-beta
Pin-Priority: 1001
pinが1001になっているか確認する。
sudo apt policy chromium-browser
<<変更前>>
mh@Inspiron-3185:~$ sudo apt policy chromium-browser
[sudo] mh のパスワード:
chromium-browser:
インストールされているバージョン: 83.0.4103.44-0ubuntu1~ppa1~20.04.1
候補: 83.0.4103.97-0ubuntu0.20.04.1
バージョンテーブル:
83.0.4103.97-0ubuntu0.20.04.1 500
500 http://ubuntutym.u-toyama.ac.jp/ubuntu focal-updates/universe amd64 Packages
*** 83.0.4103.44-0ubuntu1~ppa1~20.04.1 500
500 http://ppa.launchpad.net/saiarcot895/chromium-beta/ubuntu focal/main amd64 Packages
100 /var/lib/dpkg/status
80.0.3987.163-0ubuntu1 500
500 http://ubuntutym.u-toyama.ac.jp/ubuntu focal/universe amd64 Packages
<<変更後>>
mh@Inspiron-3185:~$ sudo apt policy chromium-browser
chromium-browser:
インストールされているバージョン: 83.0.4103.44-0ubuntu1~ppa1~20.04.1
候補: 83.0.4103.44-0ubuntu1~ppa1~20.04.1
バージョンテーブル:
83.0.4103.97-0ubuntu0.20.04.1 500
500 http://ubuntutym.u-toyama.ac.jp/ubuntu focal-updates/universe amd64 Packages
*** 83.0.4103.44-0ubuntu1~ppa1~20.04.1 600
1001 http://ppa.launchpad.net/saiarcot895/chromium-beta/ubuntu focal/main amd64 Packages
100 /var/lib/dpkg/status
80.0.3987.163-0ubuntu1 500
500 http://ubuntutym.u-toyama.ac.jp/ubuntu focal/universe amd64 Packages
Pinが1001になっていれば成功となる。
これで、sudo apt updateをしても、universeにあるバージョン、 83.0.4103.97-0ubuntu0.20.04.1はアップデートの候補には上がらなくなります。
パッケージの固定化はCUIでやると大変なので、GUIでやる方が簡単だと思います。
GUIでPinを使ったパッケージの固定化にはSynapticを使うと楽にできるようです。
参考
2020.8/9 追記:
現在、VAAPIが利用できなくなりました。
最近のアップデートによりバグが発生しているようです。
Ubuntu 20.04 LTSでは、devでもbetaでもVAAPIが利用できない状態です。
代替として、FireFoxやmpvを使う方法が考えられます。
2020.9/14
VAAPIが使えるようになりました。
バージョンは85.0.4183.59-0ubuntu1~ppa1~20.04.1です。
動画の視聴にGPUが使えています。
環境:
Dell inspiron 3185
Ubuntu 20.04 LTS Original
----
GPUがAMDでもVA-API (Video Accelerateion API )のドライバー i965-va-driverで動作しているようです。
youtubeの動画を全画面で再生してみましたが、
1080p60はコマ落ちが激しく快適に再生できませんでした。
しかし、1080ならコマ落ちすることなく視聴できます。
tearingはありません。
Dell inspiron 3162
Ubuntu 20.04 LTS 日本語Remix
----
youtubeの動画を全画面にして1080p60で再生しましたが、
コマ落ちなく、快適に動画を視聴できます。
60fpsは動きが滑らかで30fpsとは印象がまったく違いました。
ティアリングはありません。
追加したppaは以下のchromium-beta
sudo add-apt-repository ppa:saiarcot895/chromium-beta
pinを1001にするため、ファイルを作成する。(pinは1000以上にするといいらしいです。)
sudo gedit /etc/apt/preferences.d/ppa-saiarcot895-chromium-beta
起動したgeditに以下のテキストを貼り付け、保存する
Package: *
Pin: release o=LP-PPA-saiarcot895-chromium-beta
Pin-Priority: 1001
pinが1001になっているか確認する。
sudo apt policy chromium-browser
<<変更前>>
mh@Inspiron-3185:~$ sudo apt policy chromium-browser
[sudo] mh のパスワード:
chromium-browser:
インストールされているバージョン: 83.0.4103.44-0ubuntu1~ppa1~20.04.1
候補: 83.0.4103.97-0ubuntu0.20.04.1
バージョンテーブル:
83.0.4103.97-0ubuntu0.20.04.1 500
500 http://ubuntutym.u-toyama.ac.jp/ubuntu focal-updates/universe amd64 Packages
*** 83.0.4103.44-0ubuntu1~ppa1~20.04.1 500
500 http://ppa.launchpad.net/saiarcot895/chromium-beta/ubuntu focal/main amd64 Packages
100 /var/lib/dpkg/status
80.0.3987.163-0ubuntu1 500
500 http://ubuntutym.u-toyama.ac.jp/ubuntu focal/universe amd64 Packages
<<変更後>>
mh@Inspiron-3185:~$ sudo apt policy chromium-browser
chromium-browser:
インストールされているバージョン: 83.0.4103.44-0ubuntu1~ppa1~20.04.1
候補: 83.0.4103.44-0ubuntu1~ppa1~20.04.1
バージョンテーブル:
83.0.4103.97-0ubuntu0.20.04.1 500
500 http://ubuntutym.u-toyama.ac.jp/ubuntu focal-updates/universe amd64 Packages
*** 83.0.4103.44-0ubuntu1~ppa1~20.04.1 600
1001 http://ppa.launchpad.net/saiarcot895/chromium-beta/ubuntu focal/main amd64 Packages
100 /var/lib/dpkg/status
80.0.3987.163-0ubuntu1 500
500 http://ubuntutym.u-toyama.ac.jp/ubuntu focal/universe amd64 Packages
Pinが1001になっていれば成功となる。
これで、sudo apt updateをしても、universeにあるバージョン、 83.0.4103.97-0ubuntu0.20.04.1はアップデートの候補には上がらなくなります。
パッケージの固定化はCUIでやると大変なので、GUIでやる方が簡単だと思います。
GUIでPinを使ったパッケージの固定化にはSynapticを使うと楽にできるようです。
参考
2020.8/9 追記:
現在、VAAPIが利用できなくなりました。
最近のアップデートによりバグが発生しているようです。
Ubuntu 20.04 LTSでは、devでもbetaでもVAAPIが利用できない状態です。
代替として、FireFoxやmpvを使う方法が考えられます。
2020.9/14
VAAPIが使えるようになりました。
バージョンは85.0.4183.59-0ubuntu1~ppa1~20.04.1です。
動画の視聴にGPUが使えています。
2020.10/9
現在、VAAPIが利用できなくなりました。
vainfoで確認するとエラーがでます。
libva error: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
グラフィックカード (GPU)はintel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controllerです。次のコマンドで調べることができます。
sudo lshw -c video
00:02.0 VGA compatible controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller (rev 35) (prog-if 00 [VGA controller])
DeviceName: Onboard IGD
Subsystem: Dell Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller
Flags: bus master, fast devsel, latency 0, IRQ 128
Memory at 90000000 (64-bit, non-prefetchable) [size=16M]
Memory at 80000000 (64-bit, prefetchable) [size=256M]
I/O ports at f000 [size=64]
Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
Capabilities: [d0] Power Management version 2
Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [b0] Vendor Specific Information: Len=07 <?>
Kernel driver in use: i915
Kernel modules: i915
OSはUbuntu 20.04.1 LTS 日本語Remix、オリジナル両方試しましたが結果は同じでダメでした。パソコンはDell inspiron 3162です。一方でAMD系のDell inspiron 3185の方はVAAPIが機能しています。
環境:
Dell inspiron 3185
Ubuntu 20.04 LTS Original
----
GPUがAMDでもVA-API (Video Accelerateion API )のドライバー i965-va-driverで動作しているようです。
youtubeの動画を全画面で再生してみましたが、
1080p60はコマ落ちが激しく快適に再生できませんでした。
しかし、1080ならコマ落ちすることなく視聴できます。
tearingはありません。
Dell inspiron 3162
Ubuntu 20.04 LTS 日本語Remix
----
youtubeの動画を全画面にして1080p60で再生しましたが、
コマ落ちなく、快適に動画を視聴できます。
60fpsは動きが滑らかで30fpsとは印象がまったく違いました。
ティアリングはありません。