Bug 19241 - [i915GM] Bad screen redraw on lid or xrandr event
Summary: [i915GM] Bad screen redraw on lid or xrandr event
Status: RESOLVED INVALID
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: 7.3 (2007.09)
Hardware: x86 (IA32) Linux (All)
: low minor
Assignee: Wang Zhenyu
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-12-22 16:00 UTC by Bryce Harrington
Modified: 2009-02-02 17:24 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Xorg.0.log-after (30.76 KB, text/plain)
2008-12-22 16:00 UTC, Bryce Harrington
no flags Details

Description Bryce Harrington 2008-12-22 16:00:44 UTC
Created attachment 21412 [details]
Xorg.0.log-after

Forwarding this bug from a Ubuntu reporter:
https://bugs.edge.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/292912

[Problem]
On the 2.5.1 and 2.4.x driver, screen is incorrectly drawn during lid close/open and other xrandr events, giving impression of flickering.

The issue occurs only when the user is logged in, not when screen is locked.

[lspci]
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller [8086:2592] (rev 03)
	Subsystem: Dell Device [1028:0188]

[Original Report]
I am using Ubuntu 8.10, and have never had this problem in any previous version. It could possibly be the new version of Xorg.

The problem occurs when I close and open my laptop screen or when the screen resolution is being detected or changed or when the refresh rate is being detected by the monitor setup configuration program.

The problem is that parts of the screen get drawn in the wrong places during certain frames and not in others and give an appearance of flickering as would be expected if someone tried to use a monitor with the wrong refresh rate.

This is a minor annoyance, and should not be categorized as a major bug.

The problems in dmesg (see attached file called "dmesg") seem to point to a problem with my CD/DVD drive, so I'm not sure if it is entirely relevant.



I will be giving this computer away soon as I am getting a new one. As such, I will probably be unable to help with this bug any longer since the new computer will have an entirely different graphics card. It has been a pleasure working with you.

That said, I should be able to continue reproducing this bug until about two weeks from today (Monday, 2008-12-22).
Comment 1 Michael Fu 2008-12-22 21:09:03 UTC
Is this just a temporary flick then restore to normal or what?
Comment 2 Gordon Jin 2008-12-23 00:16:03 UTC
seems similar to bug#17405.
Comment 3 Collin Stocks 2008-12-23 12:52:54 UTC
Yes, it is a temporary flicker and then a return to normal. The flickering lasts from 15 to 20 seconds before subsiding.
Comment 4 Wang Zhenyu 2008-12-28 18:19:34 UTC
Could you try with more recent driver? This looks like a display arb relate problem, which might be changed better in newer driver.
Comment 5 Collin Stocks 2008-12-28 18:31:40 UTC
I have installed the newest ones available from the repository at https://edge.launchpad.net/~intel-gfx-testing/+archive, and the problem persists.
Comment 6 Wang Zhenyu 2008-12-28 23:00:37 UTC
How about disabling dsparb like below?

diff --git a/src/common.h b/src/common.h
index 4a87acb..866abad 100644
--- a/src/common.h
+++ b/src/common.h
@@ -366,7 +366,7 @@ extern int I810_DEBUG;
 #define HWS_NEED_NONSTOLEN(pI810) (IS_G4X(pI810))
 #define SUPPORTS_INTEGRATED_HDMI(pI810) (IS_G4X(pI810))
 /* dsparb controlled by hw only */
-#define DSPARB_HWCONTROL(pI810) (IS_G4X(pI810))
+#define DSPARB_HWCONTROL(pI810) (IS_G4X(pI810) || IS_I915GM(pI810))
 
 #define GTT_PAGE_SIZE                  KB(4)
 #define ROUND_TO(x, y)                 (((x) + (y) - 1) / (y) * (y))
Comment 7 Collin Stocks 2008-12-29 14:45:15 UTC
Uh...

diff: unrecognized option '--git'

I assumed you wanted me to run this in the terminal...
Comment 8 Wang Zhenyu 2009-01-20 22:27:22 UTC
oh, no that's a patch, you can change the source src/common.h like in that patch.
Or simply change that line to

#define DSPARB_HWCONTROL(pI810) (1)
Comment 9 Collin Stocks 2009-01-21 12:56:32 UTC
Sorry, I no longer have access to that computer. If no one else can reproduce the bug, I guess it should be closed.
Comment 10 Wang Zhenyu 2009-02-01 21:21:59 UTC
ok, close this now. Reopen it if you have a chance to produce this again. (I can't find a "resolution" to this, maybe WORKSFORME is the best choice.)
Comment 11 Collin Stocks 2009-02-02 17:24:55 UTC
I'm marking this as INVALID because it can no longer be reproduced. If anyone can reproduce it, please reopen it.


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.