Turning off the only connected monitor prevents KDE from sending a signal when a monitor is turned back on

Running EndeavourOS with everything up-to-date:

System Details

Operating System: EndeavourOS
KDE Plasma Version: 6.5.3
KDE Frameworks Version: 6.20.0
Qt Version: 6.10.1
Kernel Version: 6.17.9-arch1-1 (64-bit)
Graphics Platform: Wayland
Processors: 24 × 13th Gen Intel® Core™ i7-13700KF
Memory: 32 GiB of RAM (31.1 GiB usable)
Graphics Processor: NVIDIA GeForce RTX 4080
Manufacturer: ASUS

If I turn off the only monitor I have connected, once I turn it back on, nothing shows up on screen - it says there is no signal from the computer. I can hear the notification sound of the hardware being disconnected when I turn it off, and I can hear the notification sound of when I turn it back on, but not signal comes through.

If I have a second monitor connected, even if it is set to disabled on KDE, turning off the first monitor sends the signal back to the second one, meaning I can turn the first one back on successfully (which disables the second monitor). This is the workaround I’m currently using.

I’m running EndeavourOS on a desktop computer with an nVidia 4080 card. extra/nvidia-open-dkms is installed. KDE Plasma is running over Wayland, and I think this issue didn’t happen on X11, but my memory might be failing me (and I don’t have a way to switch to X11 anymore). This problem has been affecting me ever since I started using Linux several months ago, persisting through several updates.

Here is the journalctl logs from when the monitor was turned off, then on again:

Logs
Nov 16 22:03:50 pc-eos kwin_wayland[1189]: Atomic modeset test failed! Invalid argument
Nov 16 22:03:50 pc-eos kwin_wayland[1189]: Atomic modeset test failed! Invalid argument
Nov 16 22:03:50 pc-eos kwin_wayland[1189]: Atomic modeset test failed! Invalid argument
Nov 16 22:03:50 pc-eos kwin_wayland[1189]: Atomic modeset test failed! Invalid argument
Nov 16 22:03:50 pc-eos kwin_wayland[1189]: Atomic modeset test failed! Invalid argument
Nov 16 22:03:50 pc-eos kwin_wayland[1189]: Atomic modeset test failed! Invalid argument
Nov 16 22:03:50 pc-eos polkit-kde-authentication-agent-1[1385]: There are no outputs - creating placeholder screen
Nov 16 22:03:50 pc-eos kded6[1323]: There are no outputs - creating placeholder screen
Nov 16 22:03:50 pc-eos kactivitymanagerd[1377]: There are no outputs - creating placeholder screen
Nov 16 22:03:50 pc-eos ksecretd[1825]: There are no outputs - creating placeholder screen
Nov 16 22:03:50 pc-eos konsole[5956]: There are no outputs - creating placeholder screen
Nov 16 22:03:50 pc-eos xdg-desktop-portal-kde[1629]: There are no outputs - creating placeholder screen
Nov 16 22:03:50 pc-eos kwalletd6[2801]: There are no outputs - creating placeholder screen
Nov 16 22:03:50 pc-eos baloorunner[2977]: There are no outputs - creating placeholder screen
Nov 16 22:03:50 pc-eos python[1478]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Nov 16 22:03:50 pc-eos kdeconnectd[1479]: There are no outputs - creating placeholder screen
Nov 16 22:03:50 pc-eos org_kde_powerdevil[1386]: There are no outputs - creating placeholder screen
Nov 16 22:03:50 pc-eos plasmashell[1344]: There are no outputs - creating placeholder screen
Nov 16 22:03:50 pc-eos plasmashell[1344]: requesting unexisting screen available rect -1
Nov 16 22:03:50 pc-eos systemd[1122]: Started dbus-:1.2-org.kde.KSplash@1.service.
Nov 16 22:03:54 pc-eos kactivitymanagerd[1377]: There are no outputs - creating placeholder screen
Nov 16 22:03:54 pc-eos xdg-desktop-portal-kde[1629]: There are no outputs - creating placeholder screen
Nov 16 22:03:54 pc-eos python[1478]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Nov 16 22:03:54 pc-eos polkit-kde-authentication-agent-1[1385]: There are no outputs - creating placeholder screen
Nov 16 22:03:54 pc-eos kdeconnectd[1479]: There are no outputs - creating placeholder screen
Nov 16 22:03:54 pc-eos kwalletd6[2801]: There are no outputs - creating placeholder screen
Nov 16 22:03:54 pc-eos baloorunner[2977]: There are no outputs - creating placeholder screen
Nov 16 22:03:54 pc-eos ksecretd[1825]: There are no outputs - creating placeholder screen
Nov 16 22:03:54 pc-eos kded6[1323]: There are no outputs - creating placeholder screen
Nov 16 22:03:54 pc-eos konsole[5956]: There are no outputs - creating placeholder screen
Nov 16 22:03:54 pc-eos org_kde_powerdevil[1386]: There are no outputs - creating placeholder screen
Nov 16 22:03:54 pc-eos plasmashell[1344]: There are no outputs - creating placeholder screen
Nov 16 22:03:54 pc-eos plasmashell[1344]: requesting unexisting screen available rect -1
Nov 16 22:03:55 pc-eos kded6[1323]: Failed to notify “Created too many similar notifications in quick succession”
Nov 16 22:04:19 pc-eos kded6[1323]: Failed to notify “Created too many similar notifications in quick succession”
Nov 16 22:04:24 pc-eos ksecretd[1825]: There are no outputs - creating placeholder screen
Nov 16 22:04:24 pc-eos xdg-desktop-portal-kde[1629]: There are no outputs - creating placeholder screen
Nov 16 22:04:24 pc-eos polkit-kde-authentication-agent-1[1385]: There are no outputs - creating placeholder screen
Nov 16 22:04:24 pc-eos kded6[1323]: There are no outputs - creating placeholder screen
Nov 16 22:04:24 pc-eos konsole[5956]: There are no outputs - creating placeholder screen
Nov 16 22:04:24 pc-eos kwalletd6[2801]: There are no outputs - creating placeholder screen
Nov 16 22:04:24 pc-eos python[1478]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Nov 16 22:04:24 pc-eos kdeconnectd[1479]: There are no outputs - creating placeholder screen
Nov 16 22:04:24 pc-eos baloorunner[2977]: There are no outputs - creating placeholder screen
Nov 16 22:04:24 pc-eos org_kde_powerdevil[1386]: There are no outputs - creating placeholder screen
Nov 16 22:04:24 pc-eos kactivitymanagerd[1377]: There are no outputs - creating placeholder screen
Nov 16 22:04:24 pc-eos plasmashell[1344]: requesting unexisting screen available rect -1
Nov 16 22:04:24 pc-eos plasmashell[1344]: There are no outputs - creating placeholder screen
Nov 16 22:04:26 pc-eos kded6[1323]: Failed to notify “Created too many similar notifications in quick succession”

