Starting Fedora 40 KDE X11 session immediately crashes system

, ,

Love wayland, but I have a use case or two that makes me prefer X11 for now.

I did a fresh Fedora 40 install as soon as it released, installed the plasma-workspace-x11 package through dnfso I could select it from SDDM, and everytime I try to do so, I get an instant system crash. It appears to kick me into TTY2 first, then completely freeze the whole system.

My journalctl logs don’t seem to provide much info:

Jun 07 01:04:44 melinoe uresourced[1728]: Setting resources on user-1000.slice (MemoryMin: 0, MemoryLow: 0, CPUWeight: 100, IOWeight: 100)
Jun 07 01:04:44 melinoe uresourced[1728]: Setting resources on user@1000.service (MemoryMin: 0, MemoryLow: 0, CPUWeight: 100, IOWeight: 100)
Jun 07 01:04:44 melinoe uresourced[1728]: Setting resources on user-988.slice (MemoryMin: 262144000, MemoryLow: 0, CPUWeight: 500, IOWeight: 500)
Jun 07 01:04:44 melinoe uresourced[1728]: Setting resources on user@988.service (MemoryMin: 0, MemoryLow: 0, CPUWeight: 100, IOWeight: 100)
Jun 07 01:04:44 melinoe wireplumber[1942]: spa.bluez5.midi: org.bluez.GattManager1.RegisterApplication() failed: GDBus.Error:org.bluez.Error.AlreadyExists: Already Exists
Jun 07 01:04:44 melinoe bluetoothd[1141]: Endpoint registered: sender=:1.56 path=/MediaEndpoint/A2DPSource/ldac
Jun 07 01:04:44 melinoe bluetoothd[1141]: Endpoint registered: sender=:1.56 path=/MediaEndpoint/A2DPSink/aac
Jun 07 01:04:44 melinoe bluetoothd[1141]: Endpoint registered: sender=:1.56 path=/MediaEndpoint/A2DPSource/aac
Jun 07 01:04:44 melinoe bluetoothd[1141]: Endpoint registered: sender=:1.56 path=/MediaEndpoint/A2DPSink/sbc
Jun 07 01:04:44 melinoe bluetoothd[1141]: Endpoint registered: sender=:1.56 path=/MediaEndpoint/A2DPSource/sbc
Jun 07 01:04:44 melinoe bluetoothd[1141]: Endpoint registered: sender=:1.56 path=/MediaEndpoint/A2DPSink/sbc_xq
Jun 07 01:04:44 melinoe bluetoothd[1141]: Endpoint registered: sender=:1.56 path=/MediaEndpoint/A2DPSource/sbc_xq
Jun 07 01:04:44 melinoe bluetoothd[1141]: Endpoint registered: sender=:1.56 path=/MediaEndpoint/A2DPSource/faststream
Jun 07 01:04:44 melinoe bluetoothd[1141]: Endpoint registered: sender=:1.56 path=/MediaEndpoint/A2DPSource/faststream_duplex
Jun 07 01:04:44 melinoe bluetoothd[1141]: Endpoint registered: sender=:1.56 path=/MediaEndpoint/A2DPSink/opus_05
Jun 07 01:04:44 melinoe bluetoothd[1141]: Endpoint registered: sender=:1.56 path=/MediaEndpoint/A2DPSource/opus_05
Jun 07 01:04:44 melinoe bluetoothd[1141]: Endpoint registered: sender=:1.56 path=/MediaEndpoint/A2DPSink/opus_05_duplex
Jun 07 01:04:44 melinoe bluetoothd[1141]: Endpoint registered: sender=:1.56 path=/MediaEndpoint/A2DPSource/opus_05_duplex
Jun 07 01:04:48 melinoe sddm-greeter-qt6[1843]: file:///usr/share/sddm/themes/breeze/Main.qml:241:17 Parameter "username" is not declared. Injection of parameters into signal handlers is deprecated. Use JavaScrip>
Jun 07 01:04:48 melinoe sddm-helper[2277]: Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.
                                           Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.
                                           If this causes problems, reconfigure your locale. See the locale(1) manual
                                           for more information.
