Jamulus Icon. Links to Wiki homepage
Open navigation

Installation for Linux

Make sure you read the Getting Started page.

Right now, we don’t provide official packages for Jamulus

There is a list of unofficial packages for different distributions here. You can also use an all-in-one script if you want.

Meanwhile, compiling the sources is quite easy:

Get Jamulus sources

  1. Open up a terminal window (command line - CTRL+ALT+t on Ubuntu and related distros)
  2. Download and unzip the sources for the latest release:
    wget https://github.com/corrados/jamulus/archive/latest.tar.gz
    tar -xvf latest.tar.gz

Install dependencies

First, update your package list (e.g. on Debian based distributions with sudo apt-get update).

On Ubuntu-based distributions 18.04+, Debian 9+ or 10 and Raspberry Pi Raspbian Buster release or later:

sudo apt-get install build-essential qt5-qmake qtdeclarative5-dev qt5-default qttools5-dev-tools libjack-jackd2-dev

On Fedora:

sudo dnf install qt5-qtdeclarative-devel jack-audio-connection-kit-dbus jack-audio-connection-kit-devel

QjackCtl is a utility to help you set up the Jack audio server (installed as part of the dependencies above). Install it via e.g.

sudo apt-get install qjackctl

You may also wish to consider using a low-latency kernel (eg. for Ubuntu 18.04: sudo apt-get install linux-lowlatency-hwe-18.04).

Compile this bad boy

Now cd into the jamulus sources directory you downloaded:

cd jamulus-latest

Now compile the sources with the following commands (the last make may take several minutes to run):

qmake Jamulus.pro
make clean
sudo make install

Set up your sound card

Configure Jack with QJackCtl

Jamulus clients need Jack to run, but you need to configure that first. The recommended method is to use QjackCtl.

  1. Open the command shell e.g. with Ctrl-Alt-T and
  2. Execute the command qjackctl you will see the Jack Audio Connection Kit
  3. Configure your audio interface as follows (the exact settings for Jack will depend on what your audio interface/sound card is capable of):
  • Set the audio Interface to the one you want (there may be several in the list)
  • Set the Sample Rate to 48000
  • Set the Frames/Period to 128 and Periods/Buffer at 2 at first

Restart Jack to take any new settings

Start Jamulus

  1. Open the command shell e.g. with Ctrl-Alt-T and
  2. Execute the command Jamulus (with a capital ‘J’) and you will start the Jamulus Client

Jamulus puts itself into /usr/local/bin. You can now delete the sources directory you compiled from.

If you get problems with sound breaking up (in particular XRUN errors reported by Jack/QJackCtl) try setting bigger values (eg 256 frames or 3 periods) in step 3 above. Lower ones (eg 64 frames) could bring better performance but maybe more sound problems. See the troubleshooting page otherwise.

All installed?

Have a look at Hardware Setup. For detailed information on using Jamulus, please see the help manual.

To update your installation to a new release

Download the new sources as per Get Jamulus and repeat just the compilation instructions as if for a new installation above.

Notes for geeks

  • The “make clean” is essential to remove the automatically generated Qt files which are present in the .tar.gz file and may not match the Qt version you are using.

  • To use an external shared OPUS library instead of the built-in use qmake "CONFIG+=opus_shared_lib" Jamulus.pro.

  • To use this file configure the software with qmake "CONFIG+=noupcasename" Jamulus.pro to make sure the output target name of this software is jamulus instead of Jamulus.

  • Users of Raspberry Pi: You may want to compile the client on another machine and run the binary on the Raspberry Pi. In which case, the only libraries you need to run it are those for a headless server build, but with the Jack sound packages. Especially have a look at the footnote for the headless build.

  • As of version 3.5.3, Jamulus is no longer compatible with Qt4.

Summer 2020! Tell us about Jamulus - take our anonymous survey!

This documentation is licensed under a Creative Commons License. Want to contribute?