[Intel-gfx] Screen Corruption On Intel GM45

Pierre Willenbrock pierre at pirsoft.de
Mon Apr 20 08:21:34 PDT 2009

Magnus Kessler schrieb:
> On Saturday 18 Apr 2009 13:57:27 Mike Lothian wrote:
>> 2009/4/17 Magnus Kessler <Magnus.Kessler at gmx.net>:
>>> Even with this patch, any non-trivial OpenGL using application will lead
>>> to a garbled screen within its own output window. The rest of the screen
>>> is unaffected.
>>> If the entire screen is corrupted when KDE starts up, this is most likely
>>> due to kwin compositing effects. Mike, can you try to set "[Compositing]
>>> Enabled=false" in your kwinrc file and restart KDE? This should give you
>>> a working KDE again with HEAD of xserver, although without the bling. Any
>>> OpenGL application you start within that session (or in a plain startx
>>> session with e.g. twm) will still be corrupted.
>>> For me xserver at commit 808fd2c67f303cb721769375b11ce8b90ffc1909 (just
>>> before the DRI2 fake front buffer patches) with the memory leak fix
>>> 7b6400a1b8d2f228fcbedf17c30a7e3924e4dd2a applied on top works quite well
>>> for the time being.
>>> Magnus
>> Yes switching of the "bling" allows KDE to be usable - glxgears is also
>> fine
>> Mike
> I find that with the latest DRI2 related patch to xorg-video-intel (commit 
> 5a07ab502fe1e58e7e37fe554fb42d8d2c8c53ec) most OpenGL applications that failed 
> with the DRI2 fake front buffer patches alone work again with head of Xorg 
> server. The exception is kwin. Normally it checks for the availability of 
> certain OpenGL functions and only enables its compositing if all checks 
> succeed. With current head of Xorg server, xf86-video-intel and Mesa, kwin 
> compositing is turned off automatically. Forcing it on through 
> "DisableChecks=true" leads to a corrupted screen. Ian Romanick suggested on 
> IRC to verify that kwin uses glXWait{X,GL} correctly. I'm looking into this.
> Magnus

The kwin-problem seems to happen on i965, too. I am seeing the correct
content flashing everytime it is updated, only to be cleared by
something else. Playing around with the kwin sources led to no different
result. Disabling the DRI2CopyRegion from the fake front buffer to the
real front buffer in __glXDRIdrawableWaitGL(glx/glxdri2.c) leads to a
working kwin, but the mesa demo readpix stops to work when rendering to
the front buffer using AIGLX(need to resize the window to see the
effect). So, my guess is kwin somehow manages to render to the real
front buffer of the root window instead of the fake one. kwin uses AIGLX
on this system.


More information about the xorg mailing list