Bug 12994

Summary: [915GM] tiled frontbuffer and XAA incompatible
Product: xorg Reporter: Tobias Jakobi <liquid.acid>
Component: Driver/intelAssignee: Jesse Barnes <jbarnes>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: major    
Priority: medium CC: jbarnes, x, zhenyu.z.wang
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
xorg log when drm kernel modules are removed
none
xorg kernel log with drm kernel modules present none

Description Tobias Jakobi 2007-10-29 10:49:43 UTC
Hi there,

I'm using recent GIT snapshots of xf86-video-intel, mesa and mesa-drm:
xf86-video-intel: d2c78f82c20f33fc9c22cab8a7ca161e57a34bf8
mesa: 162914675a91034db71c0dc8e37189ac3337ba34
mesa-drm: cc745fcc3a16cb1ffc2ab578155dc880b862f95a

The problem is that right after the X-server is started up (by the gdm) the screen doesn't update anymore. It displays a solid bluish color and after that stays like that. The X-server is running fine in the 'background' because I can login via gdm by blind typing in my login name and password. I can also switch to the vt and back, now leaving me with a black screen.

I currently solve this problem by removing the drm and i915 kernel module from my /lib/modules directory. If the intel driver can't load the module starting works without problems and the correct screen content is displayed. Of course I don't get any hw acceleration this way.

I don't have the problem since this special git version, but some versions back later. I didn't report this because I rarely needed hw acceleration in the past times, but now I find it really annoying.

Going to attach Xorg logs...

Thanks,
Tobias Jakobi
Comment 1 Tobias Jakobi 2007-10-29 10:51:14 UTC
Ah yes, when having started the X-server with the modules left in /lib/modules I can tried shutting it down completly, unloading the modules, removing them and starting X again.
This won't work, I also get a black screen this way. Only a restart of the system fixes this.
Comment 2 Tobias Jakobi 2007-10-29 10:53:20 UTC
Created attachment 12245 [details]
xorg log when drm kernel modules are removed
Comment 3 Tobias Jakobi 2007-10-29 10:54:08 UTC
Created attachment 12246 [details]
xorg kernel log with drm kernel modules present
Comment 4 Jesse Barnes 2007-10-31 13:07:22 UTC
Hm, this shouldn't happen.

According to your broken log, it looks like we're using XAA and a tiled front buffer.  This probably won't work.  Can you try using EXA?  And also try disabling framebuffer compression?

Option "AccelMethod" "EXA" in your intel driver section
and
Option "FramebufferCompression" "false"

Please try them independently to see if one or both of them fix your problem.

Also, I'm not sure if pageflipping or triple buffering work at this point, so you should disable them too.
Comment 5 Tobias Jakobi 2007-10-31 13:55:04 UTC
I didn't change the TripleBuffering and PageFlipping settings during this run:

No FBC and EXA: Works
No FBC and XXA: Works, but the screen is somehow damaged after XFCE has started up. Means the text from the desktop icons is missing, even clicking on the doesn't change at thing. I solved the 'problem' by starting quake3, entering a game and quitting again. Restores the text.
FBC and XXA: The problematic config
FBC and EXA: Works

Comment 6 Jesse Barnes 2007-10-31 17:29:10 UTC
Thanks for the quick reply.  We're trying to move away from XAA since it has so many problems, but you ran into a case where we should have disabled either front buffer tiling or XAA but did neither.  We'll get it fixed before the next release.
Comment 7 Tobias Jakobi 2007-11-01 05:44:41 UTC
If you need additional information feel free to ask.

The reason I still use XXA is that EXA always results in a laggy desktop for me. XXA does not have this problem, even without hardware acceleration. OK, if a lot of pictures are displayed then even XXA looses performance, but most of the time the interactivity is very smooth.
Comment 8 Jesse Barnes 2007-11-01 10:38:12 UTC
Ah, I see.  We're working to fix the remaining EXA problems, hopefully the next release will be better.

In the meantime, you can use Option "tiling" "false" to disable tiling (you also may need to disable framebuffer compression) to use XAA.
Comment 9 Gordon Jin 2007-11-11 18:14:37 UTC
Jesse, are you going to fix this issue, or wont fix?
Comment 10 Jesse Barnes 2007-11-11 19:15:51 UTC
Gordon, we can mark this one "wontfix" as long as we confirm that we don't enable X tiling for the front buffer when XAA is in use.  Can someone in QA make sure that's working correctly?

Thanks,
Jesse
Comment 11 Pi, Fengming 2007-11-11 21:34:47 UTC
If disable "Tiling" and use XAA, the bug still exists. After run gdm, display will hang but X is working. If we start a naked X, it works fine. 
Comment 12 Jesse Barnes 2007-11-11 22:04:47 UTC
Fengming, can you attach the X log from when you used XAA and tiling disabled together?  I think I might know what's happening...
Comment 13 WuNian 2007-11-13 18:24:36 UTC
Today i check this problem on 915gm again.If disable "Tiling" and use XAA mode,now startx can work normally both on git source and intel-2.1.99.
Comment 14 Jesse Barnes 2007-11-13 18:31:45 UTC
So this bug is fixed?  If so, please close it out.

Thanks,
Jesse
Comment 15 Pi, Fengming 2007-11-13 22:18:50 UTC
No matter tiling is enabled or not.startx both can work normally now on our 915gm
Comment 16 Gordon Jin 2007-11-14 00:01:53 UTC
So if xaa, then tiling is automatically disabled and it works. Closing this bug.

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.