Bug 22907 - Black flickering screen when using UXA with new intel drivers
Summary: Black flickering screen when using UXA with new intel drivers
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: 7.2 (2007.02)
Hardware: Other All
: medium major
Assignee: Ian Romanick
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-07-23 05:06 UTC by Maciej J. Woloszyk
Modified: 2009-10-19 11:08 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Fixes regression in i830_dri.c introduced with the new DRI protocol 2.1 (1.12 KB, patch)
2009-07-23 20:04 UTC, Matthias Liertzer
no flags Details | Splinter Review
emacs screwed up the tabs in the previous patch, fixed (1.10 KB, patch)
2009-07-23 20:27 UTC, Matthias Liertzer
no flags Details | Splinter Review

Description Maciej J. Woloszyk 2009-07-23 05:06:17 UTC
While trying to find out the problem I've been experiencing for some time I finally found out that for some reason when I run one of the newer Intel drivers with UXA enabled (be it by xorg.conf parameter, turning on the KMS or installing 2.8.0 driver) and start KDE 4.2 with compositing turned on I get a flicering black screen instead of normal display. It looks like the updates sent by KDE are painted on the screen and imediately after they are overpainted with black. I tried to isolate the versions of components I use, but as I use Gentoo packages it seems that on my laptop (with GM965) every decent version of the components gives the same effects. 
I tried 2.7.1 and 2.8.0 intel drivers, 7.4.2, 7.4.4 and 7.5 mesa and 2.6.30 (gentoo -r1 and -r4) and 2.6.31-r3 kernels. Every time the UXA is selected the effect is exactly the same.
Comment 1 Matthias Liertzer 2009-07-23 15:39:39 UTC
Hi, I can confirm this bug on a GM45_GM chipset (Mobile Intel GM45 Express Chipset)

KDE 4.3 rc3
MESA 7.5.1 
xserver: branch 1.6.2
intel_drv: branch 2.8.0

Everything was installed directly using the latest source code from the git repositories.

After trying out different combinations of the intel driver and the xserver I noticed that the first time that problems occurred was when the dri2proto 2.1 interface was introduced.

Using source snapshots of the x server(commit:98c3c21735197fbd2c8166c9bdabf055e14c9009) and intel driver(commit:f6f79eb629184366b1355743d601129a526da90c) before dri2proto 2.1 was added, this problem disappears. I was even able to load this old intel driver into the latest xserver snapshot of branch 1.6.2 and compositing with KDE still runs fine. ( A warning appears in the X log, that the old DRI2 api is used, therefore it certainly loads the old API; I used the above commit of the intel driver as this was the most recent source code, that was still compilable against an xserver with dri2proto 2.0 )

/Matthias
Comment 2 Matthias Liertzer 2009-07-23 20:04:11 UTC
Created attachment 27964 [details] [review]
Fixes regression in i830_dri.c introduced with the new DRI protocol 2.1

Fixes regression in i830_dri.c

In DRI2CreateBuffer, the DRI2BufferStencil type was not handled properly.

Implemented the same behaviour as in DRI2CreateBuffers using static variables, which fixed the bug.
Comment 3 Matthias Liertzer 2009-07-23 20:05:33 UTC
(In reply to comment #2)
> Created an attachment (id=27964) [details]

the patch was made against xf86-video-intel branch: origin/2.8
Comment 4 Matthias Liertzer 2009-07-23 20:27:41 UTC
Created attachment 27965 [details] [review]
emacs screwed up the tabs in the previous patch, fixed
Comment 5 Maciej J. Woloszyk 2009-07-23 23:15:14 UTC
Thanks. This works fine for me.
Comment 6 Eckhart Wörner 2009-07-24 17:00:29 UTC
I experience the same symptoms, however the above mentioned patch does not fix the problem for me. If you need additional input, don't hesitate to ask.
Comment 7 Matthias Liertzer 2009-07-25 02:22:09 UTC
first of all: Are you sure the new self-compiled driver is loaded? i.e. install the driver in /usr/local, change the xorg config to load modules from /usr/local, start X and look if the driver is really loaded from /usr/local in Xorg.0.log

the following information would be useful:
which chipset are you using
version of xserver, intel driver and mesa

output of kwin --replace (debugging enabled)
Xorg.0.log

/Matthias
Comment 8 Eckhart Wörner 2009-07-25 08:36:13 UTC
(In reply to comment #7)
> first of all: Are you sure the new self-compiled driver is loaded? i.e. install
> the driver in /usr/local, change the xorg config to load modules from
> /usr/local, start X and look if the driver is really loaded from /usr/local in
> Xorg.0.log

I downloaded the Debian source package, applied the patch, compiled and installed the resulting package. This replaces the existing driver.

> the following information would be useful:
> which chipset are you using

According to lspci,
Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)

> version of xserver, intel driver and mesa

Not exactly sure where to look everything up, so I just used apt-cache policy:
xserver-xorg-video-intel: 2.8.0
xserver-xorg: 7.4
libgl1-mesa-dri: 7.5

> output of kwin --replace (debugging enabled)

Sorry, have to postpone that part
Comment 9 Matthias Liertzer 2009-07-25 12:24:07 UTC
I think there's something wrong with the binary package of the x server in debian unstable. Could you try to install the package from source?

i.e.:
aptitude build-dep xserver-xorg-core
apt-get source -b xserver-xorg-core
dpkg -i xserver-xorg-core_1.6.2-1_amd64.deb

While I was trying to find the error in the xserver and intel driver, it seems that I have overlooked the fact that there's a bug in the binary package of the x server in debian...
Comment 10 Eckhart Wörner 2009-07-25 13:52:18 UTC
It looks like you were right, compiling the xserver-xorg-core package for myself fixes the problem , I don't need the patch for the intel driver anymore.
Comment 11 Brice Goglin 2009-07-26 15:08:09 UTC
The Debian packages have been built against Mesa 7.4.4 while the "working-fine" packages were build against latest unstable which now contains Mesa 7.5.

So this looks like an incompatibility between the DRI2 backports in Xserver 1.6 branch and Mesa 7.4. I'll rebuild packages against Mesa 7.5 and upload them to unstable to fix the mess.
Comment 12 Eric Anholt 2009-10-19 11:08:48 UTC
OK, sounds like this is all fixed at this point.


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.