Doom 3

From Segfault
Jump to navigation Jump to search

Installation

Download doom3-linux-1.3.1.1304.x86.run:

6325f0936f59420d33668754032141cb  doom3-linux-1.3.1.1304.x86.run

Install:

sudo mkdir -p /opt/doom3/bin
sudo chown -cR $LOGNAME /opt/doom3
TMPDIR=`pwd` bash ./doom3-linux-1.3.1.1304.x86.run

Move the start script symlinks to /usr/local/bin:

sudo mv /opt/doom3/bin/doom3* /usr/local/bin/
rmdir /opt/doom3/bin

We still need to install the missing data files - files in green were copied from the installation disk:

$ ls -hgo /opt/doom3/base/
total 1.5G
-rw-r--r-- 1 2.2M Apr  1  2014 game00.pk4
-rw-r--r-- 1 1.5M Sep 12 14:08 game01.pk4
-rw-r--r-- 1 3.6M Sep 12 14:08 game02.pk4
-rw-r--r-- 1 944K Sep 12 14:08 game03.pk4
-rw-r--r-- 1 1.9M Dec  5  2011 game04.pk4
-rw-r--r-- 1 337M Nov  7  2011 pak000.pk4
-rw-r--r-- 1 220M Nov  7  2011 pak001.pk4
-rw-r--r-- 1 398M Nov  7  2011 pak002.pk4
-rw-r--r-- 1 303M Nov  7  2011 pak003.pk4
-rw-r--r-- 1 227M Nov  7  2011 pak004.pk4
-rw-r--r-- 1 540K Sep 12 14:08 pak005.pk4
-rw-r--r-- 1 214K Sep 12 14:08 pak006.pk4
-rw-r--r-- 1 188K Sep 12 14:08 pak007.pk4
-rw-r--r-- 1  12K Sep 12 14:08 pak008.pk4

Revert the permissions of the installation directory:

find /opt/doom3/ -exec chmod -c go-w '{}' \;
sudo chown -cR root:root /opt/doom3/

After the first start, the serial number ("CD Key") will be requested and then stored in ~/.doom3/base/doomkey.

Usage

Console

com_showFPS    1                                      # Display current frame rate in frames per second
r_swapinterval 1                                      # Disable v_sync

Known Issues

Doom3 will dump core during exit:

--------- Game Map Shutdown ----------
--------------------------------------
Shutting down sound hardware
----------- Alsa Shutdown ------------
close pcm
dlclose
--------------------------------------
idRenderSystem::Shutdown()
------------ Game Shutdown -----------
--------- Game Map Shutdown ----------
--------------------------------------
Shutdown event system
--------------------------------------
shutdown terminal support
Segmentation fault (core dumped)

While this can't be helped at the moment, we can disable the core dump generation by adding an ulimit to the start script:

$ cat /usr/local/bin/doom3
#!/bin/sh
# Needed to make symlinks/shortcuts work.
# the binaries must run with correct working directory
ulimit -c 0
cd "/opt/doom3/"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.
exec ./doom.x86 "$@"

Links