Plasma Login Manager crashes on startup due to Qt platform plugins being unavailable

I’m using Plasma Login Manager 6.6.5-1 from Archlinux: Arch Linux - plasma-login-manager 6.6.5-1 (x86_64)

Both plasma-login-greeter and plasma-login-wallpaper are finishing execution due to a SIGABRT, looking into the the coredump from plasma-login-wallpaper using gdb we see:

Core was generated by `/usr/bin/plasma-login-wallpaper'.
Program terminated with signal SIGABRT, Aborted.
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
44            return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
(gdb) thread apply all backtrace full


Thread 1 (Thread 0x7fc9b0407c80 (LWP 1469)):
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
        tid = <optimized out>
        ret = 0
        pd = <optimized out>
        old_mask = {__val = {94471523266832}}
        ret = <optimized out>
#1  0x00007fc9b7a3c363 in __pthread_kill_internal (threadid=<optimized out>, signo=6) at pthread_kill.c:89
No locals.
#2  0x00007fc9b79e07d0 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
        ret = <optimized out>
#3  0x00007fc9b79c7681 in __GI_abort () at abort.c:77
        act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {140504366853770, 94471522913376, 94471522913392, 277, 18090005503353277440, 3, 140504222169584, 140728061366224, 18374403900871474942, 140728061366112, 140504351727398, 277, 18090005503353277440, 18374403900871474942, 18090005503353277440, 3}}, sa_flags = -837054512, sa_restorer = 0x7ffdce1b9480}
#4  0x00007fc9b7f28892 in qAbort () at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qassert.cpp:46
No locals.
#5  qt_maybe_message_fatal<QString&> (msgType=QtFatalMsg, context=..., message=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qlogging.cpp:2169
No locals.
#6  qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, context=..., msg=msg@entry=0x7fc9b8e02e8a "%s", ap=ap@entry=0x7ffdce1b8fb8) at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qlogging.cpp:412
        buf = {d = {d = 0x55ebdd908c60, ptr = 0x55ebdd908c70 u"This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.\n\nAvailable platform plugins are: eglfs, linuxfb, minimal, minima"..., size = 277}, static _empty = 0 u'\000'}
#7  0x00007fc9b7f296cb in QMessageLogger::fatal (this=this@entry=0x7ffdce1b94c0, msg=msg@entry=0x7fc9b8e02e8a "%s") at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qlogging.cpp:901
        ctxt = {<QMessageLogContext> = {static CurrentVersion = 2, version = 3, line = 0, file = 0x0, function = 0x0, category = 0x7fc9b8dfd0ec "default"}, static DefaultBacktraceDepth = 32, backtrace = std::optional [no contained value]}
        ap = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffdce1b91f0, reg_save_area = 0x7ffdce1b9120}}
#8  0x00007fc9b86df35e in init_platform (pluginNamesWithArguments=..., platformPluginPath=..., platformThemeName=..., argc=@0x7ffdce1b98bc: 1, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qguiapplication.cpp:1368
        fatalMessage = {d = {d = 0x55ebdd8e3d20, ptr = 0x55ebdd8e3d30 u"This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.\n\nAvailable platform plugins are: eglfs, linuxfb, minimal, minima"..., size = 277}, static _empty = 0 u'\000'}
        plugins = {<QListSpecialMethods<QString>> = {<QListSpecialMethodsBase<QString>> = {<No data fields>}, <No data fields>}, d = {d = 0x55ebdd8de9f0, ptr = 0x55ebdd8dea00, size = 2}}
        platformArguments = {<QListSpecialMethods<QString>> = {<QListSpecialMethodsBase<QString>> = {<No data fields>}, <No data fields>}, d = {d = 0x0, ptr = 0x0, size = 0}}
        availablePlugins = {<QListSpecialMethods<QString>> = {<QListSpecialMethodsBase<QString>> = {<No data fields>}, <No data fields>}, d = {d = 0x55ebdd8de770, ptr = 0x55ebdd8de780, size = 11}}
        themeNames = {<QListSpecialMethods<QString>> = {<QListSpecialMethodsBase<QString>> = {<No data fields>}, <No data fields>}, d = {d = 0x55ebdd8e3d20, ptr = 0x55ebdd8e3d30, size = 277}}
        platformIntegrationThemeNames = {<QListSpecialMethods<QString>> = {<QListSpecialMethodsBase<QString>> = {<No data fields>}, <No data fields>}, d = {d = 0x55ebdd8e7d01, ptr = 0x55ebdd8e1770, size = -9223372036854775702}}
        platformIntegration = <optimized out>
#9  QGuiApplicationPrivate::createPlatformIntegration (this=0x55ebdd8dba30) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qguiapplication.cpp:1616
        platformPluginPath = {d = {d = 0x0, ptr = 0x0, size = 0}, static _empty = 0 u'\000'}
        platformName = {d = {d = 0x55ebdd8de5b0, ptr = 0x55ebdd8de5c0 "wayland;xcb", size = 11}, static _empty = 0 '\000'}
        platformArguments = {<QListSpecialMethods<QByteArray>> = {<QListSpecialMethodsBase<QByteArray>> = {<No data fields>}, <No data fields>}, d = {d = 0x55ebdd8de950, ptr = 0x55ebdd8de960, size = 1}}
        platformPluginBase = {d = {d = 0x55ebdd8de560, ptr = 0x55ebdd8de570 "xcb", size = 3}, static _empty = 0 '\000'}
        hasWaylandDisplay = <optimized out>
        isWaylandSessionType = <optimized out>
        preferredPlatformOrder = {<QListSpecialMethods<QByteArray>> = {<QListSpecialMethodsBase<QByteArray>> = {<No data fields>}, <No data fields>}, d = {d = 0x55ebdd8de9a0, ptr = 0x55ebdd8de9b0, size = 2}}
        defaultIsXcb = <optimized out>
        xcbPlatformName = {d = {d = 0x55ebdd8de560, ptr = 0x55ebdd8de570 "xcb", size = 3}, static _empty = 0 '\000'}
        defaultIsWayland = <optimized out>
        waylandPlatformName = {d = {d = 0x55ebdd8de4d0, ptr = 0x55ebdd8de4e0 "wayland", size = 7}, static _empty = 0 '\000'}
        platformExplicitlySelected = <optimized out>
        platformNameEnv = {d = {d = 0x0, ptr = 0x0, size = 0}, static _empty = 0 '\000'}
        platformThemeName = {d = {d = 0x55ebdd8de500, ptr = 0x55ebdd8de510 u"kde", size = 3}, static _empty = 0 u'\000'}
        icon = {d = {d = 0x0, ptr = 0x0, size = 0}, static _empty = 0 u'\000'}
        j = <optimized out>
#10 0x00007fc9b87aa9e8 in QGuiApplicationPrivate::createEventDispatcher (this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qguiapplication.cpp:1634
No locals.
#11 0x00007fc9b8017ce5 in QCoreApplicationPrivate::init (this=this@entry=0x55ebdd8dba30) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:865
        q = <optimized out>
        thisThreadData = 0x55ebdd8d6e90
#12 0x00007fc9b87aaaeb in QGuiApplicationPrivate::init (this=0x55ebdd8dba30) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qguiapplication.cpp:1667
        loadTestability = <optimized out>
        pluginList = {<QListSpecialMethods<QByteArray>> = {<QListSpecialMethodsBase<QByteArray>> = {<No data fields>}, <No data fields>}, d = {d = 0x7fc9b9e2ef40 <QtPrivate::QMetaTypeInterfaceWrapper<QIterable<QMetaSequence> >::metaType>, ptr = 0x70, size = 140728061368160}}
        session_id = {d = {d = 0x55ebdd8daab8, ptr = 0x60 <error: Cannot access memory at address 0x60>, size = 140728061368224}, static _empty = 0 u'\000'}
        session_key = {d = {d = 0x55ebdd8daaa0, ptr = 0x70 <error: Cannot access memory at address 0x70>, size = 140728061368128}, static _empty = 0 u'\000'}
        s = {d = {d = 0x18, ptr = 0x7ffdce1b9780 u"玐\xdd8d嗫", size = 140504382321952}, static _empty = 0 u'\000'}
        j = <optimized out>
        envPlugins = {d = {d = 0x0, ptr = 0x0, size = 0}, static _empty = 0 '\000'}
        q = <optimized out>
#13 0x00007fc9b87a1e4e in QGuiApplication::QGuiApplication (this=<optimized out>, argc=<optimized out>, argv=<optimized out>, this=<optimized out>, argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qguiapplication.h:175
No locals.
#14 0x000055ebdb1ad747 in WallpaperApp::WallpaperApp (this=0x7ffdce1b9920, argc=@0x7ffdce1b98bc: 1, argv=0x7ffdce1b9b08) at /usr/src/debug/plasma-login-manager/plasma-login-manager-6.6.5/src/frontend/wallpaper/wallpaperapp.cpp:29
No locals.
#15 main (argc=<optimized out>, argv=0x7ffdce1b9b08) at /usr/src/debug/plasma-login-manager/plasma-login-manager-6.6.5/src/frontend/wallpaper/main.cpp:20
        format = {d = 0x55ebdd8db9e0}
        app = {<QGuiApplication> = {<QCoreApplication> = {<QObject> = {_vptr.QObject = 0x7fc9b8f38b80 <vtable for QGuiApplication+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7fc9b83bed50 <_ZN7QObject32qt_staticMetaObjectStaticContentIN12_GLOBAL__N_125qt_meta_tag_ZN7QObjectE_tEEE.lto_priv.0+272>, data = 0x7fc9b83bec40 <_ZN7QObject32qt_staticMetaObjectStaticContentIN12_GLOBAL__N_125qt_meta_tag_ZN7QObjectE_tEEE.lto_priv.0>, static_metacall = 0x7fc9b807f370 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7fc9b8512980 <_ZN7QObject36qt_staticMetaObjectRelocatingContentIN12_GLOBAL__N_125qt_meta_tag_ZN7QObjectE_tEEE.lto_priv.0>, extradata = 0x0}}, d_ptr = {d = 0x55ebdd8dba30}}, static staticMetaObject = {d = {superdata = {direct = 0x7fc9b8512a20 <QObject::staticMetaObject>}, stringdata = 0x7fc9b837efe8 <_ZN16QCoreApplication32qt_staticMetaObjectStaticContentIN12_GLOBAL__N_135qt_meta_tag_ZN16QCoreApplicationE_tEEE.lto_priv.0+392>, data = 0x7fc9b837ee60 <_ZN16QCoreApplication32qt_staticMetaObjectStaticContentIN12_GLOBAL__N_135qt_meta_tag_ZN16QCoreApplicationE_tEEE.lto_priv.0>, static_metacall = 0x7fc9b801d810 <QCoreApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7fc9b8512400 <_ZN16QCoreApplication36qt_staticMetaObjectRelocatingContentIN12_GLOBAL__N_135qt_meta_tag_ZN16QCoreApplicationE_tEEE.lto_priv.0>, extradata = 0x0}}, static self = 0x7ffdce1b9920}, static staticMetaObject = {d = {superdata = {direct = 0x7fc9b8512480 <QCoreApplication::staticMetaObject>}, stringdata = 0x7fc9b8e2162c <_ZN15QGuiApplication32qt_staticMetaObjectStaticContentIN12_GLOBAL__N_134qt_meta_tag_ZN15QGuiApplicationE_tEEE.lto_priv.0+780>, data = 0x7fc9b8e21320 <_ZN15QGuiApplication32qt_staticMetaObjectStaticContentIN12_GLOBAL__N_134qt_meta_tag_ZN15QGuiApplicationE_tEEE.lto_priv.0>, static_metacall = 0x7fc9b87b7270 <QGuiApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7fc9b8f354c0 <_ZN15QGuiApplication36qt_staticMetaObjectRelocatingContentIN12_GLOBAL__N_134qt_meta_tag_ZN15QGuiApplicationE_tEEE.lto_priv.0>, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7fc9b8f35ec0 <QGuiApplication::staticMetaObject>}, stringdata = 0x55ebdb1c2dcc <WallpaperApp::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN12WallpaperAppE_t>+140>, data = 0x55ebdb1c2d40 <WallpaperApp::qt_staticMetaObjectStaticContent<(anonymous namespace)::qt_meta_tag_ZN12WallpaperAppE_t>>, static_metacall = 0x55ebdb1b94b0 <WallpaperApp::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x55ebdb1c7140 <WallpaperApp::qt_staticMetaObjectRelocatingContent<(anonymous namespace)::qt_meta_tag_ZN12WallpaperAppE_t>>, extradata = 0x0}}, m_wallpaperPackage = {_vptr.Package = 0x7ffdce1b9a10, d = {<QSharedDataPointerBase<QExplicitlySharedDataPointer, KPackage::PackagePrivate>> = {d = {ptr = 0x55ebdd8d64f0}}, <No data fields>}}, m_windows = {<QListSpecialMethods<WallpaperWindow*>> = {<QListSpecialMethodsBase<WallpaperWindow*>> = {<No data fields>}, <No data fields>}, d = {d = 0x1e, ptr = 0x55ebdb1c8658 <orgkdeplasmaloginwallpaperRegistration>, size = 30}}}

Similarly, I see the same message when analyzing plasma-login-greeter about not being able to initialize any Qt platform plugin.

I’m wondering if this issue a code issue, or did if it’s a problem with my configuration (I simply disabled the SDDM service and enabled plasma-login one).

I can provide more data if needed about the coredumps as needed.

Thank you for your time

Looks like a packaging issue.

The package hasn’t been recompiled with the right dependency since the last Qt version was updated or something like this.

Did you reboot since you updated ?

This happens on every boot. I did try 3 weeks ago with 6.6.4 and the behaviour was the same, although I did not inspect the backtraces.

I’ll open an issue on the arch Linux tracker about this.

Thanks

I’m waiting to get my account in arch activated.

In the meantime I tried plasmalogin manually from a TTY:

$ systemctl stop sddm
$ systemctl start sddm

With this plasmalogin starts up just fine and I’m able to login as normally, so I don’t think it’s a matter of a mismatch in the Qt version. I’ll keep investigating to see what might cause this

That is not plasma login that is sddm and should stay disabled if you want to use plasma login (at least according to almighty archwiki :innocent: the Plasma Login Manager service should be called plasmalogin not sddm. But personally I still use sddm, never tried plasma login so far).

Sorry, that was a typo when I wrote the message, it’s actually

systemctl start plasmalogin

It’s quite noticeable it was different from sddm because the background and theme changed.

And just to double-check I didn’t miss anything

$ systemctl status sddm
○ sddm.service - Simple Desktop Display Manager
     Loaded: loaded (/usr/lib/systemd/system/sddm.service; enabled; preset: disabled)
    Drop-In: /etc/systemd/system/display-manager.service.d
             └─plymouth.conf
     Active: inactive (dead) since Thu 2026-05-14 18:38:08 BST; 30min ago
[...]

$ systemctl status plasmalogin
● plasmalogin.service - Plasma Login Manager
     Loaded: loaded (/usr/lib/systemd/system/plasmalogin.service; disabled; preset: disabled)
     Active: active (running) since Thu 2026-05-14 18:38:30 BST; 30min ago
[...]

After reenabling the service again, I’ve managed to make it start up once without issues, while most of the time I simply get a black screen. I’ve discovered that pressing ctrl+c makes the login to appear just fine.

This matches the report in https://bugs.kde.org/show_bug.cgi?id=519134 I’ve added the plasmalogin user to the groups and this still happens, so it doesn’t appear to be fixed yet in 6.6.5, contrary to what the issue states