ATI drivers come in two flavours:
1) X.Org open source 'radeon' driver - full support (accelerated 2D and 3D) for the Radeon 9200 and earlier. (Also supported for the 9200 - X850 for Slackware -current, or any Slackware newer than 11.0)
2) ATI's proprietary closed source 'fglrx' driver - support for the 9500 and above (all support for earlier cards has now been dropped). This is the only driver with any support, either 2D or 3D, for the X1xxx series of cards (R500 and newer).
AGPGART: If you have an AGP card, you should ensure AGPGART and support for your specific GART are built in the kernel (built in or module is fine)
PCI Express: If you have a PCI Express card, you should ensure PCI Express support is built in the kernel.
Seting up the 'radeon' driver
Preparing Your System
Direct Rendering Manager (DRM): Module or built in, plus the module under this for "ATI Radeon"
In Section "Module" add:
Load "glx" Load "dri"
At the end of the file, add
Section "DRI" Mode 0666 EndSection
(Or use 'Xorg -configure' to generate a new xorg.conf to autodetect the ATi card)
To increase performance for Radeon users (in particular, R300 and R400), you may also want to add the following under the "Device" section for the radeon:
Option "AGPMode" "8" # Modify accordingly if you don't have an AGP 8x card Option "AGPFastWrite" "true" # This one has big warnings all over it, so test it first!
Mobility card users
Option "DynamicClocks" "true" # The equivalent of ATi's PowerPlay Option "BIOSHotkeys" "true" # You _might_ need this for some special function keys on your laptop
Option "EnablePageFlip" "true" Option "ColorTiling" "true"
Run 'glxinfo | grep render'. It will return something like the following (the last line will vary depending on R300/ R400, PCI/ PCIE or AGP, etc). The important thing is that this reports "direct rendering: yes".
direct rendering: Yes OpenGL renderer string: Mesa DRI R300 20060815 AGP 8x x86/MMX+/3DNow!+/SSE TCL
R300 - R400:
Please note that these cards do not have accelerated hardware support in X.Org < 6.9 (i.e. Slackware 11.0 or older)
R500 (X1xxx and above)
Sorry, there is no open source accelerated support in X for these cards. Either use fglrx or vesa.
Setting up the 'fglrx' driver
Preparing Your System
The fglrx driver requires that you have the package cxxlibs installed on your system to build it.
(Slamd64): You will also need the 32 bit compatibility libraries from c/
Direct Rendering Manager (DRM): Must *not* be built into the kernel - it should be a module (and not loaded) or not built.
Frame Buffer: Must *not* be built into the kernel - it should be a module or not built (it is not compatible with the current fglrx drivers).
Installing the Driver
You will need to download the 'ATI Driver Installer' package (the RPM packages do not have support for X.Org 6.9).
Once you have downloaded the installer, run it (I reccommend using sudo, as you need root permissions but also need access to the X server. You could use xhost+ and then su, but this is not safe).
sudo sh ati-driver-installer-$VERSION-$ARCH.run
You need to select the 'Install driver' (the ATI installer cannot generate a Slackware package), and then it is reccommended you choose "automatic" on the next screen. The driver will now install itself.
Make sure that you mount tmpfs for 3D acceleration, or you can get unexpected results.
'FGLTexMgr: open of shared memory object failed (Function not implemented) __FGLTexMgrCreateObject: __FGLTexMgrSHMmalloc failed!!! fglX11AllocateManagedSurface: __FGLTexMgrCreateObject failed!!'
Add the following to /etc/fstab:
tmpfs /dev/shm tmpfs defaults 0 0
then 'mount /dev/shm' on a console
Patching the Driver
If you are running the latest kernel, more often than not you will need to patch the fglrx driver. At the very least, you will need to manually rebuild it if you change your kernel - follow instruction 1 if necessary, then 2 and 3.
There is no central repository of these, so it is not possible to point you to a specific place to check for them (although the Unofficial ATI Bugzilla or Rage3D Linux Drivers forum are good places to check).
Once you have downloaded the patches:
1. Apply them in /lib/modules/fglrx (or /lib/modules/fglrx/build_mod)
cd /lib/modules/fglrx/build_mod cat somepatch.diff | patch -p1
2. Rebuild the fglrx module
N.B. Modules built are kernel specific - you can only build a module for the kernel you are currently running.
3. Install the module
Configuring the X server
If you have not installed the fglrx driver before, run:
aticonfig --initial --input=/etc/X11/xorg.conf aticonfig --ovt=Xv
This will add an fglrx 'Section "Device"' to /etc/X11/xorg.conf and enable video overlay (enables video playback)
Edit /etc/X11/xorg.conf (you need to do this with root permissions)
1) A 'Section "Device"' that contains fglrx 2) 'Section "Screen"'
1) Under the Section "Device" that contains fglrx
1A). Make a note of the value of "Indentifier"
2) Under Section "Screen", replace the value of "Device" with the value you just noted from fglrx
At the end of /etc/X11/xorg.conf, add this section (This allows all users to access the direct rendering mode - without it, you can't use acceleration as a user):
Section "DRI" Mode 0666 EndSection
Restart the X server
To check that fglrx has been installed and setup correctly, run 'fglrxinfo' in a terminal under X. It should return something like:
display: :0.0 screen: 0 OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: MOBILITY RADEON X700 Generic OpenGL version string: 2.0.5642 (8.22.5)
(The 'renderer' string will vary depending on the chip your card actually has).
Uninstalling the driver
With root permissions, run: