SLUDGE

Compiling SLUDGE on Debian/Ubuntu


There are generic instructions how to compile SLUDGE in the INSTALL file which is included in the source archieve. The following instructions describe the installation of SLUDGE on Debian or Ubuntu a little bit more detailed. If you keep in mind that other distributions may have other ways to gain root privileges (than sudo, use su on Debian), other packaging management tools (than apt-get) and other package names, these instructions should help you installing SLUDGE on any Linux distribution.

Dependencies

First you have to make shure that a graphics driver with 3D acceleration is installed.

Then install the following dependencies from the repositories:

Package list for copying:

sudo apt-get install build-essential cmake libsdl3-dev libpng-dev libvorbis-dev libdumb1-dev libvpx-dev xdg-utils

The additional dependencies for the Dev Kit:

sudo apt-get install libgtk-3-dev libepoxy-dev

Some distributions, such as Ubuntu 24.04, have no libsdl3-dev. Then leave it out, and CMake downloads SDL 3 and builds it from source. For that, the development packages for your display system and your sound system are required, as listed in the file docs/README-linux.md of SDL.

Installing SLUDGE

Now it's time to download the SLUDGE source code from the GitHub releases page, or to clone it with git:

git clone https://github.com/opensludge/opensludge.git

We build the Engine and the Dev Kit with CMake:

cd opensludge

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release

cmake --build build

sudo cmake --install build

To build only the Engine, add -DSLUDGE_DEVKIT=OFF to the first cmake command, and to build only the Dev Kit, add -DSLUDGE_ENGINE=OFF. With -DSLUDGE_DOC=ON, we also install this documentation and the example projects.

OpenGL ES 2

SLUDGE has experimental support for OpenGL ES 2. To use OpenGL ES 2 on Debian or Ubuntu, install libgles-dev, and configure the Engine with

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DSLUDGE_GLES2=ON

For the OpenPandora, the Raspberry Pi or an ODROID, use -DSLUDGE_DEVICE=OpenPandora, RaspberryPi or ODROID instead. With these, we also draw with OpenGL ES 2.

See also:

Using the SLUDGE Engine on Linux

Using the SLUDGE Dev Kit on Linux