Jun 07 01:04:48 melinoe sddm-helper[2277]: gkr-pam: unable to locate daemon control file
Jun 07 01:04:48 melinoe sddm-helper[2277]: gkr-pam: stashed password to try later in open session
Jun 07 01:04:48 melinoe sddm-helper[2277]: pam_kwallet5(sddm:auth): pam_kwallet5: pam_sm_authenticate
Jun 07 01:04:48 melinoe audit[2277]: USER_AUTH pid=2277 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:xdm_t:s0-s0:c0.c1023 msg='op=PAM:authentication grantors=pam_unix,pam_gnome_keyring acct="gabe" >
Jun 07 01:04:48 melinoe audit[2277]: USER_ACCT pid=2277 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:xdm_t:s0-s0:c0.c1023 msg='op=PAM:accounting grantors=pam_unix acct="gabe" exe="/usr/libexec/sddm>
Jun 07 01:04:48 melinoe sddm-helper[2277]: pam_kwallet5(sddm:setcred): pam_kwallet5: pam_sm_setcred
Jun 07 01:04:48 melinoe audit[2277]: CRED_ACQ pid=2277 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:xdm_t:s0-s0:c0.c1023 msg='op=PAM:setcred grantors=pam_unix,pam_gnome_keyring acct="gabe" exe="/us>
Jun 07 01:04:48 melinoe audit[2277]: USER_ROLE_CHANGE pid=2277 uid=0 auid=1000 ses=4 subj=system_u:system_r:xdm_t:s0-s0:c0.c1023 msg='op=pam_selinux default-context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0>
Jun 07 01:04:48 melinoe systemd-logind[1154]: New session 4 of user gabe.
Jun 07 01:04:48 melinoe systemd[1]: Started session-4.scope - Session 4 of User gabe.
Jun 07 01:04:48 melinoe sddm-helper[2277]: pam_unix(sddm:session): session opened for user gabe(uid=1000) by gabe(uid=0)
Jun 07 01:04:49 melinoe sddm-helper[2277]: gkr-pam: gnome-keyring-daemon started properly and unlocked keyring
Jun 07 01:04:49 melinoe sddm-helper[2277]: pam_kwallet5(sddm:session): pam_kwallet5: pam_sm_open_session
Jun 07 01:04:49 melinoe sddm-greeter-qt6[1843]: eglSwapBuffers failed with 0x300d, surface: 0x0
Jun 07 01:04:49 melinoe audit[2277]: USER_START pid=2277 uid=0 auid=1000 ses=4 subj=system_u:system_r:xdm_t:s0-s0:c0.c1023 msg='op=PAM:session_open grantors=pam_selinux,pam_loginuid,pam_selinux,pam_keyinit,pam_na>
Jun 07 01:04:49 melinoe sddm-helper[2277]: Starting X11 session: "/usr/bin/X -nolisten tcp -background none -seat seat0 -noreset -keeptty -novtswitch -verbose 3" "/etc/X11/xinit/Xsession \"/usr/bin/startplasma-x1>
Jun 07 01:04:49 melinoe bluetoothd[1141]: Endpoint unregistered: sender=:1.56 path=/MediaEndpoint/A2DPSource/ldac
Jun 07 01:04:49 melinoe bluetoothd[1141]: Endpoint unregistered: sender=:1.56 path=/MediaEndpoint/A2DPSink/aac
Jun 07 01:04:49 melinoe bluetoothd[1141]: Endpoint unregistered: sender=:1.56 path=/MediaEndpoint/A2DPSource/aac
Jun 07 01:04:49 melinoe bluetoothd[1141]: Endpoint unregistered: sender=:1.56 path=/MediaEndpoint/A2DPSink/sbc
Jun 07 01:04:49 melinoe bluetoothd[1141]: Endpoint unregistered: sender=:1.56 path=/MediaEndpoint/A2DPSource/sbc
Jun 07 01:04:49 melinoe bluetoothd[1141]: Endpoint unregistered: sender=:1.56 path=/MediaEndpoint/A2DPSink/sbc_xq
Jun 07 01:04:49 melinoe bluetoothd[1141]: Endpoint unregistered: sender=:1.56 path=/MediaEndpoint/A2DPSource/sbc_xq
Jun 07 01:04:49 melinoe bluetoothd[1141]: Endpoint unregistered: sender=:1.56 path=/MediaEndpoint/A2DPSource/faststream
Jun 07 01:04:49 melinoe bluetoothd[1141]: Endpoint unregistered: sender=:1.56 path=/MediaEndpoint/A2DPSource/faststream_duplex
Jun 07 01:04:49 melinoe bluetoothd[1141]: Endpoint unregistered: sender=:1.56 path=/MediaEndpoint/A2DPSink/opus_05
Jun 07 01:04:49 melinoe bluetoothd[1141]: Endpoint unregistered: sender=:1.56 path=/MediaEndpoint/A2DPSource/opus_05
Jun 07 01:04:49 melinoe bluetoothd[1141]: Endpoint unregistered: sender=:1.56 path=/MediaEndpoint/A2DPSink/opus_05_duplex
Jun 07 01:04:49 melinoe bluetoothd[1141]: Endpoint unregistered: sender=:1.56 path=/MediaEndpoint/A2DPSource/opus_05_duplex
Jun 07 01:04:49 melinoe sddm-helper-start-wayland[1817]: Stopping... "kwin_wayland"
Jun 07 01:04:49 melinoe sddm-helper-start-wayland[1817]: "QtDBus: cannot relay signals from parent QObject(0x563dd95f8110 \"\") unless they are emitted in the object's thread QThread(0x563dd94bc998 \"libinput-con>
Jun 07 01:04:49 melinoe sddm-helper[1725]: pam_unix(sddm-greeter:session): session closed for user sddm
Jun 07 01:04:49 melinoe audit[1725]: USER_END pid=1725 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:xdm_t:s0-s0:c0.c1023 msg='op=PAM:session_close grantors=pam_unix,pam_systemd acct="sddm" exe="/us>
Jun 07 01:04:49 melinoe audit[1725]: CRED_DISP pid=1725 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:xdm_t:s0-s0:c0.c1023 msg='op=PAM:setcred grantors=pam_permit acct="sddm" exe="/usr/libexec/sddm->
Jun 07 01:04:49 melinoe systemd[1]: session-c1.scope: Deactivated successfully.
Jun 07 01:04:49 melinoe systemd[1]: session-c1.scope: Consumed 2.962s CPU time.
Jun 07 01:04:49 melinoe systemd-logind[1154]: Session c1 logged out. Waiting for processes to exit.
Jun 07 01:04:49 melinoe systemd-logind[1154]: Removed session c1.
Jun 07 01:04:49 melinoe uresourced[1728]: Setting resources on user-988.slice (MemoryMin: 0, MemoryLow: 0, CPUWeight: 100, IOWeight: 100)
Jun 07 01:04:49 melinoe uresourced[1728]: Setting resources on user@988.service (MemoryMin: 0, MemoryLow: 0, CPUWeight: 100, IOWeight: 100)
Jun 07 01:04:49 melinoe uresourced[1728]: Setting resources on user-1000.slice (MemoryMin: 262144000, MemoryLow: 0, CPUWeight: 500, IOWeight: 500)
Jun 07 01:04:49 melinoe uresourced[1728]: Setting resources on user@1000.service (MemoryMin: 0, MemoryLow: 0, CPUWeight: 100, IOWeight: 100)
Jun 07 01:04:59 melinoe systemd[1]: Stopping user@988.service - User Manager for UID 988...

