DPMS state not updated when screen waked via VNC
I'm working on an application that polls the DPMS state of a monitor, and I noticed that if the monitor goes to sleep and is then woken up via virtual inputs from a VNC session (using x11vnc), the DPMS state remains reported as "off".
OS: Arch Linux
$ Xorg -version : 1.21.1.8
$ x11vnc -version : 0.9.16
VGA compatible controller: Intel Corporation Apollo Lake [HD Graphics 505]
kernel : 6.4.3-arch1-1
Using modesetting driver
Test workflow #1 (expected behavior):
- <Monitor is visibly off>
- xset q | grep Monitor
- Monitor is Off
- <tap the touchscreen>
- <Monitor is visibly on>
- xset q | grep Monitor
- Monitor is On
Test workflow #2 (unexpected behavior):
- <Monitor is visibly off>
- xset q | grep Monitor
- Monitor is Off
- <click on window in VNC client>
- <Monitor is visibly on>
- xset q | grep Monitor
- Monitor is Off
Please let me know if there's any additional information you need.