Altough the ATI Radeon 9600 video cards have quite an age, it is still not trivial to get them fully running under the Linux operating system (Gentoo Linux). This document is meant as a guide how to configure this card on Linux, especially its accelleration functions, using exclusively open source drivers.
Written by Manuel Feier, March 2007
The test environment consists of the following pieces of software:
As my card is agp-based, adequate agp-support must be enabled in the kernel. The necessary parameters are the agp support (I have built it in the kernel) and the driver for a specific chipset (to be discovered with lspci); in my case it's an Intel chipset. It's important to disable the DRI Manager, as we plan to use our own (X11-DRI).
Additionally, I removed the framebuffer support (as this can cause problems with X):
When upgrading from an existing installation, I recommend removing the proprietary ATI drivers (if existing):
Then the latest xorg can be emerged (I used xorg 7.2 from testing branch, so maybe this should be unmasked). It's important that the "radeon" and "aiglx" useflags are set.
Finally, the X11 DRM module can be installed (Again, use the latest version, I emerged x11-drm-20070314):
Important: In case of the graphics card using the AGP system, it must be ensured that the "agpgart" kernel module and the agp driver for the mainboard is loaded before the X server is started. In my case this is achieved by adding the agp driver for my mainboard chipset ("intel-agp") to /etc/modules.autoload.d/kernel-2.6:
# /etc/modules.autoload.d/kernel-2.6: kernel modules to load when system boots. # # Note that this file is for 2.6 kernels. # # Add the names of modules that you'd like to load when the system # starts into this file, one per line. Comments begin with # and # are ignored. Read man modules.autoload for additional details. # For example: # 3c59x intel-agp
During the experiments with the X server, the computer freezed multiple times, depending on the X configuration. This can be very nasty, as the same problem appears again when rebooting. The X server can always been suspended from automatically starting by appending the parameter "nox" to the bootloader boot parameters. It is also handy to have an ssh daemon running in case the screen turns black but the computer is still running.
Glx, dri and aiglx should be safely useable. The various radeon options are not necessary, but have shown to boost 3d performance more than 30%, which is substantial! Just keep away from the "agpmode setting" that freezed the system!
Section "Module # This loads the GLX module Load "glx" # This loads the DRI module Load "dri" EndSection Section "Device" Identifier "radeon" Driver "radeon" # Option "AGPMode" "4" // This causes a system freeze Option "AGPFastWrite" "yes" // Should enhance performance Option "EnablePageFlip" "on" Option "ColorTiling" "on" Option "RenderAccel" "yes" Option "EnableDepthMoves" "true" Option "BackingStore" "true" Option "XAANoOffscreenPixmaps" "true" Option "DRI" "true" // Enables Direct Rendering EndSection Section "ServerLayout" ... Option "AIGLX" "true" // Enable AIGLX ... EndSection Section "DRI" Mode 0666 EndSection
As AIGLX is configured and enabled, it's now possible to install some eye-candy, for example beryl. This was done following the guide at gentoo using the xeffects overlay. It runs pretty well, and completely without proprietary, closed-source video drivers!
If there's anything you'd like to see mentioned here, or if you know some more secrets how to boost performance, drop me a line: info ---at--- netsteps.ch