https://bugs.kde.org/show_bug.cgi?id=525051
Bug ID: 525051
Summary: Wayland: after DPMS screen wake, wl_pointer.enter is
not delivered to windows on one output, while the
plasma panel on that output still receives input
Classification: Plasma
Product: kwin
Version First 6.7.4
Reported In:
Platform: EndeavourOS
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: multi-screen
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
Created attachment 195644
--> https://bugs.kde.org/attachment.cgi?id=195644&action=edit
Recording of wev
Hi I'm encountering this weird input/multi-screen issue that I was
troubleshooting with a clanker but it got nowhere. Let me know if you need any
more info.
Summary
On a dual-monitor Wayland session, after the screens turn off via idle/DPMS and
then wake, mouse input stops working for application windows (xdg-toplevel) on
one output only. The cursor still renders and moves normally on that screen,
and the Plasmashell panel/taskbar on the same screen continues to receive
input. The other output is completely unaffected. Keyboard input works
everywhere.
Hardware / Environment
- GPU: NVIDIA RTX 5080, proprietary driver 610.57.04 (nvidia-drm.modeset=1)
- Output 1 (DP-2): 3840x2160 @ 60 Hz, scale 2
- Output 2 (DP-1): 2560x1440 @ 144 Hz, scale 1.25 — the affected output
- kwin 6.7.4-7, plasma-workspace 6.7.4-3, qt6-wayland 6.11.2-1, wayland
1.26.0-1, libinput 1.31.3-1
- Mismatched refresh rates between the two outputs (60 Hz vs 144 Hz); VRR =
Automatic on both
Steps to reproduce
1. Dual-monitor Plasma 6 Wayland session (as above).
2. Allow the screens to turn off via idle/DPMS.
3. Wake the screens and try to interact with windows on the second/144 Hz
monitor.
Observed result
- Mouse cursor moves and renders correctly on the affected monitor.
- wl_pointer events (enter/motion/button/axis) are not delivered to any
xdg-toplevel window on that output.
- The Plasmashell panel (layer-shell) on that same output still receives
pointer input normally.
- The other monitor is fully functional.
- Cycling the affected output off/on via kscreen-doctor output.DP-1.disable /
.enable temporarily restores input on that output but then breaks the other
output (only one output holds pointer focus at a time).
- Keyboard input works on all outputs throughout.
Protocol-level evidence
A freshly launched client via wev shows full wl_pointer event streams while its
window is on the working output (AOC). Moving the same wev window onto the
affected output (Gigabyte), pointer events stop completely — no
wl_pointer.enter, no motion, no button. This rules out stale focus state on
pre-existing windows. wl_keyboard events continue to arrive on the same
surface.
Kernel / driver status
dmesg shows no NVIDIA pageflip, DRM, modeset, or DPMS errors. All KWin input
devices report enabled = true. The issue appears to be confined to KWin's
PointerInputRedirection pointer-focus handling across outputs after a DPMS
transition — motion is compositor-rendered but pointer focus is never
(re)established on the second output's surfaces.
Additional notes
- separateScreenFocus is enabled, focusPolicy is ClickToFocus.
- The Applying output configuration failed! KWin log line has been observed
around output changes, and GL_OUT_OF_MEMORY / framebuffer-incomplete errors
appear if outputs are repeatedly disabled/re-enabled.
- Bug 523463 describes a similar pointer-event-stall class of bug but appears
global (all surfaces), whereas this is strictly per-output.
--
You are receiving this mail because:
You are watching all bug changes.