Hi,
How to reproduce: Suspend the machine (e.g. by running "systemctl
suspend"). When the system is woken up again, the graphics display is
stuck for about 5 seconds, and any subsequent redraws of urxvt windows
is completely garbled, GTK applications are just filled rectangles of
gray or black.
I’m using the "intel" X driver with the (default) SNA accelleration
method. Switching to UXA instead fixes the garbled graphics problem,
but after a suspend/wakeup cycle, accelleration is not working at all
any more, so this is not a real fix.
The important part from the Kernel log:
[18964.460761] [drm] stuck on render ring
[18964.462418] [drm] GPU HANG: ecode 0:0x01dff88b, in Xorg [18341], reason: Ring hung, action: reset
[18966.462759] [drm] Enabling RC6 states: RC6 on, RC6p off, RC6pp off
There is an easy workaround I discovered while playing around. As soon
as you run "glxgears" for a few seconds and quit it, then possibly
switch workspaces to force a complete screen redraw, all corruptions
are gone and don’t return until the next suspend. If you suspend while
"glxgears" is running, no GPU hang and no screen corruption occurs.
I’m running Debian unstable on a Thinkpad X1 Carbon (3rd gen, model
20BS).
Julius