OpenUT Frequently Asked Questions List Andy Piper, squiggle@ukgateway.net Version 2.2.0, May 04, 2000 This document aims to answer some of the more frequently asked questions about Unreal Tournament for Linux, and specifically the open source project ('OpenUT') to develop improved Linux binaries and drivers for the game. 1. Information 1.1 What is this FAQ about? 1.2 Who maintains this document? 1.3 Where can I obtain the latest version? 1.4 Version 1.5 Revision history 2. Background 2.1 What is Unreal Tournament? 2.2 What is OpenUT? 2.3 How did OpenUT come about? 2.4 What sources have Epic released? 2.5 Who is maintaining OpenUT? 2.6 How can I get involved? 2.7 What improvements does OpenUT have over the standard binaries? 2.8 What is SDL? 2.9 What is utah-glx? 2.10 Where can I find out more / get more help? 3. Compiling / Troubleshooting 3.1 Are precompiled binaries of OpenUT available? 3.2 What do I need to compile OpenUT? 3.3 Can you suggest a known, working setup for compiling OpenUT? 3.4 Does it matter which version of the Linux kernel I am running? 3.5 Will UT / OpenUT work with a multiprocessor (SMP) system? 3.6 Why do I get errors related to GL include files that cannot be found? 3.7 Why will UT not start under Enlightenment? 3.8 Why isn't software rendering available for UT under Linux? 3.9 Why do I see the intro through a narrow "band" in the middle of the screen when starting the game? 3.10 How can I get a full log of what is going on when I run the game? 3.11 Why does the game terminate straight after the splash screen? 3.12 Why does UT fail with a SIGIOT error after applying the latest patch? 3.13 How come there is no music? 3.14 Why do I get the message "video memory unprotecting" when starting the game? 3.15 Does OpenUT work with DRI in X? 3.16 Why doesn't the SDL stuff work? 3.17 Which renderer and viewport manager should I use with my GeForce / Voodoo / G400 / TNT card? 3.18 Why does the mouse pointer get stuck in one of the corners of the screen when running with GLX and SDL? 3.19 Why does everything run so slowly with utah-glx and my TNT graphics card? 3.20 Does UT work with XFree86 4.0 and the new nVidia GLX drivers? 3.21 What version of UT do I need to run OpenUT? 3.22 Is it possible to get sound working when using an Aureal MX300 sound card? 4. Linux Unreal Tournament 4.1 Can I use .UMODs downloaded from the Internet with the Linux version of UT? 4.2 How do I use the UT Bonus Pack on Linux? 4.3 Can I use the Rocket Arena mod with the Linux version of UT? 4.4 Does OpenUT work with Unreal, as well as with Unreal Tournament? 4.5 Why do I get a message about Uwebadmin failing to bind to a port when trying to run ucc? 4.6 Can I use ngStats / ngWorldStats with Unreal Tournament for Linux? 4.7 When will the latest patch be available for Linux? 4.8 Why doesn't network play work with the 413 patch? 4.9 Why do I get "Failed to load Class IpDrv.HTTPDownload" errors when using download redirection? 4.10 Why don't you guys fix in the Linux UT server? 4.11 Why does the Linux client fail with a SIGSEGV / EACCES error? 4.12 Why doesn't my joystick work in Unreal Tournament for Linux? 5. Questions awaiting answers 5.1 Why can't I change resolution? 5.2 When will UT be ported to BeOS / OS/2 / other platforms? 6. Obsolete questions 6.1 Can I get the 402B patch for my Windows version of Unreal Tournament? =============================================================================== 1. Information 1.1 What is this FAQ about? This document aims to answer some of the more frequently asked questions about Unreal Tournament for Linux, and specifically the open source project ('OpenUT') to develop improved Linux binaries and drivers for the game. ------------------------------------------------------------------------------- 1.2 Who maintains this document? The current maintainer is Andy Piper (squiggle@ukgateway.net), with many contributions from the open source community and OpenUT developers. New additions can be e-mailed to the maintainer for inclusion in future versions of this document. ------------------------------------------------------------------------------- 1.3 Where can I obtain the latest version? The OpenUT FAQ is hosted at http://openut.sourceforge.net - the latest version is always available from that site. ------------------------------------------------------------------------------- 1.4 Version The current revision is 2.2.0 (04-May-2000) ------------------------------------------------------------------------------- 1.5 Revision History 0.0.1 (09-Apr-2000) Initial release (lots of gaps!) 0.0.2 (13-Apr-2000) Additions from Daniel Vogel, more answers 0.0.3 (15-Apr-2000) Updated improvements list, added credits 1.0.0 (16-Apr-2000) Reordered and tidied for initial public release 1.1.0 (17-Apr-2000) Added 'obsolete' section and expanded some answers 1.1.1 (19-Apr-2000) Minor updates to 413 information 2.0.0 (21-Apr-2000) Full HTML release with many new additions 2.0.1 (22-Apr-2000) Minor update to ngStats question 2.1.0 (01-May-2000) Several new questions added 2.2.0 (04-May-2000) New entries, expanded upon some previous answers =============================================================================== 2. Background 2.1 What is Unreal Tournament? Unreal Tournament (aka UT) is a multiplayer, three-dimensional first-person shooter-type game in the style of the classic Quake games. The game is written and developed by Epic Games and published and marketed by GT Interactive. ------------------------------------------------------------------------------- 2.2 What is OpenUT? The OpenUT Project was formed to develop libraries, executables, and tools relevant to the Unreal Tournament engine. The project focuses on improving the quality of the UT Linux port through open source development. ------------------------------------------------------------------------------- 2.3 How did OpenUT come about? Epic Games were developing a Linux version of the game for some time before it was commecially released, and had hoped to provide the binaries on the same retail CD as the Windows version. The binaries were not quite ready in time, so they were released on the Internet afterwards. In December 1999 Brandon Reinhart (aka 'GreenMarine'), a developer at Epic, announced their intention to open source certain parts of the Linux game engine in order to let the development community help to improve the code. Quote from his .plan around the time of the release: "The bottom line is this: I like to play kick ass games. The Linux port of UT is not kick ass. I don't have the time to make it better, so instead of having it languish on my harddrive I'll give it out to anyone who wants it. You don't have to do anything with it. You could take it and write cool stuff and if you want you could contribute it to me. Its all voluntary." The project was established at SourceForge in early January 2000. ------------------------------------------------------------------------------- 2.4 What sources have Epic released? At present, only the Linux sound and graphics rendering code. Daniel Vogel summarised the source release as follows: - most headers to Core / Engine - source to - UTLaunch aka UnrealTournament executable - UCC (only a stub as it dlopens the Engine stuff) - Renderers - D3DDrv - GlideDrv - OpenGLDrv - XMesaGLDrv - Viewport Managers - XDrv - Sound (Linux part) The OpenUT project does NOT have access to the generic renderer, the game core, engine, server, editor, or software renderer. ------------------------------------------------------------------------------- 2.5 Who is maintaining OpenUT? At the present time (May 2000), the project admins are Brandon Reinhart and Daniel Vogel. There are a total of 15 developers with direct access to update the OpenUT CVS repository (see the project root at SourceForge for details). There are also others who contribute by submitting patches to the maintainers, but who do not have direct access to CVS. Here is a list of people that have contributed to the OpenUT project in some form or another: OpenUT programming (alphabetically ordered) John Fulmer Joshua R. Garvin Chris Gilbert Jeroen Janssen Jeremy Muhlich Marcus Sundberg Nicholas Vinen Daniel Vogel OpenUT tools / website / misc (alphabetically ordered) Doug Dahl Andreas Ehliar Albert K T Hui Jeffrey H. Ingber John "Matt" Matthews Andy Piper Dustin Reyes Andy Ward Jeremy Weatherford Everyone is welcome to help with the project! ------------------------------------------------------------------------------- 2.6 How can I get involved? Lots of ways ;-) The website and the project root at SourceForge are the best starting points. The official website is at http://openut.sourceforge.net and more information can be found there. Here are some things you can do to help us out. * Download and compile the source from SourceForge - test the code * Join the development mailing list at http://sourceforge.net/mail/?group_id=975 * Submit a patch to improve the source * Do some benchmarking and send us the results * Offer time and resources to help with the website Remember that you can also help us just by enjoying OpenUT, and telling us about it! ------------------------------------------------------------------------------- 2.7 What improvements does OpenUT have over the standard binaries? Well, first of all, it works ;-) A brief list of the improvements goes something like this: * OpenGL build target works * music works (using libMikMod) * sound mixing is less CPU intensive * makes use of SDL for input and window handling (fullscreen) ------------------------------------------------------------------------------- 2.8 What is SDL? (from http://devolution.com/~slouken/SDL/) Simple DirectMedia Layer is a cross-platform multimedia library designed to provide fast access to the graphics framebuffer and audio device. It is used by MPEG playback software, emulators, and many popular games, including the award winning Linux port of "Civilization: Call To Power." Simple DirectMedia Layer supports Linux, Win32, BeOS, along with ports in progress to MacOS, IRIX, Solaris, and FreeBSD. ------------------------------------------------------------------------------- 2.9 What is utah-glx? (from http://utah-glx.sourceforge.net) Simply put, GLX is the X extension used by OpenGL programs, it is the glue between OpenGL (which is platform independent) and X. The utah-glx project is building a hardware accelerated glx module for free Unix operating systems. Currently, we have support for 3D acceleration on the Matrox MGA-G200 and MGA-G400, nvidia's RIVA series, S3 ViRGE, ATI's Rage Pro (not Rage 128), and Intel's i810 for XFree86 3.3.x ------------------------------------------------------------------------------- 2.10 Where can I find out what the OpenUT team are doing, ask questions about the project, and get more help? We have mailing lists and forums hosted at SourceForge. The mailing list archives are accessible via Geocrawler or Pipermail: Geocrawler: http://www.geocrawler.com/lists/3/SourceForge/959/ Pipermail: http://lists.sourceforge.net/pipermail/openut-development/ There are forums for Help and Announcements accessible via the project root at SourceForge: http://sourceforge.net/forum/?group_id=975 =============================================================================== 3. Compiling / Troubleshooting 3.1 Are precompiled binaries of OpenUT available? Not at the present time. It is currently necessary to download the Linux binaries from Epic, apply binary patches to the current version using xdelta, and then compile the OpenUT binaries from source and copy them over the installed versions. A proper installer for OpenUT is in the works. ------------------------------------------------------------------------------- 3.2 What do I need to compile OpenUT? It depends slightly, partly on what features you want. Assuming you want all the good stuff (music, etc.): OpenUT source http://sourceforge.net/project/?group_id=975 gcc 2.95.2 http://egcs.cygnus.com xdelta http://www.xcf.berkeley.edu/~jmacd/xdelta.html SDL >= 1.1.1 http://www.devolution.com/~slouken/SDL/ SDL mixer >=1.0.5 http://www.devolution.com/~slouken/SDL/projects/SDL_mixer libMikMod 3.1.9 http://mikmod.darkorb.net xpm-devel (for /usr/X11R6/include/X11/xpm.h) MesaGL or Glide (for /usr/include/GL/gl.h and glx.h) utah-glx http://utah-glx.sourceforge.net (for GLX systems) ------------------------------------------------------------------------------- 3.3 Can you suggest a known, working setup for compiling OpenUT? Sure, OK then... (courtesy of Avatar ;) Linux 2.2.15pre16 / 2.3.99-pre3 glibc 2.1.2 gcc 2.95.2 XFree86 3.3.6 Glide_V2 2.5.3 libmikmod 3.1.9 SDL 1.1.2 SDL_mixer 1.0.5 ------------------------------------------------------------------------------- 3.4 Does it matter which version of the Linux kernel I am running? It should NOT matter. UT is known to work with both the stable 2.2.x kernels (the FAQ maintainer runs it under 2.2.12, for example), and also with the newer 2.3.x development series. ------------------------------------------------------------------------------- 3.5 Will UT / OpenUT work with a multiprocessor (SMP) system? There are plenty of reports of people running OpenUT on SMP machines (dual Celerons seem to be favourites!). There are no known issues with multiple processors and OpenUT. However, please note that while there are no known problems, multiple processors also do not give OpenUT much of a performance boost, either. (thanks to John Fulmer) ------------------------------------------------------------------------------- 3.6 Why do I get errors related to GL include files that cannot be found? Make sure you specify --prefix=/usr/ when you compile GLX. If this still fails, create a symbolic link from /usr/local/include/GL (or /usr/include/GL, depending on your distribution) pointing to /usr/src/Mesa/include/GL, then rebuild UT. Example: ln -s /usr/src/Mesa/include/GL /usr/local/include/GL ------------------------------------------------------------------------------- 3.7 Why will UT not start under Enlightenment? The original Linux binaries released by Epic did not work with the Enlightenment window manager, for some reason. The screen would simply go black. This problem was fixed with the 402B patch for Linux. OpenUT does not suffer from this issue. ------------------------------------------------------------------------------- 3.8 Why isn't software rendering available for UT on Linux? It is available for Windows! The simple reason for this is that Epic have not released the source for the software renderer. Apparently the task of porting it would be extremely complex, as there is a lot of Windows/MSVC-specific code in there. Don't expect software rendering any time soon - i.e. probably never! ------------------------------------------------------------------------------- 3.9 Why do I see the intro through a narrow "band" in the middle of the screen when starting the game? Switching to a window does not fix the problem. Launch UT with -defaultres on the command line. You should only need to do this once. ------------------------------------------------------------------------------- 3.10 How can I get a full log of what is going on when I run the game? When launching UT, run the binary with -log > filename.log to create a logfile which is not cached. This will ensure that you get the full information out of the logging routines. ------------------------------------------------------------------------------- 3.11 Why does the game terminate straight after the splash screen? There is no error message on the console. Try -nosplash -nosound on the command line. Try running as root. Use -log > filename.log on the command line to try and see what is going wrong. ------------------------------------------------------------------------------- 3.12 Why does UT fail with a SIGIOT error after applying the latest patch? Did the patch install correctly? Did you mount the CD-ROM when you applied the patch? The patch process does not automatically mount the CD, and it will not warn you that the CD is not mounted, so it is possible that it has not gone through correctly. You should try repatching. ------------------------------------------------------------------------------- 3.13 How come there is no music? First of all, ensure you have libMikMod installed at the correct version. Edit OpenUT/System/UnrealTournament.ini and change UseDigitalMusic=FALSE to UseDigialMusic=TRUE (section Audio.GenericAudioSubsystem). ------------------------------------------------------------------------------- 3.14 Why do I get the message "video memory unprotecting" when starting the game? I have a Voodoo graphics card. This error is actually not Voodoo-specific, although it sometimes appears when using the Dev3dfx kernel module. The message is a status report from the X server, and it is usually safe to ignore it. ------------------------------------------------------------------------------- 3.15 Does OpenUT work with DRI in X? Yes, it should work just fine with DRI with the SDL OpenGL renderer. Note that at present there is no support for Glide applications to use DRI in XFree86 4.0. UT should work with the SDLGL renderer instead (only more slowly!) (thanks to Adam Kirchhoff) ------------------------------------------------------------------------------- 3.16 Why doesn't the SDL stuff work? SDL support was added as a result of work by the OpenUT developers, and only made it into the main Linux UT client with the 413 patch. In order to make use of the SDL driver, you will need to make updates to the UnrealTournament.ini file in the System directory of the UT installation. The version supplied with UT will not contain the SDLDrv section by default. You can download an example UnrealTournament.ini file with the SDL features included from the OpenUT website. Alternatively, you can use UTCP to modify the settings in the existing file. ------------------------------------------------------------------------------- 3.17 Which renderer and viewport manager should I use with my GeForce / Voodoo / G400 / TNT card? As a general rule of thumb: 3dfx (Voodoo) = GlideDrv all others (GLX-based) = SDLGLDrv In both cases the SDLDrv.SDLClient should be the chosen ViewportManager. Some people report that Voodoo cards (particularly the Voodoo 3) do not work when SDLDrv is selected as viewport manager. In these cases it may be necessary to revert to XDrv.XClient instead - however, some people have reported hangs on exiting UT when using XDrv. If you are using a Voodoo card, ensure that you have the latest version of Glide installed and working correctly (http://linux.3dfx.com) The OpenUT team considers XMesaGLDrv to be an orphaned branch of development. SDLGLDrv is the recommended driver. See the Utah-GLX project page for more information for non-3dfx cards. ------------------------------------------------------------------------------- 3.18 Why does the mouse pointer get stuck in one of the corners of the screen when running with GLX and SDL? This seems to be a bug with SDL and DGA. Several people have reported problems with this combination. Try one of the following solutions: - check that you have DGA extensions enabled in the XF86Config file - disable DGA by setting the environment variable SDL_VIDEO_X11_DGAMOUSE=0 ------------------------------------------------------------------------------- 3.19 Why does everything run so slowly with utah-glx and my TNT graphics card? At the present time utah-glx does not fully support nVidia cards, so features such as DMA are not used, and the performance is limited. You could try using nVidia's own GLX driver instead. ------------------------------------------------------------------------------- 3.20 Does UT work with XFree86 4.0 and the new nVidia GLX drivers? Yes and yes. There should be an impressive performance increase. ------------------------------------------------------------------------------- 3.21 What version of UT do I need to run OpenUT? Linux version 400A patched to 402B. The current source release is 402B, therefore OpenUT will only work with that version. At present, OpenUT compiled from CVS will not work with the 413 / 413a patch. (thanks to Ted Johnson) ------------------------------------------------------------------------------- 3.22 Is it possible to get sound working when using an Aureal MX300 sound card? Yes, it is. You'll need SDLAudio compiled from CVS. Change the audio settings in UnrealTournament.ini to read: AudioDevice=SDLAudio.SDLAudioSubsystem =============================================================================== 4. Linux Unreal Tournament 4.1 Can I use .UMODs downloaded from the Internet with the Linux version of UT? Yes, you can. You need UModPack: http://umodpack.sourceforge.net/ Note that not all .UMODs are supported by the Linux port at this time. ------------------------------------------------------------------------------- 4.2 How do I use the UT Bonus Pack on Linux? First, you need to download the Linux tarball of the Bonus Pack from a site such as ftp://ftp.unrealism.com/demo/UT-BonusPack.tar.gz To install the Bonus Pack, use UmodPack: http://umodpack.sourceforge.net/ Note that the relics will not work with the current Linux release of UT. This is due to a known issue with the sound samples. The maps and models will work with patch 402B or better. ------------------------------------------------------------------------------- 4.3 Can I use the Rocket Arena mod with the Linux version of UT? Yes, but due to the fact that the Rocket Arena mod uses a .UMOD which does not currently work with the Linux version of UT, you should download the non-UMOD version if you are running Linux UT. Note that, as of the time of writing, the RA mod has been temporarily withdrawn in order to resolve the issues which have arisen. ------------------------------------------------------------------------------- 4.4 Does OpenUT work with Unreal, as well as with Unreal Tournament? It depends what you mean, really. Unreal and UT are different games. The engine for UT is enhanced over the one originally used for Unreal. It is possible to use the maps from the original Unreal CD as maps for Unreal Tournament games - there is a shell script to help you to do this available from the OpenUT website at http://openut.sourceforge.net (thanks to Matt Matthews). There is also a script which will allow you to run Unreal under Unreal Tournament, with some problems (save games don't work, and the maps Dug, NaliC, Ruins, Dark, and TheSunSpire are broken). The other way to run Unreal in Linux is under emulation, using WINE - see http://www.linuxgames.com/unreal for details. ------------------------------------------------------------------------------- 4.5 Why do I get a message about Uwebadmin failing to bind to a port when trying to run ucc? The web administration server tries to bind to a port number below 1024 by default. In Linux, ports below 1024 are 'privileged' and can only be used by the root user. Two solutions: * run ucc as root (the "easy" solution, not recommended) * get the UnrealTournament.ini file from the OpenUT distribution. This contains a setting ListenPort=8000 which should solve the problem. If something else is using port 8000, edit the value for ListenPort to another number >1024 ------------------------------------------------------------------------------- 4.6 Can I use ngStats / ngWorldStats with Unreal Tournament for Linux? Yes, you can. ngStats relies on a Java Virtual Machine (JVM) being installed, so make sure you have Java support before attempting to use these features. Grab Java from Blackdown - http://www.blackdown.org More information on how to configure ngStats is available in the README file which comes with the base release of UT for Linux from Epic. Note that it seems there is a bug with the ngWorldStats support in 413, and it will not send logs even though it appears to be active. ------------------------------------------------------------------------------- 4.7 When will the latest patch be available for Linux? Unfortunately the patches for Linux sometimes lag a few days behind the Windows versions. In the case of the 405 patch, there was no release made for Linux at all. The 413 patch is available now, but at the present time it will not work with OpenUT (until Epic releases updated headers). ------------------------------------------------------------------------------- 4.8 Why doesn't network play work with the 413 patch? There was a problem with the IpDrv networking library for Linux with 413 - it was the PlayStation2 driver, which is a dummy 8-) Download the new IpDrv.so separately from the OpenUT site. Alternatively, get patch 413a ;) ------------------------------------------------------------------------------- 4.9 Why do I get "Failed to load Class IpDrv.HTTPDownload" errors when using download redirection? Unfortunately the fixed IpDrv.so for the 413a patch didn't have HTTPDownload or UCompressCommandlet compiled in. There's another new version of the library available from the OpenUT site. ------------------------------------------------------------------------------- 4.10 Why don't you guys fix in the Linux UT server? In most cases we'd like to, but basically we just not in a position to do so. At the present time (April 2000) Epic have only released the source for certain parts of the game engine. The OpenUT project only has access to the source for the graphics rendering and audio for the client (see above). The good news is that Epic have suggested that the source for the network driver IpDrv.so may become available shortly. However, this is still only one part of the server, so don't expect every possible issue to be resolved. ------------------------------------------------------------------------------- 4.11 Why does the Linux client fail with a SIGSEGV error? If I run strace on the binary I see "-1 EACCES (Permission denied)" At present UT requires that you have write access to several of the game directories, particularly the System directory. Try running as a user with write access. ------------------------------------------------------------------------------- 4.12 Why doesn't my joystick work in Unreal Tournament? It works fine with other games in Linux! Joysticks are not yet supported, however we hope to remedy this soon. =============================================================================== 5. Questions awaiting answers 5.1 Why can't I change resolution? ------------------------------------------------------------------------------- 5.2 When will UT be ported to BeOS / OS/2 / other platforms? =============================================================================== 6. Obsolete questions 6.1 Can I get the 402B patch for my Windows version of Unreal Tournament? Both versions 402A and 402B of UT were only released for Linux. These patches contain fixes to Linux-related issues only. So no, you cannot get 402A or 402B for Windows - and you don't want to, as later patches are available ;-) ------------------------------------------------------------------------------- ===============================================================================