update 2009 12 23 added some ideas from the comments and kernel stuff for drm radeon testing
Since the dri wiki left some holes here's a short guide that worked for me.
Kernel =/> 2.6.32 works
build with dri/drm/radeon built in to avoid module probing order issues.
do not use any FB options, these potentially conflict with KMS.
for interrupts you need last kernel drm and a special extra kernel firmware
obtain last drm and git linux kernel tree (about 1GB download)
(this is quite big, drm-radeon-testing appears to be 2.6.32 plus the drm patches at moment of writing)
git clone git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git
git checkout -b drm-radeon-testing origin/drm-radeon-testing
Obtain R700_rlc.bin and built it in your kernel, or put it in firmware/radeon/ to load.
Either way make sure the kernel loads it at boot, else it will stall for 20s and fail to load it, dont panic it will boot further eventually so you can correct things.
force kms on in grub menu.lst:
(also available as modprobe radeon modeset=1
kernel /boot/bzImage radeon.modeset=1
but using modules gave me issues, modprobing drm first was reported to help in some cases)
Checkout and build git drm,xf86-video-ati (aka ddx),mesa
The first time you have to autogen inside the respective trees, to generate configure files, install missing proto files and other dependencies when needed.
git clone git://anongit.freedesktop.org/mesa/drm
git clone git://anongit.freedesktop.org/xorg/driver/xf86-video-ati
git clone git://anongit.freedesktop.org/mesa/mesa
Now build it in this order:
Adjust r600 to your card family radeon,r300,r500 etc (see configure --help)
> cat builddri
./configure --enable-radeon-experimental-api --disable-intel && make && make install
./configure && make && make install
# to enable opengl 2 beta code for r600
# export CFLAGS="$CFLAGS -DR600_ENABLE_GLSL_TEST"
# this is now the default since december 2009
./configure --with-dri-drivers=r600 --disable-gallium && make && make install
If everything built without error you can restart xorg.