**This is an old revision of the document!**

JACK

TL;DR
You should install Jack2 if you intend to use audio or video creation applications on Linux.

If you have any experience with traditional professional audio hardware (synthesizers, effects, mixers) or even professional networking gear (routers, switches, vlans), then you are accustomed to the notion that signals must be routed from one place, through a filter of some sort, to a target, and then perhaps through another filter, and then a final destination.

Patchbay by Pinnacle_College on Flickr.

JACK is an application that, once started, runs in the background and enables the user to freely route audio from any application to any other application. It is a system-wide implementation of what other audio applications can only do internally, and is one of the true “killer” features of Linux audio.

Whether or not you use JACK on a daily basis or just once a year depends on what you do with your computer. There are three varieties of audio applications on Linux:

  • Those that are not designed to use JACK (ie, it has not been programmed to use be “JACK-aware”, but being open source, there are hacks around that). These are usually the “normal” consumer apps, such as web browsers, media players, games, and so on).
  • Those in which JACK is optional. This can include consumer apps as well as pro audio applications that are designed to be self-contained.
  • Those that require JACK in order to run. These include many professional-level audio and video applications (although not all).

Given that JACK isn't just a service that you can install and activate and forget about, but an interactive sound server, it may be overkill. If you don't use pro audio applications, it's likely that you will never use JACK.

If you think you will use JACK because you do pro audio, read this section to learn about JACK, how to use it effectively and efficiently, and how to integrate it with your system. If not, you can skip this section; just install Jack2 from http://slackbuilds.org just in the event that it's a soft requirement for other applications that you may use.

JACK Versions

There are two concurrently supported versions of JACK: Jack version 1 (numbered as Jack 0.x) and Jack version 2 (numbered as 1.x, and marked as Jack2 on SlackBuilds.org). They are interchangeable and both basically do the same thing. If you install the wrong version, neither you nor applications that use it will ever notice. However Jack2 includes significant additional features that make it worth using over the original: true multi-processor support, hot-pluggable application interaction, and network support (useful for integrating your Linux system with a hardware mixer, for example).

For most users, Jack2 is the best option.

However, http://slackbuilds.org lists jack-audio-connection-kit as a dependency for many of packages that actually only require either version of JACK. For this reason, you must:

JACK is a tool that you start and stop in the unix shell, so it will not appear in your K-menu.

Starting JACK

There are a few very good visual front-ends for JACK: qJackCtl, an all-in-one JACK configurator and patchbay manager, and Patchage along with the session manager aj-snapshot. Since both of those front-ends involve sessions (what is routed where), they are not discussed here; read their dedicated tutorial sessions, depending on which you decide to use.

Before you decide on a front-end, you should know how to start and stop JACK in the shell.