Bug 6535

Summary: VLC crashes with new nvidia driver
Product: Fedora Reporter: Clodoaldo Pinto Neto <clodoaldo.pinto>
Component: vlcAssignee: Nicolas Chauvet <kwizart>
Status: RESOLVED FIXED    
Severity: normal CC: leigh123linux
Priority: P1    
Version: f37   
Hardware: x86_64   
OS: GNU/Linux   
namespace:
Attachments: Screen record
HW Decode

Description Clodoaldo Pinto Neto 2022-12-20 15:45:36 CET
Created attachment 2456 [details]
Screen record

After new nvidia driver VLC crashes at start.

# dnf list vlc xorg-x11-drv-nvidia
Last metadata expiration check: 0:18:20 ago on Tue 20 Dec 2022 11:17:21 AM -03.
Installed Packages
vlc.x86_64                                            1:3.0.18-2.fc37                                @rpmfusion-free
xorg-x11-drv-nvidia.x86_64                            3:525.60.11-1.fc37                             @rpmfusion-nonfree-updates
Comment 1 Nicolas Chauvet 2022-12-20 16:28:25 CET
No problem with me on vlc and the latest driver.

Can you try to regen the vlc cache (if any issue)
sudo /usr/lib64/vlc/vlc-cache-gen /usr/lib64/vlc/plugins

Then run vlc from command line and paste the output ?
vlc -v 


Also do you confirm to have rebooted when the driver was upgraded ?
Comment 2 Clodoaldo Pinto Neto 2022-12-20 16:41:34 CET
I did reboot after the driver upgrade.

After regen of the vlc cache?

