PulseAudio vs JACK: Adventures In Linux Audio

Share on twitter
Share on facebook
Share on telegram
Share on reddit
Share on pinterest
Share on linkedin
Share on tumblr
Share on email
PulseAudio vs JACK: The Battle for Linux Audio
PulseAudio vs JACK: The Battle for 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.

Tweets