From bigfug
Jump to: navigation, search

Compiling Fugio on Ubuntu Linux

This guide will take you through all the steps required to go from a clean Ubuntu install (based on 16.04) to a fully working compiled version of Fugio (based on 1.4.0)

You'll need to be connected to the internet, and be comfortable with basic terminal skills to be able to follow this guide.

Install Build Tools

We need to install the base level of tools for compiling software.

Open a Terminal window and type in:

sudo apt-get update

sudo apt-get upgrade

These commands will make sure your system is up to date.

To make changes to your system you'll be prompted to enter your password

sudo apt-get install build-essential

This command installs any missing commands that we'll need.

Install Additional Tools

We'll also need to install the following tools:

sudo apt-get install git mesa-common-dev libglu1-mesa-dev

Install Qt 5

Fugio is based on Qt 5, which is a fantastic cross-platform system for creating C++ based software.

Download and install Qt 5 for Linux from:

Run the installer:

cd ~/Downloads/

chmod +x


Follow the installer through and choose the most recent stable version (5.7 as of writing). To reduce the install time, you can deselect the Android development options.

Download the Fugio source code

Decide where you want to compile Fugio, (here we're going to build it on the Desktop) and do the following:

cd ~/Desktop/

mkdir Fugio

cd Fugio

git clone --recursive -b develop

Important: Note that you should now have two nested directories called Fugio:



So far we have installed everything required to compile the core of Fugio however we need to install additional libraries if we want to compile the various plugins.

Plugins are designed to compile with or without the required libraries installed, so you can choose which ones you want.


FFTW (Fastest Fourier Transform in the West) is used by Fugio for processing audio between time and frequency domains.

The main website is:

Install FFTW with:

sudo apt-get install fftw3-dev


Lua is a small and very fast scripting language that can be used to create your own nodes.

The main Lua website is at:

Install Lua with:

sudo apt-get install lua5.3 liblua5.3-dev


The PortAudio project provides a cross-platform C library for accessing the audio device of your computer.

Follow the installation guide here:


The PortMidi project provides a cross-platform C library for accessing MIDI devices of your computer.

Install PortMidi:

 sudo apt-get install libportmidi-dev


Dlib is a modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real world problems.

Install dlib:

 sudo apt-get install libdlib-dev


OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library.

Install OpenCV:

 sudo apt-get install libopencv-dev

Video Capture

 sudo apt install cmake libv4l-dev
 git clone
 cd video_capture/build

At this point I had to modify the CMakeLists.txt and include the line:


and then compile with:

 ./ 64


You'll need the VST3SDK and make the following change:

aeffect.h line 70

#define VSTCALLBACK __cdecl



Building Fugio

We can build Fugio visually, using Qt Creator, or via the command line

Building Fugio using Qt Creator

Qt Creator is a visual editor for creating Qt projects. If you want to use it to compile Fugio, it's a simple procedure:

  1. Run Qt Creator
  2. Open the ~/Desktop/Fugio/Fugio/ project
  3. Choose the default build options
  4. Build and run the project

Building Fugio by command line

If you'd rather build Fugio in your terminal, use the following steps:

cd ~/Desktop/Fugio

mkdir build-release

cd build-release

~/Qt/5.7/gcc_64/bin/qmake ../Fugio/


Fugio will be built into ~/Desktop/Fugio/build-release