この記事を作った動機

 Google Chrome を linux環境で使っていて、動画再生が安定せず、フレームが落ちまくり、CPUをめちゃくちゃに使い込むということがあったので、それに対処したときの記録を残すというだけです。

環境

  • XPS 13 2in1 (9365)
  • Intel® UHD Graphics 615
  • wayland 48
  • Chrome (バージョン: 135.0.7049.84(Official Build) (64 ビット))
  • lsmod | grep i915
i915                 4714496  61
i2c_algo_bit           20480  1 i915
drm_buddy              24576  1 i915
ttm                   110592  1 i915
intel_gtt              28672  1 i915
drm_display_helper    270336  1 i915
cec                    94208  2 drm_display_helper,i915
video                  81920  3 dell_wmi,dell_laptop,i915

インストールするパッケージ

 GNOME 環境が動く状態が前提。必要そうなものは全部入れているので、いらないものもあるかもしれない。もしくは、インストールしたけど、色々探しているうちに存在を忘れていて、ここにはちゃんと書けていないものがあるかもしれない。

  • libva-intel-driver
  • intel-media-driver
  • lib32-mesa 1:25.0.3-1
  • mesa

~/.config/chrome-flags

 今のところ、以下の設定で、ハードウェアアクセラレーションが機能することが確認できた。intel-gpu-tools をインストールして、intel_gpu_top で video の項目が動画再生時になんか動いてそうだったら、とりあえず成功したということだと思う。

--enable-features=UseOzonePlatform
--ozone-platform=wayland
--enable-accelerated-video-decode
--enable-accelerated-video-encode
--enable-features=AcceleratedVideoDecodeLinuxGL
--disable-features=UseChromeOSDirectVideoDecoder 

vainfo

 参考として、一応 VA-API の状態もここにおいておく。vainfo の利用には、libva-utils をインストールする必要がある。今の私がわかっていないこととしては、lsmod で確認すると、i915 が使われているが、vainfo では、iHD driver と表示されているところがある。

vainfo
Trying display: wayland
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 25.1.4 ()
vainfo: Supported profile and entrypoints
      VAProfileNone                   :	VAEntrypointVideoProc
      VAProfileNone                   :	VAEntrypointStats
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Simple            :	VAEntrypointEncSlice
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointFEI
      VAProfileH264Main               :	VAEntrypointEncSliceLP
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointFEI
      VAProfileH264High               :	VAEntrypointEncSliceLP
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:	VAEntrypointFEI
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSliceLP
      VAProfileVP8Version0_3          :	VAEntrypointVLD
      VAProfileVP8Version0_3          :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointFEI
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileHEVCMain10             :	VAEntrypointEncSlice
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileVP9Profile2            :	VAEntrypointVLD

chrome://gpu

 一応参考として、動画のハードウェアアクセラレーションができるときと、できないときの chrome://gpu の例も載せておく。

ハードウェアアクセラレーションが有効なとき

VA-APIが機能しているとき
VA-APIが機能しているとき-正しく利用可能な状況が表示される

ハードウェアアクセラレーションが実質機能していないとき

VA-APIが機能していないとき
VA-APIが機能していないとき-正しく利用可能な状況が表示されない

–use-gl=desktop

 ちなみに、–use-gl=desktop というオプションもあるらしい。しかし、私の環境ではそれを有効にすると、全部描画処理がソフトウェアの処理になってCPUしか使ってくれなくなった。

試した設定の全体像

 一応関係なさそうな部分も含め全部ここに試した設定を置いておく。

--enable-features=UseOzonePlatform
--ozone-platform=wayland
--use-gl=desktop
--enable-accelerated-video-decode
--enable-accelerated-video-encode
#--enable-features=VaapiVideoDecoder
--enable-features=AcceleratedVideoDecodeLinuxGL
--disable-features=UseChromeOSDirectVideoDecoder 

#--enable-wayland-ime
--gtk-version=4
--disable-features=GlobalShortcutsPortal

chrome://gpu

--use-gl=desktopは機能うまくしない

参考にしたサイトとか