Like most iD titles, RTCW was ultimately released under the GPL, and is thus available as a GNU/Linux native game. Installing it under Gentoo is as simple as "emerge games-fps/rtcw", but unfortunately the game itself no longer works in modern GNU/Linux systems. This is only to be expected with proprietary software that becomes abandoned, and would affect the operation of that software on any OS, but naturally it doesn't have to be that way with Free Software, which can be revived at any time, even years later.
Currently there are several issues with iD Software's (now old) binary release, including a "ui/menddef.h not found" error, an inability to launch without a pre-existing "default.cfg" (and an inability to create an initial copy), a problem setting the correct video mode, an inability to accept keyboard input, broken support for SDL audio (which falls back to the now typically non-existant /dev/dsp device), a stack overflow condition triggered by large OpenGL extension strings (fixed by setting the variable "__GL_ExtensionStringVersion" to a lower number, typically 17700), and finally the source is not yet 64-bit ready.
The latest development of RTCW is bzzwolfsp [ed: the project is now called rtcwcoop], a "modification of the RTCW single player source code that brings you Cooperative gameplay", however I've had no luck getting it to work (the same "ui/menddef.h not found" error, and a "black screen of death" on the menu). It also seems to be only a coop game that offers no single player mode [ed: confirmed], and simply ignores the original pak3 files. Needless to say it's still a WIP.
But then I discovered this thread on the Arch Linux forum. Following the simple instructions on that forum, I was able to build a fully-functional version of RTCW, and play the original single-player mode. Get the sources here (see post #7 in the above thread for a list of build dependencies): hg clone http://hg.ioquake.org/rtcw-sp # hg = Mercurial cd rtcw-sp wget http://slated.org/files/rtcw-1.41.patch cd src mkdir sdl && cd sdl wget https://raw.github.com/cbxbiker61/wolfsp/master/src/sdl/sdl_snd.c wget http://slated.org/files/sdl_snd.c.patch patch -p0 <sdl_snd.c.patch cd ../.. patch -p1 <rtcw-1.41.patchgit clone https://github.com/hexameron/RTCW-SP-linux cd RTCW-SP-linux/src CFLAGS="-march=i686 -O2 -pipe -fomit-frame-pointer" # edit to taste, supports 64bit too sed -i "s/\$BASE_CFLAGS = \$COMMON_CFLAGS . '-D.*$/\$BASE_CFLAGS = \$COMMON_CFLAGS . '-DNDEBUG $CFLAGS ';/" unix/Construct make mkdir -p ~/RTCW/main/ cp unix/release-x86-Linux/out/wolfsp.exe ~/RTCW/wolfsp cp unix/release-x86-Linux/out/main/* ~/RTCW/main/ cd ~/RTCW strip --strip-unneeded wolfsp
You'll need to copy all your *.pak3 files over to the ./main directory (e.g. from the demo files or Wine install from CD) then run:
This will create and populate the ~/.wolf directory with configuration files, then start the game in the default (low, 4:3) resolution. For those with an HD display, you'll need to exit the game then do the following:
echo "seta r_mode \"-1\"" >>~/.wolf/main/wolfconfig.cfg sed -i 's/seta r_customwidth.*$/seta r_customwidth "1920"/' ~/.wolf/main/wolfconfig.cfg sed -i 's/seta r_customheight.*$/seta r_customheight "1080"/' ~/.wolf/main/wolfconfig.cfg
Getting cheats to work is a bit convoluted, but it works if you do the following:
echo "set sv_cheats 1" >> ~/.wolf/main/user.cfg ./wolfsp.x86 +set sv_cheats 1
Start a new game, open the in-game console with the "`" (backtick) key, and type:
You'll get an error about sv_cheat being read-only. Ignore that, save the game, then quit. Launch RTCW again using the same flags as before, load the saved game, open the in-game console then type:
/god /give all