Bug 2404966 - sddm fails to start with rhgb kernel argument
Summary: sddm fails to start with rhgb kernel argument
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: sddm
Version: 43
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Neal Gompa
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: https://discussion.fedoraproject.org/...
: 2408518 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-10-18 21:43 UTC by Adam Fidel
Modified: 2025-11-07 23:54 UTC (History)
33 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github sddm sddm issues 1917 0 None open SDDM races with DRM GPU drivers 2025-11-02 01:56:14 UTC
Launchpad.net ubuntu/+source/sddm/+bug/2063143 0 None None None 2025-11-02 13:57:04 UTC

Description Adam Fidel 2025-10-18 21:43:16 UTC
For Fedora KDE Plasma 43 (both Kiniote and traditional), sddm fails to start after plymouth on hardware, but works in a VM.

Multiple users are encountering this error, all running a Framework 13 AMD laptop with AMD Ryzen 7 7840U.

From the logs, we see
```
Oct 18 11:50:16 sddm-helper-start-wayland[2664]: "No backend specified, automatically choosing drm\n"
Oct 18 11:50:16 sddm-helper-start-wayland[2664]: "Accepting client connections on sockets: QList(\"wayland-0\")\n"
Oct 18 11:50:16 sddm-helper-start-wayland[2664]: "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\"\nkwin_wayland_drm: No suitable DRM devices have been found\n"
Oct 18 11:50:16 sddm-helper-start-wayland[2664]: "QThreadStorage: entry 7 destroyed before end of thread 0x55d8885207f0\nQThreadStorage: entry 1 destroyed before end of thread 0x55d8885207f0\nQThreadStorage: entry 0 destroyed before end of thread 0x55d8885207f0\n"
Oct 18 11:50:16 sddm-helper-start-wayland[2664]: Stopping... "/usr/bin/sddm-greeter-qt6"
Oct 18 11:50:16 kernel: erofs (device erofs): failed to read inode meta block (nid: 401156): -4
Oct 18 11:50:16 sddm-helper[2586]: pam_unix(sddm-greeter:session): session closed for user sddm
```

Presumably, plymouth is holding on to the display for too long. When I remove the `rhgb` kernel parameter in GRUB, SDDM loads fine.

This was found downstream in the Universal Blue Aurora bootc image.

Reproducible: Always

Steps to Reproduce:
1. `sudo bootc switch quay.io/fedora-ostree-desktops/kinoite:43`
2. Reboot
3. Boot to black
Actual Results:
Boot to black screen

Expected Results:
Boot to SDDM

Comment 1 Mike Dillamore 2025-10-29 10:36:27 UTC
Same issue here, and not a Framework laptop. HP ProBook with Ryzen 5 5600U.

Comment 2 rob.verduijn 2025-10-29 14:36:00 UTC
also present on the framework 13 AMD Ryzen AI 9 HX 370 Radeon 890M

Comment 3 a2021117600 2025-10-29 14:39:23 UTC
Also present in AMD Ryzen 7 5700U (KDE 6.5)

Comment 4 Juha U 2025-10-29 14:43:31 UTC
Seeing the same issue with my Framework 13 AMD 7040 (7840)

Comment 5 alexbarbier0307 2025-10-30 16:48:51 UTC
Same issue for me on my Framework 16 AMD 7040

Comment 6 Adam Williamson 2025-10-30 18:42:13 UTC
CCing Ray for the plymouth angle...

Comment 7 Neal Gompa 2025-10-30 22:57:17 UTC
I'm able to reproduce on my Framework 16 and trying to dig into it too...

Comment 8 Neal Gompa 2025-10-30 22:59:41 UTC
I wonder if this might be related to a change in systemd 258, because we're seeing weird issues with plymouth + systemd 258 in dracut CI: https://github.com/dracut-ng/dracut-ng/pull/1765

Comment 9 Neal Gompa 2025-10-30 23:04:50 UTC
Err... https://github.com/dracut-ng/dracut-ng/issues/1677

Comment 10 djda9l 2025-10-30 23:06:52 UTC
I too have this bug and removing rhgb lets me proceed to the gui login screen. Using Fedora 42 i had no issues, but this happened just as i upgraded my system to Fedora 43. 

