subtle graphics corruption after resume on sandybridge laptop

Bug #790015 reported by Sage Weil
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
xf86-video-intel
Fix Released
Critical
linux (Ubuntu)
Incomplete
Low
Unassigned

Bug Description

Binary package hint: xorg

The laptop is a samsung np900x3a. After a suspend/resume, everything looks mostly fine, except:
 - typing in a terminal is mostly invisible, until several lines go by and the text becomes visible.
 - flipping to a different desktop and back makes the text appear
 - the problem goes away if I log out/in of the x session
I'd attach a picture, but it wouldn't show anything useful except the unchanged screen (despite me typing) or the newly visible text (once it finally redraws).
Nothing suspicious in dmesg or Xorg.0.log that i can see...

ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: xorg 1:7.6+4ubuntu3
ProcVersionSignature: Ubuntu 2.6.38-8.42-generic 2.6.38.2
Uname: Linux 2.6.38-8-generic x86_64
Architecture: amd64
CompizPlugins: No value set for `/apps/compiz-1/general/screen0/options/active_plugins'
CompositorRunning: None
DRM.card0.DP.1:
 status: disconnected
 enabled: disabled
 dpms: Off
 modes:
 edid-base64:
DRM.card0.HDMI.A.1:
 status: disconnected
 enabled: disabled
 dpms: Off
 modes:
 edid-base64:
DRM.card0.LVDS.1:
 status: connected
 enabled: enabled
 dpms: On
 modes: 1366x768
 edid-base64: AP///////wBMo0YzAAAAAAAVAQOAHRB4Cof1lFdPjCcnUFQAAAABAQEBAQEBAQEBAQEBAQEBnhtWeFAAGDAwICUAJaUQAAAZAAAADwAAAAAAAAAAAB60AnQAAAAA/gBTQU1TVU5HCiAgICAgAAAA/gBMU04xMzNBVDAxODAxAF0=
DRM.card0.VGA.1:
 status: disconnected
 enabled: disabled
 dpms: Off
 modes:
 edid-base64:
Date: Sun May 29 15:51:29 2011
DistUpgraded: Fresh install
DistroCodename: natty
DistroVariant: ubuntu
GraphicsCard:
 Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0116] (rev 09) (prog-if 00 [VGA controller])
   Subsystem: Samsung Electronics Co Ltd Device [144d:c098]
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release amd64 (20110427.1)
MachineType: SAMSUNG ELECTRONICS CO., LTD. 90X3A
ProcEnviron:
 LANGUAGE=en_US:en
 PATH=(custom, user)
 LANG=C
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.38-8-generic root=UUID=5dbc24ee-272a-41ef-9846-c10799e58402 ro quiet splash vt.handoff=7
Renderer: Unknown
SourcePackage: xorg
Symptom: display
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 03/08/2011
dmi.bios.vendor: Phoenix Technologies Ltd.
dmi.bios.version: 04HL
dmi.board.asset.tag: Base Board Asset Tag
dmi.board.name: 90X3A
dmi.board.vendor: SAMSUNG ELECTRONICS CO., LTD.
dmi.board.version: FAB1
dmi.chassis.asset.tag: Asset Tag
dmi.chassis.type: 9
dmi.chassis.vendor: SAMSUNG ELECTRONICS CO., LTD.
dmi.chassis.version: 0.1
dmi.modalias: dmi:bvnPhoenixTechnologiesLtd.:bvr04HL:bd03/08/2011:svnSAMSUNGELECTRONICSCO.,LTD.:pn90X3A:pvr0.1:rvnSAMSUNGELECTRONICSCO.,LTD.:rn90X3A:rvrFAB1:cvnSAMSUNGELECTRONICSCO.,LTD.:ct9:cvr0.1:
dmi.product.name: 90X3A
dmi.product.version: 0.1
dmi.sys.vendor: SAMSUNG ELECTRONICS CO., LTD.
version.compiz: compiz 1:0.9.4+bzr20110415-0ubuntu2
version.ia32-libs: ia32-libs N/A
version.libdrm2: libdrm2 2.4.23-1ubuntu6
version.libgl1-mesa-dri: libgl1-mesa-dri 7.10.2-0ubuntu2
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 7.10.2-0ubuntu2
version.xserver-xorg: xserver-xorg 1:7.6+4ubuntu3
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.14.0-0ubuntu4
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.14.0-4ubuntu7.1
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:0.0.16+git20110107+b795ca6e-0ubuntu7

Revision history for this message
Sage Weil (sage-newdream) wrote :
Revision history for this message
Sage Weil (sage-newdream) wrote :

Here is dmesg _after_ a resume while the display is still behaving poorly

Revision history for this message
Sage Weil (sage-newdream) wrote :

Here's xorg.0.log while it's misbehaving

description: updated
bugbot (bugbot)
affects: xorg (Ubuntu) → xserver-xorg-video-intel (Ubuntu)
Revision history for this message
Sage Weil (sage-newdream) wrote :

I think this is the upstream bug:

https://bugs.freedesktop.org/show_bug.cgi?id=33487

bugbot (bugbot)
tags: added: resume
Changed in xserver-xorg-video-intel:
importance: Unknown → Critical
status: Unknown → Confirmed
Changed in xserver-xorg-video-intel:
status: Confirmed → Fix Released
Revision history for this message
Chris Halse Rogers (raof) wrote :

Do you still see this problem? FBC is now turned off by default, so this should no longer occur.

There are two upstream commits in 3.1-rc1 that are reported to fix the cause. Handing off to the kernel team. These patches are low priority, though - our default setup shouldn't hit this bug now.

commit 7782de3bd671657674e7baba854f0fd43e9f86bc
Author: Chris Wilson <email address hidden>
Date: Fri Jul 8 12:22:41 2011 +0100

    drm/i915: Disable FBC across page-flipping

commit 9ce9d0695d15da23ffe817516ba5d0b58caf8d05
Author: Chris Wilson <email address hidden>
Date: Fri Jul 8 12:22:40 2011 +0100

    drm/i915: Set persistent-mode for ILK/SNB framebuffer compression

affects: xserver-xorg-video-intel (Ubuntu) → linux (Ubuntu)
Changed in linux (Ubuntu):
importance: Undecided → Low
status: New → Incomplete
tags: added: kernel-handoff-graphics
Revision history for this message
Sage Weil (sage-newdream) wrote :

I'm running 3.0 + the patch below without problems. Not sure which upstream commit that was! Sorry, I havent have time to play with it once i got things working. :)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 0f1c799..4ed1ca5 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -1606,6 +1606,8 @@ static void ironlake_enable_fbc(struct drm_crtc *crtc, unsigned long interval)
                I915_WRITE(SNB_DPFC_CTL_SA,
                           SNB_CPU_FENCE_ENABLE | dev_priv->cfb_fence);
                I915_WRITE(DPFC_CPU_FENCE_OFFSET, crtc->y);
+ /* Set persistent mode */
+ I915_WRITE(ILK_DPFC_CONTROL, 1 << 25);
                sandybridge_blit_fbc_update(dev);
        }

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.