Appimage-run fails loading Qt platform plugin "xcb"

Hi,
I’m getting a similar issue to this post here: Appimage-run qt platform plugin error

Running appimage-run ./Tahoma2D.AppImage fails with the error:

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.

Running QT_DEBUG_PLUGINS=1 appimage-run ./Tahoma2D.AppImage gives more information:

Cannot load library /nix/store/0ixdrv8hand6fnalahyfm4bmzn6sx638-qtbase-5.15.9-bin/lib/qt-5.15.9/plugins/platforms/libqxcb.so: (/nix/store/0ixdrv8hand6fnalahyfm4bmzn6sx638-qtbase-5.15.9-bin/lib/qt-5.15.9/plugins/platforms/../../../../../cqyd8jhw3kipp2i6rgg38x64s9pvnplm-qtbase-5.15.9/lib/libQt5XcbQpa.so.5: undefined symbol: _ZTI27QPlatformServiceColorPicker, version Qt_5_PRIVATE_API)
QLibraryPrivate::loadPlugin failed on "/nix/store/0ixdrv8hand6fnalahyfm4bmzn6sx638-qtbase-5.15.9-bin/lib/qt-5.15.9/plugins/platforms/libqxcb.so" : "Cannot load library /nix/store/0ixdrv8hand6fnalahyfm4bmzn6sx638-qtbase-5.15.9-bin/lib/qt-5.15.9/plugins/platforms/libqxcb.so: (/nix/store/0ixdrv8hand6fnalahyfm4bmzn6sx638-qtbase-5.15.9-bin/lib/qt-5.15.9/plugins/platforms/../../../../../cqyd8jhw3kipp2i6rgg38x64s9pvnplm-qtbase-5.15.9/lib/libQt5XcbQpa.so.5: undefined symbol: _ZTI27QPlatformServiceColorPicker, version Qt_5_PRIVATE_API)"

My nixpkgs is on nixos-23.05 and I’m running KDE plasma on X11 with services.xserver.desktopManager.plasma5.enable = true.

Some other AppImages work, like the one on https://slippi.gg/, but Tahoma2D as well as Yuzu are giving the same error as above.

Interestingly, changing my DE to gnome does not reproduce the error above.

i.e. replacing

services.xserver.displayManager.sddm.enable = true;
services.xserver.desktopManager.plasma5.enable = true;

with

services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;

This seems to be some weird interaction with QT and plasma5?

I’ve found out that doing QT_PLUGIN_PATH= appimage-run ./<file> fixes the above issue and allows the AppImage to start. Anyone with an idea of how appimage-run works knows why this is required when using the plasma5 DE?

Edit: I’ve opened an issue here: appimage-run: Could not load the Qt platform plugin "xcb" in "" even though it was found. · Issue #238820 · NixOS/nixpkgs · GitHub

1 Like