QML Video type ffmpeg/gstreamer problems, AMD|KDE Neon

Hi, I have ported Smart video wallpaper plugin to Plasma 6. I have a Intel+NVIDIA GPU and it works fine with them.

But in some AMD GPUs it crashes plasmashell with both ffmpeg and gstreamer backend. Sometimes switching from ffmpeg to gstreamer fixes the crash but others doesn’t. Below are the logs I have received from some users of the plugin.

My question is, where should I report each of these issues? Are these logs even useful at all? I don’t have a AMD gpu to reproduce :frowning:

Also, can someone with AMD GPU try the plugin (to recover from crashes run sed -i 's/^VideoUrls=.*$/VideoUrls=/g' $HOME/.config/plasma-org.kde.plasma.desktop-appletsrc $HOME/.config/kscreenlockerrc) and this test.qml and tell me if it also crashes? Would that mean this may not be a KDE but a Qt issue?

1. Crash with ffmpeg as qt media backend:

Mar 17 17:40:14 User plasmashell[3543002]: vaExportSurfaceHandle failed
Mar 17 17:40:14 User plasmashell[3543002]: Error transferring the data to system memory: -5
Mar 17 17:40:14 User plasmashell[3543002]: [AVHWFramesContext @ 0x7662a0047100] Failed to sync surface 0x16: 13 (the requested VAEntryPoint is not supported).
Mar 17 17:40:14 User plasmashell[3543002]: could not map data of QVideoFrame for upload
Mar 17 17:40:14 User plasmashell[3543002]: Invalid texture upload for 0x76617cdf3b70 layer=0 mip=0
Mar 17 17:40:14 User plasmashell[3543002]: vaExportSurfaceHandle failed
Mar 17 17:40:14 User plasmashell[3543002]: Invalid texture upload for 0x76617c7bbaf0 layer=0 mip=0
Mar 17 17:40:14 User plasmashell[3543002]: Invalid texture upload for 0x76617c25f970 layer=0 mip=0
Mar 17 17:40:14 User plasmashell[3543002]: vaExportSurfaceHandle failed
Mar 17 17:40:14 User plasmashell[3543002]: vaExportSurfaceHandle failed
Mar 17 17:40:14 User plasmashell[3543002]: Error transferring the data to system memory: -5
Mar 17 17:40:14 User plasmashell[3543002]: [AVHWFramesContext @ 0x7662a0047100] Failed to sync surface 0x1c: 13 (the requested VAEntryPoint is not supported).
Mar 17 17:40:14 User plasmashell[3543002]: could not map data of QVideoFrame for upload
Mar 17 17:40:14 User plasmashell[3543002]: Invalid texture upload for 0x76617c25f970 layer=0 mip=0
Mar 17 17:40:14 User plasmashell[3543002]: vaExportSurfaceHandle failed
Mar 17 17:40:14 User plasmashell[3543002]: vaExportSurfaceHandle failed
Mar 17 17:40:14 User plasmashell[3543002]: Error transferring the data to system memory: -5
Mar 17 17:40:14 User plasmashell[3543002]: [AVHWFramesContext @ 0x7662a0047100] Failed to sync surface 0x17: 13 (the requested VAEntryPoint is not supported).
Mar 17 17:40:14 User plasmashell[3543002]: could not map data of QVideoFrame for upload
Mar 17 17:40:14 User plasmashell[3543002]: Invalid texture upload for 0x76617ca84e30 layer=0 mip=0
Mar 17 17:40:14 User plasmashell[3543002]: vaExportSurfaceHandle failed
Mar 17 17:40:14 User plasmashell[3543002]: Invalid texture upload for 0x76617ca84e30 layer=0 mip=0
Mar 17 17:40:14 User plasmashell[3543002]: Invalid texture upload for 0x76617c7b8a40 layer=0 mip=0
Mar 17 17:40:14 User plasmashell[3543002]: vaExportSurfaceHandle failed
Mar 17 17:40:14 User plasmashell[3543002]: vaExportSurfaceHandle failed
Mar 17 17:40:14 User plasmashell[3543002]: Error transferring the data to system memory: -5
Mar 17 17:40:14 User plasmashell[3543002]: [AVHWFramesContext @ 0x7662a0047100] Failed to sync surface 0x18: 13 (the requested VAEntryPoint is not supported).
Mar 17 17:40:14 User plasmashell[3543002]: could not map data of QVideoFrame for upload
Mar 17 17:40:14 User plasmashell[3543002]: Invalid texture upload for 0x76617c7b8a40 layer=0 mip=0
Mar 17 17:40:14 User plasmashell[3543002]: vaExportSurfaceHandle failed
Mar 17 17:40:14 User plasmashell[3543002]: Invalid texture upload for 0x76617c7c1f40 layer=0 mip=0
Mar 17 17:40:14 User plasmashell[3543002]: Invalid texture upload for 0x76617c5c9430 layer=0 mip=0
Mar 17 17:40:14 User plasmashell[3543002]: corrupted size vs. prev_size
Mar 17 17:40:14 User plasmashell[3543002]: vaExportSurfaceHandle failed
Mar 17 17:40:14 User plasmashell[3543002]: KCrash: Application 'plasmashell' crashing... crashRecursionCounter = 2
Mar 17 17:40:14 User systemd[1]: Started Process Core Dump (PID 3553048/UID 0).
Mar 17 17:40:14 User systemd[1]: Started Pass systemd-coredump journal entries to relevant user for potential DrKonqi handling.
Mar 17 17:40:18 User systemd-coredump[3553049]: Process 3543002 (plasmashell) of user 1000 dumped core.

2. Crash with gstreamer backend:

3. Black screen with gstreamer as Qt Media backend with latest Neon stable:

Failed to initialize QMediaPlayer "Could not find the videoconvertscale GStreamer element"

This one seems to be a packaging issue for gstreamer1.0-plugins-base as it should provide libgstvideoconvertscale.so but it doesnt for ubuntu older than lunar (23.04)

Found the Qt issue for #3 QTBUG-123312 Fix Version/s: 6.5.6, 6.7.0, 6.8.0 so the solution for that one is to wait for qt/gstreamer update

Disabling hardware decoding might also help. The ffmpeg backend is trying to call XDisplayString on Wayland.

This one QT_DISABLE_HW_TEXTURES_CONVERSION=1? Add specific env var for testing without hw textures conversion · qt/qtmultimedia@24cfd4a · GitHub

#1 is being investigated in QTBUG-124586 - QML video media player segmentation fault on AMD GPU with FFMPEG and Black screen with gstreamer as Qt Media backend (Recent KDE Neon update)