You are not logged in.
Hi everyone, I'm trying to get HW video acceleration working on LibreWolf under Wayland, but the browser crashes with a Wayland protocol error whenever I play a video on YouTube.
To give you some context these are my system's specs:
- Kernel: 6.19.11-arch1-1
- DE: KDE Plasma (Wayland)
- GPU: NVIDIA GeForce RTX 3080
- Drivers: nvidia-open (version 595.58.03)
- Browser: LibreWolf 149.0-1
- VA-API Wrapper: libva-nvidia-driver (installed via pacman)
I tried enabling HW video acceleration using these two guides https://wiki.archlinux.org/title/Hardwa … celeration, https://wiki.archlinux.org/title/Firefo … celeration. libva-nvidia-driver seems to be working as shown by vainfo
vainfo
Trying display: wayland
vainfo: VA-API version: 1.23 (libva 2.22.0)
vainfo: Driver version: VA-API NVDEC driver [direct backend]
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264High : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointVLD
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileAV1Profile0 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain12 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointVLD
VAProfileHEVCMain444_10 : VAEntrypointVLD
VAProfileHEVCMain444_12 : VAEntrypointVLDMy environment variables contain LIBVA_DRIVER_NAME=nvidia and MOZ_ENABLE_WAYLAND=1. Following the guide, i set gfx.webrender.all and media.hardware-video-decoding.force-enabled to true. The Compositing value is WebRender.
The problem is that when I open a YT vide, the browser crashes almost immediately giving me a segmentation fault. The terminal output shows
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: (kde) Wayland protocol error: zwp_linux_buffer_params_v1#234: error 7: importing the supplied dmabufs failed
(t=9.32224) [GFX1-]: (kde) Wayland protocol error: zwp_linux_buffer_params_v1#234: error 7: importing the supplied dmabufs failed
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: CompositorBridgeChild receives IPC close with reason=AbnormalShutdown (t=1Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: CompositorBridgeChild receives IPC close with reason=AbnormalShutdown (t=10.8808) Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
[1] 100502 segmentation fault (core dumped) librewolfI tried forcing XWayland, launching the browser with MOZ_ENABLE_WAYLAND=0. It seems to works with a lot of log spam though. I confirmed with nvidia-smi dmon that the dec column is active.
This is the output that floods my terminal:
Crash Annotation GraphicsCriticalError: |[0][GFX1]: Error in eglSetDamageRegion: 0x3009 (t=1.11821)
|[9676][GFX1]: Error in eglSetDamageRegion: 0x3009 (t=124.713)
|[9677][GFX1]: Error in eglSetDamageRegion: 0x3009 (t=124.72)
|[9678][GFX1]: Error in eglSetDamageRegion: 0x3009 (t=124.727)(I know I could suppress the output by redirecting to /dev/null, but it still means WebRender is falling back to full-window redraws).
Running with MOZ_LOG="FFmpegVideo:5", the log shows that the GPU successfully decodes the first few frames, but the browser crashes as soon as it tries to present them to Wayland via dmabuf i think...
If I set media.ffmpeg.vaapi.enabled=false and media.hardware-video-decoding.force-enabled=false, the browser is stable on Wayland, but obviously relies on CPU decoding which is not what I want.
Is this zwp_linux_buffer_params_v1 error 7 a bug between nvidia-open drivers and KWin?
Is there any known workaround I could've missed to get VA-API working with Librewolf on native Wayland with this setup, or should I just stick to CPU decoding for now?
Last edited by Dr4gon97 (2026-04-07 20:59:07)
Offline
Offline
Ahhh thank you so much! I completely forgot I had gfx.wayland.hdr set to true in my about:config from some previous testing. It turns out that reverting it back to false solves the problem while allowing HW video acceleration to work without crashing. Librewolf now sees the hardware decoding capabilties and nvidia-smi dmon confirms the GPU is handling the decoding.
I appreciate the tip, marking this thread as [Solved]
Offline