この記事を作った動機
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 の例も載せておく。
ハードウェアアクセラレーションが有効なとき
ハードウェアアクセラレーションが実質機能していないとき
–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

参考にしたサイトとか
- Hardware video acceleration - ArchWiki
https://wiki.archlinux.org/title/Hardware_video_acceleration (2025年4月26日) - Chromium - ArchWiki
https://wiki.archlinux.org/title/Chromium#Hardware_video_acceleration (2025年4月26日) - If you have trouble getting VA-API hardware video acceleration to work in Chromium, try adding the –disable-features=UseChromeOSDirectVideoDecoder flag : r/archlinux
https://www.reddit.com/r/archlinux/comments/tc5379/if_you_have_trouble_getting_vaapi_hardware_video/ (2025年4月26日) - Seems Google Chrome Hardware Acceleration isn’t Working - Support - Manjaro Linux Forum
https://forum.manjaro.org/t/seems-google-chrome-hardware-acceleration-isnt-working/101235/4 (2025年4月26日)