very corrupt X after suspend/resume
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
compiz (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Gutsy |
Invalid
|
Undecided
|
Unassigned | ||
xserver-xorg-video-intel (Debian) |
Fix Released
|
Unknown
|
|||
xserver-xorg-video-intel (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Gutsy |
Fix Released
|
Undecided
|
Bryce Harrington |
Bug Description
Binary package hint: xserver-
I am running an updated gutsy install on a Thinkpad X40 (so i855GM graphics) with the -intel driver. I enabled Desktop Effects last night and the two times I have done a suspend/resume cycle since then, on resuming, is rendered entirely corruptly.
X appears to still function, in that i can just about make out where windows are and I can switch desktops and see the corrupt workspaces scroll.
Giving X the three finger salute makes it come back fine.
Impact: Affects laptop users with older intel 855 graphics when they suspend/resume, leading to 3D textured surface corruption (corrupt X graphics) on resume forcing the user to reboot (and lose any saved work). Because of this, the bug is considered serious and deserving of a backported fix for Gutsy.
Solution: The proposed patch adds a one-line fix to emit an invariant state at the appropriate point, to make X not become corrupted. This fix was uploaded to hardy about a week ago and testers report it correctly eliminates the corruption.
This patch has also been merged into the upstream intel driver.
Patch: https:/
Steps to reproduce:
1. On an intel 855gm graphics system, enable desktop effects
2. Suspend
3. Resume
4. Screen graphics become garbled/corrupted (but system is still responsive, just unusable)
Regression Potential: Low. It's a one-line change that merely modifies what is allowed to be cached between state changes for older i830-class hardware. The patch has been tested on various -intel chipsets by at least half a dozen people without any regression seen. Some have reported occasional crashes after resume, however this is believed to be a separate bug not particular to i855, that this bug was simply hiding.
Changed in compiz: | |
status: | New → Confirmed |
description: | updated |
Changed in xserver-xorg-video-intel: | |
importance: | Undecided → High |
Changed in xserver-xorg-video-intel: | |
status: | Incomplete → Triaged |
Changed in xserver-xorg-video-intel: | |
status: | Unknown → New |
Changed in xserver-xorg-video-intel: | |
status: | Triaged → In Progress |
description: | updated |
Changed in xserver-xorg-video-intel: | |
status: | New → Fix Released |
Changed in xserver-xorg-video-intel (Ubuntu): | |
assignee: | Bryce Harrington (bryceharrington) → Rasyid (cid79-m) |
assignee: | Rasyid (cid79-m) → nobody |
relevant output of lspci -vvnn:
00:02.0 VGA compatible controller [0300]: Intel Corporation 82852/855GM Integrated Graphics Device [8086:3582] (rev 02) (prog-if 00 [VGA])
Capabilities: [d0] Power Management version 1
Flags: PMEClk- DSI+ D1+ D2- AuxCurrent=0mA PME(D0- ,D1-,D2- ,D3hot- ,D3cold- )
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Subsystem: IBM Unknown device [1014:0557]
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Interrupt: pin A routed to IRQ 16
Region 0: Memory at e0000000 (32-bit, prefetchable) [size=128M]
Region 1: Memory at d0000000 (32-bit, non-prefetchable) [size=512K]
Region 2: I/O ports at 1800 [size=8]