2009-12-28

ATI Radeon DRI and AGP Problem

The last weeks I have been fighting with my ATI Radeon 9700 Pro graphic card. 3D support won't work and glxgears -info listed at least 320 FPS. Too less for playing 3D games.
I was using the open source radeon driver because the closed source fglrx driver worked not at all.

I was trying all kind of options in my /etc/X11/xorg.conf but they did not change anything.
Yesterday I found the following line in my /var/log/Xorg.0.log:

(EE) RADEON(0): [agp] AGP failed to initialize. Disabling the DRI.

This information lead me to a bug listing of the Ubuntu distribution. They figured out that EDAC causes a problem with AGP.

EDAC (Error Detection and Correction) is a set of Linux kernel modules for handling hardware-related errors. Its major focus has been ECC memory error handling.

A workaround is to blacklist the EDAC module in the /etc/modprobe.d/blacklist file.

/etc/modprobe.d/blacklist:
blacklist e7xxx_edac

The exact name of the EDAC module depends on the chipset of your mainboard. So it is necessary to figure out which module relates to your board before blacklisting.

Now, 3D support works fine. And I get up to 4550 FPS with the open source radeon driver of my Lenny distribution.

I hope this bug will be fixed in future kernel releases because error detection is also a important feature and it would be fine to use it together with a working AGP bus.