asked Oct 20 '14 at 14:33 by riot ♦♦ (1.8k)

edited Oct 20 '14 at 14:33


Can't get any useful output with Bitwig Studio?

Hello! This mini howto expects that you're on familiar grounds with terminals and filesystems and that you know how to install software on your distribution. If you're not, just comment below, so other users can benefit from your questions.

Sound on Linux works like this:

  • Alsa is Linux' preferred hardware - or card - backend. Better not to be used by BWS directly, though!
  • Jack is used to bring realtime performance and flexible routing into the game.

So in essence, you configure your soundcard with alsa, then run jack and connect BWS to it.

You may want to use a terminal to follow these steps, but there are graphical tools to do most of what this howto covers.

To install all the necessary packages - and a few other goodies - on Ubuntu or Debian derivatives in general, use this command:

$ sudo apt-get install alsa-tools alsa-tools-gui alsamixergui patchage jackd2 \
  jackd2-firewire qjackctl a2jmidid gmidimonitor

Card backend: alsa

Most current soundcards and a lot of older ones are supported out of the box. Some Firewire cards can be tricky.

Most other audio software should either work with alsa or jack as backend.

Here's some pointers you can check for compatibility issues:


There are some alsa backend tools that you can use to check working state and debug problems:

  • alsaplayer

Straightforward: plays audio files, there is a graphical version, too, but the command line version can easily tell you whether your card and setup works, just use this command in a console:

$ aplay -l

..and it will lookup your soundcards and list them if they're supported.

  • alsamixer

After verifying that your card(s) work, you'll want to setup their mixers according to your setup.

Beware: At least check your mixer settings before ignoring this step! You might lateron find out that default settings for your mixer is all channels muted or set to zero.

You can use either alsamixer (console tool) or alsamixergui, which comes with a graphic display:

$ alsamixer


$ alsamixergui

Since your going to use a digital audio workstation, we'll assume, you're familiar with mixers.

Other tools

  • Storing mixer settings: alsactl

Beware: Because the mixer might be reset after reboot, use the alsactl tool to take snapshots of your mixers. Note: this requires administrator access, e.g. via your password!


$ sudo alsactl --file ~/.config/mixer.state store


$ sudo alsactl --file ~/.config/mixer.state restore
  • View sequencer data live: aseqdump

To make sure, your MIDI data is sent and received correctly, if often helps to poke around alsa's midi system, you can use aseqview to debug problems here, but we'll cover another more graphical tool later.

$ aseqdump
  • Basic alsa midi routing: aconnectgui

Using aconnectgui, you can adjust basic midi connections in alsa, but again, we'll cover another more convenient tool, later on.

$ aconnectgui

Audio backend: jack

Since alsa isn't meant for professional audio requirements, its routing and multiplexing capabilities are rather limited, or better "static" - you can configure it to offer lots of channels and mix in software - but you probably don't want to.

So to make use of Linux' realtime capabilities and to get professional mixing and routing, you want to use Jack as audio backend.

This can be done in a multitude of ways, we'll just cover the most basic ones, that are more or less guaranteed to work on every (Linux) platform.


If you only have one soundcard, the easiest way to start jack is thus:

$ sudo jackd -R -d alsa -r 96000

If you have more than one card or need special settings, it can become messy. You could lookup all of the necessary parameters in jack's manpage. But there is an easier way.

Beware: If this doesn't work, you may have either a systemwide jackd running (use qjackctl in that case and instruct it to use dbus), or something else - like another audio application - is blocking your soundcard. Jack is meant to alleviate these problems by enabling sharing of alsa resources but can still sometimes be blocked itself.


For complex setups, it makes sense to use qjacktctl, the graphical jack setup tool. It makes life a little easier e.g. by offering a drop down combobox of your sound hardware, usual buffer sizes, etc.

Bitwig Audio Engine

Once you have jack running and verified it is working as expected, set up BWS to use Jack as audio engine backend.

Further reading:


answered Oct 20 '14 at 14:34 by riot ♦♦ (1.8k)

edited Oct 20 '14 at 14:40

The OP should update this outdated and misleading post:

1) Do not promote Jack (and its complexities) - unless you have to use it. Jack does NOT add realtime capabilities to Linux audio. It's a common misconception. Jack is an additional layer on top of ALSA, and it will certainly not reduce latency of the underlying ALSA hardware.

Jack is for inter-connectivity of audio applications, and it adds ITB mixing and routing capabilities. This is independent of the DAW, but there are approaches to integrate into the DAW. Do not use Jack, unless you need to (interconnect and / or share). Bitwig can use ALSA drivers directly, no need to involve Jack (and its complications).

ALSA performance is perfectly fine on Linux. For example, I run Bitwig with 256 samples / 5ms for heavy projects, and 128 / 3ms for lightweight projects.

2) There is no one way "How do i correctly setup audio under Linux", there are many. Please do not make such broad claims. You would need to specify the exact scenario for your How-to. For example:

a) One model is to use an ALSA device - stereo or multitrack - exclusively for the DAW, and another one - stereo - for the OS (like bleeps and clicks and watching Youtube). With ALSA, you cannot share devices (like Jack would support it), you would need to assign each device exclusively (to an audio application).

b) Another model is to use Pulseaudio (which supports sharing of the ALSA device, but will downmix and resample the connected streams) and introduce latency. Not recommended for pro audio, but I mention this since Pulseaudio is standard on many recent Linux distros. See a) for separate ALSA devices, or disable Pulseaudio (which is another complexity).

c) A third model is to bring Jack into the setup. This is useful, for example, when you want to interconnect soft synths and Jack input methods, or share audio ports. Be prepared to explore Linux. I will not elaborate here, you can google the topic for your specific distro.

Bitwig Studio 3 supports all three models: You will find them in the settings under "Driver model".

As a reference, I use Ubuntu 18.04, I run Bitwig with an exclusive ALSA device (and the ALSA driver model). I also use Jack (including Jack compatibility layer for Pulseaudio) - but not when working with Bitwig. This means, for example, that I need to stop Jack first in order to free the audio device and enable Bitwig to claim the same device. Ditto for the MIDI interfaces.


answered Nov 22 '19 at 09:03 by mindanao (72)


I have a Bitwig setup with Pulseaudio. However, it looks like the latest releases caused issues with the audio engine. It doesn't activate with Pulseaudio in Audio Settings. It doesn't activate with Alsa either. I've Linux Mint 18.2. What should I try? Thanks.


answered Sep 11 '19 at 12:24 by SvenTaow (11)

edited Sep 11 '19 at 12:25

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

Markdown Basics

  • *italic* or __italic__
  • **bold** or __bold__
  • link:[text]( "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported



Asked: Oct 20 '14 at 14:33

Seen: 15,599 times

Last updated: Nov 22 '19 at 09:03