I have been trying really hard to get hardware accelerated video decoding to work on my Brave browser, but no matter how many tricks I try from various reddit threads or arch wiki threads, I am unable to get the thing to work. There is a browser project on Fedora called Trivalent, a hardened Chromium fork, and it offers vaapi support out of the box without any tinkering. Brave devs, please make similar changes to your browser and save us the agony of CPU overheating from 1440p or 4k videos on YouTube. Does anyone have set of working flags that can allow this to work??
Here are my system specs:
$ inxi -S
System:
Host: fedora Kernel: 6.12.10-200.fc41.x86_64 arch: x86_64 bits: 64
Desktop: Cinnamon v: 6.4.6 Distro: Fedora Linux 41 (Cinnamon)
$ lspci | grep -E "VGA|3D" | grep -o -i -E "amd|intel|nvidia" | sort -u | tr '[:upper:]' '[:lower:]'
amd
$ echo $XDG_SESSION_TYPE
x11
brave://version
1.75.166 Chromium: 132.0.6834.111 (Official Build) beta (64-bit)
Experimented with these set of flags
~/.config/BraveSoftware/Brave-Browser-Beta/brave-flags.conf
## X11 + AMD GPU Configuration
--use-gl=angle
--use-angle=vulkan
--enable-native-gpu-memory-buffers
--enable-gpu-memory-buffer-video-frames
--enable-zero-copy
--ignore-gpu-blocklist
--disable-gpu-driver-bug-workarounds
--enable-gpu-rasterization
--ozone-platform-hint=auto
--disable-breakpad
--enable-features=AcceleratedVideoDecodeLinuxGL,AcceleratedVideoDecodeLinuxZeroCopyGL,AcceleratedVideoEncoder,Vulkan,DefaultANGLEVulkan,VulkanFromANGLE,VaapiIgnoreDriverChecks
Output from vainfo
$ vainfo
Trying display: wayland
Trying display: x11
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib64/dri-nonfree/radeonsi_drv_video.so
libva info: Trying to open /usr/lib64/dri-freeworld/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Mesa Gallium driver 24.3.3 for AMD Radeon Graphics (radeonsi, renoir, LLVM 19.1.0, DRM 3.59, 6.12.10-200.fc41.x86_64)
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSlice
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc