[HowTo] Enable Hardware Video Acceleration / Video Decode In Google Chrome, Brave, Vivaldi And Opera Browsers

I’m runing X11 server but, e.g: Min browser works accelerated only with --use-gl=egl flag
(tested on Figma sweb app)
(i’m running hybrid graphics mode)

Since some time the old --use-egl=desktop started to break hw-accel.
Replacing with --use-gl=egl works for me. (ungoogled-chromium + amdgpu)

These three work for me (intel H620):

–enable-features=VaapiVideoDecoder,VaapiVideoEncoder
–disable-features=UseChromeOSDirectVideoDecoder
–use-gl=egl

with the new release of libva 2.18.0-1 on systems running old intel iGPUs (AFAIK pre-haswell) on X11, video acceleration is borked again. however new driver now supports flag/ENV to disable DRI3 which causes the issue on the said platform.

if you encounter the issue, please add;

LIBVA_DRI3_DISABLE=1

to /etc/environment, you will have to reboot for it to take affect

In a Wayland session helps the parameter?

no, as far as i know this only affects X11

1 Like

While this still seems to be true…

--use-gl=angle

Produces better results - specifically in cases of 3D.
(example. play-cs.com will not launch without it)

If anyone wants to see a bunch of flags see here. ~/.config/chromium-flags.conf
--start-maximized
--force-dark-mode
--enable-features=WebUIDarkMode
--ignore-gpu-blocklist
--disable-font-subpixel-positioning
--high-dpi-support=1
--force-device-scale-factor=1.25
--enable-accelerated-video
--enable-accelerated-mjpeg-decode
--enable-gpu-rasterization
--enable-oop-rasterization
--enable-quic
--enable-zero-copy
--enable-drdc
--canvas-oop-rasterization
--use-gl=angle
--enable-smooth-scrolling
--enable-accelerated-video-decode
--enable-native-gpu-memory-buffers
--enable-features=MarkHttpAs,StrictOriginIsolation,VaapiVideoDecoder,VaapiVideoEncoder,VaapiVideo,CanvasOopRasterization,VaapiIgnoreDriverChecks,PlatformHEVCDecoderSupport
--disable-features=UseChromeOSDirectVideoDecoder,HardwareMediaKeyHandling,OmniboxUIExperimentHideSteadyStateUrlPathQueryAndRef,OmniboxUIExperimentHideSteadyStateUrlScheme,OmniboxUIExperimentHideSteadyStateUrlTrivialSubdomains,ShowManagedUi
2 Likes

I did not add LIBVA_DRI3_DISABLE=1 to /etc/environment.

However I did comment out --use-gl=egl in my chromium-flags.conf and now chrome://gpu is showing that Hardware Acceleration is working again on my Ivy Bridge KDE Wayland laptop, so go figure…

like i said before, this was intended for X11 only, not wayland which you are using.

side note, just because it reads as HW acceleration enabled in chrome://gpu it might not be so. depend on intel_gpu_top or chrome dev-tools-> media to be sure.

1 Like

I had some issues with HW Acc. apparently Vulkan is the issue, so ignore --use-vulkan since it’s still WIP in chrome, better is to disable it if you encounter issues.

I’m running into a HW video acc. issues on my backup mobile-Haswell notebook, after having updated it recently since some time.
Vivaldi no longer uses (intel_gpu_top) the Video engine and CPU utilization is much higher on video playback.

Yet Vivaldi://gpu shows HW acceleration is enabled and video decoding is HW accelerated. Using these flags:

--use-gl=angle (using egl it falls back to software rendering)
--ignore-gpu-blocklist
--enable-features=VaapiVideoEncoder,VaapiVideoDecoder,CanvasOopRasterization
--disable-features=UseChromeOSDirectVideoDecoder,UseSkiaRenderer
--disable-gpu-driver-workarounds

My media box however uses a Skylake-T and it had no issues. Bar from some extra flags it needed, after updating it recently, to get HW video acc. working again with flags: --use-vulkan --use-gl=egl --webgpu --enable-raw-draw.
Without the vulkan flag HW video acc. would also fall back to software rendering.

FireFox how ever does properly utilize the Haswell’s igpu Video engine on video playback and it’s also not loading the CPU keeping it at idle frequencies.

So what has changed in Chromium that HW video acc. no longer properly works on Haswell, yet does on later igpu’s? Vulkan support?

This guide is severely out of date as Google has changed a lot since I last updated it.

However, one might test only these flags:

--enable-features=VaapiVideoEncoder,VaapiVideoDecodeLinuxGL
--enable-gpu

I’m unlisting this for now as most of the flags are deprecated.