Running Oolite-Linux
Contents
Overview
The Linux port of the game follows the Mac OS X port and is generally released at the same time. Both source and binary downloads are available. There are some minor differences between Oolite-Linux and Oolite on Mac OS X: the Linux version does not support iTunes integration, Growl or speech synthesis, but unlike the OS X version, currently has joystick support.
It is simple to install. Simply download and run the Autopackage, and then you can play the game.
Getting and installing the game
The game may be downloaded from either oolite-linux.berlios.de or [1]. If you just want to play the game it is strongly recommended you download the Autopackage - oolite-linux-1.62-3.x86.package. This contains everything needed to play the game on any recent Linux distribution. It has been tested on several distributions, including Gentoo, Fedora Core, CentOS, Debian and Ubuntu.
An autopackage is somewhat similar to the installers you might find on Windows. If you have never installed an autopackage before, once you have downloaded the game, you will need to do the following steps:
- 1. Navigate to where you downloaded the game with your file manager (by default, Firefox will download things to the desktop).
- 2. Right click on the file's icon, and select Properties.
- 3. Select the 'Permissions' tab.
- 4. Click on the check box 'Owner: Executable' to make it checked, and click Close.
- 5. Double click the file's icon to run the installer. Follow any instructions.
Once you have installed at least one Autopackage, any further autopackages you download will be recognised by your system so the first four steps will not need to be done again.
Running the game
Once the game is installed, it should appear in your Applications -> Games menu. Just click its icon. Alternatively, typing 'oolite' in a Terminal will start the game.
Installing OXPs (AddOns)
OXPs are expansion packs for Oolite. If you installed the game by entering your root password, and therefore installing the game system-wide, you will need to put OXPs in /usr/lib/Oolite/AddOns. If you installed it in your home directory, you will need to put OXPs in ~/.local/lib/Oolite/AddOns.
Updating the game
The fastest way to update the game when a new version is out is to run 'oolite-update'. Run this as the user that installed the game (so run it as root if you installed the game system-wide). To run it, either use 'Run Command' from GNOME or KDE and enter 'oolite-update', or open a Terminal and run 'oolite-update'.
Notes for AMD64 (x86_64) users
The x86 package will run on new 64-bit machines running 64-bit Linux, however, many distributions do not have all the 32-bit libraries needed to run the program. You can make it run by installing these 32-bit libraries (by hand if necessary). Currently, a native 64-bit build isn't available as a binary download because none of the developers has an amd64 system. If you are capable of building Oolite-Linux from source and have a suitable machine, it would be greatly appreciated if you can volunteer to be the maintainer of the amd64 build.
The bleeding edge
A nightly build is provided via rsync for those who want to live on the bleeding edge - it is built from the latest source in the Subversion source repository for Oolite. To get the nightly build, go to your top level Oolite directory. If you installed the game system wide using the Autopackage, this will be /usr/lib/Oolite. If you installed it as a user, this will be in your home directory - $HOME/.local/lib/Oolite. Then invoke the following command:
rsync -al rsync://rsync.alioth.net/oolite/nightly/Linux-x86/* .
Nightly builds are currently only done for the x86 platform, since the developers currently do not have any amd64 hardware to use for nightly builds. Nightly builds happen every day at 04:00 GMT whenever there is an update to the Subversion repository (and, of course, what's in Subversion must build without errors!)
Building Oolite-Linux from source
You will need the following components:
- The GNU Objective-C compiler (gcc-objc). Your distribution should have this available.
- GNUstep Startup. Your distro may provide the appropriate GNUstep development libraries.
- SDL development libraries including SDL_mixer and SDL_image. All Linux distros seem to have the main SDL library, but some do not seem to have SDL_image. This can be downloaded from the SDL Library Development website.
- To build Autopackages, you will also need the Autopackage development kit, which is available at Autopackage.org
The source code for these dependencies is also available at [2]
It is recommended you use Subversion to download the source tree. If you are porting to another processor architecture to help us provide packages for that architecture, it is recommended you use one of the tagged 'stable' release SVN repositories for your build. If you are porting to a new operating system, it is recommended you get the latest development trunk. Instructions on how to get anonymous SVN releases is at the development website oolite-linux.berlios.de. You can also browse the SVN tree there to see what tags and branches exist. If you do not have the ability to run SVN, you can use the source tarballs. You will need both a -src and -data tarball. Unpack them in the same place.
Once you have a source tree, you can build it by just typing 'make'. To run the newly-built code, then type 'openapp oolite'. If you want to build the Autopackage .package file, type 'makeinstaller'. This will leave a .package file in the build directory. You can then run this file to install the game.
Notes about the build process
The makefile is called GNUmakefile rather than 'Makefile'; this seems to be the convention for GNUstep applications. If you are not using GNUmake, then you will probably need to 'make -f GNUmakefile'. However, it is recommended that you install gmake if you are using a platform (BSD) that doesn't include GNU make (it's a dependency for GNUstep anyway). The build process first builds all the Objective-C source (source code files end in '.m' which is the standard file extension for Objective-C) into the executable oolite.app/oolite and then copies the data into oolite.app/Contents.