I'm using a GPD Win Max 2 2025 running a AMD Ryzen AI 9 HX 370

Comment 11 Juha U 2025-10-31 04:56:33 UTC
I can confirm this issue doesn't happen on my Framework Desktop AI Max+ 395 (Radeon 8060S)

Comment 12 racorn 2025-10-31 09:44:21 UTC
I have two virtually identical computers (same motherboard, disk etc), but they differ in their CPU

Computer A: AMD Ryzen 7 8700G w/ Radeon 780M Graphics. Affected by this bug after upgrade to Fedora 43
Computer B: AMD Ryzen 5 8500G w/ Radeon 740M Graphics. Not affected by this bug after upgrade to Fedora 43.

Comment 13 Anten Skrabec 2025-10-31 12:16:37 UTC
I am also running into this on my Minisforum v3 with an AMD Ryzen 7 8840u. Removing rhgb from kernel parameters does in fact mitigate it.

Comment 14 Neal Gompa 2025-10-31 13:49:15 UTC
Confirmed that this does not occur on my Framework 12 (which is Intel based).

Comment 15 Juha U 2025-10-31 13:58:26 UTC
FW13 AI 370 with 890M iGPU seems to not have this issue (confirmed with another user - don't have this HW myself)

Comment 16 Neal Gompa 2025-10-31 14:22:29 UTC
When I overrode dracut to go back to xz compression, everything works properly again. So it's definitely the system booting too fast.

$ echo "compress=xz" > /etc/dracut.conf.d/00-compress-override.conf
$ dracut -f
$ reboot

Comment 17 Neal Gompa 2025-10-31 14:24:08 UTC
That was on my Framework 16, FYI

Comment 18 stoutcho21 2025-10-31 16:44:24 UTC
FYI, having this issue occurs only when using an external monitor on my ASUS Zenbook S 14 UX5406SA. When the laptop is booted without any external monitor connected, the problem does not occur.

Comment 19 Mr. Beedell, Roke Julian Lockhart (RJLB) 2025-10-31 18:17:20 UTC
I see this on my FW16 with F43, wherein `journalctl -b -1 | grep sddm` returns:

> ~~~
> 17:56:08 systemd[1]: Started sddm.service - Simple Desktop Display Manager.
> 17:56:08 sddm-helper[116790]: Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.
> 17:56:08 sddm-helper[116790]: pam_unix(sddm-greeter:session): session opened for user sddm(uid=988) by (uid=0)
> 17:56:08 systemd-logind[116474]: New session 'c1' of user 'sddm' with class 'greeter' and type 'wayland'.
> 17:56:08 systemd-logind[116474]: New session '1' of user 'sddm' with class 'manager-early' and type 'unspecified'.
> 17:56:08 (systemd)[116838]: pam_unix(systemd-user:session): session opened for user sddm(uid=988) by sddm(uid=0)
> 17:56:09 systemd[116838]: drkonqi-coredump-cleanup.timer - Cleanup lingering KCrash metadata was skipped because of an unmet condition check (ConditionPathExistsGlob=/var/lib/sddm/.cache/kcrash-metadata/*.ini).
> 17:56:09 systemd[116838]: drkonqi-sentry-postman.timer - Submitting pending crash events was skipped because of an unmet condition check (ConditionPathExistsGlob=/var/lib/sddm/.cache/drkonqi/sentry-envelopes/*).
> 17:56:09 systemd[116838]: drkonqi-coredump-cleanup.service - Cleanup lingering KCrash metadata was skipped because of an unmet condition check (ConditionPathExistsGlob=/var/lib/sddm/.cache/kcrash-metadata/*.ini).
> 17:56:09 systemd[1]: Started session-c1.scope - Session c1 of User sddm.
> 17:56:09 sddm-helper-start-wayland[116863]: "No backend specified, automatically choosing drm\n"
> 17:56:09 sddm-helper-start-wayland[116863]: "Accepting client connections on sockets: QList(\"wayland-0\")\n"
> 17:56:09 sddm-helper-start-wayland[116863]: "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\"\nkwin_wayland_drm: No suitable DRM devices have been found\n"
> 17:56:09 sddm-helper-start-wayland[116863]: "QThreadStorage: entry 7 destroyed before end of thread 0x5573ccba9070\nQThreadStorage: entry 1 destroyed before end of thread 0x5573ccba9070\nQThreadStorage: entry 0 destroyed before end of thread 0x5573ccba9070\n"
> 17:56:09 sddm-helper-start-wayland[116863]: Stopping... "/usr/bin/sddm-greeter-qt6"
> 17:56:09 sddm-helper[116790]: pam_unix(sddm-greeter:session): session closed for user sddm
> 18:03:16 systemd[1]: Stopping sddm.service - Simple Desktop Display Manager...
> 18:03:16 sddm[116788]: Signal received: SIGTERM
> 18:03:16 systemd[1]: sddm.service: Deactivated successfully.
> 18:03:16 systemd[1]: Stopped sddm.service - Simple Desktop Display Manager.
> ~~~

I don't know whether https://forum.endeavouros.com/t/drkonqi-coredump-pickup-service-keeps-failing/70040/6?u=rokejulianlockhart is relevant.

Comment 20 Adam Williamson 2025-10-31 18:26:36 UTC
I think the KDE team is pretty sure they know what's going on here (it's basically a race; if sddm starts up 'too fast' the graphics device isn't ready for it yet, and sddm currently doesn't have any mechanism to back off and try again later). It's a question of figuring out the best fix at this point.

Comment 21 Neal Gompa 2025-11-02 01:56:14 UTC
This is basically a variation of this upstream issue: https://github.com/sddm/sddm/issues/1917

Comment 22 Adam Williamson 2025-11-02 06:16:44 UTC
Any idea why it seems suddenly a lot more common? changes in amdgpu?

Comment 23 Mario Limonciello 2025-11-02 13:52:52 UTC
It's a race condition. Anything that changes timing can influence it.

It's a race specifically with sddm getting loaded because simpledrm loaded. Simpledrm isn't useful on a system that amdgpu already works properly.

Try this as a workaround:

modprobe.blacklist=simpledrm

Comment 24 Mario Limonciello 2025-11-02 13:58:32 UTC
I've linked the matching Ubuntu bug report for ideas on what can be done in Fedora about this until SDDM team lands a proper solution upstream.

Comment 25 Neal Gompa 2025-11-02 16:09:08 UTC
(In reply to Adam Williamson from comment #22)
> Any idea why it seems suddenly a lot more common? changes in amdgpu?

This is happening because we are decompressing and switching from initramfs to the real root faster, and there's also some goofiness from systemd 258 where the seat management is making it busy slightly longer.

There's a patch I'm backporting for kwin that will make it retry when the drm device is not ready yet and that should mitigate most of this, combined with our existing seat0 patch for sddm.

Comment 26 Tom 2025-11-02 17:04:15 UTC
> Try this as a workaround: modprobe.blacklist=simpledrm

FWIW, this didn't work for me on a FW13 with amdgpu - no change in behavior, still just a black screen that required changing TTY to fix.  Removing rhgb did work, but it requires entering the decryption password while log messages spew endlessly.  As with others, this started with the F43 upgrade.

Comment 27 Neal Gompa 2025-11-02 17:39:21 UTC
(In reply to Tom from comment #26)
> > Try this as a workaround: modprobe.blacklist=simpledrm
> 
> FWIW, this didn't work for me on a FW13 with amdgpu - no change in behavior,
> still just a black screen that required changing TTY to fix.  Removing rhgb
> did work, but it requires entering the decryption password while log
> messages spew endlessly.  As with others, this started with the F43 upgrade.

I don't think we're using simpledrm at all yet when amdgpu is available.

(In reply to Neal Gompa from comment #25)
> (In reply to Adam Williamson from comment #22)
> > Any idea why it seems suddenly a lot more common? changes in amdgpu?
> 
> This is happening because we are decompressing and switching from initramfs
> to the real root faster, and there's also some goofiness from systemd 258
> where the seat management is making it busy slightly longer.
> 
> There's a patch I'm backporting for kwin that will make it retry when the
> drm device is not ready yet and that should mitigate most of this, combined
> with our existing seat0 patch for sddm.

KWin updates proposed that people can test to see if it helps:

* F43: https://bodhi.fedoraproject.org/updates/FEDORA-2025-f2fe101009
* F42: https://bodhi.fedoraproject.org/updates/FEDORA-2025-ebed8db9ab

Comment 28 Mario Limonciello 2025-11-02 18:44:39 UTC
> I don't think we're using simpledrm at all yet when amdgpu is available.

Ah I see. Then this is a different cause of the race condition than was observed in Ubuntu.

Comment 29 rob.verduijn 2025-11-02 19:06:05 UTC
(In reply to Mario Limonciello from comment #23)
> It's a race condition. Anything that changes timing can influence it.
> 
> It's a race specifically with sddm getting loaded because simpledrm loaded.
> Simpledrm isn't useful on a system that amdgpu already works properly.
> 
> Try this as a workaround:
> 
> modprobe.blacklist=simpledrm

Hi,


On my 'framework 13 AMD Ryzen AI 9 HX 370 Radeon 890M'
I did the following as root:

```sh
echo 'blacklist simpledrm' > /etc/modprobe.d/simpledrm-blacklist.conf
dracut --regenerate-all --force
```

And I got the sddm greeter screen back again.

So this workaround works for me.
Thanx

Rob

Comment 30 rob.verduijn 2025-11-02 19:06:37 UTC
oh and a reboot ofcourse
Rob

Comment 31 Neal Gompa 2025-11-03 00:49:23 UTC
*** Bug 2408518 has been marked as a duplicate of this bug. ***

Comment 32 Neal Gompa 2025-11-03 14:19:50 UTC
We're not supposed to be using simpledrm by default if we have regular drivers available, though...

Comment 33 Mario Limonciello 2025-11-03 15:13:58 UTC
> We're not supposed to be using simpledrm by default if we have regular drivers available, though...

Is amdgpu and all microcode for it in the initramfs by default?

Comment 34 Neal Gompa 2025-11-03 16:08:37 UTC
(In reply to Mario Limonciello from comment #33)
> > We're not supposed to be using simpledrm by default if we have regular drivers available, though...
> 
> Is amdgpu and all microcode for it in the initramfs by default?

It is supposed to be, yes. My local initramfs images have them.

Comment 35 James Flynn 2025-11-03 21:44:48 UTC
(In reply to Neal Gompa from comment #34)
> (In reply to Mario Limonciello from comment #33)
> > > We're not supposed to be using simpledrm by default if we have regular drivers available, though...
> > 
> > Is amdgpu and all microcode for it in the initramfs by default?
> 
> It is supposed to be, yes. My local initramfs images have them.

If I understood the Plymouth changes with F42, they switched tp SimpleDRM by default; nothing I read indicated this as a Workstation-specific change, so I wonder if that is contributing to the interaction with the faster switch from initramfs:

https://fedoraproject.org/wiki/Changes/PlymouthUseSimpledrm


Ah, I did find it in the Fedora KDE 42 release announcement too, so it does seem possible:

>System boot times should be faster, as the plymouth system component will no longer load the full graphics driver before showing the system splash screen

https://fedoramagazine.org/whats-new-for-fedora-kde-plasma-desktop-42/

It seems like the options to move forward are either:
 - Further test the Kwin change noted above to retry starting SDDM 
 - Using AMDGPU use as a criteria to revert thedefault for Plymouth or disable simpledrm altogether

Given that the work stems from efforts to speed up the boot process, I can't speak to the preferred choice, but hopefully that is useful info

Comment 36 James Flynn 2025-11-04 15:36:36 UTC
Out of curiosity, I tried swapping to TTY (CTRL+ALT+F2) during the relative "end" of the Plymouth loading screen, and then switched back to the primary session after it loaded. This did seem to work for getting around the race condition and loaded SDDM. So another potential workaround for folks.

Comment 37 Be 2025-11-06 05:54:04 UTC
Note that there is another bug with similar symptoms of an all black screen when SDDM should start. That bug occurs with external monitors plugged into laptops. If removing the "rghb" kernel boot parameter doesn't work around this bug for you and you have an external monitor plugged in, you may be hitting this other bug:

https://bugs.kde.org/show_bug.cgi?id=511490


Note You need to log in before you can comment on or make changes to this bug.