Hi
I was tracing down a bug that made drmModePageFlip() fail and I noticed that the DPMS settings are not correctly restored when switching between xorg-server and vtcon. In fact, when enabling a monitor with xrandr in X while DPMS=off for that monitor, then it will stay blank. Switching back to VT1 and forth to X will enable it, eventually. That is, the VT-switch handler of the xserver seems to correctly reset the DPMS state but the monitor-hotplug handler does not.
The same thing happens if I disable a monitor with xrandr and switch back to vtcon. The monitor is enabled again so I can work with both monitors but if I switch to X again and then back to vtcon, then only one monitor is active in vtcon.
I can track the DPMS state with /sys/class/drm/card0-<dev>/dpms. However, vtcon doesn't care whether this says On or Off. It sometimes displays even though it is Off or sometimes doesn't display anything even though it is On.
Is the DPMS-state even tracked by vtcon/xserver when switching VTs? I expect them to save their state and restore it if I switch back. However, I don't know whether this is the desired behavior.
I am using the intel i915 drivers, if that matters. xserver, kernel, mesa etc. are a mixture between most recent release and git-master.
Regards David
dri-devel@lists.freedesktop.org