You are not logged in.
Hey everyone,
I'm running KDE Plasma Wayland with an RTX 3060 Laptop GPU and I'm trying to get hardware video decoding working in browsers.
What works:
vainfo succeeds and reports VA-API NVDEC driver [direct backend]
libva-nvidia-driver is installed
mpv successfully uses NVDEC hardware decoding
Firefox is running under Wayland (MOZ_ENABLE_WAYLAND=1)
WebRender is enabled
Installed packages:
nvidia-open 610.43.02-2
nvidia-utils 610.43.02-2
libva 2.23.0-1
libva-nvidia-driver 0.0.17-1
ffmpeg 8.1.1-2However, both Firefox and Chromium refuse to use hardware video decoding.
Firefox about:support shows:
HARDWARE_VIDEO_DECODING:
FEATURE_FAILURE_VIDEO_DECODING_TEST_FAILEDand under codec support:
H264: Supported, Unsupported
VP9: Supported, Unsupported
AV1: Supported, UnsupportedFirefox logging (firefox --MOZ_LOG="PlatformDecoderModule:5") contains:
Hw codec disabled by gfxVars for AV_CODEC_ID_AV1
Hw codec disabled by gfxVars for AV_CODEC_ID_VP9
Hw codec disabled by gfxVars for AV_CODEC_ID_VP8
Hw codec disabled by gfxVars for AV_CODEC_ID_HEVC
Hw codec disabled by gfxVars for AV_CODEC_ID_H264vainfo reports the NVIDIA VAAPI driver correctly:
Driver version: VA-API NVDEC driver [direct backend]Since mpv is able to use NVDEC without any issues, but both Firefox and Chromium fail to use hardware video decoding, I'm not sure where the problem is. As vainfo succeeds and hardware decoding works correctly in mpv, I would have expected browser hardware decoding to work as well.
I'm not sure what else to check at this point, so I'd appreciate any suggestions.
Last edited by xoyaa (2026-06-14 22:20:08)
Offline
Alright, the issue is solved.
The issue was not with VA-API, NVDEC, or the NVIDIA driver itself. vainfo and mpv were working correctly from the start anyway.
The fix was to follow the Firefox configuration recommended by the nvidia-vaapi-driver README. Simply enabling Firefox preferences (including media.hardware-video-decoding.force-enabled) wasn't enough.
The following environment variables were required:
LIBVA_DRIVER_NAME=nvidia
MOZ_DISABLE_RDD_SANDBOX=1I tested with:
LIBVA_DRIVER_NAME=nvidia MOZ_DISABLE_RDD_SANDBOX=1 firefoxH264: Supported, Supported
VP8: Supported, Supported
VP9: Supported, Supported
AV1: Supported, Supported
HEVC: Supported, Supportedand nvidia-smi dmon showed activity in the dec column during video playback, confirming that NVDEC hardware decoding was being used.
For Chromium, the problem was also fixed after launching with:
--disable-features=VaapiVideoDecoderOffline
Chromium refuse to use hardware video decoding.
For Chromium, the problem was also fixed after launching with
For chromium see:
https://bbs.archlinux.org/viewtopic.php … 6#p2296776
You'll need to patch libva-nvidia-driver with the PR, which is still working on latest git and got some review from elFarto just recently.
As for the correct current flags:
--enable-features=AcceleratedVideoDecodeLinuxGL,AcceleratedVideoDecodeLinuxZeroCopyGL,VaapiOnNvidiaGPUsOffline