When I play videos both in a browser or media player, I get a green screen where the video should be, but the audio works. It started happening about a month ago. ffmpeg seems to detect that the h264 codec can be hardware accelerated, but then it doesnt work. On my own videos, h264 hardware acceleration does work correctly. But it seems to fail anywhere online. To watch videos, I have to explicitly set hwdec=no, instead of hwdec=auto in mpv for online sources because of audio overruns.
$ uname -a
Linux archlinux 7.1.8-arch1-3 #1 SMP PREEMPT_DYNAMIC Tue, 11 Aug 2026 09:16:08 +0000 x86_64 GNU/Linux
Software versions:
mesa 1:26.2.1-1
opencl-mesa 1:26.2.1-1
vulkan-mesa-layers 1:26.2.1-1
vulkan-radeon 1:26.2.1-1
libglvnd 1.7.0-3
libva 2.24.1-1
ffmpeg 2:9.0.1-1
lib32-mesa 1:26.2.1-1
lib32-opencl-mesa 1:26.2.1-1
lib32-vulkan-radeon 1:26.2.1-1
lib32-vulkan-mesa-layers 1:26.2.1-1
lib32-libglvnd 1.7.0-1
lib32-libva 2.24.1-1
$ vainfo
Trying display: wayland
vainfo: VA-API version: 1.24 (libva 2.24.0)
vainfo: Driver version: Mesa Gallium driver 26.2.1-arch1.1 for AMD Radeon R5 Graphics (radeonsi, kabini, ACO, DRM 3.64, 7.1.8-arch1-3)
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
VAProfileNone : VAEntrypointVideoProc
about:support > “Codec support information” in Librewolf gives:
Codec Name Software Decoding Hardware Decoding Software Encoding Hardware Encoding
H264 Supported Supported Unsupported Supported
VP9 Supported Unsupported Unsupported Unsupported
VP8 Supported Unsupported Unsupported Unsupported
AV1 Supported Unsupported Unsupported Unsupported
HEVC Supported Unsupported Unsupported Unsupported
AAC Supported Unsupported Unsupported Unsupported
MP3 Supported Unsupported Unsupported Unsupported
Opus Supported Unsupported Unsupported Unsupported
Vorbis Supported Unsupported Unsupported Unsupported
FLAC Supported Unsupported Unsupported Unsupported
Wave Supported Unsupported Unsupported Unsupported
Over a year ago I switched from the default radeon graphics driver to amdgpu to fix visual glitches:
$ lsmod | grep -E "amdgpu|radeon"
amdgpu 17436672 43
radeon 2183168 0
drm_buddy 12288 1 amdgpu
amdxcp 12288 1 amdgpu
drm_panel_backlight_quirks 12288 1 amdgpu
gpu_sched 77824 1 amdgpu
drm_ttm_helper 20480 3 amdgpu,radeon
ttm 151552 3 amdgpu,radeon,drm_ttm_helper
video 81920 2 amdgpu,radeon
drm_exec 12288 2 amdgpu,radeon
i2c_algo_bit 24576 2 amdgpu,radeon
drm_suballoc_helper 20480 2 amdgpu,radeon
drm_display_helper 303104 2 amdgpu,radeon
cec 102400 2 drm_display_helper,amdgpu
My GPU is capable of H264 vaapi hardware acceleration in MPV, OBS, Openshot. I shouldn’t have to disable hardware acceleration entirely for the only codec that it can be used on.