TORCS Setup

Permissions

Because we want later compile and install your driver, we have to change some permissions. We assume that the username is uname and it belongs to the group ugroup. Simply replace uname and ugroup with your real values. Do (still as root)

# cd /usr/src/
# chown -R uname:ugroup torcs
# cd /usr/local/share/games
# chown -R uname:ugroup torcs
# cd /usr/local/lib
# chown -R uname:ugroup torcs

If the sound doesn't work, you have perhaps to put your user in a group like "audio". Look up your distribution manual for more information about sound. You're finished with administrator stuff, so you can go back to your normal user account.

Environment

Now we have to set up some environment variables. That you don't need to type this all the time, you put it best in your shell's rc file. For bash on SuSE that is .bashrc in your home directory. Copy the following on the end of the file. Don't forget to put a newline after the last line in the file:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export TORCS_BASE=/usr/src/torcs/torcs-1.2.4
export MAKE_DEFAULT=$TORCS_BASE/Make-default.mk

Open a new terminal with a shell to check if the .bashrc did its job. Check if the variables have the right values. We will do now a final check if everything is set up correct by recompiling a single driver (remember, you are working now as normal user in a shell where the above variables are set):

$ cd $TORCS_BASE
$ cd src/drivers/tanhoj
$ make clean
$ make
$ make install

If everything worked without errors, you are ready now! Execute

$ torcs

If TORCS hangs or something went wrong, double check the stuff and look up the torcs mailing list archives. And you know, if you get stuck... the force may be with you.
On the official TORCS site is a nice guide how to set up your joystick with TORCS. Look at "Sections", "How-To Drive".

Command Line Options

  • -s: disable multitexturing (for users of older graphics boards, e. g. i810, ATI 3D Rage LT Pro or Matrox G400/G450/G550).
  • -m: use the system mouse pointer and do not hide it.
  • -l: list the dynamically linked libraries.
  • -d: run under gdb and print stack trace on exit, makes most sense when compiled with --enable-debug.
  • -e: display the commands to issue when you want to run under gdb.

Feedback

Let me know if you read this chapter and your thoughts about it. Please send me also spelling, grammar, math and code corrections. Thank you for the feedback.