Issues after suspend/resume, SDDM blank, Plasma frozen

Has anyone else seen issues like this one? I’ve been stumped on it for a while now.
Short version: when my PC’s screen turns off (whether from the idle timer in Plasma or the sleep button), things are broken the next time I wake it up.

  • First, SDDM shows an all-black screen except for the mouse cursor. It does respond to input, I could type my password and unlock while driving blind. Notably, if I turn the image off and on several times (hit escape to cancel unlock and then wake it again, or switch to a TTY and back), sometimes it’ll fix itself and start drawing the UI again.
  • Second, Plasma Shell is frozen upon unlock. Inputs work still, most apps still work, but the panels and system-wide keyboard shortcuts like alt-tab do not. Panels do render, but are non-interactive, and the wallpaper is blank, but desktop icons do render. Sometimes it’ll sorta restart, throwing a notification like “desktop effects have been reset” or something. Other times the issue persists until I reboot.
  • Sometimes other apps are frozen similarly to Plasma, like Discord, or the web browser. But for these, the problem rights itself in a similar way relatively quickly.

I’m not really sure how to begin diagnosing the issue, honestly. I have a few more specific questions, but I can’t tell if this is an X/Y problem.

  • How do I tell which form of suspend I’m using? Arch wiki > Power Management > Suspend lists four methods: IdleS2Idle, Suspend to RAM, Hibernate, Hybrid Sleep. The only thing I know for sure is that I don’t have the Hibernate option in the GUI, and I’m pretty sure that I don’t have any swap space? No mention of swap in /etc/fstab, no swap partition…
  • I wonder if it’s related to my version of the Nvidia drivers? I’m currently using nvidia-open-dkms as it’s what nvidia-inst says is recommended for Turing and later… I would try Nouveau just because, but when I do it says there’s problems related to dependencies.
  • I did get some search hits suggesting something related to Nvidia and kernel parameters, but nothing changed. My current parameter string (formatted for reading):
# /etc/kernel/cmdline
initrd=\[...]\6.14.4-arch1-1\initrd
nowatchdog
nvidia_drm.modeset=1
nvidia.NVreg_PreserveVideoMemoryAllocations=1
nvidia.NVreg_TemporaryFilePath=/var/tmp
nvme_load=YES
rootflags=subvol=/@
root=UUID=[...]
rw
systemd.machine_id=[...]

Setup:

  • GPU: Nvidia GTX 1650 Super
  • Motherboard: ASRock B450M Pro4
  • CPU: AMD Ryzen 5 2600 Six-Core Processor
  • Display Manager: SDDM
  • DE: KDE Plasma
  • Happens whether in X11 or Wayland.

Is there any other info that would help here?

Same issue here, started happening around the break of the year with the possible culprit being the new Nvidia drivers. I’ve tried everything from delayed SDDM launch timer, disabling bluetooth, Nvidia flags, playing around with possibly unstable SDDM themes, various kernels etc. Nothing works. Sometimes I get the login dialog cursor, sometimes I don’t.
The only option to login in is to:

sudo systemctl restart sddm.service
killall -9 plasmashell
plasmashell replace &
killall -9 kscreenlocker_greet

Killing the plasmashell and greeter are required because they are stuck processes.

I’ve tried upgrades many times and the issue still persists. Quit sad for a laptop being unable to sleep. This also seems to be an extremely common issue and solution for some seems to be just to ditch SDDM.

My setup is a GTX 1650Ti MaxQ, i9-10885H, KDE, X11.