You are not logged in.
Hiya'll, I've been using Arch for a while however rather embarrasingly only recently got around to trying to fix my abysmal battery life when using browsers - especially watching youtube.
I've looked through a lot of surrounding threads and the arch-wiki page on hardware acceleration/video decoding for both chromium and firefox (as well as the base page) but honestly am at a wits end.
Here is some contextual information:
vainfo:
Trying display: wayland
vainfo: VA-API version: 1.18 (libva 2.17.1)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 23.1.0 ()
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
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointFEI
VAProfileHEVCMain : VAEntrypointEncSliceLP
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSlice
VAProfileHEVCMain10 : VAEntrypointEncSliceLP
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile1 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileVP9Profile3 : VAEntrypointVLD
VAProfileHEVCMain12 : VAEntrypointVLD
VAProfileHEVCMain12 : VAEntrypointEncSlice
VAProfileHEVCMain422_10 : VAEntrypointVLD
VAProfileHEVCMain422_10 : VAEntrypointEncSlice
VAProfileHEVCMain422_12 : VAEntrypointVLD
VAProfileHEVCMain422_12 : VAEntrypointEncSlice
VAProfileHEVCMain444 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointEncSliceLP
VAProfileHEVCMain444_10 : VAEntrypointVLD
VAProfileHEVCMain444_10 : VAEntrypointEncSliceLP
VAProfileHEVCMain444_12 : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointEncSliceLP
VAProfileHEVCSccMain10 : VAEntrypointVLD
VAProfileHEVCSccMain10 : VAEntrypointEncSliceLP
VAProfileHEVCSccMain444 : VAEntrypointVLD
VAProfileHEVCSccMain444 : VAEntrypointEncSliceLP
VAProfileAV1Profile0 : VAEntrypointVLD
VAProfileHEVCSccMain444_10 : VAEntrypointVLD
VAProfileHEVCSccMain444_10 : VAEntrypointEncSliceLPI have set
media.ffmpeg.vaapi.enabled=true
media.ffvpx.enabled=false
media.navigator.mediadatadecoder_vpx_enabled=true
media.rdd* = trueMOZ_DISABLE_RDD_SANDBOX = 1
MOZ_WAYLAND_MODE = 1
when using intel_gpu_top, firefox shows high Render/3D usage and no Video usage (while RDD Process, which if I understand correctly is what firefox uses, shows incredibly little usage compared to Render/3D as well)
A screenshot can be seen here.
Meanwhile, if I use mpv --hwdec=auto I see nearly all the usage being towards 'Video' and just a slight sliver towards 'Render/3D'. The mpv terminal outputs
(+) Video --vid=1 (*) (h264 1920x1080 24.000fps)
(+) Audio --aid=1 (*) (aac 2ch 48000Hz)
Cannot load libcuda.so.1
Using hardware decoding (vaapi).
AO: [pipewire] 48000Hz stereo 2ch floatp
VO: [gpu] 1920x1080 vaapi[nv12]
AV: 00:00:48 / 02:28:48 (1%) A-V: 0.000for example.
I'd super appreciate any help on how I could get my firefox cpu usage down when streaming video, any just any guidance on how I may approach the issue to fix it! Since if I am not mistaken, based on mpv being able to use Video in intel_gpu_top, I shooooould have HW Accel setup correctly.
P.S. (And if anyone knows how to solve Hyprland's usage let me know, although I'm aware this is not the place for that and I'll keep doing some research/open an issue on their repo)
Extra context: I had uninstalled Intel-Vulkan (as I saw somewhere it fixed someone's similar issue) and started getting occasional screen flashes, however these seem to only have happened when firefox was open - so I am not sure if this was caused by Vulkan being uninstalled or something to do with Firefox (as I typically use chromium, but want to switch over to firefox). I have since reinstalled intel-vulkan.
Offline
I had similar issue and already spent hours without joy. My cheap Chinese fanless PC always overheats quickly and crashes to earth every time when streaming youtube. But if I download those video and replay locally with mpv, the poor box can easily weather it like a breeze. So the issue is a pain in the butt.
Although my Arch Linux experience is less than 4 years but I'm a 20+ years Linux veteran. I had studied enough by myself and I knew 3 years ago, firefox had already claimed they delivered the feature.
My arch setup is X11 and i3. CPU is intel N5105 (11th gen) which supports VP9 decoding.
It's pity to see Arch Linux wiki pages give obsolete and confusing information on this subject.
vainfo
Trying display: wayland
Trying display: x11
vainfo: VA-API version: 1.18 (libva 2.18.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 23.1.0 ()
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileNone : VAEntrypointStats
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSliceLP
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSliceLP
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile1 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileVP9Profile3 : VAEntrypointVLD
VAProfileHEVCMain422_10 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointEncSliceLP
VAProfileHEVCMain444_10 : VAEntrypointVLD
VAProfileHEVCMain444_10 : VAEntrypointEncSliceLPglxinfo -B
name of display: :0
display: :0 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Intel (0x8086)
Device: Mesa Intel(R) UHD Graphics (JSL) (0x4e61)
Version: 23.0.2
Accelerated: yes
Video memory: 15777MB
Unified memory: yes
Preferred profile: core (0x1)
Max core profile version: 4.6
Max compat profile version: 4.6
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) UHD Graphics (JSL)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 23.0.2
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL version string: 4.6 (Compatibility Profile) Mesa 23.0.2
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 23.0.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20mpv --hwdec=auto ~/Videos/some-video-downloaded-by-ytdlp.webm'
(+) Video --vid=1 (*) (vp9 1920x1080 60.000fps)
(+) Audio --aid=1 --alang=eng (*) (opus 2ch 48000Hz)
Cannot load libcuda.so.1
Using hardware decoding (vaapi).
AO: [pulse] 48000Hz stereo 2ch float
VO: [gpu] 1920x1080 vaapi[nv12]
AV: 00:08:50 / 00:08:50 (100%) A-V: 0.000
Exiting... (End of file)The intel gpu monitor tool also confirmed the H/W acceleration working for the mpv.
sudo intel_gpu_top -s 60000
intel-gpu-top: Intel Jasperlake (Gen11) @ /dev/dri/card0 - 251/ 240 MHz; 26% RC6; 1406 irqs/s
ENGINES BUSY MI_SEMA MI_WAIT
Render/3D 66.95% |███████████████████████████████████████████████████████████████████ | 0% 0%
Blitter 0.00% | | 0% 0%
Video 32.79% |████████████████████████████████▉ | 0% 0%
VideoEnhance 0.00% | | 0% 0%
PID NAME Render/3D Blitter Video VideoEnhance
1174473 mpv |█████▊ || ||█████████ || |
568 Xorg |████████████▉ || || || |Offline
For firefox post the Decision Log from the Graphics section from about:support .
chromium has .... issues with vaapi , see https://bbs.archlinux.org/viewtopic.php?id=244031 to get an indication of the issues.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
I think for privacy caring tech person, the chromium browser is the second in the class, I never take it as daily driver in the last 7 years.
Offline