mach64 video driver considered harmful

george+freebsd at m5p.com george+freebsd at m5p.com
Mon Jan 18 01:35:03 UTC 2010


My hardware:
  AMD Athlon XP 1500+
  512MB DDR memory
  ATI Technologies Inc Rage XL AGP 2X rev 39

I can boot into FreeBSD 7.0 or 7.2.  When I boot into 7.0, I get Xorg 1.4.2
and the module called "atimisc" attaches to my video card.  You can see its
x11perf output at:
http://www.m5p.com/~george/x11perf.7.0.txt
Its Xorg log is at:
http://www.m5p.com/~george/Xorg.7.0.txt

When I boot into 7.2, I get Xorg 1.6.1, and a module called "mach64" attaches
to my video card.  You can see its x11perf output at:
http://www.m5p.com/~george/x11perf.7.2.txt
Its Xorg.log is at:
http://www.m5p.com/~george/Xorg.7.2.txt

The performance of the mach64 driver is occasionally better, but mostly
worse, than atimisc driver from 7.0.  Here are some sample test results,
7.0 on one line, followed by the 7.2 result on the next line:

   3500 trep @   8.7262 msec (   115.0/sec): 500x500 opaque stippled rectangle (17x15 stipple)
   2500 trep @   9.5463 msec (   105.0/sec): 500x500 opaque stippled rectangle (
161x145 stipple)

   5000 trep @   5.5978 msec (   179.0/sec): 500x500 tiled rectangle (161x145 tile)
   3000 trep @   9.6369 msec (   104.0/sec): 500x500 tiled rectangle (161x145 ti
le)

 150000 trep @   0.2277 msec (  4390.0/sec): 500x500 rectangle outline
 100000 trep @   0.2676 msec (  3740.0/sec): 500x500 rectangle outline

32000000 trep @   0.0009 msec (1110000.0/sec): Char in 80-char line (6x13)
24000000 trep @   0.0010 msec (955000.0/sec): Char in 80-char line (6x13)

   4000 trep @   7.6803 msec (   130.0/sec): Scroll 500x500 pixels
   3000 trep @   8.6390 msec (   116.0/sec): Scroll 500x500 pixels

   6000 trep @   5.1541 msec (   194.0/sec): Copy 500x500 from pixmap to window
   6000 trep @   5.9708 msec (   167.0/sec): Copy 500x500 from pixmap to window

   1800 trep @  14.8814 msec (    67.2/sec): PutImage 500x500 square
   1600 trep @  17.5749 msec (    56.9/sec): PutImage 500x500 square

In terms of everyday use (which for me means Terminal, firefox, and
mplayer), however, it just feels much, much slower.

The two logs look largely the same, except for which driver is used.  The
7.0 log refers to a GLcore extension which is missing from the 7.2 log,
and the 7.2 log refers to a dri2 module which is missing from the 7.0 log.
How can I get my performance back up to the previous level?

Thanks for any helpful suggestions.                 -- George Mitchell



More information about the freebsd-x11 mailing list