Summary: | [GEM EXA]regression compiz-fusion 0.7.x broken on GM965 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Tobias Hain <tobias.hain> | ||||||
Component: | Driver/intel | Assignee: | Eric Anholt <eric> | ||||||
Status: | RESOLVED FIXED | QA Contact: | Xorg Project Team <xorg-team> | ||||||
Severity: | major | ||||||||
Priority: | high | CC: | shuang.he | ||||||
Version: | 7.3 (2007.09) | Keywords: | regression | ||||||
Hardware: | x86 (IA32) | ||||||||
OS: | Linux (All) | ||||||||
Whiteboard: | |||||||||
i915 platform: | i915 features: | ||||||||
Bug Depends on: | |||||||||
Bug Blocks: | 17233, 17596 | ||||||||
Attachments: |
|
Description
Tobias Hain
2008-09-08 11:12:58 UTC
Shuang, have you seen this issue? (In reply to comment #1) > Shuang, have you seen this issue? > (In reply to comment #1) > Shuang, have you seen this issue? > yes ,it also happens on our gm965. I have seen this message exaCopyDirty: Pending damage region empty! also on compiz working environments (TTM based ones) and also on non-compositing environments (GEM based). Therefore I assume this message is unrelated. Unfortunately I don't see any suspicious other debugging information. It's working nicely now on my systems with GEM and UXA and DRI2. Marking this as a blocker, though, since we want to make sure the EXA case is working as well. I updated all libdrm, mesa, xserver, 2d intel drivers, but EXA compiz still breaks. One thing I noticed on GM965 is that glxinfo fell recently back to the Software Rasterizer and I have no clue why: OpenGL vendor string: Mesa Project OpenGL renderer string: Software Rasterizer OpenGL version string: 2.1 Mesa 7.3-devel instead of prior: OpenGL vendor string: Tungsten Graphics, Inc OpenGL renderer string: Mesa DRI Intel(R) 965GM 20061102 x86/MMX/SSE2 OpenGL version string: 1.4 Mesa 7.1 I tested (master) and (intel-2008-q3) branch. Xorg looks like AIGLX is fine with accelerated support: (II) AIGLX: enabled GLX_MESA_copy_sub_buffer (II) AIGLX: enabled GLX_SGI_swap_control and GLX_MESA_swap_control (II) AIGLX: enabled GLX_texture_from_pixmap with driver support (II) AIGLX: Loaded and initialized /opt/gfx-test/lib/dri/i965_dri.so (II) GLX: Initialized DRI GL provider for screen 0 I'm attaching up-to-date EXA Xorg.0.log. -- The UXA side behaves similar. Running a DRI2 enabled git tip xserver and (dri2) branch 2d driver with tiling disabled on GM965 I can get Xorg to fly. The first thing I noticed is that screen updates are extremely slow. Looks like no 2d accel in place. Checking Xorg.log reveals: (II) UXA(0): Driver registered support for the following operations: (II) solid (II) copy instead of (II) EXA(0): Driver registered support for the following operations: (II) Solid (II) Copy (II) Composite (RENDER acceleration) Also mesa software rasterizer is in place and starting compiz crashes X. At least here (in contrast to the EXA case) I can a crash stack trace in Xorg: Backtrace: 0: /opt/gfx-test/bin/Xorg(xf86SigHandler+0x79) [0x80b7279] 1: [0xb7fdc400] 2: /opt/gfx-test/lib/dri/i965_dri.so(intel_batchbuffer_reset+0x66) [0xa76906a6] 3: /opt/gfx-test/lib/dri/i965_dri.so(intel_batchbuffer_alloc+0x3a) [0xa7690bfa] 4: /opt/gfx-test/lib/dri/i965_dri.so(intelInitContext+0x436) [0xa7696846] 5: /opt/gfx-test/lib/dri/i965_dri.so(brwCreateContext+0x75) [0xa76bae15] 6: /opt/gfx-test/lib/dri/i965_dri.so [0xa769e44e] 7: /opt/gfx-test/lib/dri/i965_dri.so [0xa768c9e0] 8: /opt/gfx-test/lib/dri/i965_dri.so [0xa768ca76] 9: /opt/gfx-test/lib/xorg/modules/extensions//libglx.so [0xb7b25acc] 10: /opt/gfx-test/lib/xorg/modules/extensions//libglx.so [0xb7b187d4] 11: /opt/gfx-test/lib/xorg/modules/extensions//libglx.so [0xb7b18aa7] 12: /opt/gfx-test/lib/xorg/modules/extensions//libglx.so [0xb7b1ac0a] 13: /opt/gfx-test/bin/Xorg(Dispatch+0x33f) [0x808ccdf] 14: /opt/gfx-test/bin/Xorg(main+0x3ed) [0x807147d] 15: /lib/libc.so.6(__libc_start_main+0xe5) [0xb7c0c685] 16: /opt/gfx-test/bin/Xorg [0x8070901] Created attachment 18923 [details]
a more recent Xorg.0.log
There's one interesting assertion failing in the EXA + (intel-2008-q3) drm case when launching compiz: Xorg: intel_regions.c:514: intel_recreate_static: Assertion `region->buffer != ((void *)0)' failed. more observations: export LIBGL_ALWAYS_INDIRECT=TRUE results in glxinfo always display the accelerated Mesa DRI Intel(R) 965GM. It still confuses me since glxinfo did display acclerated Mesa at some former git commit and also on a Ubuntu Intrepid 8.10 install with Mesa 7.1. Having the above export in place the crashes and error messages are reproducable. And even not only when starting compiz, but also when just starting glxgears (!!). That means EXA will crash with the above assertion fail with both mesa (master) and (intel-2008-q3) branch. The UXA case with a intel 2d driver from (dri2) branch will crash with the given stack trace. The issue in the final comments is fixed with commit 904f31a62444d9f7e9b12ddafaa4beeb7fed6dfa. compiz with EXA is now working fine on my GM965 system. Although bug has been closed, I'd still like to do some remarks: EXA case: --------- Yes compiz works. I'm seeing this bug: https://bugs.freedesktop.org/show_bug.cgi?id=17233 It's not entirely stable. Working a while with compiz may result in screen freeze: Mouse can still be moved, but nothing selected. The machine can be connected to by means of SSH, but no log reveals anything suspicious. It's just hard to file a good new bugreport if there are no error message or crash log. UXA + DRI2 case: ---------------- Works as well. I'm even not seing above bug#17233. However very few icons are distorted and refresh areas are calculated wrong. That means when moving windows certain areas keep a partial window image instead of restoring background information. Some composition seems to not work. Frequent crashes such as: Backtrace: 0: /opt/gfx-test/bin/Xorg(xf86SigHandler+0x79) [0x80b7279] 1: [0xb8016400] 2: /lib/libc.so.6(__libc_calloc+0xf5) [0xb7c9fd55] 3: /opt/gfx-test/lib/dri/i965_dri.so [0xa76d674d] 4: /opt/gfx-test/lib/dri/i965_dri.so(intel_miptree_create_for_region+0x4d) [0xa76d688d] 5: /opt/gfx-test/lib/dri/i965_dri.so(intelSetTexBuffer+0xbe) [0xa76ea9ae] 6: /opt/gfx-test/lib/xorg/modules/extensions//libglx.so [0xb7b5f93d] 7: /opt/gfx-test/lib/xorg/modules/extensions//libglx.so [0xb7b51148] 8: /opt/gfx-test/lib/xorg/modules/extensions//libglx.so [0xb7b50017] 9: /opt/gfx-test/lib/xorg/modules/extensions//libglx.so [0xb7b54c0a] 10: /opt/gfx-test/bin/Xorg(Dispatch+0x33f) [0x808ccdf] 11: /opt/gfx-test/bin/Xorg(main+0x3ed) [0x807147d] 12: /lib/libc.so.6(__libc_start_main+0xe5) [0xb7c46685] 13: /opt/gfx-test/bin/Xorg [0x8070901] Performance: ------------ I don't expect GEM to be faster than TTM at this time. However these are my observations on a T7500 @2,2GHz and DDR2-667 DualChannel: glxgears: EXA + TTM + tiling : 725 fps EXA + TTM + no tiling : 575 fps EXA + GEM + tiling : 200 fps UXA + DRI2 + no tiling : 30 fps I'm still confused why glxinfo displays Software Rasterizer without export LIBGL_ALWAYS_INDIRECT=TRUE. This behavior was different before. |
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.