Crystal Space's X11 canvas optionally supports the MIT Shared Memory
Extension (MIT-SHM). This makes Crystal Space run much faster if your
server supports it. The Crystal Space configuration script will detect this
extension automatically and use it if present.

A note of caution: Take care when obtaining the Crystal Space source code to
ensure that the line-terminators are in Unix format (a single linefeed should
terminate each line). This is an especially important consideration when
transporting the code from Windows to Unix. Although many Unix tools deal
gracefully with Windows line-terminators (a carriage-return follwed by a
linefeed), not all tools do so, and may emit apparently inexplicable error
messages when encountering files with Windows line-terminators. The official
distributions of Crystal Space, including the stable releases and the SVN
snapshots, are packaged with Unix line-terminators, which are acceptable on all
supported platforms. These virgin packages themselves can be transported
between Windows and Unix safely

Compiling on Unix

Crystal Space can be built with either ‘make’ or Jam (see GettingJam).
Both tools work equally well. In the examples below, wherever ‘jam’
is used, you can instead substitute ‘make -k’ (with the ‘-k’) if you
so desire.

You first need to configure the project for your platform. You do this
by running the configuration script. For example, from within the ‘CS’
directory:

./configure

If you wish to build with debugging information enabled, use this command,
instead:

./configure --enable-debug

For a list of useful configuration options, invoke:

./configure --help=short

If the Crystal Space source directory is read-only, if it is shared between
several developers, or if you simply dislike building a project within its
source tree, you can instead configure and build from a different directory.
For instance:

The build process will create an executable for each demonstration program or
tool, and a dynamic-load-library for each plugin module (with extension
‘.so’ on GNU/Linux and most Unix platforms). Plugin modules include
3D renderers, 2D canvases, 3D engine, etc.

Finally, if you want to utilize Crystal Space as a software development kit
(SDK), you can install it and then clean up the detritus of the build
process:

jam install
jam distclean

You can now try running the ‘walktest’ demonstration. See section Quick Start.

Renderer Selection

The OpenGL renderer is used by default when you run Crystal Space programs. To
select a different renderer, such as the software renderer, you can edit your
local configuration file ‘$HOME/.crystalspace/Global.cfg’. Add the
following line to select the software renderer for all applications:

System.Plugins.iGraphics3D = crystalspace.graphics3d.software

Alternately, you can choose the software renderer from the command-line:

./walktest -video=software

The software renderer interacts with X11, placing output on the display
indicated by the ‘DISPLAY’ environment variable.