linuxcreative.com logo

artistic freedom,

free of charge

PipeWire: The Next Big Thing in Linux Audio Production?

Categories:

Music Production Audio

PipeWire or JACK: Which is Best for You?

As Linux distributions are increasingly shipping with PipeWire, an alternative to the long-standing JACK Audio Connection Kit, many audio producers wonder whether it’s time to switch. PipeWire claims to be a drop-in replacement for JACK, PulseAudio, ALSA, and GStreamer, promising to simplify audio routing and device control. This could significantly lower the entry barriers for newcomers to Linux-based audio production. But is PipeWire really ready for your studio? I pushed both PipeWire and JACK to their limits on my studio computer to answer this question for myself.

JACK Audio Connection Kit

JACK has been the de facto standard for professional audio software on Linux for over two decades. It provides low-latency connections for audio and MIDI data between applications in real-time, with a modular architecture that allows effortless audio output/input switching between different software. JACK also offers features such as local network audio routing that can benefit larger studio setups with multiple control rooms, studios, and isolation booths.

PipeWire

PipeWire aims to improve audio and video processing on Linux by providing a low-latency, graph-based processing engine that handles audio and video devices managed by both PulseAudio and JACK. Designed with containerized applications in mind, PipeWire aims to be a core building block for future Linux application development, together with Wayland and Flatpak. PipeWire’s audio routing and device control features appear more user-friendly than those of JACK, but it may require some configuration to match JACK’s low-latency performance. I used this information to create my low-latency PipeWire configuration file.

Testing PipeWire vs. JACK Performance

After configuring PipeWire for round-trip latency under 40 milliseconds, I found that PipeWire performed well with a very normal buffer size of 256 samples (~18 milliseconds round-trip latency), but experienced xruns when pushed to the limit with a buffer size of 64 at a clock rate of 441000 (~4.5 milliseconds round-trip). In comparison, JACK played back a 20-track recording session with audio and MIDI plugins without a single xrun. While JACK performed markedly better than PipeWire in this test, it was my first experience with PipeWire, and more testing is needed to compare the two audio systems under different scenarios and setups. More configuration tweaking and environment variables could push PipeWire into the lead.

Conclusion

While PipeWire offers promising features for audio and video processing on Linux, including improved audio routing and device control, JACK remains the de facto standard for professional audio software on Linux. For audio producers who prioritize low-latency performance and need a modular architecture that allows for flexible audio routing, JACK may still be the best choice. However, with PipeWire evolving and gaining wider adoption, it’s worth testing its performance on your machine and keeping an eye on its development. The Linux kernel’s built-in realtime scheduling may also make patched kernels unnecessary for many professionals. Experiment with different setups and share your experiences to help improve Linux-based audio production.