[Preston] Making XFree86 Go Fast

Rupert preston at mailman.lug.org.uk
Sun Jun 15 22:38:01 2003


On Fri, May 02, 2003 at 06:34:06PM +0100, Andrew King wrote:
> Hi all,
> 
> I've spent a bit of time recently trying to make XFree86 go fast on my
> system
> 
> ATI 128 Rage Pro TF Graphics card, vendor ID 1787:0801
> 
> - Debian GNU/Linux 3.0r0, with a few dozen packages updated over the
> Internet with apt-get.
> - Kernel 2.4.20 (just installed the image through apt-get)
> - XFree86 4.2.1.
> 
> So far, I've managed to:
> 
> - Enable DMA on the Seagate
> - Get XFree86 to use the r128 driver (instead of VESA)
> - Enable MTRR
> - Enable XVideo
> - Enable DRI
> 
> ...and none of it makes the slightest bit of difference.  

I've recently managed to get tuxracer zipping along nicely with the
dri drivers from dri.sourceforge.net, using debian woody and a radeon
9200 based card. You need to install a kernel driver and X modules. I
got mine as precompiled binaries from the downloads page on dri.sf.net
since I have neither the disk space nor the patience compile my
own. You also need an up-to-date X to use them -- I'm not sure if
4.2.1 will cut it (I had trouble with 4.2.0). The XFree86 debian
source mentioned at http://dri.sourceforge.net/snapshots/README.Debian
is crap (compiled on a 2.5 kernel, it just segfaults for me). I'd
recommend using

  deb http://people.debian.org/~mmagallo/packages/xfree86/i386/ ./

instead. The path to 3D acceleration is long and twisty, but the
people at #dri and/or #ati on irc.openprojects.net were very good at
setting me straight when I went astray.

[I still have a strange problem whereby unless I do

  rmmod radeon; rmmod agpgart; insmod agpgart; insmod radeon

before starting X, DRI is not enabled. (radeon is the name of the dri
kernel module for my card). But I can live with that.]

The two things to check when you start X are

1. Friendly messages like 'Direct rendering enabled' in
   /var/log/XFree86.0.log -- if you don't have this, look for other
   messages in that file to try to figure out why.

2. If 1. is satisfied, run 

     LIBGL_DEBUG=verbose glxinfo

   This should tell if direct rendering is _really_ enabled, and if not
   it may give you a clue why.

HTH,
Rupert