[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