pipewire, nah

These notes for some seeking a solution to pipewire misbehaving on an ubuntu like system:

Install the pulse audio foo and pulse jack and the jackctl app:

sudo apt install pulseaudio pulseaudio-module-bluetooth pulseaudio-utils pavucontrol pulseaudio-module-jack qjackctl

Disable the pipewire service (this may be different, this is from ubuntu 24):

systemctl --user mask pipewire.service pipewire.socket wireplumber.service wireplumber@.service pipewire-pulse.service pipewire-pulse.socket

I use qjackctl with a number of scripts for starting and stopping the daemon in accord with pulse.

The qjackctl has the requisite 4 fields under setup/options. You many not need these, but, works for me:

I put these in a folder under ~/bin/jack

  1. pulse-jack-pre-start.sh
#!/bin/bash
pacmd suspend true
  1. pulse-jack-post-start.sh
#!/bin/bash
pactl load-module module-jack-sink channels=2
pactl load-module module-jack-source channels=2
pacmd set-default-sink jack_out
pacmd set-default-source jack_in
  1. pulse-jack-post-stop.sh
#!/bin/bash
pacmd suspend false
  1. pulse-jack-pre-stop.sh
#!/bin/bash
SINKID=$(pactl list | grep -B 1 "Name: module-jack-sink" | grep Module | sed 's/[^0-9]//g')
SOURCEID=$(pactl list | grep -B 1 "Name: module-jack-source" | grep Module | sed 's/[^0-9]//g')
pactl unload-module $SINKID
pactl unload-module $SOURCEID
sleep 5