https://bugs.freedesktop.org/show_bug.cgi?id=110659
--- Comment #81 from Andrew Eikum aeikum@codeweavers.com --- (In reply to Nicholas Kazlauskas from comment #74)
(In reply to Michel Dänzer from comment #73)
Looks like some client repeatedly calls XForceScreenSaver (probably to prevent the monitors from blanking), which results in the DPMS property getting re-set over and over. Nicholas, maybe the kernel could ignore such no-op property "updates"?
Even if it's no-op update it's still going to be locking the connector and potentially blocking other commits from occurring so ideally the client userspace wouldn't be dong this.
I've submitted a patch to Wine to throttle our calls to XResetScreenSaver to once every five seconds: https://source.winehq.org/patches/data/169958
However, I'd argue our previous behavior isn't obviously wrong. What we were doing was calling XResetScreenSaver each time we received user input on a joystick in order to delay the screensaver coming up despite no keyboard/mouse input. It's not obvious that this behavior was incorrect. Are you sure you shouldn't be able to handle this behavior from a client?