Skip to content

vlc crashs when using wayland

i'm trying to compile and run vlc on wayland.

first error i have was vlc showing this error[Aborted (core dumped)]:

(gdb) run -vvv
Starting program: /home/amine/vlc/build/vlc -vvv
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
VLC media player 3.0.0-git Vetinari (revision 2.2.0-git-15332-g3fa85e6a2b)
[0000555555759600] core libvlc debug: VLC media player - 3.0.0-git Vetinari
[0000555555759600] core libvlc debug: Copyright © 1996-2017 the VideoLAN team
[0000555555759600] core libvlc debug: revision 2.2.0-git-15332-g3fa85e6a2b
[0000555555759600] core libvlc debug: configured with ../configure 
[0000555555759600] core libvlc debug: searching plug-in modules
[0000555555759600] core libvlc debug: loading plugins cache file /home/amine/vlc/build/src/.libs/vlc/plugins/plugins.dat
[0000555555759600] core libvlc warning: cannot read /home/amine/vlc/build/src/.libs/vlc/plugins/plugins.dat: No such file or directory
[0000555555759600] core libvlc debug: recursively browsing `/home/amine/vlc/build/src/.libs/vlc/plugins'
[0000555555759600] core libvlc debug: loading plugins cache file /home/amine/vlc/build/modules/plugins.dat
[0000555555759600] core libvlc debug: recursively browsing `/home/amine/vlc/build/modules'
[0000555555759600] core libvlc debug: plug-ins loaded: 496 modules
[0000555555759600] core libvlc debug: opening config file (/home/amine/.config/vlc/vlcrc)
[0000555555759950] core logger debug: looking for logger module matching "any": 4 candidates
[0000555555759950] core logger debug: using logger module "console"
[0000555555759600] core libvlc debug: translation test: code is "C"
[0000555555814760] core keystore debug: looking for keystore module matching "memory": 4 candidates
[0000555555814760] core keystore debug: using keystore module "memory"
[0000555555759600] core libvlc debug: CPU has capabilities MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 AVX AVX2 FPU 
[00005555558229a0] core playlist debug: creating audio output
[000055555580fb30] core audio output debug: looking for audio output module matching "any": 6 candidates
[000055555580fb30] pulse audio output debug: using library version 11.1.0
[000055555580fb30] pulse audio output debug:  (compiled with version 11.1.0, protocol 32)
[New Thread 0x7ffff2fa2700 (LWP 1322)]
[000055555580fb30] pulse audio output debug: connected locally to unix:/run/user/1000/pulse/native as client [#12](https://code.videolan.org/videolan/vlc/-/issues/12)
[000055555580fb30] pulse audio output debug: using protocol 32, server protocol 32
[000055555580fb30] pulse audio output debug: adding sink 0: alsa_output.pci-0000_00_1f.3.analog-stereo (Built-in Audio Analog Stereo)
[000055555580fb30] core audio output debug: using audio output module "pulse"
[00005555558229a0] core playlist debug: keeping audio output
[New Thread 0x7ffff27a1700 (LWP 1323)]
[000055555580a870] core interface debug: looking for interface module matching "dbus,none": 18 candidates
[000055555580a870] dbus interface debug: listening on dbus as: org.mpris.MediaPlayer2.vlc
[New Thread 0x7ffff248e700 (LWP 1324)]
[000055555580a870] core interface debug: using interface module "dbus"
[000055555582b020] core interface debug: looking for interface module matching "hotkeys,none": 18 candidates
[000055555580a870] dbus interface debug: Getting All properties
[000055555580a870] dbus interface debug: Getting All properties
[000055555580a870] dbus interface debug: Getting All properties
[000055555580a870] dbus interface debug: Getting All properties
[000055555580a870] dbus interface debug: Getting All properties
[000055555580a870] dbus interface debug: Getting All properties
[000055555580a870] dbus interface debug: Getting All properties
[000055555580a870] dbus interface debug: Getting All properties
[000055555580a870] dbus interface debug: Getting All properties
[000055555582b020] core interface debug: using interface module "hotkeys"
[000055555582c920] core interface debug: looking for interface module matching "globalhotkeys,none": 18 candidates
[000055555582c920] core interface debug: using interface module "xcb_hotkeys"
[0000555555759600] core libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[000055555582d8a0] core interface debug: looking for interface module matching "any": 18 candidates
[New Thread 0x7fffd87f6700 (LWP 1326)]
This application failed to start because it could not find or load the Qt platform plugin "wayland"
in "".

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.

Reinstalling the application may fix this problem.

Thread 5 "vlc" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffd87f6700 (LWP 1326)]
0x00007ffff67228a0 in raise () from /usr/lib/libc.so.6
(gdb) bt
[#0](https://code.videolan.org/videolan/vlc/-/issues/0)  0x00007ffff67228a0 in raise () from /usr/lib/libc.so.6
[#1](https://code.videolan.org/videolan/vlc/-/issues/1)  0x00007ffff6723f09 in abort () from /usr/lib/libc.so.6
[#2](https://code.videolan.org/videolan/vlc/-/issues/2)  0x00007fffdb9a4858 in QMessageLogger::fatal(char const*, ...) const ()
   from /usr/lib/libQt5Core.so.5
[#3](https://code.videolan.org/videolan/vlc/-/issues/3)  0x00007ffff071f093 in QGuiApplicationPrivate::createPlatformIntegration()
    () from /usr/lib/libQt5Gui.so.5
[#4](https://code.videolan.org/videolan/vlc/-/issues/4)  0x00007ffff071f19e in QGuiApplicationPrivate::createEventDispatcher() ()
   from /usr/lib/libQt5Gui.so.5
[#5](https://code.videolan.org/videolan/vlc/-/issues/5)  0x00007fffdbba52a5 in QCoreApplicationPrivate::init() ()
   from /usr/lib/libQt5Core.so.5
[#6](https://code.videolan.org/videolan/vlc/-/issues/6)  0x00007ffff0720c80 in QGuiApplicationPrivate::init() ()
   from /usr/lib/libQt5Gui.so.5
[#7](https://code.videolan.org/videolan/vlc/-/issues/7)  0x00007ffff0ee8e5a in QApplicationPrivate::init() ()
   from /usr/lib/libQt5Widgets.so.5
[#8](https://code.videolan.org/videolan/vlc/-/issues/8)  0x00007ffff18ba0b6 in QVLCApp::QVLCApp (argv=0x7fffd87f5df0, 
    argc=@0x7fffd87f5d84: 1, this=0x7fffd87f5dc0)
    at ../../modules/gui/qt/util/qvlcapp.hpp:49
[#9](https://code.videolan.org/videolan/vlc/-/issues/9)  ThreadPlatform (obj=0x55555582d8a0, 
    platform_name=platform_name@entry=0x7fffd87f5e70 "wayland")
    at ../../modules/gui/qt/qt.cpp:533
[#10](https://code.videolan.org/videolan/vlc/-/issues/10) 0x00007ffff18bb06a in ThreadWayland (data=<optimized out>)
    at ../../modules/gui/qt/qt.cpp:392
[#11](https://code.videolan.org/videolan/vlc/-/issues/11) 0x00007ffff6cb108a in start_thread () from /usr/lib/libpthread.so.0
---Type <return> to continue, or q <return> to quit---
[#12](https://code.videolan.org/videolan/vlc/-/issues/12) 0x00007ffff67e447f in clone () from /usr/lib/libc.so.6

i figured out that qt5-wayland is missing, after the installation of qt5-wayland i got another error[Segmentation fault (core dumped)].

this the backtrace output using gdb.

(gdb) run -vvv
Starting program: /home/amine/vlc/build/vlc -vvv
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
VLC media player 3.0.0-git Vetinari (revision 2.2.0-git-15332-g3fa85e6a2b)
[0000555555759600] core libvlc debug: VLC media player - 3.0.0-git Vetinari
[0000555555759600] core libvlc debug: Copyright © 1996-2017 the VideoLAN team
[0000555555759600] core libvlc debug: revision 2.2.0-git-15332-g3fa85e6a2b
[0000555555759600] core libvlc debug: configured with ../configure 
[0000555555759600] core libvlc debug: searching plug-in modules
[0000555555759600] core libvlc debug: loading plugins cache file /home/amine/vlc/build/src/.libs/vlc/plugins/plugins.dat
[0000555555759600] core libvlc warning: cannot read /home/amine/vlc/build/src/.libs/vlc/plugins/plugins.dat: No such file or directory
[0000555555759600] core libvlc debug: recursively browsing `/home/amine/vlc/build/src/.libs/vlc/plugins'
[0000555555759600] core libvlc debug: loading plugins cache file /home/amine/vlc/build/modules/plugins.dat
[0000555555759600] core libvlc debug: recursively browsing `/home/amine/vlc/build/modules'
[0000555555759600] core libvlc debug: plug-ins loaded: 496 modules
[0000555555759600] core libvlc debug: opening config file (/home/amine/.config/vlc/vlcrc)
[0000555555759950] core logger debug: looking for logger module matching "any": 4 candidates
[0000555555759950] core logger debug: using logger module "console"
[0000555555759600] core libvlc debug: translation test: code is "C"
[0000555555814760] core keystore debug: looking for keystore module matching "memory": 4 candidates
[0000555555814760] core keystore debug: using keystore module "memory"
[0000555555759600] core libvlc debug: CPU has capabilities MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 AVX AVX2 FPU 
[00005555558229a0] core playlist debug: creating audio output
[000055555580fb30] core audio output debug: looking for audio output module matching "any": 6 candidates
[000055555580fb30] pulse audio output debug: using library version 11.1.0
[000055555580fb30] pulse audio output debug:  (compiled with version 11.1.0, protocol 32)
[New Thread 0x7ffff2fa2700 (LWP 1281)]
[000055555580fb30] pulse audio output debug: connected locally to unix:/run/user/1000/pulse/native as client [#11](https://code.videolan.org/videolan/vlc/-/issues/11)
[000055555580fb30] pulse audio output debug: using protocol 32, server protocol 32
[000055555580fb30] pulse audio output debug: adding sink 0: alsa_output.pci-0000_00_1f.3.analog-stereo (Built-in Audio Analog Stereo)
[000055555580fb30] core audio output debug: using audio output module "pulse"
[00005555558229a0] core playlist debug: keeping audio output
[New Thread 0x7ffff27a1700 (LWP 1282)]
[000055555580a870] core interface debug: looking for interface module matching "dbus,none": 18 candidates
[000055555580a870] dbus interface debug: listening on dbus as: org.mpris.MediaPlayer2.vlc
[New Thread 0x7ffff248e700 (LWP 1283)]
[000055555580a870] core interface debug: using interface module "dbus"
[000055555582b020] core interface debug: looking for interface module matching "hotkeys,none": 18 candidates
[000055555580a870] dbus interface debug: Getting All properties
[000055555580a870] dbus interface debug: Getting All properties
[000055555580a870] dbus interface debug: Getting All properties
[000055555580a870] dbus interface debug: Getting All properties
[000055555580a870] dbus interface debug: Getting All properties
[000055555580a870] dbus interface debug: Getting All properties
[000055555580a870] dbus interface debug: Getting All properties
[000055555582b020] core interface debug: using interface module "hotkeys"
[000055555582c600] core interface debug: looking for interface module matching "globalhotkeys,none": 18 candidates
[000055555582c600] core interface debug: using interface module "xcb_hotkeys"
[0000555555759600] core libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[000055555582d580] core interface debug: looking for interface module matching "any": 18 candidates
[New Thread 0x7fffd87f6700 (LWP 1285)]
[000055555582d580] qt interface debug: Boring first Run Wizard
Using Wayland-EGL
Using the 'xdg-shell-v6' shell integration

Thread 5 "vlc" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd87f6700 (LWP 1285)]
0x00007fffd8267b87 in QtWaylandClient::QWaylandXdgSurfaceV6::setType(Qt::WindowType, QtWaylandClient::QWaylandWindow*) ()
   from /usr/lib/libQt5WaylandClient.so.5
(gdb) bt
[#0](https://code.videolan.org/videolan/vlc/-/issues/0)  0x00007fffd8267b87 in QtWaylandClient::QWaylandXdgSurfaceV6::setType(Qt::WindowType, QtWaylandClient::QWaylandWindow*) ()
   from /usr/lib/libQt5WaylandClient.so.5
[#1](https://code.videolan.org/videolan/vlc/-/issues/1)  0x00007fffd8263508 in QtWaylandClient::QWaylandWindow::initWindow() ()
   from /usr/lib/libQt5WaylandClient.so.5
[#2](https://code.videolan.org/videolan/vlc/-/issues/2)  0x00007fffd8263b31 in QtWaylandClient::QWaylandWindow::setVisible(bool) ()
   from /usr/lib/libQt5WaylandClient.so.5
[#3](https://code.videolan.org/videolan/vlc/-/issues/3)  0x00007fffd0c5abd5 in ?? ()
   from /usr/lib/qt/plugins/wayland-graphics-integration-client/libwayland-egl.so
[#4](https://code.videolan.org/videolan/vlc/-/issues/4)  0x00007ffff072eff9 in QWindow::setVisible(bool) ()
   from /usr/lib/libQt5Gui.so.5
[#5](https://code.videolan.org/videolan/vlc/-/issues/5)  0x00007ffff0f17429 in QWidgetPrivate::show_sys() ()
   from /usr/lib/libQt5Widgets.so.5
[#6](https://code.videolan.org/videolan/vlc/-/issues/6)  0x00007ffff0f20786 in QWidgetPrivate::show_helper() ()
   from /usr/lib/libQt5Widgets.so.5
[#7](https://code.videolan.org/videolan/vlc/-/issues/7)  0x00007ffff0f23599 in QWidget::setVisible(bool) ()
   from /usr/lib/libQt5Widgets.so.5
[#8](https://code.videolan.org/videolan/vlc/-/issues/8)  0x00007ffff193bfbd in FirstRun::FirstRun (this=0x7fffcc05c080, 
    _p=<optimized out>, _p_intf=0x55555582d580)
    at ../../modules/gui/qt/dialogs/firstrun.cpp:37
[#9](https://code.videolan.org/videolan/vlc/-/issues/9)  0x00007ffff18d10a5 in FirstRun::CheckAndRun (p_intf=0x55555582d580, 
    _p=0x7fffcc02d350) at ../../modules/gui/qt/dialogs/firstrun.hpp:37
---Type <return> to continue, or q <return> to quit---
[#10](https://code.videolan.org/videolan/vlc/-/issues/10) MainInterface::MainInterface (this=0x7fffcc02d350, _p_intf=0x55555582d580)
    at ../../modules/gui/qt/main_interface.cpp:115
[#11](https://code.videolan.org/videolan/vlc/-/issues/11) 0x00007ffff18ba34c in ThreadPlatform (obj=0x55555582d580, 
    platform_name=platform_name@entry=0x7fffd87f5e70 "wayland")
    at ../../modules/gui/qt/qt.cpp:597
[#12](https://code.videolan.org/videolan/vlc/-/issues/12) 0x00007ffff18bb06a in ThreadWayland (data=<optimized out>)
    at ../../modules/gui/qt/qt.cpp:392
[#13](https://code.videolan.org/videolan/vlc/-/issues/13) 0x00007ffff6cb108a in start_thread () from /usr/lib/libpthread.so.0
[#14](https://code.videolan.org/videolan/vlc/-/issues/14) 0x00007ffff67e447f in clone () from /usr/lib/libc.so.6

at this point i'm not sure if it's an error in vlc, qt or wayland or just something missing in my system(anyway segementation fault should not happen).

those are some of the lines of configure that show that wayland related conditions passed:

checking for libva-wayland... yes
...
checking for wayland-client >= 1.5.91... yes
checking for the Wayland protocols... //usr/share/wayland-protocols
checking for the Wayland scanner... /usr/bin/wayland-scanner
checking for wayland-egl... yes

the actual versions installed on the system(Arch Linux) of the components that might be related to the error:

qt5-wayland 5.9.2
wayland 1.14.0
wayland-protocols 1.11-
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information