Replaced pulseaudio with pipewire on Manjaro and I am not looking back!

This is just a quick post. I saw pipewire run across the updates list a week or so ago and decided to move to it fully since Manjaro is willing to add pieces now. I was rather paranoid so it has taken me those few weeks to work up the nerve, as well as a TimeShift snapshot.

My system as of today:

Manjaro 21.1.5
KERNEL 5.14.10-1-MANJARO
Plasma 5.22.5

Disclaimer: Everything went fine for me on my system but I cannot guarantee it will for you. Just pay attention when removing packages so you don’t lose things or break other things.

See my post on Manjaro for music production if interested. It will give you an idea of the software I use.

I read somewhere how to install pipewire but I decided to just wing it in the package manager (pamac-manager). I simply searched for pulseaudio and uninstalled everything pulseaudio that was installed. I then searched for pipewire and installed everything pipewire that was in community, no AURS, etc. I rebooted and was missing volume control (KDE only issue) so I then did a quick search and found I needed to install plasma-pa. I left jack2, cadence, carla, catia, and catarina stuff alone. Reboot.

Everything works so much better. I think I need to do some configs for bluetooth but I will worry about that when I get to it.

Note : The configuration files are no longer located in /etc/pipewire. They have been moved to /usr/share/pipewire

Update: My Boltune bluetooth earbuds sound amazing and the mic works flawlessly. The only change I made to the bluez config was uncommenting bluez5.autoswitch-profile = role in /usr/share/pipewire/media-session.d/bluez-monitor.conf

Browsers all work, headphones, MIDI keyboard, USB microphone, behringer, all my DAWS including Zrythm, which I am playing around with. All vst plugins work and sound so much better. Things that had cracks and pops no longer have cracks and pops! Like I said, I am not looking back at this point.

Uncommented and set the latency in /usr/share/pipewire/jack.conf to

jack.properties = {
node.latency = 256/48000

Update:

  • Install Realtime Privileges For Users from community in pamac-manager. Once installed add yourself to the realtime group.
  • Install WirePlumber from community in pamac-manager. once installed disable pipewire-media-session and enable wireplumber. If you have issues with media session starting see this.
  • Removed catia, cadence, catarina, and jackctl as I found they are not very useful or stable. Carla works ok.
  • Installed helvum from community as a catia replacement.
  • Install rtkit from community. Edit /usr/share/pipewire.conf and set real time settings:

   # Uses RTKit to boost the data thread priority.
   { name = libpipewire-module-rtkit
       args = {
           nice.level   = -11  
           rt.prio      = 99  

           #rt.time.soft = 2000000
           #rt.time.hard = 2000000
       }
       flags = [ ifexists nofail ]
   }

  • If you need to set latency for individual applications, like Guitarix see /usr/share/pipewire/jack.conf

If you need to restart PipeWire and session:

systemctl –user –now restart pipewire pipewire-pulse wireplumber # If using wireplumber.

OR

systemctl –user –now restart pipewire pipewire-pulse pipewire-media-session

Verify it’s running in processes and looked to make sure pulseaudio wasn’t running – all was well :

EasyEffects

Let’s run Ardour6 with pipewire as jack. You can run pw-top to see what running under pipewire. F.Y.I. You can add pw-jack to the ardour6 execution in the menu by right clicking the KDE menu and editing the Ardour entry.

Adour 6 running with pw-jack

So I started Ardour6 with pw-jack and had no outputs in master. Just turn them on and you are good to go. Zrythm worked fine. BitWig Studio doesn’t work so I can just start it normally and running Jack2 in Cadence, or command line, and work as before.

Here’s screenshots of pipewire installed and pulseaudio removed.

Helvum running pw-jack with my beringer U-Phoria UM2, Yeti stereo mic, and M-Audio keyboard jacked in via USB.
Renoise log running pw-jack with my beringer U-Phoria UM2, Yeti stereo mic, and M-Audio keyboard jacked in via USB.

Some Applications running with pipewire.

Note: Pulseaudio is running pipewire. You do not need to issue a special command like with jack. To run with jack just append the program with pw-jack.

pw-jack muse4 works great.

pw-jack bitwig-studio crappy on some bigger projects. Use pulseaudio.

pw-jack renoise works great but froze when left for awhile. Hasn’t happened again.

pw-jack hydogen doesn’t work. Use pulseaudio.

pw-jack lmms works great.

pw-jack qtractor has XRUNS but works.

pw-jack carla works well.

pw-jack obs works great.

I am finding that I need to do restarts occasionally as plugging devices in sometimes fail. Not sure if this is a wireplumber issue. I may switch back to pipewire-media-session.