Building on Linux

This guide is for building on Ubuntu 5.04 and above. Other versions and distributions are not officially supported, however the build process should still theoretically work on them as well.

Tools

git

sudo apt-get install git

Prerequisites

Go to qt.io and install the latest version of the 64-bit open source version of Qt for Linux. Then run:

sudo apt-get install g++ libxcb-cursor0 libc6-dev libgl1-mesa-dev libgl-dev libglm-dev libjpeg-dev libpng-dev libpng16-16 libxml2-dev libqt6opengl6-dev qt6-base-dev qt6-default qt6-qmake qmake6 ocl-icd-libopencl1 ocl-icd-opencl-dev opencl-headers libopenexr-dev libopenexr-3-1-30

Note that if you have an older system, and libopenexr-3-1-30 is not available on it, you can use libopenexr6.

Install the OpenCL drivers and support libraries for your hardware.

AMD

For AMD get their drivers from their site, build and install a .deb package.

Nvidia

sudo apt-get install nvidia-modprobe nvidia-prime nvidia-384 nvidia-384-dev

If a version more recent than 384 is available at the time, then use that too. You can optionally check nvidia for the latest.

Obtaining source

git clone https://mfeemster@bitbucket.org/mfeemster/fractorium.git

Building

Command line build

If you have both Qt 5 and 6 installed, select Qt 6 before compilation

export QT_SELECT=qt6

Build

cd fractorium
qmake main.pro -r -spec linux-g++-64 CONFIG+="release native"
make

Qt Creator build

Open main.pro in Qt Creator and build all.

Running

cd Bin/release
./fractorium

Install/Uninstall

sudo make install

or

sudo make uninstall

Packaging

You can also compile a .deb package to install locally. A few more tools will
be necessary:

sudo apt-get install bzr bzr-builddeb dh-make debhelper

Run package-linux.sh in the project root. It will create ~/PPA/fractorium-VERSION as a work folder and build a signed source package.

For local use you probably want an unsigned binary package:

./package-linux.sh --binary-only --unsigned