Installing Unreal Tournament on FreeBSD

rev. 0.02


Table of Contents

  1. What does this document cover?
  2. What hardware/software do I need?
  3. Installing the Linux glide drivers
  4. Installing Unreal Tournament (demo version)
  5. Installing Unreal Tournament (retail version)
  6. Launching Unreal Tournament
  7. Credits
  8. Contact information

1. What does this document cover?

Installing and configuring Unreal Tournament on FreeBSD.

System configuration issues will not be addressed in this document. To prepare your system for Unreal Tournament you will have to:

For other configuration related topics please read the relevant sections of the FreeBSD Handbook.

The Handbook can be found online at http://www.freebsd.org/handbook/.


2. What hardware/software do I need?

To play Unreal Tournament on FreeBSD you will need: The Unreal Tournament Linux binaries and Linux Glide drivers are available from the web.

Download the Unreal Tournament demo version from:
http://www.fileplanet.com/index.asp?file=29122

Download the Unreal Tournament retail version binaries from:
http://www.fileplanet.com/index.asp?file=32058

Download 3dfx Glide drivers from:
http://www.3dfxgamers.com/view.asp?PAGE=drivers

Update:
Epic's Unreal Tournament site


3. Installing the Linux glide drivers

3dfx have sold their soul to RedHat Linux and the RPM format, I'm afraid. To install the Linux glide drivers you'll have to convert the RPM to a FreeBSD compatible format and install it manually (or employ a little RPM trickery).

Install your Linux glide RPM with a command similar to the following:

    # rpm --ignoreos --root /usr/compat/linux --dbpath /var/lib/rpm --nodeps --replacepkgs --install YourLinuxGlidePackage.rpm

Then update the Linux library cache:

    # /usr/compat/linux/sbin/ldconfig

NOTE: It is extremely important to include the full path when executing the Linux ldconfig command. Running FreeBSD's ldconfig with no arguments will wipe your FreeBSD library cache!


4. Installing Unreal Tournament (demo version)

Create a new directory for Linux games:
    # mkdir -p /usr/compat/linux/usr/local/games

Assuming you saved the UTDemo-Linux-x86-348.tar.gz tarball in /tmp, extract it into your newly created directory:

    # cd /usr/compat/linux/usr/local/games
    # tar zxvf /tmp/UTDemo-Linux-x86-348.tar.gz

5. Installing Unreal Tournament (retail version)

Change to the directory where you saved the UT-Linux-400A.tar.gz tarball and extract it:
    # cd /tmp
    # tar zxvf UT-Linux-400A.tar.gz

Create a directory for Unreal Tournament:

    # mkdir -p /usr/compat/linux/usr/local/games/UnrealTournament
    # cd /usr/compat/linux/usr/local/games/UnrealTournament

Mount your Unreal Tournament CD-ROM and copy the following files and directories:

    # mkdir Sounds System
    # cp -Rv /cdrom/Help /cdrom/Logs /cdrom/Maps /cdrom/Music /cdrom/Textures /cdrom/Web .
    # cp -v /cdrom/Sounds/*.uax Sounds
    # cp -v /cdrom/System/*.u /cdrom/System/*.int /cdrom/System/DefUser.ini System

Now extract the three Linux binary tarballs:

    # tar zxvf /tmp/UT-Linux-400A/LinuxCoreSystem.tar.gz
    # tar zxvf /tmp/UT-Linux-400A/LinuxGlideSystem.tar.gz
    # tar zxvf /tmp/UT-Linux-400A/LinuxLogos.tar.gz

6. Launching Unreal Tournament

Because FreeBSD doesn't support the /dev/3dfx device yet, you'll have to run Unreal Tournament as root.

Running the game as root is critical. If you don't run as root the game will crash on startup.

To run the demo version:

    # cd /usr/compat/linux/usr/local/games/utdemo/System
    # ./UnrealTournament

To run the retail version:

    # cd /usr/compat/linux/usr/local/games/UnrealTournament/System
    # ./UnrealTournament

You may want to set up a simple shell script to launch the game automatically:

    #!/bin/sh
    #
    # /usr/local/bin/ut - wrapper script for Unreal Tournament
    #

    UTDIR=/usr/compat/linux/usr/local/games/UnrealTournament/System

    # Disable core dumps for this shell
    eval `limits -e -c 0`

    # Set some 3dfx Voodoo II optimization variables
    export FX_GLIDE_NO_SPLASH=1
    export SST_SCREENREFRESH=85
    export FX_GLIDE_SWAPINTERVAL=0
    export SST_SWAP_EN_WAIT_ON_VIDSYNC=0
    export SSTV2_FASTMEM_RAS_READS=1
    export SSTV2_FASTPCIRD=1

    # Launch UT
    cd ${UTDIR}
    ./UnrealTournament

Disabling core dumps is a good idea -- the demo version has left a ~50M core file once or twice before.


7. Credits


8. Contact Information

Comments or Corrections?

Feel free to email me.

Jacob A. Hart <c9710216@atlas.newcastle.edu.au>
20002504