$ vlc -v
VLC media player 3.0.18 Vetinari (revision )
[000055b6e006c520] main libvlc: Executando o VLC com a interface padrão. Use 'cvlc' para usar o VLC sem interface.
[000055b6e0118090] main playlist: playlist is empty
kf.kio.core: Invalid URL: QUrl("/home/cpn")
kf.jobwidgets: Cannot register a job with KUiServerV2JobTracker without QGuiApplication::desktopFileName
[00007f5b10001170] mp4 demux warning: STTS table of 643 entries
[00007f5b10001170] mp4 demux warning: CTTS table of 1807 entries
[00007f5b10001170] mp4 demux warning: STTS table of 116 entries
[00007f5b10d551a0] faad decoder warning: decoded zero sample
uint DBusMenuExporterDBus::GetLayout(int, int, const QStringList&, DBusMenuLayoutItem&): Condition failed: menu
uint DBusMenuExporterDBus::GetLayout(int, int, const QStringList&, DBusMenuLayoutItem&): Condition failed: menu
[00007f5af4006b80] gl gl: Initialized libplacebo v4.208.0 (API v208)
libva info: VA-API version 1.16.0
libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_0
QSocketNotifier: Socket notifiers cannot be enabled or disabled from another thread
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 38 and type 'Exception', disabling...
QObject::killTimer: Timers cannot be stopped from another thread
QObject::~QObject: Timers cannot be stopped from another thread
Falha de segmentação (imagem do núcleo gravada)
Comment 3 Clodoaldo Pinto Neto 2022-12-20 16:43:40 CET
"Falha de segmentação" means segmentation fault
Comment 4 leigh scott 2022-12-20 16:52:57 CET
Try https://koji.rpmfusion.org/koji/buildinfo?buildID=24432
Comment 5 Clodoaldo Pinto Neto 2022-12-20 18:26:55 CET
(In reply to leigh scott from comment #4)
> Try https://koji.rpmfusion.org/koji/buildinfo?buildID=24432

It fixes it
Comment 6 Nicolas Chauvet 2022-12-20 21:07:50 CET
Can you confirm that vlc tries to use vaapi by default on nvidia or it's just that you set the video output hw decode directly to vaapi ?

You should use vdpau (or opengl with vdpau video accelerated interop)
That's what I have when the video output hardware decoding is set to automatic.
Comment 7 Clodoaldo Pinto Neto 2022-12-20 21:35:22 CET
Created attachment 2457 [details]
HW Decode
Comment 8 Clodoaldo Pinto Neto 2022-12-20 21:36:20 CET
(In reply to Nicolas Chauvet from comment #6)
> Can you confirm that vlc tries to use vaapi by default on nvidia or it's
> just that you set the video output hw decode directly to vaapi ?
> 
> You should use vdpau (or opengl with vdpau video accelerated interop)
> That's what I have when the video output hardware decoding is set to
> automatic.

It is set to automatic and I don't remember ever touching it. Now I have set it to vdpau and it also works
Comment 9 Clodoaldo Pinto Neto 2022-12-20 21:40:22 CET
(In reply to Clodoaldo Pinto Neto from comment #8)
> (In reply to Nicolas Chauvet from comment #6)
> > Can you confirm that vlc tries to use vaapi by default on nvidia or it's
> > just that you set the video output hw decode directly to vaapi ?
> > 
> > You should use vdpau (or opengl with vdpau video accelerated interop)
> > That's what I have when the video output hardware decoding is set to
> > automatic.
> 
> It is set to automatic and I don't remember ever touching it. Now I have set
> it to vdpau and it also works

When set to vdpau:

$ vlc -v
VLC media player 3.0.18 Vetinari (revision )
[0000563d123d9520] main libvlc: Executando o VLC com a interface padrão. Use 'cvlc' para usar o VLC sem interface.
[0000563d12485090] main playlist: playlist is empty
[00007f7068001170] mp4 demux warning: STTS table of 643 entries
[00007f7068001170] mp4 demux warning: CTTS table of 1807 entries
[00007f7068001170] mp4 demux warning: STTS table of 116 entries
[00007f7068d554d0] faad decoder warning: decoded zero sample
uint DBusMenuExporterDBus::GetLayout(int, int, const QStringList&, DBusMenuLayoutItem&): Condition failed: menu
uint DBusMenuExporterDBus::GetLayout(int, int, const QStringList&, DBusMenuLayoutItem&): Condition failed: menu
[00007f703c006ba0] gl gl: Initialized libplacebo v4.208.0 (API v208)
libva info: VA-API version 1.16.0
libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_0
libva info: va_openDriver() returns 0
[00007f703c006ba0] glconv_vaapi_x11 gl error: vaDeriveImage: operation failed
[00007f704c049780] main video output error: video output creation failed
[00007f7068c184c0] main decoder error: failed to create video output
[00007f703c0b4b00] gl gl: Initialized libplacebo v4.208.0 (API v208)
[00007f7068c184c0] avcodec decoder: Using NVIDIA VDPAU Driver Shared Library  525.60.11  Wed Nov 23 22:48:12 UTC 2022 for hardware decoding
[0000563d124bfcd0] pulse audio output warning: starting late (-10773 us)
uint DBusMenuExporterDBus::GetLayout(int, int, const QStringList&, DBusMenuLayoutItem&): Condition failed: menu
Comment 10 Clodoaldo Pinto Neto 2022-12-20 21:44:55 CET
When set to va-api:

$ vlc -v
VLC media player 3.0.18 Vetinari (revision )
[000056551bcc0520] main libvlc: Executando o VLC com a interface padrão. Use 'cvlc' para usar o VLC sem interface.
[000056551bd6c090] main playlist: playlist is empty
[00007faae0001170] mp4 demux warning: STTS table of 643 entries
[00007faae0001170] mp4 demux warning: CTTS table of 1807 entries
[00007faae0001170] mp4 demux warning: STTS table of 116 entries
[00007faae0d3b030] faad decoder warning: decoded zero sample
uint DBusMenuExporterDBus::GetLayout(int, int, const QStringList&, DBusMenuLayoutItem&): Condition failed: menu
uint DBusMenuExporterDBus::GetLayout(int, int, const QStringList&, DBusMenuLayoutItem&): Condition failed: menu
[00007faac8006ba0] gl gl: Initialized libplacebo v4.208.0 (API v208)
libva info: VA-API version 1.16.0
libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_0
libva info: va_openDriver() returns 0
[00007faac8006ba0] glconv_vaapi_x11 gl error: vaDeriveImage: operation failed
[00007faad8002c00] main video output error: video output creation failed
[00007faae0c15850] main decoder error: failed to create video output
[00007faac80b4ff0] gl gl: Initialized libplacebo v4.208.0 (API v208)
[00007faac830b580] gl gl: Initialized libplacebo v4.208.0 (API v208)
[000056551bda6cd0] pulse audio output warning: starting late (-22247 us)
[00007faad8107980] qt window warning: orphaned video window
[h264 @ 0x7faae0cc77c0] get_buffer() failed
[h264 @ 0x7faae0cc77c0] thread_get_buffer() failed
[h264 @ 0x7faae0cc77c0] decode_slice_header error
[h264 @ 0x7faae0cc77c0] no frame!
[h264 @ 0x7faae0ce4600] get_buffer() failed
[h264 @ 0x7faae0ce4600] thread_get_buffer() failed
[h264 @ 0x7faae0ce4600] decode_slice_header error
[h264 @ 0x7faae0ce4600] no frame!
uint DBusMenuExporterDBus::GetLayout(int, int, const QStringList&, DBusMenuLayoutItem&): Condition failed: menu
uint DBusMenuExporterDBus::GetLayout(int, int, const QStringList&, DBusMenuLayoutItem&): Condition failed: menu
Comment 11 Clodoaldo Pinto Neto 2022-12-20 21:46:16 CET
When set to automatic:

$ vlc -v
VLC media player 3.0.18 Vetinari (revision )
[00005598374fb520] main libvlc: Executando o VLC com a interface padrão. Use 'cvlc' para usar o VLC sem interface.
[00005598375a7090] main playlist: playlist is empty
[00007f1c08001170] mp4 demux warning: STTS table of 643 entries
[00007f1c08001170] mp4 demux warning: CTTS table of 1807 entries
[00007f1c08001170] mp4 demux warning: STTS table of 116 entries
[00007f1c08d3b030] faad decoder warning: decoded zero sample
uint DBusMenuExporterDBus::GetLayout(int, int, const QStringList&, DBusMenuLayoutItem&): Condition failed: menu
uint DBusMenuExporterDBus::GetLayout(int, int, const QStringList&, DBusMenuLayoutItem&): Condition failed: menu
[00007f1bf0006ba0] gl gl: Initialized libplacebo v4.208.0 (API v208)
libva info: VA-API version 1.16.0
libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_0
libva info: va_openDriver() returns 0
[00007f1bf0006ba0] glconv_vaapi_x11 gl error: vaDeriveImage: operation failed
[00007f1c00002c00] main video output error: video output creation failed
[00007f1c08c15850] main decoder error: failed to create video output
[00007f1bf00b4ff0] gl gl: Initialized libplacebo v4.208.0 (API v208)
[00007f1c08c15850] avcodec decoder: Using NVIDIA VDPAU Driver Shared Library  525.60.11  Wed Nov 23 22:48:12 UTC 2022 for hardware decoding
[00005598375e1cd0] pulse audio output warning: starting late (-19448 us)
uint DBusMenuExporterDBus::GetLayout(int, int, const QStringList&, DBusMenuLayoutItem&): Condition failed: menu
Comment 12 Clodoaldo Pinto Neto 2022-12-20 22:00:29 CET
If I remove nvidia-vaapi-driver it works. I don't remember why I did install it.

$ vlc -v
VLC media player 3.0.18 Vetinari (revision )
[00005582f69b5520] main libvlc: Executando o VLC com a interface padrão. Use 'cvlc' para usar o VLC sem interface.
[00005582f6a61090] main playlist: playlist is empty
[00007f8b940011d0] mp4 demux warning: STTS table of 643 entries
[00007f8b940011d0] mp4 demux warning: CTTS table of 1807 entries
[00007f8b940011d0] mp4 demux warning: STTS table of 116 entries
[00007f8b94d3b030] faad decoder warning: decoded zero sample
uint DBusMenuExporterDBus::GetLayout(int, int, const QStringList&, DBusMenuLayoutItem&): Condition failed: menu
uint DBusMenuExporterDBus::GetLayout(int, int, const QStringList&, DBusMenuLayoutItem&): Condition failed: menu
[00007f8b7c006ba0] gl gl: Initialized libplacebo v4.208.0 (API v208)
libva info: VA-API version 1.16.0
libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so
libva info: va_openDriver() returns -1
[00007f8b7c006ba0] glconv_vaapi_x11 gl error: vaInitialize: unknown libva error
libva info: VA-API version 1.16.0
libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so
libva info: va_openDriver() returns -1
[00007f8b7c006ba0] glconv_vaapi_drm gl error: vaInitialize: unknown libva error
libva info: VA-API version 1.16.0
libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so
libva info: va_openDriver() returns -1
[00007f8b7c006ba0] glconv_vaapi_drm gl error: vaInitialize: unknown libva error
[00007f8b7c0c9560] vaapi_filters filter warning: Using SW chroma filter for 320x592 VAOP -> I420
[00007f8b7c006ba0] gl gl: Initialized libplacebo v4.208.0 (API v208)
[00007f8b94c158b0] avcodec decoder: Using NVIDIA VDPAU Driver Shared Library  525.60.11  Wed Nov 23 22:48:12 UTC 2022 for hardware decoding
[00005582f6a9bcd0] pulse audio output warning: starting late (-21969 us)
[00007f8b90002c00] main video output warning: picture is too late to be displayed (missing 42 ms)
[00007f8b900b02f0] qt window warning: orphaned video window
uint DBusMenuExporterDBus::GetLayout(int, int, const QStringList&, DBusMenuLayoutItem&): Condition failed: menu
uint DBusMenuExporterDBus::GetLayout(int, int, const QStringList&, DBusMenuLayoutItem&): Condition failed: menu
Comment 13 Nicolas Chauvet 2023-01-06 09:39:25 CET
(In reply to Clodoaldo Pinto Neto from comment #12)
> If I remove nvidia-vaapi-driver it works. I don't remember why I did install
> it.
nvidia-vaapi-driver is relevant mainly for browser (firefox/chromium*) and other  multimedia application that can only use the vaapi hw acceleratation.

So it's relevant to keep it, now vlc can be forced to use vdpau instead of vaapi to prevent using it over the native vdpau support.


Closing the issue.