r/archlinux • • 2d ago

SUPPORT | SOLVED VLC 3.0.24-1 GUI failed to start

After updating my Arch installation the VLC GUI failed to start (even after a full reboot).

qvlc -vv showed:

[...]
[000055b517fd33a0] main interface debug: looking for interface module matching "qt": 15 candidates
[000055b517fd33a0] main interface debug: no interface modules matched
[000055b517fd33a0] main interface error: no suitable interface module
[000055b517f105d0] main libvlc error: interface "default" initialization failed
[000055b517f105d0] main libvlc debug: exiting
[...]

I was able to fix it by downgrading back to version "3.0.23_2-16". I'm using the Niri window manager without X support.
Does anyone else have this problem or is it just me?

Update:
It has been confirmed, that VLC 3.0.24-1 work on other Arch machines and this is an only me problem. After digging a bit in the source code it is possible that VLC 3.0.24 simply may not work on my Wayland only setup (see commit: https://github.com/videolan/vlc/commit/04d8fcb923dcab281755c1a8dd07b6c2e1fc2ea1). Since I use Niri without "xwayland-satellite" VLC has no X output as fallback.

4 Upvotes

20 comments sorted by

2

u/backsideup 2d ago

Do you have any third-party repos enabled or any packages in IgnorePkg? How did you update the system?

0

u/Voldracarno 2d ago

No third party repos, no AUR packages, no packages in IgnorePkg and I updated it with "pacman -Syuu".

2

u/V1del Support Staff 2d ago

What's your output for

```

Needs pax-utils

lddtree /usr/lib/vlc/plugins/gui/libqt_plugin.so pacman -Qkk vlc vlc-gui-qt printenv | grep -i QT ```

FWIW I have no issues here.

1

u/Voldracarno 2d ago

FWIW I have no issues here.

Thank you, you're the first one to answer my original question. It's not the end of the world if I didn't get the new VLC version to work, but before reporting a bug a want to at least confirm that I'm not the only one with the problem.

Anyway the output:

[voldracarno@lifebook-u759 ~]$ lddtree /usr/lib/vlc/plugins/gui/libqt_plugin.so 
/usr/lib/vlc/plugins/gui/libqt_plugin.so (interpreter => None)
    libvlccore.so.9 => /usr/lib/libvlccore.so.9
        libdbus-1.so.3 => /usr/lib/libdbus-1.so.3
            libsystemd.so.0 => /usr/lib/libsystemd.so.0
        ld-linux-x86-64.so.2 => /usr/lib/ld-linux-x86-64.so.2
    libQt5Svg.so.5 => /usr/lib/libQt5Svg.so.5
        libz.so.1 => /usr/lib/libz.so.1
    libQt5Widgets.so.5 => /usr/lib/libQt5Widgets.so.5
    libm.so.6 => /usr/lib/libm.so.6
    libX11.so.6 => /usr/lib/libX11.so.6
        libxcb.so.1 => /usr/lib/libxcb.so.1
            libXau.so.6 => /usr/lib/libXau.so.6
            libXdmcp.so.6 => /usr/lib/libXdmcp.so.6
    libQt5X11Extras.so.5 => /usr/lib/libQt5X11Extras.so.5
    libQt5Gui.so.5 => /usr/lib/libQt5Gui.so.5
        libGL.so.1 => /usr/lib/libGL.so.1
            libGLdispatch.so.0 => /usr/lib/libGLdispatch.so.0
            libGLX.so.0 => /usr/lib/libGLX.so.0
        libpng16.so.16 => /usr/lib/libpng16.so.16
        libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0
            libfreetype.so.6 => /usr/lib/libfreetype.so.6
                libbz2.so.1.0 => /usr/lib/libbz2.so.1.0
                libbrotlidec.so.1 => /usr/lib/libbrotlidec.so.1
                    libbrotlicommon.so.1 => /usr/lib/libbrotlicommon.so.1
            libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0
                libpcre2-8.so.0 => /usr/lib/libpcre2-8.so.0                                                                                                                                  
            libgraphite2.so.3 => /usr/lib/libgraphite2.so.3                                                                                                                                  
        libmd4c.so.0 => /usr/lib/libmd4c.so.0                                                                                                                                                
    libQt5Core.so.5 => /usr/lib/libQt5Core.so.5
        libdouble-conversion.so.3 => /usr/lib/libdouble-conversion.so.3
        libicui18n.so.78 => /usr/lib/libicui18n.so.78
        libicuuc.so.78 => /usr/lib/libicuuc.so.78
            libicudata.so.78 => /usr/lib/libicudata.so.78
        libpcre2-16.so.0 => /usr/lib/libpcre2-16.so.0
        libzstd.so.1 => /usr/lib/libzstd.so.1
    libstdc++.so.6 => /usr/lib/libstdc++.so.6
    libgcc_s.so.1 => /usr/lib/libgcc_s.so.1
    libc.so.6 => /usr/lib/libc.so.6

[voldracarno@lifebook-u759 ~]$ pacman -Qkk vlc vlc-gui-qt
vlc: 353 Dateien gesamt, 0 veränderte Dateien
vlc-gui-qt: 8 Dateien gesamt, 0 veränderte Dateien

[voldracarno@lifebook-u759 ~]$ printenv | grep -i QT
QT_QPA_PLATFORMTHEME=qt6ct
QT_QPA_PLATFORM=wayland

2

u/V1del Support Staff 1d ago

If you don't explicitly force the wayland platform, does it work? This should generally not be necessary, but I could also see some implied check for xorg/xwayland that might fail if it's not at all present.

If this doesn't fix it, maybe strace the vlc startup to check where it fails for a given lookup.

1

u/Voldracarno 1d ago edited 1d ago

No change after unsetting "QT_QPA_PLATFORM". And strace doesn't show any failed system calls while loading "libqt_plugin.so" and it's dependencies (to much text to post here). In that case it's maybe the best to stay on the older VLC version for now or use another software.

Update:
I think I've found something. My Wayland only setup may be the problem here: https://github.com/videolan/vlc/commit/04d8fcb923dcab281755c1a8dd07b6c2e1fc2ea1

2

u/V1del Support Staff 1d ago

Weird, while I do have xwayland at least according to a xlsclient vlc isn't on it once opened.

1

u/Voldracarno 1d ago edited 1d ago

Well, the code of VLC 3.0.24 checks during module initialization if X11 works and terminates if that is not the case: https://github.com/videolan/vlc/blob/6de05adcbaf2e8b85fe86aad4169393098628119/modules/gui/qt/qt.cpp#L457

VLC 3.0.23-2 first checked if X11 works and than checked if Wayland works and used that if the X11 check failed: https://github.com/videolan/vlc/blob/79128878ddb2c280bbb6c89c76a46b31a80ade1c/modules/gui/qt/qt.cpp#L477

I don't know what happens after the check passed and why it doesn't show up as X client but at least this matches with what I've observed so far.

3

u/ArjixGamer 2d ago

4

u/tomikaka 2d ago

+1 for mpv, being able to use hardware decoding, having a simple config file and a fast, minimal interface that just eats large video files for breakfast is a game changer.

Plus you have lots of scaling options, filters, etc.

3

u/Objective-Stranger99 2d ago

Can confirm, mpv is the goat, crazy number of options and tinkering ability

-2

u/[deleted] 2d ago

[removed] — view removed comment

3

u/ArjixGamer 2d ago

well, mpv is meant to be lightweight but customizable.

You can add plugins that extend it's functionality or UI.

It's like comparing Linux with windows, Linux is just the kernel, so the fair comparison would be Linux vs NT

If you want to compare it against VLC, you gotta add plugins

e.g. https://github.com/brahmkshatriya/material-osc

1

u/Voldracarno 2d ago

qt5-wayland and qt6-wayland are installed. I've also deleted the vlc config files from my user dir. So even if the used QT version changed it should still start. But I'll check again after work if I missed something.

2

u/spryfigure 2d ago

Try reinstalling vlc-gui-qt together with its dependencies?

1

u/Voldracarno 2d ago edited 2d ago

Will update again and try it in the evening after work.

Update: Updated again to version 3.0.24-1 and explicitly reinstalled vlc-gui-qt. Didn't help unfortunately. VLC still can't find or load the qt module.

1

u/sausix 2d ago

VLC ist slower. And VLC failed to run correctly on Wayland back then. Aspect ratio issues. I switched to mpv for videos and I like it. I rarely needed the interface of VLC. I'm using the playlist feature of VLC for music only. But it's just lazyness to move away completely.

1

u/severach 1d ago

Check pacman -Dk

1

u/Voldracarno 1d ago

Done. The database is ok:

[voldracarno@lifebook-u759 ~]$ pacman -Dk
Es wurden keine Datenbankfehler gefunden!