PDA

View Full Version : Direct Rendering with 3D Rage Pro (AIW) AGP 1X/2X ?


Hlingler
2007-09-29, 10:48 PM CDT
Hello:

I recently upgraded both of my older machines to F7. The upgrades went rather well. I would now like to get better graphics performance on them (see signature below for full specs).

It turns out that both boxes have ATI 3D Rage Pro AGP 1X/2X chips - one on the mobo with 4MB SGRAM, the other on an All-In-Wonder AGP card with 8MB SGRAM. I searched around quite a lot, and I know it's possible to get Direct Rendering with these chips/boards: http://forums.debian.net/viewtopic.php?p=46260&sid=605157fb16bc182134da5a9dfd667241. I've done some adjusting to the resolution/color depth settings on both machines to get them within the ranges allowed by the available SGRAM, so Xorg doesn't choke on those settings, but I can't seem to figure out how to get the correct driver(s)/modules loaded. The driver appears to be installed: /usr/lib/dri/mach64_dri.so (actually, I'm not sure if this is really the driver file - I think it should be named *.ko), part of the mesa-libGL-6.5.2-13.fc7 package. I've tried several different xorg.conf arrangements, but any attempt to change the default settings seems to result in complete failure of the X-server. And these tweaks appear to be unnecessary: using the basic default xorg.conf shows the system probing, finding the chips, loading modules, and attempting to load the correct driver, based on /var/log/Xorg:0.log. The fatal error occurs near the end: (II) ATI(0): [drm] SAREA 2200+1208: 3408
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: Open failed
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: Open failed
[drm] failed to load kernel module "mach64"
(II) ATI(0): [drm] drmOpen failed
(EE) ATI(0): [dri] DRIScreenInit Failed
[...]
(EE) AIGLX: Screen 0 is not DRI capable
(II) Loading local sub module "GLcore"
(II) LoadModule: "GLcore"
(II) Loading /usr/lib/xorg/modules/extensions//libGLcore.soI've been staring at the DRI troubleshooting page (http://dri.freedesktop.org/wiki/DriTroubleshooting), but I'm stuck at "DRM": "dmesg | grep drm" returns a blank, although I can manually insert it with "modprobe drm", but then I don't get the card-specific DRM version output, so that's not right. I also tried to follow the example from the link above and download the driver from http://dri.freedesktop.org/snapshots/, but the install script failed to compile (I do have kernel headers and devel packages and mesa-libGL-devel installed):make DRM_MODULES=mach64.o modules
make[1]: Entering directory `/home/shared/Source_Code/mach64-20060403-linux.i386/drm/linux-core'
make -C /lib/modules/2.6.22.7-85.fc7/source SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules
make[2]: Entering directory `/usr/src/kernels/2.6.22.7-85.fc7-i686'
CC [M] /home/shared/Source_Code/mach64-20060403-linux.i386/drm/linux-core/drm_auth.o
In file included from /home/shared/Source_Code/mach64-20060403-linux.i386/drm/linux-core/drm_auth.c:36:
/home/shared/Source_Code/mach64-20060403-linux.i386/drm/linux-core/drmP.h:44:26: error: linux/config.h: No such file or directory
make[3]: *** [/home/shared/Source_Code/mach64-20060403-linux.i386/drm/linux-core/drm_auth.o] Error 1
make[2]: *** [_module_/home/shared/Source_Code/mach64-20060403-linux.i386/drm/linux-core] Error 2
make[2]: Leaving directory `/usr/src/kernels/2.6.22.7-85.fc7-i686' make[1]: *** [modules] Error 2
make[1]: Leaving directory `/home/shared/Source_Code/mach64-20060403-linux.i386/drm/linux-core'
make: *** [mach64.o] Error 2 There is no directory /lib/modules/2.6.22.7-85.fc7/source/modules. I think I must be missing something fairly basic and simple here. I would really appreciate any help/suggestions on what to do to get this to work.

Thanx,
Vince

Hlingler
2007-10-03, 07:28 AM CDT
Hello All:

OK, so I learned that the mach64_dri.so file is a "shared library", not a kernel module. It also appears to be practically useless. I also learned that the mach64 kernel module is (apparently) still not "officially" released due to some security concerns (http://dri.freedesktop.org/wiki/ATIMach64?highlight=%28CategoryHardware%29). There is a file: /usr/src/kernels/2.6.22.*/include/video/mach64.h, part of the kernel-devel package, but I'm not sure what it's for. I also still can't get the install script from dri.freedesktop.org to work - it seems to be missing a file (config.h in sub-folder /drm/linux/), and I can't compile just a single mach64 driver with it using the simple examples that I found - the "make" command reports "No rule to make target". And trying to figure out how to go about this by reading through the other documentation at dri.freedesktop.org is like trying to read Klingon. If anyone has any advice/suggestions or can offer any help, I sure would appreciate it, because I can admit I'm pretty lost at the moment.

Thanx and Regards,
Vince

Hlingler
2007-10-30, 08:53 PM CDT
<bump> :) </bump>

Hlingler
2008-02-02, 03:37 AM CST
For the Record:

In case anyone else with an older ATI 3D Rage Pro AGP 1X/2X video card/chip (mach64 class) is looking to get direct rendering working, I thought that I would post the good news: I finally got it working. The bad news: I'm not entirely sure whether it was worth all the time and effort involved (yet). Although I'm also sure that these machines were not worth equipping with new video cards. I see no point in posting the gory details unless someone else is really interested in getting their old mach64 card accelerated. If so, post here, and I'll lay it out....

Regards,
V

http://www.fedoraforum.org/gallery/showimage.php?i=4111

sidebrnz
2008-02-02, 05:05 PM CST
I have an ATI RAGE 128 with 16Meg ram, PCI. Would those instructions work for me?

Hlingler
2008-02-02, 05:19 PM CST
Hello:

AFAIK, that is not necessary: the r128 driver (which is not mach64 class, IIRC) is already supported and included in the current release (http://dri.freedesktop.org/wiki/ATIRage128). Assuming that you have all of the correct packages/libraries installed, it should just be a matter of setting it up.

Try this (as root user):modprobe drm
modprobe r128If there are no errors (you'll see nothing, just a new prompt), you just need to set up /etc/X11/xorg.conf. Otherwise, may require additional tweaking....

Regards,
V

sidebrnz
2008-02-02, 10:37 PM CST
That part worked fine. Checking the instructions on that troubleshooting page I found that when I ran glxinfo I got these two errors:

libGL error:
Can't open configuration file /etc/drirc: No such file or directory.
libGL error:
Can't open configuration file /home/joe/.drirc: No such file or directory.

The page said to look for libexpat.so.1, so I did and found it in /lib/libexpat.so.1 and /usr/lib/libexpat.so. Is that OK? If so, I'm probably set up, but I'm not sure.

Hlingler
2008-02-02, 11:22 PM CST
Hello:

No, I still get those errors - it's just a missing config file, so that should not be a showstopper. You can run (later) driconf to generate the config file. As far as libexpat: read further on that page, that only applies if you get the specific error message "(libexpat.so.1 : cannot open shared object file: No such file or directory)" when you try to run a GL app like glxgears; you've got it, so you're good.

You need to:
(1) Edit /etc/rc.d/rc.local to add the modprobe commands to make them persistent (so that they execute/load next time you reboot); requires root user privileges;
(2) set up /etc/X11/xorg.conf (requires root user privileges;); follow instructions on http://dri.freedesktop.org/wiki/Building (just the setup stuff, not the actual building), especially "1.9. Finishing up"; ignore the first paragraph about xfree86 - Fedora uses X.org; also ignore the last paragraphs about preloading stuff - not necessary with current kernels;
(3) Last line: "Remember to restart X so the server will use the new modules." Close open programs/save your open work and logout; at login screen, hit ALT-CTL-Backspace to restart X server; login again; open a terminal as any normal user and check: glxinfo|grep -i render; you want to see this (except you'll see r128 instead of Mach64):[vince@micron-pc-rb ~]$ glxinfo|grep -i render
direct rendering: Yes
OpenGL renderer string: Mesa DRI Mach64 [Rage Pro] 20051019 AGP 2x x86/MMX/SSE
[vince@micron-pc-rb ~]$You can run driconf at that point to generate the missing config file. Then play around with games and stuff that're graphics-intensive and enjoy your new setup. I stared at glxgears for quite a while....

Good Luck,
V