archbtw
February 13, 2022, 8:36pm
1
Hardware acceleration works with vlc but not with chromium and firefox. I want to use the intel Xe graphics card.
What I have done so far:
Gone through the whole arch wiki and nothing seems to work.
Used combination of many different flags for chromium still doesn’t work and changed stuff in firefox about:config.
I have installed the intel-media-driver and verified my vaapi and vdapau configs also.
CPU goes to 100% if i try to watch just 2 seconds of a 8k video. Please help.
> inxi -G
Graphics:
Device-1: Intel TigerLake-LP GT2 [Iris Xe Graphics] driver: i915 v: kernel
Device-2: NVIDIA GP108M [GeForce MX330] driver: nvidia v: 510.47.03
Device-3: Realtek Integrated_Webcam_HD type: USB driver: uvcvideo
Display: x11 server: X.org 1.21.1.3 driver: loaded: intel,nouveau
resolution: <missing: xdpyinfo>
OpenGL: renderer: Mesa Intel Xe Graphics (TGL GT2) v: 4.6 Mesa 21.3.5
> cat /etc/environment ✔
#
# This file is parsed by pam_env module
#
# Syntax: simple "KEY=VAL" pairs on separate lines
#
LIBVA_DRIVER_NAME=iHD
VDPAU_DRIVER=va_gl
dalto
February 13, 2022, 8:50pm
2
You should start by sharing what vainfo
shows.
archbtw
February 13, 2022, 8:58pm
3
Thanks a lot for replying sir.
vainfo: VA-API version: 1.13 (libva 2.13.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 21.4.3 ()
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
same thing easy to read - http://0x0.st/o8-e.txt
dalto
February 13, 2022, 9:03pm
4
Assuming you are on x11, you need to launch chromium with --use-gl=desktop --enable-features=VaapiVideoDecoder
Then use chrome://gpu from inside the browser to check the configuration.
You want to see:
Canvas: Hardware accelerated
Compositing: Hardware accelerated
Video Decode: Hardware accelerated
WebGL: Hardware accelerated
WebGL2: Hardware accelerated
archbtw
February 13, 2022, 9:16pm
5
archbtw:
Gone through the whole arch wiki and nothing seems to work.
Used combination of many different flags for chromium still doesn’t work and changed stuff in firefox about:config.
@dalto I have tried that. Every single one of them from https://bbs.archlinux.org/viewtopic.php?id=244031&p=26 .
Doesnt work on firefox too.
dalto
February 13, 2022, 9:17pm
6
Then share the result. What is chrome://gpu showing when you use those flags? Also, don’t use all those flags from that topic. Just the two I posted.
Of course not, that is only for chromium-based browsers
dalto
February 13, 2022, 9:25pm
8
It is enabled. Are you sure your hardware supports decoding whatever codec is being used on that 8k video?
archbtw
February 13, 2022, 9:27pm
9
How to know if it does or not. VLC works as intel gpu top shows some percetnage in video section.
Hardware info
Machine:
Type: Laptop System: Dell product: Inspiron 5502 v: N/A
serial: <superuser required> Chassis: type: 10 serial: <superuser required>
Mobo: Dell model: 0HWH1N v: A00 serial: <superuser required> UEFI: Dell
v: 1.8.0 date: 10/01/2021
Battery:
ID-1: BAT0 charge: 20.4 Wh (41.8%) condition: 48.8/53.0 Wh (92.0%)
volts: 14.4 min: 15.0 model: SMP DELL 9077G0A type: Li-poly serial: <filter>
status: Discharging
CPU:
Info: model: 11th Gen Intel Core i5-1135G7 bits: 64 type: MT MCP
arch: Tiger Lake family: 6 model-id: 0x8C (140) stepping: 1 microcode: 0x88
Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache:
L1: 320 KiB desc: d-4x48 KiB; i-4x32 KiB L2: 5 MiB desc: 4x1.2 MiB L3: 8 MiB
desc: 1x8 MiB
Speed (MHz): avg: 2007 high: 2236 min/max: 400/4200 scaling:
driver: intel_pstate governor: powersave cores: 1: 1873 2: 1997 3: 2186
4: 1894 5: 1749 6: 2079 7: 2236 8: 2046 bogomips: 22120
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities:
Type: itlb_multihit status: Not affected
Type: l1tf status: Not affected
Type: mds status: Not affected
Type: meltdown status: Not affected
Type: spec_store_bypass
mitigation: Speculative Store Bypass disabled via prctl and seccomp
Type: spectre_v1
mitigation: usercopy/swapgs barriers and __user pointer sanitization
Type: spectre_v2 mitigation: Enhanced IBRS, IBPB: conditional, RSB filling
Type: srbds status: Not affected
Type: tsx_async_abort status: Not affected
Graphics:
Device-1: Intel TigerLake-LP GT2 [Iris Xe Graphics] vendor: Dell
driver: i915 v: kernel bus-ID: 0000:00:02.0 chip-ID: 8086:9a49
class-ID: 0300
Device-2: NVIDIA GP108M [GeForce MX330] vendor: Dell driver: nvidia
v: 510.47.03 alternate: nouveau,nvidia_drm bus-ID: 0000:2b:00.0
chip-ID: 10de:1d16 class-ID: 0302
Device-3: Realtek Integrated_Webcam_HD type: USB driver: uvcvideo
bus-ID: 3-6:4 chip-ID: 0bda:5538 class-ID: 0e02 serial: <filter>
Display: x11 server: X.org 1.21.1.3 compositor: kwin_x11 driver:
loaded: intel,nouveau resolution: <missing: xdpyinfo>
OpenGL: renderer: Mesa Intel Xe Graphics (TGL GT2) v: 4.6 Mesa 21.3.5
direct render: Yes
Audio:
Device-1: Intel Tiger Lake-LP Smart Sound Audio vendor: Dell
driver: sof-audio-pci-intel-tgl
alternate: snd_hda_intel,snd_sof_pci_intel_tgl bus-ID: 0000:00:1f.3
chip-ID: 8086:a0c8 class-ID: 0401
Sound Server-1: ALSA v: k5.15.21-1-MANJARO running: yes
Sound Server-2: PulseAudio v: 15.0 running: no
Sound Server-3: PipeWire v: 0.3.45 running: yes
Network:
Device-1: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter
vendor: Dell driver: ath10k_pci v: kernel bus-ID: 0000:2c:00.0
chip-ID: 168c:003e class-ID: 0280
IF: wlp44s0 state: up mac: <filter>
Bluetooth:
Device-1: Qualcomm Atheros type: USB driver: btusb v: 0.8 bus-ID: 3-10:5
chip-ID: 0cf3:e007 class-ID: e001
Report: rfkill ID: hci0 rfk-id: 1 state: down bt-service: disabled
rfk-block: hardware: no software: no address: see --recommends
RAID:
Hardware-1: Intel Volume Management Device NVMe RAID Controller driver: vmd
v: 0.6 port: N/A bus-ID: 0000:00:0e.0 chip-ID: 8086:9a0b rev: class-ID: 0104
Drives:
Local Storage: total: 476.94 GiB used: 99.93 GiB (21.0%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Toshiba
model: KBG40ZNS512G NVMe KIOXIA 512GB size: 476.94 GiB block-size:
physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD
serial: <filter> rev: 10410106 temp: 75.8 C scheme: GPT
Partition:
ID-1: / raw-size: 250.54 GiB size: 245.61 GiB (98.03%)
used: 74.96 GiB (30.5%) fs: ext4 dev: /dev/nvme0n1p2 maj-min: 259:2
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
used: 300 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
Swap:
Kernel: swappiness: 10 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: file size: 4 GiB used: 228.5 MiB (5.6%) priority: -2
file: /swapfile
Sensors:
System Temperatures: cpu: 68.0 C mobo: N/A
Fan Speeds (RPM): cpu: 5309
Info:
Processes: 275 Uptime: 1h 30m wakeups: 13949 Memory: 7.5 GiB
used: 3.01 GiB (40.2%) Init: systemd v: 250 tool: systemctl Compilers:
gcc: 11.1.0 clang: 13.0.1 Packages: pacman: 1316 lib: 334 Shell: Zsh v: 5.8
running-in: konsole inxi: 3.3.12
Its late here dalto. I hope I can get some help tommorrow. Thanks a lot.
For Firefox, you need to launch it from terminal: MOZ_LOG="PlatformDecoderModule:5" firefox
Then, open a youtube video and watch the logs
KDen
February 13, 2022, 9:41pm
11
This Chromium will only support VP9 and h264
Also, there’s a couple of comments in this reddit thread that indicate video decoding might be broke in version 98
For Firefox did you see this section of the Arch wiki?
archbtw
February 14, 2022, 7:03am
12
It works now on firefox with these properties in about:config
gfx.webrender.all → true
media.ffmpeg.vaapi.enabled → true
media.av1.enabled → false #most important
Will report back if I am able to get it work in chromium. Thanks.
I0F
February 14, 2022, 10:40am
13
Just FYI, starting with Firefox 97 setting media.ffvpx.enabled
and media.rdd-vpx.enabled
should not be necessary anymore .
archbtw
February 14, 2022, 10:47am
14
Yes i reverted back those settings and it still works. Thanks. edited the post
I0F
February 14, 2022, 10:52am
15
Also I just read that about a month ago AV1 decoding was also finished. But I’m not sure if it already is merged to Firefox or under what hardware it is possible.
Found something new today…
In this website, you can configure the preference for AV1 and VP9 in Youtube…
https://www.youtube.com/account_playback
1 Like
archbtw
February 15, 2022, 4:45am
17
Now works on chromium 98 too -
--force-dark-mode
--enable-features=WebUIDarkMode
--enable-features=VaapiVideoDecoder
--use-gl=desktop
--disable-features=UseChromeOSDirectVideoDecoder #most important
1 Like
daniel
February 23, 2022, 1:10pm
18
Want to add my experience, maybe it helps someone:
I also followed the arch wiki but couldn’t get firefox to work but chromium worked. The solution was to force hardware WebRender with the environment variable MOZ_WEBRENDER=1
.
Setting the flag gfx.webrender.all
in about:config to true did not work and the decision log in about:support still displayed
hw_compositing: blocked by env: Acceleration blocked by platform
webrender: disabled by env: Not qualified
n0k0m3
April 12, 2022, 8:25pm
19
Confirmed I got the same problem. Just moved back from Manjaro.
On Manjaro, I just need to follow guide from Arch Wiki ( media.ffmpeg.vaapi.enabled
to true
)
On EndeavourOS, I need to add MOZ_WEBRENDER=1
as @daniel suggested, on top of Wiki guide
The main problem is WebRender is forced to be software WR, which doesn’t satisfy the requirement from Arch Wiki:
Ensure you are not running Software WebRender as that will not work as of August 2021. If necessary WebRender can be force enabled…
You got hardware acceleration working on Chromium98?
May I ask what desktop environment you are using please?