Only the Linux 2.4.x kernels are currently supported by the DRI hardware drivers. 2.5.x kernels may work, but aren't tested.
Most of the DRI drivers require AGP support and using Intel Pentium III SSE optimizations also requires an up-to-date Linux kernel. Configuring your kernel correctly is very important, as features such as SSE optimizations will be disabled if your kernel does not support them. Thus, if you have a Pentium III processor, you must configure your kernel for the Pentium III processor family.
Building a new Linux kernel can be difficult for beginners but there are resources on the Internet to help. This document assumes experience with configuring, building and installing Linux kernels.
Linux kernels can be downloaded from www.kernel.org
Here are the basic steps for kernel setup.
          cd /usr/src
          rm -f linux
          mkdir linux-2.4.x
          ln -s linux-2.4.x linux
          bzcat linux-2.4.x.tar.bz2 | tar xf -
          
It is critical that /usr/src/linux point to your new kernel
sources, otherwise the kernel headers will not be
used when building the DRI.  This will almost certainly cause
compilation problems.make menuconfig and do the
following:
            image=/boot/vmlinuz
                  label=linux.2.4.x
                  read-only
                  root=/dev/hda1
            
The important part is that you have /boot/vmlinuz without a
trailing version number.
If this is the first entry in your /etc/lilo.conf AND you
haven't set a default, then this will be your default kernel.
          cd /usr/src/linux-2.4.x
          make dep
          make bzImage
          make modules
          make modules_install
          make install
          
Note that last make command will automatically run lilo for you.