I’m using Debian 12, Ryzen 7 5700X processor, and Radeon HD 5450 graphics card. I have tried uninstalling and reinstalling VLC but it didn’t resolve the issue. Here’s an excerpt from the VLC’s log file:
glconv_vaapi_x11 error: vaDeriveImage: operation failed
main error: video output creation failed
main error: failed to create video output
avcodec info: Using G3DVL VDPAU Driver Shared Library version 1.0 for hardware decoding
How do I resolve this issue?
Can you turn off hardware decoding and see if it works then?
I disabled hardware acceleration and VLC is able to play mp4 files again; however, is there a way to turn on hardware acceleration without getting these errors?
Update:
Changing “Hardware-accelerated decoding” to “VA-API video decoder” fixed the issue. Now VLC is able to play mp4 files with hardware acceleration without any issues.
I’m not sure off-hand since I’m not too familiar with VLC.
I would imagine it could be an issue in a graphics driver at the kernel (amdgpu?) or user level (mesa?). It could also be a problem in something higher up.
I would recommend posting an issue in the VLC repo and see if you can get better support that way.
Something is broken in your hardware acceleration stack, I’d check out the verification and troubleshooting sections here: https://wiki.archlinux.org/title/Hardware_video_acceleration.
The tiny excerpt from VLC you’ve included doesn’t give us enough info to see what’s broken but taking a wild stab at it I’d guess it’s libva, mesa or a regression in amdgpu. Take a look at the system journal (and user journal) as well as the VLC log, something in the library stack is probably throwing a more useful error than we’ve seen yet.
Maybe try a full update. Partial updates are problematic.
How do I do that?
sudo apt update && sudo apt upgrade
According to Debian Wiki VLC has limited support of va-api for hardware acceleration. Try fixes in the wiki. It might help.
Thank you, this resolved my issue.
I read the wiki and changed “Hardware-accelerated decoding” to “VA-API video decoder”.
My original problem was caused by the fact that this was set to automatic, now that it’s set to “VA-API video decoder” VLC is able to play mp4 files again without any issues.
What?
On arch I would reinstall pipewire. Idk if there’s an apt equivalent
This is something in the libva/mesa hardware acceleration stack