Black Screen after boot, SDDM restart required on F43 KDE

Since the update, SDDM will display as a black screen on startup.
Dropping to TTY and restarting SDDM will cause it to run normally.

The problem seems to mainly affect users with laptops.

related:

System:
Framework 13, 7040 series

Workaround for those affected:
Switch to TTY with Ctrl + Alt + F2, log in with your normal username and password, then run sudo systemctl restart sddm. This should get you the normal login screen.

2 Likes

Not sure if this will help, here is the log from SDDM during a failed startup attempt (at 13:15:3, I triggered a manual restart of SDDM)

-- Boot 7b2b4084b7484ddaac7c972213abd487 --
Oct 30 13:14:54 fedora systemd[1]: Started sddm.service - Simple Desktop Display Manager.
Oct 30 13:14:54 fedora sddm-helper[1824]: 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.
Oct 30 13:14:54 fedora sddm-helper[1824]: pam_unix(sddm-greeter:session): session opened for user sddm(uid=985) by (uid=0)
Oct 30 13:14:55 fedora sddm-helper[1824]: pam_unix(sddm-greeter:session): session closed for user sddm
Oct 30 13:15:31 fedora systemd[1]: Stopping sddm.service - Simple Desktop Display Manager...
Oct 30 13:15:31 fedora sddm[1800]: Signal received: SIGTERM
Oct 30 13:15:31 fedora systemd[1]: sddm.service: Deactivated successfully.
Oct 30 13:15:31 fedora systemd[1]: Stopped sddm.service - Simple Desktop Display Manager.
Oct 30 13:15:31 fedora systemd[1]: Started sddm.service - Simple Desktop Display Manager.
Oct 30 13:15:31 fedora sddm-helper[2638]: 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.
Oct 30 13:15:31 fedora sddm-helper[2638]: pam_unix(sddm-greeter:session): session opened for user sddm(uid=985) by (uid=0)
Oct 30 13:15:35 fedora sddm-helper[2866]: 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.
Oct 30 13:15:36 fedora sddm-helper[2866]: pam_kwallet5(sddm:auth): pam_kwallet5: pam_sm_authenticate
Oct 30 13:15:36 fedora sddm-helper[2866]: pam_kwallet5(sddm:setcred): pam_kwallet5: pam_sm_setcred
Oct 30 13:15:36 fedora sddm-helper[2866]: pam_unix(sddm:session): session opened for user itoncek(uid=1000) by itoncek(uid=0)
Oct 30 13:15:36 fedora sddm-helper[2866]: pam_kwallet5(sddm:session): pam_kwallet5: pam_sm_open_session
Oct 30 13:15:36 fedora sddm-helper[2866]: Starting Wayland user session: "/etc/sddm/wayland-session" "/usr/libexec/plasma-dbus-run-session-if-needed /usr/bin/startplasma-wayland"

System:
Framework 16, 7040 series, no dedicated GPU

I had the exact same issue,
System:
Framework 16, 7040 series, no dedicated GPU

Status of the sddm service:

â—Ź sddm.service - Simple Desktop Display Manager
     Loaded: loaded (/usr/lib/systemd/system/sddm.service; enabled; preset: enabled)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf
     Active: active (running) since Tue 2025-10-28 23:50:15 CET; 2min 6s ago Invocation: 3e81caee141047fea64dcf48de96158a
       Docs: man:sddm(1)
             man:sddm.conf(5)   Main PID: 1872 (sddm)
      Tasks: 2 (limit: 37437)     Memory: 39.1M (peak: 43M)
        CPU: 50ms     CGroup: /system.slice/sddm.service
             └─1872 /usr/bin/sddm
oct. 28 23:50:15 fedora systemd[1]: Started sddm.service - Simple Desktop Display Manager.
oct. 28 23:50:15 fedora sddm-helper[1888]: 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.
oct. 28 23:50:15 fedora sddm-helper[1888]: pam_unix(sddm-greeter:session): session opened for user sddm(uid=990) by (uid=0)
oct. 28 23:50:15 fedora sddm-helper[1888]: pam_unix(sddm-greeter:session): session closed for user sddm

SDDM dislplay logs:
journalctl -b | grep -i sddm

