HOWTO: enable 3d acceleration w/ Rage Mobility (mach64)
update 03-25-06
I have been struggling w/ this for the past two weeks....and I finally got 3d acceleration to work w/ my ati rage mobility. I'm using xorg, but I beleive that it works w/ xfree86 as well. first of all, here's my card according to lspci
Code:
0000:01:00.0 VGA compatible controller: ATI Technologies Inc Rage Mobility P/M AGP 2x (rev 64)
it uses the mach64 chipset.
now here's how I got direct rendering to work:
GUIDE
1. get your updated kernel, headers, compilation tools
Code:
sudo apt-get install linux-686 linux-headers-2.6-686 build-essential
1.5 if you the kernel wasn't installed already, reboot to it
2. get the proper common AND mach64 dri software from here...or get it like this (but make sure that you go to link in the future because these are daily snapshots that get updated regularly)
Code:
wget http://dri.freedesktop.org/snapshots/common-20060325-linux.i386.tar.bz2
wget http://dri.freedesktop.org/snapshots/mach64-20060325-linux.i386.tar.bz2
3. kill your X server. if you using the default ubuntu configuration, press ctrl+alt+F1..then;
Code:
sudo /etc/init.d/gdm stop
4. unpack the common modules. go into the directory where you downloaded the dri stuff, and:
Code:
tar xjvf common-20060325-linux.i386.tar.bz2
tar xjvf mach64-20060325-linux.i386.tar.bz2
5. go into the "common" directory first, and..
6. then go into the "mach64" directory, an..
7. start x again:
Code:
sudo /etc/init.d/gdm start
8. once you start X again, check for your direct rendering by opening a terminal and typing:
Code:
glxinfo | grep "direct"
if it says "direct rendering: Yes", then congratulations, and try running "glxgears -printfps" to see your performance increase.
NOTE: you may also get better performance by changing your bit depth to 16 instead of the default 24...look for this line in your /etc/X11/xorg.conf file under the "Screen" section
change "24" to "16"
btw, depending on your kernel version, the names in step 1 & 2 may vary
If not....then try the troubleshooting 8)
TROUBLESHOOTING
1. see if the "mach64" module is loaded..
Code:
lsmod | grep "mach64"
if not...load it by:
Code:
sudo modprobe -v mach64
2. if you have problems after reboot:
a.) check if module is listed in "/etc/modules"
Code:
cat /etc/modules | grep "mach64"
b.) if not, add it
Code:
sudo echo "mach64" >> /etc/modules
if you still have problems, you may want to search this thread for possible specific solutions, because many people seem to have resolved their problems
links:
http://dri.freedesktop.org/snapshots/
http://www.freedesktop.org/wiki/Software_2fdri
http://mandrakeusers.org/index.php?showtopic=17864
Re: HOWTO: enable 3d acceleration w/ Rage Mobility (mach64)
disregard this post
btw....it seem as if direct rendering only works when you run x via the "startx" command. until someone comes along here and contributes a permanent workaround, you'll need to disable gdm from starting on bootup.
EDIT
ok...here how to do it:
Code:
mv /etc/rc2.d/S99gdm /etc/rc2.d/K99gdm
this will set the gdm service to (K)ill instead of (S)tart. to restore, just mv it back.
now, when you disable gdm, you'll want x to start w/ your favorite window manager, or desktop environment. If you want x to start w/ gnome, create a file named ".xinitrc" in your home dir...then edit it like this:
Code:
xterm &
gnome-session
this will start gnome when you start x....and you still get direct rendering :)
if you prefer another environment, just replace "gnome-session" w/ the environment you want (fluxbox, wmaker, etc)...the end
Re: HOWTO: enable 3d acceleration w/ Rage Mobility (mach64)
I try to use your method of getting DRI to work with my mach64 based Rage 3d chip. It fails to compile and it gives me this message in the logs...
make DRM_MODULES=mach64.o modules
make[1]: Entering directory `/home/arbiter/dripkg/drm/linux-2.6'
make -C /lib/modules/2.6.8.1-3-386/build SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules
make[2]: Entering directory `/usr/src/linux-headers-2.6.8.1-3-386'
/home/arbiter/dripkg/drm/linux-2.6/Makefile:313: *** CONFIG_X86_CMPXCHG needs to be enabled in the kernel. Stop.
make[2]: *** [_module_/home/arbiter/dripkg/drm/linux-2.6] Error 2
make[2]: Leaving directory `/usr/src/linux-headers-2.6.8.1-3-386'
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/home/arbiter/dripkg/drm/linux-2.6'
make: *** [mach64.o] Error 2
I'm not sure what it means. I'm using kernel 2.6.8.1-3-386. Any help would be appreciated.
thanks
Re: HOWTO: enable 3d acceleration w/ Rage Mobility (mach64)
Quote:
Originally Posted by Arbiter
I try to use your method of getting DRI to work with my mach64 based Rage 3d chip. It fails to compile and it gives me this message in the logs...
make DRM_MODULES=mach64.o modules
make[1]: Entering directory `/home/arbiter/dripkg/drm/linux-2.6'
make -C /lib/modules/2.6.8.1-3-386/build SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules
make[2]: Entering directory `/usr/src/linux-headers-2.6.8.1-3-386'
/home/arbiter/dripkg/drm/linux-2.6/Makefile:313: *** CONFIG_X86_CMPXCHG needs to be enabled in the kernel. Stop.
make[2]: *** [_module_/home/arbiter/dripkg/drm/linux-2.6] Error 2
make[2]: Leaving directory `/usr/src/linux-headers-2.6.8.1-3-386'
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/home/arbiter/dripkg/drm/linux-2.6'
make: *** [mach64.o] Error 2
I'm not sure what it means. I'm using kernel 2.6.8.1-3-386. Any help would be appreciated.
thanks
apparently, your log says that "CONFIG_X86_CMPXCHG" needs to be enabled in your kernel...I'm not sure what this is, but this means that you'll have to compile your kernel w/ this enabled.
Re: HOWTO: enable 3d acceleration w/ Rage Mobility (mach64)
I finally got it to compile and install, but after checking to see if it worked after doing a 'startx', the glxinfo command still gives me a "no" on DRI. Do I have to modify my XF86Config file or something?
Re: HOWTO: enable 3d acceleration w/ Rage Mobility (mach64)
Quote:
Originally Posted by Arbiter
I finally got it to compile and install, but after checking to see if it worked after doing a 'startx', the glxinfo command still gives me a "no" on DRI. Do I have to modify my XF86Config file or something?
nope....just make sure that you enable "ati" driver in your XF86Config/xorg.conf. here's my xorg.conf minus the comments
Code:
Section "Files"
FontPath "unix/:7100" # local font server
# if the local font server has problems, we can fall back on these
FontPath "/usr/lib/X11/fonts/misc"
FontPath "/usr/lib/X11/fonts/cyrillic"
FontPath "/usr/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/Type1"
FontPath "/usr/lib/X11/fonts/CID"
FontPath "/usr/lib/X11/fonts/Speedo"
FontPath "/usr/lib/X11/fonts/100dpi"
FontPath "/usr/lib/X11/fonts/75dpi"
# paths to defoma fonts
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"
EndSection
Section "Module"
Load "GLcore"
Load "bitmap"
Load "dbe"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "record"
Load "speedo"
Load "type1"
Load "v4l"
Load "vbe"
Load "xtt"
EndSection
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
EndSection
Section "Device"
Identifier "ATI Technologies, Inc. Rage Mobility P/M (AGP)"
Driver "ati"
BusID "PCI:1:0:0"
Option "UseInternalAGPGART" "no"
EndSection
Section "Monitor"
Identifier "Generic Monitor"
HorizSync 31.5-56
VertRefresh 50-100.5
Option "DPMS"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "ATI Technologies, Inc. Rage Mobility P/M (AGP)"
Monitor "Generic Monitor"
DefaultDepth 16
SubSection "Display"
Depth 1
Modes "1024x768"
EndSubSection
SubSection "Display"
Depth 4
Modes "1024x768"
EndSubSection
SubSection "Display"
Depth 8
Modes "1024x768"
EndSubSection
SubSection "Display"
Depth 15
Modes "1024x768"
EndSubSection
SubSection "Display"
Depth 16
Modes "1024x768"
EndSubSection
SubSection "Display"
Depth 24
Modes "1024x768"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "Synaptics Touchpad"
EndSection
Section "DRI"
Mode 0666
EndSection
Re: HOWTO: enable 3d acceleration w/ Rage Mobility (mach64)
There doesn't seem to be any obvious difference between our config files, although I did notice you are using X.Org whereas I'm still using XFree86. Perhaps there is a problem there?
Re: HOWTO: enable 3d acceleration w/ Rage Mobility (mach64)
Quote:
Originally Posted by Arbiter
There doesn't seem to be any obvious difference between our config files, although I did notice you are using X.Org whereas I'm still using XFree86. Perhaps there is a problem there?
could be...although I doubt it because I think the driver is really for xfree86 8) I guess it also shold be know that these are unofficial dri snapshots, but they say that they (freedesktop.org) plan on making the official ones available in the future.
what exact card do you have? (lspci | grep "ati")
Re: HOWTO: enable 3d acceleration w/ Rage Mobility (mach64)
lspci gives these results...
0000:00:07.6 Communication controller: VIA Technologies, Inc. Intel 537 [AC97 Mo dem] (rev 30)
0000:01:00.0 VGA compatible controller: ATI Technologies Inc Rage Mobility P/M A GP 2x (rev 64)
Re: HOWTO: enable 3d acceleration w/ Rage Mobility (mach64)
This looks great.. but can I do similar for my :
0000:01:00.0 VGA compatible controller: ATI Technologies Inc Radeon RV200 LX [Mobility FireGL 7800 M7]
Powered Laptop?
Should I use
r200-20041215-linux.i386.tar.bz2
or
radeon-20041215-linux.i386.tar.bz2
??
Thanks