Linux Setup Guide < Debian install
For packaging requests or complaints, please contact the packagers.
6.0 (Squeeze - Unstable)
Official packages are available at usual mirrors so just:
sudo apt-get install spring sudo apt-get install springlobby
will give you the latest packaged and uploaded release of spring for debian.
Debians info page for the spring packages can be found here: http://packages.debian.org/sid/spring
The packages from unstable are usually up to date, if you always want to use the latests spring packages you should add the following line to your /etc/apt/sources.list
deb http://ftp.de.debian.org/debian sid main
If you don't want to use unstable for your system you need to use apt pinning or add a file with the following content in /etc/apt/apt.conf.d/ (i.e. /etc/apt/apt.conf.d/99default):
Version tested: 0.79.1.2
- Install needed packages for compiling (as superuser or sudoer)
aptitude install build-essential p7zip-full zlib1g-dev libfreetype6-dev libsdl1.2-dev libopenal-dev libglew-dev libdevil-dev zip libvorbis-dev libxcursor-dev libglew1.5-dev libboost1.35-dev cmake libwxgtk2.8-dev
- Unpack Spring tarball, cd into its directory and compile (as user)
Install as superuser or sudoer
- Unpack Spring Lobby, cd into its directory, compile and install
./configure --disable-torrent-system --disable-sound
Install as superuser or sudoer
You can install checkinstall and create a deb package by substituting make install with:
checkinstall make install
This will create a deb file along with installing it so next time you can remove it with:
dpkg -r spring-<version> springlobby
This is not updated for 0.76b1. Somebody check if the install succeeds for the new release this way?
This is for version 0.75b2.
We need to use Yokozar's Ubuntu package, so we need some tricks.
The --build step will take about 15 minutes. Hopefully we have precompiled binaries for etch soon too.
wget -q http://ppa.launchpad.net/spring/ubuntu/387EE263.gpg -O- | \ sudo apt-key add - wget http://ppa.launchpad.net/spring/ubuntu/sources.list.d/gutsy.list \ -O /etc/apt/sources.list.d/springproject.list sudo apt-get update sudo apt-get build-dep spring -y sudo apt-get --build source spring -y sudo dpkg -i spring_0.75~b2-1_i386.deb spring-data_0.75~b2-1_all.deb
If you want to install SpringLobby also, follow the instructions later on in this guide.
Your paths are: Spring executable in
read-only data in
You should have Spring installed by now; if not, please see the SetupGuide.
Depending on your distribution/package, you still need a Multiplayer Lobby. For Linux, the most common one is SpringLobby, which you can get here. For Slackware 13.1, the binaries required for SpringLobby:
- NOTE: By default, Slackware don't have *-mt libraries, so, if you want compile/run springlobby, you must make symbolic links to libboost_*.so libraries in this way:
##ln -s /usr/lib/libboost_system.so /usr/lib/libboost_system-mt.so
- NOTE: If you have problems compiling/runing springlobby, you must be sure that you are using UNICODE config, to do that, you must run:
, and, if you have a response different to
gtk2-unicode-release-2.8you have a problem, and you must compile/install correct package.
springlobby-0.114-i686 (out of date now on v0.120)
Maps & Mods
Since Spring is only an engine, you need to download games for it, and the maps that go with those games.
SpringLobby will automatically do this for you when you attempt to join a game with a map or mod that you do not currently have, using an integrated downloader.
If you want to download it manually or browse existing maps, there are several easy to use websites:
Pick any of those sites, download a map or mod, and then double click it. This will move it to your Spring folder, using the spring map/mod installer program. If you wish to move maps/mods by hand, they are located under
~/.spring/mods/ (if the folder does not exist - create it). Do not unpack the file in any way though, just download and save it. Reload your maps/mods in SpringLobby, (Tools - Reload maps/mods) and they will be ready to use.
These sites also may provide other neat things like Lua widgets, epic replays, AI bots (for playing offline or to team up on with a friend). Generally the installation requires you to download the file and place it in the appropriate folder in your ~/.spring directory. (you may have to create the folder)
Hint: If you know the name of the map you want, there is a Search function provided in those websites. Just write a part of the name, like one word, and you will easily find the map you were looking for.
Linux specific Troubleshooting
invalid use of ILvoid / ALCvoid
NOTE: this was fixed for Slackware 13.1
During compiling, if you get a lot of the following errors:
/usr/include/IL/il.h:497: error: '<anonymous>' has incomplete type /usr/include/IL/il.h:497: error: invalid use of 'ILvoid'
This happens because the version of libdevil-dev you have installed is not compatible with gcc version 4.2 and newer. Update it.
echo '# Slow fullscreen cursor fix for Spring' >> ~/.xsessionrc echo 'SDL_MOUSE_RELATIVE=0' >> ~/.xsessionrc echo 'export SDL_MOUSE_RELATIVE' >> ~/.xsessionrc
And log out and log in again.
The mouse should now be as fast as in windowed mode.
You can rotate a building before you give the build order, but the keys that do this do not work in Linux by default for some users. Issue the following commands in the beginning of the game:
/bind keycodex buildfacing inc /bind keycodey buildfacing dec
Keycodex and keycodey above are just placeholders. What you want to write depends on which key you want to use. To see what keycodes any keys have, do:
And then hit the keys you want to use, and spring prints the keycodes in the message buffer.
If you want to save these keys you have to edit the uikeys.txt.
Problems with Audio
The engine needs at least OpenAL Soft 1.6 for its sound. If you still have the old openal-0.0.8 installed, you should update it.
Additionally, pulseaudio causes lots of issues, so try to disable it for spring if you have sound problems.
Desync in game
Spring only send the commands and not the result over the network, so it needs to run all math in a repeatable manner, so all other clients in a multiplayer match get the same results. So some CPU specific features have to enabled/disabled. If you desync, you either have a CPU that is not SSE1 capable, or you set the wrong -march/-mtune compiler flags. If you compile Spring via CMake, remove CMakeCache.txt, and leave the march flag at the default.
If You Still Have Problems
Join either IRC chat in
#taspring on Freenode or
#sy on QuakeNet, or ask for help in the lobby channels
However, generic Linux problems not really related to installing spring should be asked elsewhere.
Prepare to list your distribution, which installation method you used, and what exactly is the error.
Okay, so you need human help. This is how NOT to do it:
15:54 -!- **** [n=****@*] has joined #taspring 15:54 < ****> Hi, i have a problem with compiling spring on debian 15:54 < ****> can anyone help me? 15:57 -!- **** [n=****@*] has quit [Client Quit]
Do not ask to ask, instead go straight to business by stating the exact problem you have, and giving all necessary information. What you were trying to achieve, how did you try to do it, what happened and what did you expect to happen.
Then WAIT for someone to notice you.
- #sy @ QuakeNet
- #sy @ springrts.com (with a Spring lobby client only, f.e SpringLobby)
- #taspring @ FreeNode