I have noticed over the years that there is a lack of reliable documentation on how to install and run Unreal Tournament on a modern Linux system.
I'm not pretending that this tutorial is the one and only solution for installing UT, but it may be helpful. Also, I am not the only one to know these "tricks", but having them written down once more can't do wrong. I've been looking for some of these tips for quite some time, and all that I want is to spread them in order to save time and effort for Linux gamers.
So, to begin with, I will advise you to pick [url=http://liflg.org/?catid=6&gameid=51]liflg.org's Unreal Tournament installer[/url]. It's pretty quick and reliable. Some Linux distributions have packages for UT, you may try them, but be warned that some may be much altered. Here we will go for a clean, unaltered installation.
Pick the installer that goes with your version (standard or GOTY), and avoid installing S3 Textures because those provided on the installation disk carry some bugs (that were fortunately corrected later).
The installer will also update your UT version to 436. We will keep this version over 451 simply because it is much harder to connect to multiplayer servers with UTPG's version. It is even impossible to connect Multiplay servers with 451 (I tried and gave up). As already stated several times, v451 is deprecated for clients. Finally, you can use the installer as root, this will install the game in /usr/local/games/ut
Once you've got through this, you may also install all bonus packs with the installer provided on the same page as UT's installer.
The next thing to do is to install UTGLR renderer, which corrects several bugs, brings anisotropic filter and allows users to limit framerate (and thus, avoid having the game play way too fast). There are several unofficial Linux binaries of this on the net, one that works pretty well is located on a tiny website called [url=http://www.letsplayut.com/]Let's Play UT[/url]. Download "OpenGLDrv.so - Linux port of the UTGLR renderer", then go to ut/System, make a backup of stock OpenGLDrv.so and replace it with the one you just downloaded. In order to run it, you will also need libstdc++-3-libc6.2-2-2.10.0.so and libstdc++-libc6.2-2.so.3 from [url=http://www.swanson.ukfsn.org/loki/]Loki Compatibility Libraries[/url]. Once you've downloaded loki_compat_libs-1.5.tar.bz2, decompress those two libs only and copy them to ut/System.
Now that we updated the renderer, we need to get sound working. I read several things on the subject on the internet. On my computer (using ALSA+PulseAudio), two things are working quite well :
- Using padsp wrapper with the Generic Audio Subsystem
- Using osspd daemon with OpenAL
Using osspd with OpenAL is the best solution though, because the first one makes the game crash on some maps, and OpenAL sound provides much better quality than the other one. In order to use osspd (which must be included in your distribution if it's up-to-date enough), you have to start the daemon. With systems using systemd (Fedora or Arch Linux, for example), you just have to type
Code: Select all
# systemctl start osspd
Code: Select all
# systemctl enable osspd
Now all you need to do is to launch UT, no need to wrap anything. You may want to make a symbolic link to /usr/local/bin or whichever directory is in your path.
Make sure that sound is working, and then configure graphics using in-game dialog window. When you're finished, just quit. Now that the ~/.loki/ut directory is created, open ~/.loki/ut/System/UnrealTournament.ini and go to [OpenGLDrv.OpenGLRenderDevice] section. Then, add or modify the following lines :
Code: Select all
FrameRateLimit=90 => put here something inferior or equal to 100 in order to have consistent speed in-game, use a value that is different from your screen refresh rate to avoid tearing (if you're not using Vsync, of course)
MaxAnisotropy=4 => changes anisotropy level to whichever value you type
Go to [ALAudio.ALAudioSubsystem], and modify the following lines :
Code: Select all
OutputRate=44100Hz
Channels=32
Another thing you may want to grab is NPLoader, which is needed by several serious servers. Download v1.6b (which seems to be the most used) [url=http://utgl.unrealadmin.org/NPLoader/v16b/]here[/url] and decompress NPLoaderLL_v16b.so and NPLoaderLL_v16b.u to ut/System (NPLoaderLL_v16b.dll is useless on Linux).
Now you're ready to make some frags. Try to run the game and have a good old bot hunting before going online.
If you have some corrections or suggestions, or if something is not working, please write it down, so that we can have something as complete and accurate as possible. Thanks in advance ;-)