Running Oolite-Linux

From Elite Wiki
Revision as of 18:12, 14 May 2012 by Cim (talk | contribs) (Overdue update for Linux install page)

Overview

The Linux port of the game follows the Mac OS X version and is released at the same time. Both source and binary downloads are available. There are some minor differences between Oolite for Linux and Oolite on Mac OS X: the Linux version does not support iTunes integration, or Growl.

It is simple to install. Simply download and run the Autopackage, and then you can play the game.

Getting and installing the game

Ubuntu and Debian users

Oolite is available in the software repositories for both recent versions of Debian and Ubuntu (7.10, Gutsy Gibbon). Under Ubuntu, just go to Applications -> Add software, and search for Oolite in all packages. The game's icon appears in the Applications -> Games menu. Currently the version in Debian stable is the extremely old 1.65 (unstable does have 1.76), and the version in Ubuntu is 1.75.3. Until the repositories are updated we recommend you install 1.76 following the instructions below.

Other distributions

The current stable release, 1.76, can be downloaded at Oolite.org. New releases are announced on the Oolite forum.

If you just want to play the game it is strongly recommended you download the Autopackage. 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

Important - Fedora Core >=5 users should read Oolite on Fedora Core 5

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'.

The bleeding edge

A nightly build is provided for those who want to live on the bleeding edge - it is built from the latest source in the Subversion source repository for Oolite. 32-bit Nightly or 64-bit Nightly. Remember that the nightly builds are under constant development and may at any time include serious bugs not present in the released versions. While the developers welcome feedback on test versions, we recommend that if you just want to play Oolite you use the stable released versions.

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.
  • OpenGL development libraries - your distribution will have these.
  • 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 [1]

You may also want the following optional component:

  • espeak, if you want speech (1.73 & later). Your distribution should have this; otherwise, see espeak.sourceforge.net.

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.
  • A new dependency on the SpiderMonkey JavaScript v1.70 library was introduced on SVN revision 1157. This requires some attention regarding the Linux build process. The full instructions on building the game successfully with JavaScript 1.70 on Debian can be found in the following forum post:
    http://aegidian.org/bb/viewtopic.php?p=42188&highlight=#42188
  • As of 1.73, a new 'Makefile' has been added to the project to simplify building Oolite. Assuming your system has all required build dependencies installed (as outlined above), you can build debug and optimised copies of Oolite with the following commands. The included Spidermonkey dependency is automatically built as well. For a full list of targets, use 'make -f Makefile help'.
    • make -f Makefile debug
    • make -f Makefile release

Notes about GNUstep

Several bugs have been found with gnustep-base1.19.3 which affect Oolite to a greater or lesser extent. As older versions of several popular Linux Distributions ship with this version of GNUstep, it is highly recommended that you compile and install a known good version of GNUstep for development. gnustep-base1.18 is known to be good. The current trunk (gnustep-base1.21.1) appears to also be ok.

This forum post details how to build and install gnustep for developing Oolite.