[BUG] inconsistent DPMS settings

David Herrmann dh.herrmann at googlemail.com
Sun Mar 11 16:28:57 PDT 2012


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


More information about the dri-devel mailing list