Weirdly, I see reference to kwin_wayland in my logs. But I’m certain from the timestamps that this is when I tried to launch the X11 session from SDDM.

Any further troubleshooting or guidance here?

This problem can also be seen coming from some reddit users.

My system:

Operating System: Fedora Linux 40
KDE Plasma Version: 6.0.5
KDE Frameworks Version: 6.2.0
Qt Version: 6.7.1
Kernel Version: 6.8.11-300.fc40.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 5700X 8-Core Processor
Memory: 31.2 GiB of RAM
Graphics Processor: AMD Radeon RX 6700 XT
Manufacturer: ASUS

Removed gnome, wayland, wireplumber

Did you install kwin-x11? It seems that KDE Plasma X11 is trying to launch the Wayland version of kwin.

Source that I referenced: Reddit

Yes, I had kwin-x11 installed as well during my initial troubleshooting. It didn’t change the outcome

Figured out a solution, thanks to Fedora 40 Kde Spin X11 doesn't exist - #15 by random0

I used sudo dnf in sddm-x11 --allowerasing to replace the wayland SDDM with the X11 SDDM. I guess the wayland-based SDDM just can’t deal with launching into X11. I’m not sure how anyone else got this working without following this step.

All well, everything works as expected now.

For me when i ran this nothing posted after starting the os. I had to manually redo this from the rescue terminal or whatewher it`s called