oct. 28 23:50:15 fedora systemd[1]: Started sddm.service - Simple Desktop Display Manager.
oct. 28 23:50:15 fedora audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=sddm comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
oct. 28 23:50:15 fedora sddm-helper[1888]: Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.
oct. 28 23:50:15 fedora audit[1888]: AUDIT1100 pid=1888 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:xdm_t:s0-s0:c0.c1023 msg='op=PAM:authentication grantors=pam_permit acct="sddm" exe="/usr/libexec/sddm-helper" hostname=? addr=? terminal=? res=success'
oct. 28 23:50:15 fedora audit[1888]: AUDIT1101 pid=1888 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:xdm_t:s0-s0:c0.c1023 msg='op=PAM:accounting grantors=pam_permit acct="sddm" exe="/usr/libexec/sddm-helper" hostname=? addr=? terminal=? res=success'
oct. 28 23:50:15 fedora audit[1888]: AUDIT1103 pid=1888 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-helper" hostname=? addr=? terminal=? res=success'
oct. 28 23:50:15 fedora sddm-helper[1888]: pam_unix(sddm-greeter:session): session opened for user sddm(uid=990) by (uid=0)
oct. 28 23:50:15 fedora systemd-logind[1506]: New session 'c1' of user 'sddm' with class 'greeter' and type 'wayland'.
oct. 28 23:50:15 fedora audit[1915]: AUDIT1101 pid=1915 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='op=PAM:accounting grantors=pam_unix acct="sddm" exe="/usr/lib/systemd/systemd-executor" hostname=fedora addr=? terminal=/dev/tty1 res=success'
oct. 28 23:50:15 fedora audit[1915]: AUDIT1103 pid=1915 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='op=PAM:setcred grantors=? acct="sddm" exe="/usr/lib/systemd/systemd-executor" hostname=fedora addr=? terminal=/dev/tty1 res=failed'
oct. 28 23:50:15 fedora systemd-logind[1506]: New session '1' of user 'sddm' with class 'manager-early' and type 'unspecified'.
oct. 28 23:50:15 fedora (systemd)[1915]: pam_unix(systemd-user:session): session opened for user sddm(uid=990) by sddm(uid=0)
oct. 28 23:50:15 fedora audit[1915]: AUDIT1105 pid=1915 uid=0 auid=990 ses=1 subj=system_u:system_r:init_t:s0 msg='op=PAM:session_open grantors=pam_selinux,pam_selinux,pam_loginuid,pam_keyinit,pam_namespace,pam_systemd_home,pam_umask,pam_keyinit,pam_limits,pam_systemd,pam_unix acct="sddm" exe="/usr/lib/systemd/systemd-executor" hostname=fedora addr=? terminal=/dev/tty1 res=success'
oct. 28 23:50:15 fedora systemd[1915]: drkonqi-coredump-cleanup.timer - Cleanup lingering KCrash metadata was skipped because of an unmet condition check (ConditionPathExistsGlob=/var/lib/sddm/.cache/kcrash-metadata/*.ini).
oct. 28 23:50:15 fedora systemd[1915]: drkonqi-sentry-postman.timer - Submitting pending crash events was skipped because of an unmet condition check (ConditionPathExistsGlob=/var/lib/sddm/.cache/drkonqi/sentry-envelopes/*).
oct. 28 23:50:15 fedora systemd[1915]: drkonqi-coredump-cleanup.service - Cleanup lingering KCrash metadata was skipped because of an unmet condition check (ConditionPathExistsGlob=/var/lib/sddm/.cache/kcrash-metadata/*.ini).
oct. 28 23:50:15 fedora systemd[1]: Started session-c1.scope - Session c1 of User sddm.
oct. 28 23:50:15 fedora audit[1888]: AUDIT1105 pid=1888 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:xdm_t:s0-s0:c0.c1023 msg='op=PAM:session_open grantors=pam_unix,pam_systemd acct="sddm" exe="/usr/libexec/sddm-helper" hostname=fedora addr=? terminal=/dev/tty1 res=success'
oct. 28 23:50:15 fedora sddm-helper-start-wayland[2000]: "No backend specified, automatically choosing drm\n"
oct. 28 23:50:15 fedora sddm-helper-start-wayland[2000]: "Accepting client connections on sockets: QList(\"wayland-0\")\n"
oct. 28 23:50:15 fedora sddm-helper-start-wayland[2000]: "kwin_core: Failed to open /dev/dri/card1 device (Device or resource busy)\nkwin_wayland_drm: failed to open drm device at \"/dev/dri/card1\"\n"
oct. 28 23:50:15 fedora sddm-helper-start-wayland[2000]: "kwin_wayland_drm: No suitable DRM devices have been found\n"
oct. 28 23:50:15 fedora sddm-helper-start-wayland[2000]: "QThreadStorage: entry 7 destroyed before end of thread 0x560810442070\nQThreadStorage: entry 1 destroyed before end of thread 0x560810442070\nQThreadStorage: entry 0 destroyed before end of thread 0x560810442070\n"
oct. 28 23:50:15 fedora sddm-helper-start-wayland[2000]: Stopping... "/usr/bin/sddm-greeter-qt6"
oct. 28 23:50:15 fedora sddm-helper[1888]: pam_unix(sddm-greeter:session): session closed for user sddm
oct. 28 23:50:15 fedora audit[1888]: AUDIT1106 pid=1888 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="/usr/libexec/sddm-helper" hostname=fedora addr=? terminal=/dev/tty1 res=success'
oct. 28 23:50:15 fedora audit[1888]: AUDIT1104 pid=1888 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-helper" hostname=fedora addr=? terminal=/dev/tty1 res=success'

Temporary fix I made:
sudo systemctl edit sddm.service

[Unit]
After=plymouth-quit.service

[Service]
ExecStartPre=/bin/sleep 2

This fix works for me at least

4 Likes

I can confirm it resolved the issue for me on a Framework 13

Also seeing this on the Framework 16. Will try the fix later.

System:
Framework 13, 7040 series

Hi,

As a proud owner of a Ryzen 77840HX, that much I can confirm.
The issues lies with which graphic mode to pick or graphic drivers failure to communicate.
Also during live ISO desktop phase, there would be often a pop-up notification
requesting to switch between External screen or device screen.
I am just starting in I.T so…
Switching between graphic device modes helped as a workaround.
I got some of the picture by clicking ESC button right after LUKS authentication.
A split second truly.
Please check the pictures:



I hope this helps find the annoying culrpit!

Can confirm that this fix works on a Lenovo Ideapad Flex 5 too. Thanks!

Worked for me as well on an Acer AL15-41.

Some explanation on the fix would be greatly appreciated.

What it basically does is ensure that the service is started after the Plymouth splash screen, the screen which shows you bios logo and the rotating progress thingy. And the second call is an instruction to wait a bit before starting so that everything necessary to run sddm is available.

What I observed on my machines is that a package rpmfusion called gstreamer1-plugins-good-qt6 wasn’t updated yet and conflicted with packages from the update. This resulted in KDE not being updated to version 6.5. I also got an error in my launcher widget. After removing said package and updating, I got a whole load of updates including KDE. So maybe the problem was there? Don’t know for sure.

Some more background, the rpmfusion repository is maintained separately and contains all non free, non open source packages. This repository often needs a bit of time to update the packages there to align with the packages in the main repositories.

The updated version of gstreamer1-plugins-good-qt6 came in today btw.

1 Like

Today’s updates fixed the problem for me.
Not sure which package fixed it exactly though.

Packages Altered:
Upgrade dotnet-host-9.0.10-1.fc43.x86_64 @updates
Upgrade kwin-6.5.1-2.fc43.x86_64 @updates
Upgrade kwin-common-6.5.1-2.fc43.x86_64 @updates
Upgrade kwin-libs-6.5.1-2.fc43.x86_64 @updates
Upgrade libsolv-0.7.35-1.fc43.x86_64 @updates
Upgrade libvirt-client-11.6.0-2.fc43.x86_64 @updates
Upgrade libvirt-daemon-common-11.6.0-2.fc43.x86_64 @updates
Upgrade libvirt-daemon-driver-qemu-11.6.0-2.fc43.x86_64 @updates
Upgrade libvirt-daemon-log-11.6.0-2.fc43.x86_64 @updates
Upgrade libvirt-libs-11.6.0-2.fc43.x86_64 @updates
Upgrade libxcrypt-4.4.38-10.fc43.i686 @updates
Upgrade libxcrypt-4.4.38-10.fc43.x86_64 @updates
Upgrade libxcrypt-compat-4.4.38-10.fc43.x86_64 @updates
Upgrade libxcrypt-devel-4.4.38-10.fc43.x86_64 @updates
Upgrade netstandard-targeting-pack-2.1-9.0.111-1.fc43.x86_64 @updates
Upgrade perl-URI-5.34-2.fc43.noarch @updates
Upgrade python3-gobject-3.54.5-4.fc43.x86_64 @updates
Upgrade python3-gobject-base-3.54.5-4.fc43.x86_64 @updates
Upgrade vim-data-2:9.1.1888-1.fc43.noarch @updates
Upgrade vim-filesystem-2:9.1.1888-1.fc43.noarch @updates
Upgrade vim-minimal-2:9.1.1888-1.fc43.x86_64 @updates

Could have been kwin-6.5.1-2, which added a patch to better deal with the situation where the GPU is slow to become available.

Great that it’s all working now, anyway!

Sadly still having this issue even with kwin-6.5.1-2 have to omit rhgb from boot params to boot, otherwise I get a black screen right before luks decryption.

That would be a separate issue, no?
Plymouth and SDDM would only be active after you unlock your drive.

You might want to create a separate post to get more eyes on your issue.

I’m pretty sure the issue isn’t anything to do with sddm in the OP as well. There’s been a lot of issues with the new drm graphics drivers at boot. The kwin change above explicitly addresses one of those issues where graphical boot and the video driver are in a race condition.