Radeon 9600 on Gentoo Linux

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

Software environment

The test environment consists of the following pieces of software:

Kernel configuration

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).

device drivers ---> Character devices
< M > /dev/agpgart (AGP Support)
< M > Intel 440LX/BX/GX, I8xx and E7x05 chipset support
< > Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)

Additionally, I removed the framebuffer support (as this can cause problems with X):

device drivers ---> Graphics support
< > Support for frame buffer devices

Installation

When upgrading from an existing installation, I recommend removing the proprietary ATI drivers (if existing):

# emerge -C ati-drivers

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.

# emerge -av xorg-x11

Finally, the X11 DRM module can be installed (Again, use the latest version, I emerged x11-drm-20070314):

# emerge -av x11-drm

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
# /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

Configuration of the X server

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.

Necessary Settings

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!

/etc/X11/xorg.conf
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


Further Enhancements

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!

Contact / Contributions

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