This does not occur with UXA, only with SNA:
Steps to reproduce:
1) Start desktop environment. I use compiz-0.8 as window manager.
2) Launch glxgears, keep it running.
3) Issue the following command:
xset dpms force off; sleep 2; xset dpms force on
Monitor switches off and on, nothing else happens.
Monitor switches off and on, glxgears is frozen.
Interestingly, compiz is still responsible when performing above steps.
Now replace glxgears with xscreensaver which can turn off the monitor too, and the issue gets more severe. I usually have to kill compiz to get a usable X session again.
On a side note: I often get such messages in dmesg:
[drm] Setting output timings on SDVOB failed
What do they mean? What is SDVOB? Are they harmless?
00:02.0 VGA compatible controller: Intel Corporation 4 Series Chipset Integrated Graphics Controller (rev 03) (prog-if 00 [VGA controller])
Subsystem: Dell Device 0276
Flags: bus master, fast devsel, latency 0, IRQ 44
Memory at fe800000 (64-bit, non-prefetchable) [size=4M]
Memory at d0000000 (64-bit, prefetchable) [size=256M]
I/O ports at ec90 [size=8]
Expansion ROM at <unassigned> [disabled]
Capabilities:  MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [d0] Power Management version 2
Kernel driver in use: i915
# Output configuration
Option "Monitor-VGA1" "Samsung SyncMaster SA450 VGA"
Option "Monitor-DVI1" "Samsung SyncMaster SA450 DVI"
Option "AccelMethod" "sna"
Option "PageFlip" "true"
Option "TripleBuffer" "true"
Option "TearFree" "true"
Option "VSync" "true"
Please attach your Xorg.0.log, and please make sure you are using -intel-2.99.907.
Created attachment 91811 [details]
I'm using the current git version (also affected by bug #55500).
Author: Chris Wilson <firstname.lastname@example.org>
Date: Fri Jan 10 12:01:29 2014 +0000
sna/dri: Handle TearFree vblanks whilst the pipe is off
As an extra complication for handling TearFree is that if we attempt to
requeue a swap whilst the pipe is off, that fails. As we have recursed
from the pixmap migration path, we have to abort the blit but still send
the event back to the client so that they unblock.
Reported-by: Harald Judt <email@example.com>
Signed-off-by: Chris Wilson <firstname.lastname@example.org>
Thanks, I confirm the fast fix solves the problem.