Hi everyone,
Disclaimer: I’m relatively new to Linux and KDE. This post was generated with the help of opencode AI assistant after extensive diagnostic work. I hope this information helps the developers.
My Problem
I have 3 monitors connected to my NVIDIA RTX 3060:
- DP-1: 1920x1080@60 (rotated, scale 1.1)
- DP-3: 1920x1080@75 (rotated, scale 1.1)
- HDMI-A-1: 3840x2160@60 (scale 2.25)
The Issue:
When I disable any 1 monitor in System Settings → Display and Monitor (keeping 2 enabled), the entire desktop starts stuttering every 5 seconds:
- Mouse cursor freezes
- Display freezes
- Input method (fcitx5) freezes
- Everything becomes unresponsive for a brief moment
With all 3 monitors enabled, everything works perfectly.
System Information
- OS: Arch Linux (rolling)
- Kernel: 6.18.8-zen2-1-zen
- KDE Plasma: 6.5.5
- KWin: 6.5.5
- Session: Wayland
- GPU: NVIDIA GeForce RTX 3060
- Driver: nvidia-open-dkms 590.48.01
- ddcutil: 2.2.5
NVIDIA Configuration
Kernel Parameters:
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=5 zswap.enabled=0 nvidia-drm.modeset=1"
Loaded NVIDIA Modules:
nvidia_drm
nvidia_uvm
nvidia_modeset
nvidia (main driver)
GPU Current State:
- Driver Version: 590.48.01
- Power Draw: ~21.67 W
- Performance State: P8 (power saving)
Note: Using NVIDIA Open Kernel Module (nvidia-open-dkms) with modeset=1 enabled.
Diagnostic Steps Taken
With help from opencode, we performed extensive troubleshooting:
1. Checked Powerdevil
systemctl --user stop plasma-powerdevil.service
Result: Issue persists. Powerdevil is not the cause.
2. Checked KScreen Service
systemctl --user stop plasma-kscreen.service
Result: Issue persists. KScreen service is not the cause.
3. Checked ddcutil/libddcutil
- All monitors show
DDC/CI: disallowed
- Environment variable
POWERDEVIL_NO_DDCUTIL=1 set
- Still getting infinite udev event loops in logs
4. Reset plasmashell Configuration
rm -f ~/.config/plasmashellrc
rm -f ~/.config/plasma-org.kde.plasma.desktop-appletsrc
rm -rf ~/.config/plasma-workspace
rm -rf ~/.local/share/plasma*
killall plasmashell
plasmashell --replace
Result: Issue persists even with fresh configuration.
5. Tested with kscreen-doctor
kscreen-doctor output.DP-1.disable
# Waited 30 seconds
kscreen-doctor output.DP-1.enable
Result: Issue occurs when using command-line tool as well, not just GUI.
6. Monitored System Logs
Monitored journalctl during the issue:
journalctl --user -f -t plasmashell -t kwin_wayland
Error Logs
Key Error (repeats every 5 seconds):
Feb 16 14:16:18 plasmashell[11202]: requesting unexisting screen available rect -1
Feb 16 14:39:04 plasmashell[11202]: requesting unexisting screen available rect -1
Feb 16 14:44:36 plasmashell[11202]: requesting unexisting screen available rect -1
Feb 16 14:59:51 plasmashell[11202]: requesting unexisting screen available rect -1
Feb 16 15:24:08 plasmashell[11202]: requesting unexisting screen available rect -1
Feb 16 15:26:49 plasmashell[11202]: requesting unexisting screen available rect -1
Feb 16 15:30:23 plasmashell[34416]: requesting unexisting screen geometry -1
KWin Main Thread Hanging:
Feb 16 13:43:38 kwin_wayland[979]: The main thread was hanging temporarily!
Feb 16 13:44:01 kwin_wayland[979]: The main thread was hanging temporarily!
Feb 16 13:44:42 kwin_wayland[979]: The main thread was hanging temporarily!
Feb 16 15:14:33 kwin_wayland[11109]: The main thread was hanging temporarily!
Feb 16 15:27:07 kwin_wayland[11109]: The main thread was hanging temporarily!
Feb 16 15:27:18 kwin_wayland[11109]: The main thread was hanging temporarily!
Other Errors:
Feb 16 15:30:23 plasmashell[34416]: error creating screencast "Could not find window id {caf62c4a-6795-4168-b565-95b9032a62bc}"
Happy to provide more logs or run additional tests if needed.
Thanks for any help!