Bug 18197

Summary: [G45 DRI1] Both Xfont and xrotfontdemo can't run under compiz
Product: Mesa Reporter: zhao jian <jian.j.zhao>
Component: Drivers/DRI/i965Assignee: Eric Anholt <eric>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: medium CC: haihao.xiang
Version: unspecified   
Hardware: Other   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 18841, 20277    
Attachments: xorg.conf
xorg.0.log

Description zhao jian 2008-10-23 19:55:03 UTC
Created attachment 19842 [details]
xorg.conf

System Environment:
--------------------------

--Platform: G45
--Architecture(32-bit,64-bit,compatiblity): 32-bit
--2D driver: xf86-video-intel-2.5-branch
0135a49ec96ca311d0673a4d924b63fe4a921e37
--3D driver: intel-2008-q3 branch 46921a5ee832a3443894dcc98e065d2f535e899d
--DRM:shipped with kernel 2.6.27(G4x-fix)
--libdrm: master branch  a59ea02ff839fa0801763a90beb8b232b933c746
--Xserver: 1.5.2
--Kernel: 2.6.27(G4x-fix)

Bug detailed decription: 
-------------------------
On G45,start X and Gnome, then enable compiz. Run xfont and xrotfontdemo it will has a form filled with black. The remote part has the information, which is the same as it runs without compiz. As following shows: 
libGL: XF86DRIGetClientDriverName: 1.9.0 i965 (screen 0)
libGL: OpenDriver: trying /opt/X11R7/lib/dri/i965_dri.so
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 4, (OK)
drmOpenByBusid: Searching for BusID pci:0000:00:02.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 4, (OK)
drmOpenByBusid: drmOpenMinor returns 4
drmOpenByBusid: drmGetBusid reports pci:0000:00:02.0
Failed to initialize GEM.  Falling back to classic.
On q965 with the same process, it will have the output on the screen. But when I drag the form, it will become black, and never back to normal. 

Reproduce steps:
----------------
1. xinit &
2. gnome-session&
3. enble compiz
4. ./xfont
   or ./xrotfontdemo 

With gdb I find it may trapped in waiting something to read. 
#0  0xb7f01424 in __kernel_vsyscall ()
#1  0x00c9da8b in poll () from /lib/libc.so.6
#2  0xb7dcf1d9 in _XWaitForReadable (dpy=0x804b008) at XlibInt.c:505
#3  0xb7dcf5bf in _XRead (dpy=0x804b008, data=0xbf9fe754 "\001", size=32)
    at XlibInt.c:1104
#4  0xb7dd08d8 in _XReadEvents (dpy=0x804b008) at XlibInt.c:1020
#5  0xb7dbd2db in XNextEvent (dpy=0x804b008, event=0xbf9fefe0)
    at NextEvent.c:50
#6  0x08048ed8 in main () at xfont.c:170
Comment 1 zhao jian 2008-10-23 19:59:23 UTC
Created attachment 19843 [details]
xorg.0.log
Comment 2 zhao jian 2008-10-28 20:21:12 UTC
It still exists with GEM kernel now with the following configuration:

Libdrm: master 1d930fc75b99a89fc77d35d8f95f2877cfd5d7f0
Mesa: master 2a877411dbe35abdd8c15fb4821d9232619d89cc
Xf86_video_intel: master 87ea531c5dc5b39809395b277c330854aaaaf019  
Xserver: master  102c4dac7c521941f52652152b1660cd7f559d56       
GEM_kernel: drm-intel-next 43f7ccc48dd7587983cfe16de578042a7ad3a9b3
Comment 3 zhao jian 2009-03-18 20:34:39 UTC
It is still has no output in EXA with compiz on. But it is OK in UXA with compiz on. With the following information: 
Kernel_version:         2.6.29-rc7
Libdrm:         (master)2e2e8575b1ed4703653a72ac2b60b75316c388d7
Mesa:            (mesa_7_4_branch)a8528a2e8653b5237c1d1d66fe98c6e031d007f9
Xserver:         (server-1.6-branch)60c161545af80eb78eb790a05bde79409dfdf16e
Xf86_video_intel:      (2.7)238c2c40afd9f8b61479b8640d53f20d52fd7ddf
Kernel:       (for-airlied)dc529a4fe1ae4667c819437a94185e8581e1e680
Comment 4 Eric Anholt 2009-06-30 20:36:17 UTC
Works fine with DRI2.
Comment 5 zhao jian 2009-07-01 20:15:08 UTC
(In reply to comment #4)
> Works fine with DRI2.

Yes, it works well on G45 with DRI2 with the commits: 
Libdrm:         (master)de1ed01214874dcdd6116ff2587c8710d6ed4d2d
Mesa:           (mesa_7_5_branch)c72261f2a886e1f53025c2cf4b38b33ccfd62857
Xserver:        (server-1.6-branch)a7a93c12f91e0de72868f17a555215f1795d9e2f
Xf86_video_intel:    (master)1e4784bf26e3c154f5673f7b5add3ef7af3b1474

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.