Still fighting this issue but more info. It appears that hardware decoding is working as mpv shows
user@hpoffice:~$ mpv --hwdec '/home/user/Videos/161104 #KISS - C mon and love me #KKVI.mp4'
(+) Video --vid=1 (*) (h264 1280x720 30.000fps)
(+) Audio --aid=1 (*) (aac 1ch 44100Hz)
Cannot load libcuda.so.1
Using hardware decoding (vaapi).
AO: [pulse] 44100Hz mono 1ch float
VO: [gpu] 1280x720 vaapi[nv12]
However even though hardware decoding is working the video displayed is just a black screen......with sound.
So I start mpv with the --hwdec & vo=x11 options & I now have video......
user@hpoffice:~$ mpv --hwdec --vo=x11 '/home/user/Videos/161104 #KISS - C mon and love me #KKVI.mp4'
(+) Video --vid=1 (*) (h264 1280x720 30.000fps)
(+) Audio --aid=1 (*) (aac 1ch 44100Hz)
[vo/x11] Warning: this legacy VO has bad performance. Consider fixing your graphics drivers, or not forcing the x11 VO.
[ffmpeg] AVHWDeviceContext: Cannot load libcuda.so.1
[ffmpeg] AVHWDeviceContext: Could not dynamically load CUDA
Using hardware decoding (vaapi-copy).
AO: [pulse] 44100Hz mono 1ch float
VO: [x11] 1280x720 nv12
I have video, but terrible performance. mpv reports "[vo/x11] Warning: this legacy VO has bad performance. Consider fixing your graphics drivers, or not forcing the x11 VO." So I've tried every other vo= option....
user@hpoffice:~$ mpv --vo=help
Available video outputs:
libmpv render API for libmpv
gpu Shader-based GPU Renderer
gpu-next Video output based on libplacebo
vdpau VDPAU with X11
wlshm Wayland SHM video output (software scaling)
xv X11/Xv
sdl SDL 2.0 Renderer
dmabuf-wayland Wayland dmabuf video output
vaapi VA API with X11
x11 X11 (software scaling)
null Null video output
image Write video frames to image files
tct true-color terminals
caca libcaca
drm Direct Rendering Manager (software scaling)
sixel terminal graphics using sixels
kitty Kitty terminal graphics protocol
No other option outputs a video display.
MPV by default outputs to vo=gpu without setting any vo= option. VLC does the same when video output option is set to auto, but also shows video when x11 output is chosen.
Both show black or blank video using vo=gpu, but had been working fine. Now the only way I get video is to specify vo=x11 option which seems I have no "hardware accelerated rendering". But glxinfo shows
user@hpoffice:~$ glxinfo
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
And glxgears loads & displays properly.
Problem seems to be either xserver-xorg-video-radeon package or the radeon driver in the kernel itself maybe? I reverted to an earlier kernel to check but it made no difference.
I'm confused. How can I have "hardware decoded video", but have to use "software rendered video" which is what vo=x11 does, to view a video?
Problem is system wide.