Difference between revisions of "Running Oolite-Linux"

From Elite Wiki
m (bump version number)
(Links: Added another)
(26 intermediate revisions by 11 users not shown)
Line 1: Line 1:
 
== Overview ==
 
== 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.
+
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.
 
It is simple to install. Simply download and run the Autopackage, and then you can play the game.
Line 7: Line 7:
 
== Getting and installing the game ==
 
== Getting and installing the game ==
  
The game may be downloaded from either [http://oolite-linux.berlios.de oolite-linux.berlios.de] or [ftp://ftp.alioth.net/oolite]. If you just want to play the game it is strongly recommended you download the Autopackage - oolite-linux-1.62-4.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.
+
=== 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 latest current stable release, 1.88, can be downloaded at [http://oolite.org/download Oolite.org]. <!-- Test releases can be downloaded from [http://developer.berlios.de/project/showfiles.php?group_id=3577 the BerliOS project]. --> New releases are announced on [http://www.aegidian.org/bb/viewforum.php?f=9 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:
 
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:
Line 20: Line 27:
  
 
== Running the game ==
 
== Running the game ==
 +
 +
'''Important''' - Fedora Core >=5 users should read [[Running Oolite-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.
 
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.
Line 30: Line 39:
  
 
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 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 ==
 
== 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:
+
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. [http://terrastorage.no-ip.info/oolite/status.html 32-bit Nightly] or [http://terrastorage.no-ip.info/oolite/status_AMD64.html 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.
 
 
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 ==
 
== Building Oolite-Linux from source ==
Line 49: Line 50:
 
* [http://www.gnustep.org GNUstep Startup]. Your distro may provide the appropriate GNUstep development libraries.
 
* [http://www.gnustep.org 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 [http://www.libsdl.org the SDL Library Development website].
 
* 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 [http://www.libsdl.org 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 [http://autopackage.org Autopackage.org]
 
* To build Autopackages, you will also need the Autopackage development kit, which is available at [http://autopackage.org Autopackage.org]
  
 
The source code for these dependencies is also available at [ftp://ftp.alioth.net]
 
The source code for these dependencies is also available at [ftp://ftp.alioth.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 [http://oolite-linux.berlios.de 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.
+
You may also want the following optional component:
 +
* espeak, if you want speech (1.73 & later). Your distribution should have this; otherwise, see [http://espeak.sourceforge.net espeak.sourceforge.net].
 +
 
 +
It is recommended you use git to download the source tree. First do
 +
git clone https://github.com/OoliteProject/oolite.git
 +
to get the main repository. Then, in the directory this creates, do
 +
git submodule update --init
 +
to pull in various other components such as dependencies, binary resources, and so on. The old SVN repository is no longer being updated.
  
 
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.
 
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.
Line 59: Line 68:
 
=== Notes about the build process ===
 
=== 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.
+
* 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:<br />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 [http://aegidian.org/bb/viewtopic.php?t=8008&highlight= forum post] details how to build and install gnustep for developing Oolite.
 +
 
 +
=== General Comment on Linux ===
 +
{{QuoteText|Text=Oolite depends on some very specific versions of several libraries, and in some cases, special custom modified versions of those libraries, all of which are compiled and bundled with the Oolite tar package supplied at Oolite.org. Distros which supply Oolite via their package managers generally link to the standard installations of those same libraries, and when those libraries get updated, it tends to break things, so far as Oolite is concerned.
 +
 
 +
The Oolite.org version is linked to its own bundle of libraries, which are packaged in such a way that they do not interfere with the libraries as used by the rest of the OS. The only executable which will ever access them is Oolite. That way, we can make sure Oolite runs on the widest possible variety of Linux distros, without having to spend all our time tracking library version changes across dozens of distros, and also avoid having to deal with the creators of the libraries concerned, who have shown little interest in implementing our required customisations into their standard package.|Source=([http://oolite.aegidian.org/bb/viewtopic.php?p=256411#p256411 Diziet Sma (2017)])}}
 +
 
 +
==Links==
 +
* [[Running Oolite-Unix|Running Oolite on Unix]]
 +
* [[Running Oolite-Fedora Core 5|Running Oolite on Fedora 5]]
 +
 
 +
* [http://aegidian.org/bb/viewtopic.php?f=2&t=18577 (Linux) Assign more RAM to Oolite?] (2017)
  
[[Category:Oolite]]
+
[[Category:Oolite]][[Category:Help pages]]
 
[[Category:Factual]]
 
[[Category:Factual]]

Revision as of 19:05, 17 January 2023

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 latest current stable release, 1.88, 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 Running Oolite-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 git to download the source tree. First do

git clone https://github.com/OoliteProject/oolite.git

to get the main repository. Then, in the directory this creates, do

git submodule update --init

to pull in various other components such as dependencies, binary resources, and so on. The old SVN repository is no longer being updated.

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.

General Comment on Linux

Oolite depends on some very specific versions of several libraries, and in some cases, special custom modified versions of those libraries, all of which are compiled and bundled with the Oolite tar package supplied at Oolite.org. Distros which supply Oolite via their package managers generally link to the standard installations of those same libraries, and when those libraries get updated, it tends to break things, so far as Oolite is concerned.

The Oolite.org version is linked to its own bundle of libraries, which are packaged in such a way that they do not interfere with the libraries as used by the rest of the OS. The only executable which will ever access them is Oolite. That way, we can make sure Oolite runs on the widest possible variety of Linux distros, without having to spend all our time tracking library version changes across dozens of distros, and also avoid having to deal with the creators of the libraries concerned, who have shown little interest in implementing our required customisations into their standard package.

(Diziet Sma (2017))

Links