PulseAudio vs JACK: Adventures In Linux Audio

I consider myself an old Linux user. I have been using Linux since the early days. Back then it was very common to compile your own kernel, deal with no package managers, therefore dependency hell.

Those were the rough days. Throughout my adventures, or we could probably call those misadventures in Linux, one of the biggest pain points has always been audio. There were many reasons for audio to be bad, but I remember it was mostly hardware and drivers related. As years went by things got better and better, up to a point where in the last few years, audio works mostly out of the box. So this is a win. But is it really? Let’s find out.

Looking at Linux audio from a new user perspective, PulseAudio works fairly well and does a good job managing basic audio. Also, it is most likely that nowadays audio will work out of the box in most computers. However, issues are quite common and when they do happen, it is often a bit of a challenge for a new user. Also, PulseAudio defaults are usually tweaked to work with the widest range of audio hardware. Manual tweaking is most likely required for those that want to use high end equipment.

  • A quick list of most common issues with PulseAudio
    • PulseAudio not remembering default devices on reboot
    • PulseAudio not remembering default volumes on reboot
    • Audio Crackling, stuttering, popping
    • Static noise
    • Audio lag

One thing that is worth of notice, is that PulseAudio is an audio server that stacks on top of ALSA, a lower level audio interface. Just so you can have a better idea of what I am talking about, I am going to link a few Linux distributions wiki pages on PulseAudio/Alsa. The list of common issues they address is quite extensive.

Let the challenge begin!

In my two previous tutorials, I tried to configure my Audio Technica 2020USB+ as both input and output device, using PulseAudio and PulseEffects, and JACK via Ubuntu Studio Installer. I used Ubuntu Budgie 20.04 LTS on both my tutorials, so that I could have a fair base of comparison. Same PC, same microphone, two fresh installs of Ubuntu Budgie on separate SSDs, and a lot of patience. So how did it go?

Link to the PulseAudio + Pulse Effects tutorial.
Click here to read the PulseAudio + Pulse Effects tutorial.

PulseAudio and PulseEffects

My first attempt was with PulseAudio and PulseEffects. PulseAudio works out of the box, fairly decently on my Audio interface, that’s a good start. PulseEffects is available on most distributions repositories and very easy to install, configure and tweak. I was up and running with nice microphone effects in just a few minutes. Victory? not so soon.

Testing microphone, audio latency, and overall quality, the results were disappointing to say the least. I know a fair bit about Linux and Linux audio, and despite that, it took me quite some time, research, trial and error, before I could have my settings where I wanted. You can see my journey in my PulseAudio & PulseEffects Takes Linux Audio to New Levels tutorial. And in the end, the results were just acceptable, nothing more than that.

Link to the JACK Audio on Ubuntu Studio tutorial.
Click here to read the JACK Audio on Ubuntu Studio tutorial.

JACK provided by Ubuntu Studio Installer

I have used JACK audio in the past, on various distributions using various scripts, services, or GUI tools. There is one thing I want to stress right away: Ubuntu Studio team is awesome!

The work Ubuntu Studio team has done here is just incredible. Jack and all system tweaks, GUI tools, real time permissions, low latency kernel installation, even CPU governor tweaks. All that is presented extremely well, very easy to install, and even made available to all Ubuntu flavors. It makes using JACK audio so easy, that it was literaly faster and easier for me to configure my audio using JACK, than with PulseAudio. And with better results. No latency at all, great audio quality, great control over all my audio stack. Now that I tried it, I can’t go back. I just can’t.

Conclusion

There is a clear winner: Ubuntu Studio! It was fast, easy, and fun to set it up on my Ubuntu Budgie test. And it is even easier if you grab the Ubuntu Studio iso and install it. Everything I did, short of the Carla tweaks, works out of the box in Ubuntu Studio.

Ubuntu Budgie is the distribution I recommend to all new Linux users. It looks great, runs fast, and the Ubuntu Budgie team works really well to provide a lot of improvements on top of the Budgie DE. And now, thanks to Ubuntu Studio team, I can have the best of both worlds: I can use the Ubuntu flavor I want, and easily apply Ubuntu Studio goodness on top of it. How awesome is that? To me, this is a great victory for Ubuntu ecosystem.

Share this post

Twitter
LinkedIn
Reddit
Threads
Facebook
Email

Comments:

  1. In order to be able to work as a daily driver distribution, Studio Controls automatically create a bridge between JACK and PulseAudio. So under the hood, you are using JACK, but your applications see it just as a normal PulseAudio device.
    It is a trade-off but basically, if it works for PulseAudio, it works on Ubuntu Studio.

    Having said that, some applications can use JACK directly, and bypass PulseAudio completely. Some of those are OBS Studio and Ardour

Join the discussion at forum.tuxdigital.com

1 more reply

Participants

Avatar for scirocco Avatar for ilvipero