The Voodoo Banshee is the combined 2D/3D version of the Voodoo 2 (rather like the relationship between the Voodoo Rush and the original Voodoo 1).
Jason Gill sent me this message:
Richard - I am glad to inform you that, after much tweaking and testing, I have been able to get my Voodoo Banshee card running with XRacer. Here's what I did (feel free to add this to the FAQ, if you feel needed. This information *should* apply to the Voodoo3, because AFAIK, the Voodoo3 and Banshee are essentially the same (the use the same drivers, at least.)) 1) Get the newest versions of Glide and the associated tools for the Voodoo3/Voodoo Banshee from http://glide.xxedgexx.com/3DfxRPMS_vb_glibc.html Install them as instructed on that page. Make sure that test3dfx works! 2) Get the Mesa 3.0 source (NOT BINARIES/RPMS!). Compile using 'make linux-glide` (try other options if you feel you need them, but linux-glide should work no matter what.) Install as appropriate for your system. 3) Set MESA_GLX_FX=f in your shell (better yet, add it to your shell's profile or start-up script). 4) Download, compile, and install XRacer however you like. Edit "globals.c" and set the resolution you want (works for me in any resolution that my Xserver is set up for.) 5) XRacer should work! If not, make sure that you can run test3dfx, a few Mesa Demo's or other Mesa-based Fullscreen programs. If all else fails, make a patch and submit it :)
Try setting the MESA_GLX_FX environment variable before running it, like this:
export MESA_GLX_FX=f
or
setenv MESA_GLX_FX f
if you have a csh-derived shell.
Do not use the -f switch with Voodoo Graphics and Voodoo2 cards, it's broken with these.
If that fails to make any difference, then it's probably a problem with libraries (see question 1.3).
Libraries seem to be a big problem for people compiling XRacer, or rather people seem to like to install five similar but subtly different versions of Mesa all over the place, and then complain that the configure script isn't clever enough to find the right one.
First a note: there are Mesa libraries and there are Mesa libraries. Just because you installed what you thought are the latest Mesa libraries from RPMs, does not mean that they support your 3D accelerator card in accelerated mode. In fact, most Mesa RPMs seem to be compiled with software drivers only.
Therefore, I strongly suggest that you search your system, remove all out of date Mesa libraries, and recompile from source.
Use the locate command to find Mesa libraries installed, eg:
locate libMesa locate libGL locate libglut
Follow the instructions in the Mesa packages when compiling from source. At a minimum you will need to find the right compile option from the possible list. For example you might do:
./configure --help
Make sure that /usr/local/lib appears in /etc/ld.so.conf and rebuild the ld.so cache like so:
/sbin/ldconfig
Now that you have a correctly installed Mesa, build XRacer. During the configure, you should see lines like this:
: checking for glNewList in -lGL... yes checking for gluLookAt in -lGLU... yes checking for glutKeyboardUpFunc in -lglut... yes :
The yes indicates that the configure script successfully located the GL, GLU and glut libraries.
If you prefer to install Mesa libraries in a non-standard place, then try configuring XRacer with the --with-gl-libs=DIR, --with-gl-inc=DIR, --with-glut-libs=DIR and/or --with-glut-inc=DIR options. You will definitely need to add the non-standard paths to your /etc/ld.so.conf and rebuild the ld.so cache with ldconfig, or else use the LD_LIBRARY_PATH environment variable.
If you still have problems after building XRacer, check which libraries it is linked against using the ldd command. A correct build looks like this. Notice the glide, GL, GLU and glut libraries.
$ ldd `which xracer` : libglut.so.3 => /usr/local/lib/libglut.so.3 (0x4003b000) libGLU.so.1 => /usr/local/lib/libGLU.so.1 (0x4006d000) libGL.so.1 => /usr/local/lib/libGL.so.1 (0x40089000) : libglide2x.so => /usr/lib/libglide2x.so (0x404eb000) :
If you built support for /dev/3dfx into your kernel, then upgraded the kernel and forgot to rebuild the /dev/3dfx module, then any GL program will dump core as soon as it runs. Solution: rebuild the /dev/3dfx module.
You don't have gettext installed on your system. Either install gettext, or run configure with the --disable-nls switch.
Yes. It's part of the main distribution. You will need Cygnus Cygwin to compile it. The port is maintained by Bart Jaszcz, and he periodically releases binary versions which you can find on the main site.
To compile from source, please see the following resources:
XRacer compiles out of the box on most Unix flavours. Please mail me (with patches) if you successfully compile XRacer on an esoteric flavour of Unix.
The short answer is no: I have no plans to support low-end PCs or PCs without 3D accelerator cards. As a general guide, you will need a PC at least as powerful as mine to run XRacer, and my PC is a Pentium II 266 MHz with a Voodoo 2 and a Matrox Millenium G200 graphics card.
The slightly longer answer is that various people have talked about writing a version of XRacer which can run on low-end hardware, but no one has yet sent me any concrete patches. One person, for instance, hacked together a wireframe version of the game. I'm quite willing to incorporate such patches, provided the changes are fairly minor.
I only accept code contributions in the form of a unified diff against the latest version (or a very recent version) of the code.
To make a unified diff, please follow these instructions:
make distclean
cd .. mv xracer-5.67 xracer-5.67-snazzy-feature
tar zxf /tmp/xracer-5.67.tar.gz
diff -urNb xracer-5.67 xracer-5.67-snazzy-feature > /tmp/xracer.patch
If you have just patched one or two files, then making patches is even easier. For each file, just do:
cp file.c file.c.orig Make changes to file.c ... diff -u file.c.orig file.c > /tmp/file.c.patch
and just send me the patch: /tmp/file.c.patch.
XRacer will soon be able to play MP3 files. If you would like to contribute a music track, then please send it in MP3 format.
Sound samples should be sent in WAV or RAW format. If you send it in RAW format, please tell me the sample rate, number of channels, number of bits per sample and byte order.
Textures should be supplied as JPEGs or GIMP XCF files.
If you wish to write music to go with XRacer, please send it to me in MP3 format. Like Wipeout, XRacer goes well with upbeat techno / house tracks.
I particularly need samples of the following:
At the moment, you can't design tracks in Blender. Also, designing tracks now in the hope that I may eventually incorporate Blender support is not likely to be useful - I will probably require all sorts of special textures and object names to indicate special things to the importer. Sorry. Use AC3D instead, or see question 4.3
Yes, wouldn't it. Show me the code, and I'll show you the feature.
Probably never if too many people take this attitude. The more people send me cogent bug reports, code patches, samples, scenery and so on, the faster XRacer gets developed.
At the moment, the main aim is to get a stable 1.0 release of XRacer. There is a limited list of features that I am working on for a 1.0 release (you can find it on the website). Once 1.0 is released, XRacer will be a stable, enjoyable game, probably with just a single level.
For 2.0, I intend to completely rewrite the track design code to use Blender and more free-form tracks. Currently tracks are divided into `segments', and segments are treated separately from scenery. This distinction will disappear and you will be able to design tracks which are much more arbitrary - for example, tracks will be able to cross over themselves, and you will be able to have tracks where you can `escape' and drive around the scenery. Once Blender support is in place and there is a stable 1.0 release to demonstrate the engine, I'm hoping to attract a lot more people to just develop and submit tracks.
With 2.0, I will take the opportunity to slow down development, perhaps to just a few releases a week, and clean up the code.
LAN multiplayer mode may go into 1.0 if there is time. Otherwise, it will be held over to 2.0 when the code is cleaned up.
I live in London, England. By day I'm migrating Postmaster (a free email service) and Schoolmaster (a free-for-schools web service) from legacy NT to Linux.