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

            Bug ID: 525843
           Summary: Greeter session fails permanently when plymouth-quit
                    times out (plymouthd keeps DRM master) — no retry,
                    black screen
    Classification: Plasma
           Product: plasma-login-manager
      Version First 6.7.4
       Reported In:
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected], [email protected]
  Target Milestone: ---

SUMMARY
When plymouth-quit.service times out (20 s) during boot, plymouthd remains
running and keeps holding DRM master on the GPU. plasma-login-manager's greeter
compositor (plasma-login-kwin_wayland) then cannot open any DRM device ("Failed
to open /dev/dri/card0 device (Device or resource busy)" repeated ~25 times,
then "No suitable DRM devices have been found"), exits, and segfaults in the
KWin::GpuManager / KWin::RenderDevice destructors. The greeter and wallpaper
apps lose their Wayland display ("Failed to create wl_display (Connection
refused)"), fail to initialize any Qt platform plugin (the wayland plugin
fails; the xcb fallback fails, the log noting the xcb-cursor requirement), and
abort. plasma-login.service fails with core-dump and never retries: no login
screen is ever drawn (black screen with the Plymouth spinner). The machine is
otherwise fully functional (SSH works, all services run).

A second variant: in boots where the greeter wins the race, the same wedge
surfaces at session start instead — the user session's kwin logs "atomic commit
failed: Permission denied" and "Failed to find a working output layer
configuration!" (atomic commits from a non-master against plymouthd's held
master) while a full Plasma session runs invisibly.

STEPS TO REPRODUCE
1. Boot with plymouth in the initramfs (splash enabled) on an affected system
(see versions below). Observed as 100% reproducible on Arch-based CachyOS after
a full stack update; an earlier intermittent instance of the same race was
reported on the same distro in July 2026 (NVIDIA 610, earlier Plasma).
2. Let plasmalogin start its greeter session while plymouthd is still running.

OBSERVED RESULT
Black screen, no greeter, no console fallback (VT switching does nothing;
logind never spawns getty). Journal sequence from one failed boot:
  plymouth-quit.service: start operation timed out. Terminating.
  plymouth-quit.service: Failed with result 'timeout'.
  plasmalogin: Greeter session started successfully
  kwin_wayland: Failed to open /dev/dri/card0 device (Device or resource busy) 
 [~25 retries over 3 s]
  kwin_wayland: Failed to open drm device /dev/dri/card0
  kwin_wayland: No suitable DRM devices have been found
  plasma-login-kwin_wayland.service: Main process exited, code=dumped,
status=11/SEGV
      #1 KWin::RenderDevice::~RenderDevice (libkwin.so.6)
      #2 KWin::GpuManager::~GpuManager (libkwin.so.6)
  plasma-login-greeter: Failed to create wl_display (Connection refused)
  plasma-login-greeter: Could not load the Qt platform plugin "wayland" in ""
even though it was found.
  plasma-login.service: Failed with result 'core-dump'.

Recovery: "pkill -9 plymouthd; systemctl restart plasmalogin" restores the
login screen immediately, proving plymouthd's device hold is the cause. Polite
"plymouth --quit" hangs forever on the wedged daemon. "systemctl restart
plasmalogin" alone does NOT recover — the restarted greeter loses the same race
and crashes identically.

EXPECTED RESULT
Either (a) plasmalogin ensures plymouthd has quit before starting the greeter
compositor (signal/wait for the handoff), or (b) when the greeter compositor
fails to acquire a DRM device, plasmalogin retries instead of failing
permanently and leaving a black screen.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux (CachyOS), Plasma Wayland session
KDE Plasma Version: 6.7.5 (plasma-login-manager 6.7.4-3, kwin 6.7.5)
KDE Frameworks Version: 6.30.0
Qt Version: 6.11.2
Kernel 7.2.5 (also observed on 7.1.6), NVIDIA open kernel module 615.71.09,
dual GPU, three monitors, plymouth 26.134.222

ADDITIONAL INFORMATION
- kwin is exonerated: kwin 6.7.4 and 6.7.5 fail identically, and kernel logs
show no drm/nvidia errors in the failed boots.
- Permanent workaround, verified across three consecutive clean boots: remove
"plymouth" from mkinitcpio HOOKS and mask
plymouth-start/plymouth-quit/plymouth-quit-wait.
- Distro-side mitigation pending: CachyOS-Settings PR #260 adds a
plymouth-quit.service drop-in that SIGKILLs plymouthd when the quit times out —
it matches the manual recovery exactly.
- Same signature reported on the CachyOS forum (July 2026): plymouth-quit
timeout → kwin_wayland EBUSY → identical destructor SEGV, on an older stack.
- Related but distinct: bug 516363 (greeter black screen with cursor;
VT-mode/ultrawide rendering; a service restart fixes it there, not here).

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to