Bug 27615

Summary: [855gm]gnome-session with compiz startup fails on 855gm due to swapbuffers
Product: xorg Reporter: fangxun <xunx.fang>
Component: Driver/intelAssignee: Chris Wilson <chris>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: brice.goglin
Version: unspecifiedKeywords: NEEDINFO
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
screenshot of window manager doesn't work after gnom-session startup
none
xorg log
none
Sreenshot of start compiz by hand none

Description fangxun 2010-04-13 02:32:18 UTC
System Environment:
--------------------------
Arch:           i386
Platform:       855gm
Libdrm:         (master)04fd3872ee8bd8d5e2c27740508c67c2d51dbc11
Mesa:           (7.8)ee6fbf8d2f4718452c36366a08aa798cdda45ace
Xserver:         (master)bbae92795c7eab062e6722c42fa7915e0cee5d69
Xf86_video_intel:     (master)8ece6cf5afa1bb0d8d9328696422f42f3c3adbd6
Kernel:    (2.6.33)60b341b778cc2929df16c0a504c91621b3c6a4ad

Bug detailed description:
-------------------------
This issue is the same as bug #26162 and bug #27258 described. With bug #26162 and bug #27258 fixed, it still happens on 855gm.

Reproduce steps:
----------------
1.xinit&
2.gnome-session&
Comment 1 fangxun 2010-04-13 22:48:23 UTC
Created attachment 34988 [details]
screenshot of window manager doesn't work after gnom-session startup

Bug description update:
After gnome-session startup with compiz, window manager doesn't work(see attached srceenshot).

This bug is the same as bug #26162, not bug #27258. As bug #26162 described, gnome-session with compiz startup fails on all platform before bug#26814 fixed. With bug#26814 fixed, it works well on i965 platform but still fails on 945gm, aspire1 and 855gm. The behaviour is window manager doesn't work after gnome-session startup under compiz. Finally We find it is pageflip caused the problem, and with fix, it works ok on 945gm and aspire1(we didn't test 855gm that time). Now the problem is that this issue still happens on 855gm whether pagefilip enabled or disabled.
Comment 2 fangxun 2010-04-13 22:51:43 UTC
Created attachment 34989 [details]
xorg log
Comment 3 Gordon Jin 2010-05-11 01:45:26 UTC
*** Bug 27722 has been marked as a duplicate of this bug. ***
Comment 4 Jesse Barnes 2010-06-01 12:29:48 UTC
Can you try starting compiz by hand?  How does it fail?  If it crashes, please try to collect a backtrace...
Comment 5 fangxun 2010-06-04 06:50:44 UTC
Created attachment 36058 [details]
Sreenshot of start compiz by hand

Start compiz by hand, window can't be moved, border seems disappear(see attached screeshot). X doesn't crash.
Comment 6 Jesse Barnes 2010-07-01 15:51:40 UTC
Chris like 8xx bugs. :)
Comment 7 Chris Wilson 2010-07-18 05:52:03 UTC
Chris would like a 855gm to work with as well!
Comment 8 Chris Wilson 2010-08-06 15:56:36 UTC
Daniel Vetter added i8xx paths for page-flipping which have been pushed to anholt/drm-intel-next:

commit 31f568a5a9ed5b2179a4c5ccb47a63c4c7be5ef7
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Wed Aug 4 21:22:10 2010 +0200

    drm/i915: i8xx also doesn't like multiple oustanding pageflips
    
    My i855GM suffers from a 80k/s interrupt storm without this.
    So add 2nd gen to the list of things that don't like more than
    one outstanding pageflip request.
    
    Furthermore I've changed the busy loop into a ringbuffer wait.
    Busy-loops that don't check whether the chip died are simply evil.
    And performance should actually improve, because there's usually
    a decent amount of rendering queued on the gpu, hopefully rendering
    that MI_WAIT into a noop by the time it's executed.
    
    The current code holds dev->struct_mutex while executing this loop,
    hence stalling all other gem activity anyway.
    
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: stable@kernel.org
    Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
    [anholt: resolved against conflict]
    Signed-off-by: Eric Anholt <eric@anholt.net>

commit f8485322f05aaf1a2037e40ccd5e6f111bc720c6
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Wed Aug 4 21:22:09 2010 +0200

    drm/i915: fixup pageflip ringbuffer commands for i8xx
    
    Add a new path for 2nd gen chips that uses the commands for i81x
    chips (where public docs do exist) augmented with the plane bits
    from i915. It seems to work and doesn't result in a black screen
    like before.
    
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: stable@kernel.org
    [anholt: resolved against conflict]
    Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
    Signed-off-by: Eric Anholt <eric@anholt.net>
Comment 9 Chris Wilson 2010-09-06 04:27:51 UTC
I believe this is now fixed in http://cgit.freedesktop.org/~ickle/drm-intel/

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.