You are not logged in.

#1 2023-04-15 17:44:33

adihk
Member
Registered: 2023-04-15
Posts: 1

Intel Hardware Acceleration not working only in browsers

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      :	VAEntrypointEncSliceLP

I have set

media.ffmpeg.vaapi.enabled=true
media.ffvpx.enabled=false
media.navigator.mediadatadecoder_vpx_enabled=true
media.rdd* = true

MOZ_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.000

for 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

#2 2023-04-26 18:13:41

kieranwells
Member
Registered: 2023-04-26
Posts: 2

Re: Intel Hardware Acceleration not working only in browsers

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         :	VAEntrypointEncSliceLP
glxinfo -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.20
mpv --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

#3 2023-04-27 10:48:42

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 15,142

Re: Intel Hardware Acceleration not working only in browsers

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

#4 2023-04-27 23:47:36

kieranwells
Member
Registered: 2023-04-26
Posts: 2

Re: Intel Hardware Acceleration not working only in browsers

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

Board footer

Powered by FluxBB