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).