Replace Pulse Audio with Pipewire

Looking to replace Pulse Audio with Pipewire. There is an older thread on this issue, though it may be obsolete, which is why I am opening up a new one. As far as I can tell, the steps are the following:

  1. Install the audio-pipewire bundle;
  2. run the following commands (not sudo(!)):
systemctl --user disable pulseaudio
systemctl --user enable pipewire{-pulse,}
systemctl --user enable wireplumber
  1. reboot

Is that all there is to it? Can anyone confirm? What about that “ensure /usr/local/lib64 is setup” … stuff? Is that still required?

Oh, c’mon guys, throw me a bone here! Is this all that it’s required? And I say it because I did all that and I just couldn’t get qpwgraph (the flatpak version, that is) working, so methinks I must have done something wrong.

Yes, it works well with the same setup.

I just couldn’t get qpwgraph (the flatpak version, that is)

Probably the flatpak sandbox issue, extract it or compile from sources.

Thanks, @paulcarroty! Anyway, as I am attempting to switch to pipewire following the steps outlined above (namely sudo systemctl --user disable pulseaudio), I have now stumbled into a new issue: “Failed to connect to bus: No medium found.” What fresh hell is this?

Edit: silly me, these commands should not be sudo-ed. Anyway, here’s what pactl info shows:

dad@gabbysgram~ $ pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 34
Server Protocol Version: 35
Is Local: yes
Client Index: 147
Tile Size: 65472
User Name: dad
Host Name: gabbysgram
Server Name: PulseAudio (on PipeWire 0.3.72)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_4__sink
Default Source: alsa_input.usb-046d_Logitech_BRIO_CE968A70-03.analog-stereo
Cookie: dfbe:e88f

Does this mean that I have pipewire as the default audio server?

If you can’t believe your eyes, remove pulseaudio and test it again.

This (Server Name: PulseAudio (on PipeWire 0.3.72)) is the confusing line: what am I to make of it? Which one of them actually provides the audio on my system? And how would I go about completely removing pulseaudio? What would be the command?

dad@DadsGram~ $ systemctl --user status pipewire.service
● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: enabled)
     Active: active (running) since Tue 2033-07-19 06:22:55 EDT; 10 years 0 months left
TriggeredBy: ● pipewire.socket
   Main PID: 2166 (pipewire)
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
             └─2166 /usr/bin/pipewire

Jul 19 06:22:55 DadsGram systemd[2156]: Started pipewire.service.
dad@DadsGram~ $ systemctl --user status pulseaudio.service
○ pulseaudio.service - Sound Service
     Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; disabled; preset: enabled)
     Active: inactive (dead)
TriggeredBy: ○ pulseaudio.socket

(Clearly I do not have sufficient understanding of the relation between the two, so you may want to humor me with some details. As far as I know, pipewire is supposed to completely replace pulseaudio.)

I asked this question myself too. ChatGPT says;

Sure, I’d be happy to explain. ALSA, PulseAudio, and PipeWire are all key components of the Linux audio system. Here’s a brief introduction to each of them:

  1. ALSA (Advanced Linux Sound Architecture): ALSA is the low-level sound system that interacts directly with your computer’s hardware. It’s a part of the Linux kernel, the core of the operating system. ALSA provides drivers and APIs that allow programs to use your computer’s audio devices. It’s powerful and flexible, but it can be complex and tricky to configure manually. Most users interact with ALSA through a higher-level system like PulseAudio or PipeWire.
  2. PulseAudio: PulseAudio is a sound server that sits on top of ALSA. It provides a simpler and more user-friendly interface for applications, along with features that ALSA lacks, like network audio streaming, per-application volume controls, and easy switching between different audio devices. PulseAudio is the default sound system on many Linux distributions, so if you’re using Linux on a desktop or laptop, there’s a good chance you’re using PulseAudio.
  3. PipeWire: PipeWire is a newer project that aims to replace both PulseAudio and JACK, a professional-grade sound server used for high-quality audio production. PipeWire provides all the features of PulseAudio, along with better support for low-latency audio, which is important for tasks like music production and live audio processing. As of my knowledge cutoff in September 2021, PipeWire is not yet widely used as the default sound system, but it’s actively being developed and improved, and it’s expected to become more popular in the future.

In essence, ALSA, PulseAudio, and PipeWire are all pieces of software that help to manage and process the audio signals on your Linux system. They work together to allow applications to produce sound, to let you control the volume and other audio settings, and to interface with the audio hardware on your computer.

You can see it loud and clear. Now you can remove pulseaudio if don’t want to build complex routes/multiplexing/streaming etc.

1 Like