You need the DRI module for your kernel and also the XFree86 Modules, i got an Armada M300 which also uses a Mach64 based video chipset, the trick to get it working is to use the latest DRI snapshots for mach64.
First go to:
http://www.freedeskt...~dri/snapshots/
And download the latest mach64-2004xxxx-linux.i386.tar.bz2, where xxxx is the month and day in numbers, for example, 09 10 which means September 10, this translates to mach64-20040910-linux.i386.tar.bz2. You also need to download this file:
http://www.freedeskt...ras/XFree86.bz2
It may be convenient to download the latest common-2004xxxx-linux.i386.tar.bz2, if you do then make sure to uncompress it first.
Before anything, make sure to backup the following directory and files:
/usr/X11R6/lib/modules
/usr/X11R6/lib/libGL*
/usr/libGL*
First save anything you are doing and close all apps and logout, now go to the console (Ctrl+Alt+F1) and login as root, and shut down the X Server with:
$] init 3
Now go to the directory where you uncompressed the common-2004xxxx-linux.i386.tar.bz2 file and enter to a directory called dripkg. We are almost ready to install the common DRI components (actually just MesaGL libs and glx, you can skip this if you have an updated version of Mesa like 6.x), then run the install script:
$] sh install.sh
Now get out of dripkg ("cd ..") and remove it ("rm -fr dripkg"), now uncompress the mach64-2004xxxx-linux.i386.tar.bz2 file, it will unpack to a directory called dripkg (make sure it dosen't exist before as it will overwrite parts of it and mess things up, probably), now enter to dripkg, finally install the dri mach64 modules:
$] sh install.sh
Make sure that you have the correct kernel sources, if you are using mandrake's kernel then install the sources too:
$] urpmi kernel-source
The kernel sources are needed because the dri module needs to be compiled for your specific kernel. Also, the XFree modules uses a bit newer ABI from the standard XFree86 4.3 that comes with Mandrake 10, so make sure to decompress the file XFree86.bz2 ("bunzip2 XFree86.bz2") and copy the uncompressed XFree86 to /usr/X11R6/bin, it will replace old XFree86 server binary, so make sure to back it up just in case ("cp /usr/X11R6/bin/XFree86 /usr/X11R6/bin/XFree86.old").
Finally insert the kernel module:
$] modprobe mach64
If successful then go back to graphics:
$] init 5
Do a glxinfo | grep "direct", and check of "Direct Rendering: Yes", then finally try to run glxgears. If your machine lockups hard, don't worry, do a hard restart (by button or disconnecting the power) and restart, the next time it starts it won't use the DRI acceleration as it is provided by the mach64 module (i hope you didn't added it to modules.conf or something like that to load it at boot...), now at this point you are now sure that it went wrong, tha problem may be the mach64 drivers, which are not mature enough, in which case the backup will come handy if you decide to revert (do it only if you loosed any functionability available before installing mach64 dri), just rewrite this files from your backups (you did them didn't you?... backups...)
/usr/X11R6/lib/modules
/usr/X11R6/lib/libGL*
/usr/libGL*
And replace:
/usr/X11R6/bin/XFree86 by /usr/X11R6/bin/XFree86.old
I hope this is useful, i don't guarante it will work or anything, you know the no guarantee statement.
Final Notes:
* To make DRI work you need the triple of memory that uses your current resolution, use this formula:
ScreenHeight * ScreenWidth * (BPP / 8) * 3
Where BPP is your screen bits per pixel (8, 16, 24, 32), this is the minimoum amount of video memory needed to use DRI.
* Try adding
Options "ForcePCIMode" "YES"
To the devices section of your XF86Config file, as many mach64 chipsets are also PCI based.
References:
DRI:
http://dri.sourceforge.net
DRI TroubleShooting
http://dri.sourcefor...Troubleshooting
DRI Downloads
http://dri.sourcefor...in.cgi/Download
This post has been edited by w-buffer: 12 September 2004 - 06:45 AM