What is recommeded: Pulseaudio or Pipewire?

I used to have issues with crackling audio on Pulseaudio, when I had two (or sometimes more) sources active at the same time with different sample rates. This happened when one of them was a game, running via Wine, specifically.
Decided to try out PipeWire one day, just to see if anything would change, and I haven’t looked back since.

1 Like

@Keruskerfuerst thanks for asking this question. It has been on my mind too.

I’ve been reading up on the whole history of linux audio stack - oss, alsa, pulseaudio & jack, and now pipewire.

Two questions:

  1. pipewire hasn’t hit version 1 (0.3.63) yet, does that make it beta?

  2. Users using pavucontrol to manage device, application, stream volume and other, what is the replacement in pipewire?

Linux Magazine had a write-up on this topic, Getting Ready for PipeWire .

I think it is the future, even if wayland and flatpak aren’t on your radar. The question is, is the future today or a year from now. :slight_smile:

No, semantic versioning that PipeWire used doesn’t state that major version 0 is a beta work. Rather, it’s in rapid development state. Beta (or alpha as well as rc) is stated specifically after patch, such as 0.3.63-beta.

Guess what: pavucontrol. It works with PipeWire, the package pipewire-pulse provide pulseaudio compatible interface that Pavucontrol connects to.

If you need to screen sharing in a wayland session, pipewire is a must.

When I first started using Linux for audio production I was using JACK and ALSA because it had better audio quality than XP (and didn’t fall apart after 2 or 3 hours of live streaming)

I switched to Manjaro 8 years ago to get PulseAudio integrated to my workflow properly. Manjaro forum was the best place at the time to collaborate with really clever Linux people (before EOS and Garuda)
…and it has all been mostly flawless since then for many hours of late-night live online parties
(any glitches are usually between chair and keyboard/microphone!)

But most of the time now I turn off JACK and PulseAudio and use ALSA (and enjoy the simplicity)

Nothing has been broken for many years so I don’t need to replace anything with a more complex imitation

For new users, I suggest using whatever satisfies the most important principle of audio engineering

This is also consistent with Manjaro ethos that this is your system under your control and you should be free to choose whatever you want

(users should be aware that there are some forum members from other distributions that do not understand or respect this ethos and are not willing/capable of explaining the different options here)

Metapackages manjaro-pipewire and manjaro-pulseaudio should allow users to switch between
the two conflicting sound servers easily with pamac or pamac-manager No current issues reported for either metapackage

Issues with pacman or yay would probably be be ignored or rejected upstream if it relates to Manjaro metapapckages

1 Like

Thanks for the comments for my thread: what is recommended Pulseaudio or Pipewire?

Based on my experience with my hardware, I can recommend both, since I used Pulseaudio without issue, then switched to pipewire out of curiosity and it also works without issue (and I remain using pipewire). So I recommend you try both and decide for yourself. What works best at this time for someone else and their hardware may not work for you.

i agree with all things said by the pipewire camp.

in my case pulse-audio though officially supporting bluetooth in V15, arch decided to skip HD codecs which made pipewire a dealbreaker. pipewire supports HD codecs out of the box

Does dmix allow you to do the above successfully?

[HowTo] Enhance your Linux audio with EasyEffects or PulseEffects Legacy - Contributions / Tutorials - Manjaro Linux Forum I have been using it for a long time, you can set it up much better, due to Easy Effects

I was looking at replacing vlc with mpv after reading this forum entry. I used google translate.

mpv has a requirement for pipewire. It’s the first package on XFCE that I have run into. I suppose more will be coming.

If a user installs a package that requires pipewire, and it appears it is just pipewire and not pipewire-*, does that mean users will be running 2 sound servers (inxi -A)? How does that work exactly?

PipeWire is not only a sound server but also a general multimedia server (cameras, screen sharing etc in Wayland e.g. work through it) so you’ll end up with PulseAudio managing audio and PipeWire managing everything else.

1 Like

Not :100: certain it’s still the same but some DE like Cinnamon rely on pulse audio. I found out the hard way removing pulse audio removed my entire cinnamon desktop and left me with a none booting system.

Just something to bear in mind if anyone is thinking of switching, just make sure you check it’s not going to break anything else

1 Like

That’s not true. You probably removed pulseaudio without installing pipewire properly which removed too much.

In the long run, pipewire is the way to go. The meta-package manjaro-pipewire takes care of everything.

pulseaudio-alsa is a dependency of cinnamon desktop or it certainly was unless cinnamon removed it. So you need to keep that on cinnamon if you move to pipewire

My post was to make sure you don’t break anything by checking depencies which is always good practice

Note that last time I tested, going back from manjaro-pipewire to manjaro-pulse wasn’t possible automagically.

[omano@omano-nvme ~]$ sudo pacman -S manjaro-pulse
resolving dependencies...
looking for conflicting packages...
:: manjaro-pulse and manjaro-pipewire are in conflict. Remove manjaro-pipewire? [y/N] y
:: manjaro-pulse and pipewire-pulse are in conflict. Remove pipewire-pulse? [y/N] y
error: failed to prepare transaction (could not satisfy dependencies)
:: unable to satisfy dependency 'pulseaudio' required by manjaro-pulse
:: unable to satisfy dependency 'pulseaudio-bluetooth' required by manjaro-pulse
:: removing pipewire-pulse breaks dependency 'pulseaudio' required by plasma-pa
:: removing pipewire-pulse breaks dependency 'pulseaudio' required by pulseaudio-ctl
:: removing pipewire-pulse breaks dependency 'pulseaudio' required by rustdesk-bin
1 Like

Have you tried with pamac?

I don’t use any ALSA plugins, just individual audio tools direct to hardware outputs. 1 output to studio monitors, 3 to headphone mixer
Packages that require PulseAudio use a BASH script to start pulseaudio.service if needed
Launchers and scripts for JACK are based on workflows and can load multiple packages
(but discussion of ALSA and JACK is off-topic from original false dichotomy)

mpv has multiple audio dependencies: alsa-lib; jack; libpulse; pipewire
obs-studio and telegram-desktop also require pipewire as a dependency
pipewire.socket and service can be masked to continue using PulseAudio
(systemctl commands to disable pipewire.socket and pipewire.service are not respected like other systemd units)

systemctl --user mask pipewire.socket; systemctl --user mask pipewire.service
1 Like

pipewire-alsa takes care of this:

$ pacman -Qi pipewire-alsa
Provides        : pulseaudio-alsa