Skip to main content
Linux Audio Configuration:

Configure JACK applications to use PipeWire

Summary

Learn how to configure Debian-based systems to run JACK applications using PipeWire for simultaneous audio from multiple apps.

Introduction #

This article explains how to configure JACK applications to use PipeWire on Debian-based systems.

JACK applications, such as Ardour, Hydrogen, LMMS, and Renoise, are professional audio programs that require low-latency audio routing.

Using PipeWire, you can run these applications while maintaining audio from other desktop applications, such as web browsers or media players, simultaneously.

Understanding PipeWire and JACK #

PipeWire is a multimedia server that replaces PulseAudio and provides a JACK compatibility layer for Linux audio.

JACK stands for Jack Audio Connection Kit, a low-latency audio server designed for professional audio applications.

With PipeWire, JACK applications can coexist with standard PulseAudio desktop audio, allowing you to play music or videos while using professional audio programs.

Removing legacy JACK #

Legacy JACK packages, such as jackd1 and jackd2, are not required when using PipeWire. You can check if they are installed with:

dpkg -l | grep jackd

If any are installed, remove them:

sudo apt remove --purge jackd1 jackd2
sudo apt autoremove --purge

This prevents conflicts with PipeWire’s JACK compatibility layer.

Installing necessary PipeWire packages #

Install the PipeWire server, JACK compatibility, ALSA support, and PulseAudio replacement with the following command:

sudo apt update
sudo apt install pipewire pipewire-bin pipewire-jack pipewire-alsa pipewire-pulse wireplumber qpwgraph
  • pipewire-bin provides server binaries.
  • pipewire-jack provides JACK compatibility.
  • pipewire-alsa enables ALSA integration.
  • pipewire-pulse replaces PulseAudio.
  • wireplumber is a session manager for routing.
  • qpwgraph is a graphical routing tool.

Enabling PipeWire user services #

PipeWire services run as user services. Check that they are active with:

systemctl --user status pipewire pipewire-pulse wireplumber

Do not use sudo with --user. All three services should show Active: active (running). If not, enable and start them:

systemctl --user enable --now pipewire pipewire-pulse wireplumber

Setting up JACK applications to use PipeWire #

In the audio preferences of your JACK application:

  • Set the audio system to JACK.
  • Set the sample rate to 48000 Hz.
  • Set the buffer size to 256 (lower values may reduce latency if needed).
  • Enable realtime mode if available.

The application will automatically detect PipeWire’s JACK layer, and no pw-jack wrapper is required.

Routing and monitoring audio #

Use qpwgraph to view and manage JACK and PulseAudio clients. You will see JACK applications and other application outputs as nodes and can route them to sound devices or virtual buses. Desktop audio such as YouTube videos and system sounds can play simultaneously with JACK applications.

Testing the setup #

  1. Open a browser and start playing audio or video.
  2. Launch a JACK application and play audio.
  3. Open qpwgraph to confirm the JACK application appears alongside PulseAudio clients.
  4. Adjust routing if desired for monitoring or recording.

If audio from multiple applications plays at the same time, the setup is working correctly.

Optional tools #

If desired, you can install legacy JACK utilities without running the server:

sudo apt install jack-tools

This provides jack_lsp, jack_connect, and jack_disconnect for command-line inspection. These utilities are optional because qpwgraph provides a visual interface.

Verifying PipeWire #

Check that your system audio is routed through PipeWire with:

pactl info | grep "Server Name"

Expected output:

Server Name: PulseAudio (on PipeWire x.y.z)

This confirms that PulseAudio clients are using PipeWire and JACK applications can coexist.

FAQ's #

Most common questions and brief, easy-to-understand answers on the topic:

Can JACK applications run without using the pw-jack wrapper?

Yes, JACK applications can use PipeWire's JACK compatibility layer directly without running the pw-jack wrapper.

Will desktop audio still work while using JACK applications?

Yes, with PipeWire, desktop audio using PulseAudio and JACK applications can run simultaneously without conflicts.

Do I need to install legacy JACK packages like jackd2?

No, installing legacy JACK is not necessary. PipeWire provides a JACK compatibility layer that replaces it.

What is the correct command to check if PipeWire is running?

Use systemctl --user status pipewire pipewire-pulse wireplumber without sudo to check the user services.

What should I use instead of jack_lsp to view JACK clients?

Use qpwgraph to view and route JACK and PulseAudio clients graphically.

Further readings #

Sources and recommended, further resources on the topic:

Author

Jonas Jared Jacek • J15k

Jonas Jared Jacek (J15k)

Jonas works as project manager, web designer, and web developer since 2001. On top of that, he is a Linux system administrator with a broad interest in things related to programming, architecture, and design. See: https://www.j15k.com/

License

Configure JACK applications to use PipeWire by Jonas Jared Jacek is licensed under CC BY-SA 4.0.

This license requires that reusers give credit to the creator. It allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, for noncommercial purposes only. To give credit, provide a link back to the original source, the author, and the license e.g. like this:

<p xmlns:cc="http://creativecommons.org/ns#" xmlns:dct="http://purl.org/dc/terms/"><a property="dct:title" rel="cc:attributionURL" href="https://www.ditig.com/configure-jack-applications-to-use-pipewire">Configure JACK applications to use PipeWire</a> by <a rel="cc:attributionURL dct:creator" property="cc:attributionName" href="https://www.j15k.com/">Jonas Jared Jacek</a> is licensed under <a href="https://creativecommons.org/licenses/by-sa/4.0/" target="_blank" rel="license noopener noreferrer">CC BY-SA 4.0</a>.</p>

For more information see the Ditig legal page.

All Topics

Random Quote

“There are only two hard things in Computer Science: cache invalidation and naming things.”

Philip Lewis Karlton American computer scientist and programmerWord of mouth, - IT quotes