I can confirm this issue. I am reproducing on NVIDIA RTX 4070 (NVIDIA’s open kernel drivers) + Wayland + KDE Plasma + SDDM + Gentoo. Turning off the single monitor, while locked, causes a “monitor disconnect sound”. Turning on the monitor again causes a “monitor connect sound”, but the computer does not send a display signal. Switching over to TTY3 works.

(If you are ever in this situation, switch to TTY3 using Ctrl-Alt-F3. Login, and type sudo systemctl restart sddm if you are using SDDM, for example.)

Notably, I can workaround this issue by using the X11 Plasma session. Here, turning off the monitor does not create the “monitor disconnect sound”. Turning on the monitor, weirdly, sometimes causes a “monitor connect sound”. Regardless, it all works well, and the screen wakes up again as expected.

A few possible causes?

  1. NVIDIA is still buggy on Wayland.

  2. KDE is buggy on Wayland in this particular case.

  3. The X11 server for some reason does not send a “monitor disconnect” signal if it’s the only monitor that is disconnecting. This hid a bug in KDE. Wayland is more honest about it, and because of that, causes the bug.

GNOME + Wayland + Fedora Silverblue + NVIDIA RTX 4070 (nouveau OR blob driver) worked on the same machine.

If you are ever in this situation, switch to TTY3 using Ctrl-Alt-F3. Login, and type sudo systemctl restart sddm if you are using SDDM, for example

Interesting enough, I had a memory of being unable to switch TTYs when I was testing this issue several months ago. If it is relevant, I am using SDDM (with autologin at the moment) and I decided to test it again.

To my surprise, I didn’t even need to systemctl restart sddm. Just switching to TTY3 and back to TTY1 was enough to fix the issue, so now I have a secondary workaround. The session was still waiting for me, wether it was locked or not (tested both ways).

I’m really worried. This issue isn’t in Wayland Significant Known Issues and I’m not sure if it’ll be fixed before X11 gets removed (in 6.8, it is 6.6 now). I’m not exactly sure where to start debugging this myself.