Bug 89761

Summary: [i915/HD5500/SNA] Switching from X session to VT causes unrecoverable corruption/drift.
Product: xorg Reporter: Pauli <login>
Component: Driver/intelAssignee: Chris Wilson <chris>
Status: RESOLVED DUPLICATE QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Pauli 2015-03-25 11:06:26 UTC
Hardware: ThinkPad T550 with i7-5600U/HD5500/i915/3K display
Versions: xf86-video-intel 2.99.917, using SNA
          xorg-server 1.17.1
          linux 3.19/4.0rc5

When killing the active X session and returning to the VT, or when changing from an X session to a different VT, the display starts to drift and flicker: https://youtu.be/Mez3XlMkK-o . The display goes completely black eventually, with small flickers of data here and there when trying to change VT for example.

Can be reproduced with xf86-video-intel > 2.99.914. There seems to be some difference with what kernel is used. On 3.19 the display breaks most of the time when killing the X session, but not when changing from a X session to another VT. On 4.0rc5 the display always breaks both when switching from a X session to another VT and when killing the X session.

After the display drift has started, starting a new X session, trying to switch back to existing X session, etc, does not help recovering from the problem. In addition to a reboot, suspending and resuming seems to stop it.

The problem is not present when using UXA, or when using modesetting driver instead of intel. Arch Linux was used for testing, with matching xorg-server version (1.17.1 for >2.99.914, 1.16.0 when testing with 2.99.914).

Reverting git commit 57bf3d ("sna: Disable the fb on switching away from X") seems to solve the issue.
Comment 1 Chris Wilson 2015-03-25 11:14:05 UTC

*** This bug has been marked as a duplicate of bug 85583 ***

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.