Open up your /etc/X11/XF86Config and make sure there is no DEPTH of 16 listed in any of the DISPLAY SUBSECTIONs under the SCREEN SECTION as 16 bit color depth is not supported by fglrx drivers as far as i can tell, causes the driver to crash on my system, and causes a black screen when dri trys to change into a 16 bit color depth. you might want to look at the configuration of the game that uses dri and make sure its not trying to go into 16 bit color depth mode. hope that helps. Here is what my Screen Section looks like, and works for me:
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
EndSection
I've been beating at getting direct rendering working on my radeon mobility 9600 notebook by using ATI's fglrx driver. It seems I've had some success as my Xorg.0.log file indicates (see below):
Release Date: 18 December 2003
X Protocol Version 11, Revision 0, Release 6.7
Build Operating System: Linux 2.4.21-14.ELsmp i686 [ELF]
Current Operating System: Linux HARPO 2.6.5-1.358custom #7 SMP Fri Aug 27 06:49:14 EDT 2004 i686
Build Date: 07 May 2004
Build Host: tweety.build.redhat.com
glrx(0): Option "TVColorAdj" "0"
(**) fglrx(0): Option "PseudoColorVisuals" "off"
(**) fglrx(0): Qbs disabled
(==) fglrx(0): RGB weight 888
(II) fglrx(0): Using 8 bits per RGB (8 bit DAC)
(**) fglrx(0): Gamma Correction for I is 0x00000000
(**) fglrx(0): Gamma Correction for II is 0x00000000
(==) fglrx(0): Buffer Tiling is ON
(II) Loading sub module "int10"
(II) LoadModule: "int10"
(II) Loading /usr/X11R6/lib/modules/linux/libint10.a
(II) Module int10: vendor="X.Org Foundation"
II) fglrx(0): [drm] texture shared area handle = 0x4c052000
(II) fglrx(0): shared FSAAScale=1
(II) fglrx(0): DRI initialization successfull!
(II) fglrx(0): FBADPhys: 0xd0000000 FBMappedSize: 0x007ac000
(II) fglrx(0): FBMM initialized for area (0,0)-(1408,142![]()
(II) fglrx(0): FBMM auto alloc for area (0,0)-(1408,1050) (front color buffer - assumption)
(==) fglrx(0): Backing store disabled
(==) fglrx(0): Silken mouse enabled
(II) fglrx(0): Using hardware cursor (scanline 1056)
(II) fglrx(0): Largest offscreen area available: 1408 x 364
Note that near the end of the logfile (about 8 lines up from the end) it says "DRI initialization successful!".
The thing is, this log was generated after logging out of X and then attempting to startx again. However although the log indicates success, trying to restart the GUI fails with a blank screen and a totally unresponsive system. Can't ALT-fN to another screen or anything. The log file that is generated when I reboot and startx initially follows:
) fglrx(0): Option "VideoOverlay" "on"
(**) fglrx(0): Option "DesktopSetup" "0x00000000"
(**) fglrx(0): Option "MonitorLayout" "AUTO, AUTO"
(**) fglrx(0): Option "HSync2" "unspecified"
(**) fglrx(0): Option "VRefresh2" "unspecified"
(**) fg fglrx(0): [drm] unmapping 8192 bytes of SAREA 0x438fd000 at 0xf6df4000
(WW) fglrx(0): ***********************************************
(WW) fglrx(0): * DRI initialization failed! *
(WW) fglrx(0): * (maybe driver kernel module missing or bad) *
(WW) fglrx(0): * 2D acceleraton available (MMIO) *
(WW) fglrx(0): * no 3D acceleration available *
(WW) fglrx(0): ********************************************* *
(II) fglrx(0): FBADPhys: 0xd0000000 FBMappedSize: 0x08000000
(II) fglrx(0): FBMM initialized for area (0,0)-(1408,8191)
(II) fglrx(0): FBMM auto alloc for area (0,0)-(1408,1050) (front color buffer - assumption)
(==) fglrx(0): Backing store disabled
(==) fglrx(0): Silken mouse enabled
(II) fglrx(0): Using hardware cursor (scanline 1050)
(II) fglrx(0): Largest offscreen area available: 1408 x 7138
(**) Option "dpms"
(**) fglrx(0): DPMS enabled
(II) fgitializing built-in extension RENDER
(II) Initializing built-in extension RANDR
(**) Option "Protocol" "PS/2"
(**) Mouse1: Device: "/dev/input/mice"
(**) Mouse1: Protocol: "PS/2"
(**) Option "CorePointer"
(**) Mouse1: Core Pointer
(**) Option "Device" "/dev/input/mice"
(==) Mouse1: Emulate3Buttons, Emulate3Timeout: 50
(==) Mouse1: Buttons: 3
(II) Keyboard "Keyboard1" handled by legacy driver
(II) XINPUT: Adding extended input device "Mouse1" (type: MOUSE)
(II) Mouse1: ps2EnableDataReporting: succeeded
Could not init font path element /usr/X11R6/lib/X11/fonts/Speedo/, removing from list!
SetClientVersion: 0 8
As you can see DRI initialization fails. I do get the GUI but obviously no direct rendering. I think I'm really close to getting the fglrx driver to work but have run out of ideas as to why X won't restart and locks up the system. Is there anything in the logfiles that is a tipoff or that I can grep for that might be useful info?
The logs here are truncated as they are very long. I can prvide the entire file(s) if it would be useful.
I'm running FC2 with the stock smp kernel recompiled to turn off DRM and agpgart compiled as a module as was suggested on another forum.

Chowhound
Comic Vine
GameFAQs
GameSpot
Giant Bomb
TechRepublic