Change sound server to Pipewire

Parrot version: 5.0 (Electric Ara)
Kernel version: 5.16.0-12parrot1-amd64
PulseEffects Version: 14.2
Pipewire Version: 0.3.19

Hey there, I was trying to swap from using PulseAudio with PulseEffects to Pipewire as my goto sound server, and combine that with EasyEffects for any audio adjustment. Is there a way to disable PulseAudio and let Pipewire handle all the audio?

I believe I have Pipewire installed, enabled, and started using systemctl. Problem is all my audio is still going through the PulseAudio server.

Running inxi -F, I see I’ve got 3 servers
Sound Server-1: ALSA v: k5.16.0-12parrot1-amd64 running: yes
Sound Server-2: PulseAudio v: 14.2 running: yes
Sound Server-3: PipeWire v: 0.3.19 running: yes

I can stop/disable both the pulseaudio.service/socket, and all audio from my pc will stop, so I know it’s coming from there. PulseAudio doesn’t actually stay disabled tho. It’ll start back up at next boot regardless if I tell systemctl to disable it. Do I need to completely uninstall it, for things to default to using Pipewire?

Using EasyEffects I can generate a white noise that I can only assume is trying to be put through Pipewire, but no matter what I do I can’t get that noise to play to my speakers.

Thank you for your time

Hello. You probably have to uninstall it completely and leave only Pipewire, but be careful, you should follow the guide made by Debian: https://wiki.debian.org/pipewire

Hey there, sorry for the late response, but I finally had time to give that a go. It looks like it’s mostly working now.

Pretty much just followed the guide over at PipeWire - Debian Wiki, but I did start with uninstalling pipewire

  • apt autoremove pipewire
  • apt autoremove pulseaudio-module-bluetooth
  • apt install pipewire libspa-0.2-bluetooth libspa-0.2-jack pipewire-audio-client-libraries
  • touch /etc/pipewire/media-session.d/with-pulseaudio
  • cp /usr/share/doc/pipewire/examples/systemd/user/pipewire-pulse.* /etc/systemd/user/
  • systemctl --user daemon-reload
  • systemctl --user --now disable pulseaudio.service pulseaudio.socket
  • systemctl --user --now enable pipewire pipewire-pulse
  • Reboot
  • systemctl --user mask pulseaudio
  • Reboot
  • Deleted ConditionUser=!root from “pipewire.socket” and “pipewire.service” in “/usr/lib/systemd/user”, and from “pipewire-pulse.service” and “pipewire-pulse.socket” in “/etc/xdg/systemd/user”
  • touch /etc/pipewire/media-session.d/with-alsa
  • cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/
  • Reboot

I didn’t need the Jack step. Anything audio seems to work, been using it for a few days. inxi -F no longer shows a PulseAudio server, LANG=C pactl info says PulseAudio (on PipeWire 0.3.19).

That’s all fine and dandy, but now to get effects and adjustments working. I had Easyeffects installed through a flatpack before all this and it ran, but I had a suspicion things weren’t working right. So I uninstalled and reinstalled, but now it doesn’t want to launch at all.

This guide also mentions qjackctl to control any routing, so I got that, but it doesn’t look like it’s working for Pipewire. It is a service meant for Jack, so maybe I should get some Jack stuff installed too.

But I don’t know what it could be just yet, and it’ll be a bit until I try anything. But if things workout, I’ll come back and drop what I’ve done. Thank you for the help tho