Linux comes now ,with Linux mint 22, standard with the pipewire sound-server instead of pulse-audio.
After a few hours of testing and searching how this could work to connect everything together like i want, ardour with firefox, audacity, spotify, youtube, mic inputs and mixer outputs, i found out that pipewire that’s delivered with the mint 22 installation has shortcomings on some libraries and other stuff. So i made a script to install everything that’s necessary for doing what it should be. It works also with Linux mint 21.3.
First of all take a snapshot of your system with Timeshift in case something go’s wrong. The script installs the ppa’s, libs and also qpwgrapgh who’s the patchbay for your audio connections, and also wireplumber. After the installations you need to reboot and test out if everything is working with the testscript. You don’t need to have qjackctl or jack anymore, because pipewire replace them all i a much better and simple way.
For info what is pipewire you can look at https://pipewire.org/
the install script is a sh file you need to make it runable and you need root rights.
#! /bin/bash
echo "Install pipewire from ppa repository"
sleep 1
#start program from here
sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
sudo add-apt-repository ppa:pipewire-debian/wireplumber-upstream
sudo apt update
sudo apt install pipewire pipewire-audio-client-libraries gstreamer1.0-pipewire libpipewire-0.3-{0,dev,modules} libspa-0.2 {bluetooth,dev,jack,modules} pipewire{,-{audio-client libraries,pulse,media-session,bin,locales,tests}}
systemctl --user daemon-reload
#apt upgrade -y
echo "Install wireplumber"
sudo apt purge pipewire-media-session -y
sudo apt install wireplumber -y
sudo apt install qpwgraph -y
echo "installing Additional packages and libraries"
sudo apt install libldacbt-abr2 libldacbt-enc2 libspa-0.2-bluetooth pipewire-audio-client-libraries libspa-0.2-jack -y
echo "enabling pipewire"
systemctl --user --now disable pulseaudio.service pulseaudio.socket
systemctl --user --now enable pipewire pipewire-pulse wireplumber
sudo apt autoremove -y
$SHELL
you can download the scrip here
After the installation process is done, reboot
Now you can test out if pipewire is working well with the following script
#! /bin/bash
echo "cheking pipewire is working well"
sleep 1
echo "-----pactl info--------------"
pactl info ;
echo "----------wpctl status---------------"
wpctl status ;
echo "---------systemctl-----------------"
systemctl --user status pipewire-pulse.socket pipewire-pulse.service &
$SHELL
the output should be something like this
cheking pipewire is working well
—–pactl info————–
Server tekenreeks: /run/user/1000/pulse/native
Bibliotheek protocolversie: 35
Server protocolversie: 35
Is Local: ja
Cliënt-index: 90
Tegelgrootte: 65472
Gebruikersnaam: user
Hostnaam: user-HP-ProDesk-600-G1-SFF
Servernaam: PulseAudio (on PipeWire 1.0.7)
Serverversie: 15.0.0
Standaard-bemonsteringsspecificatie: float32le 2ch 48000Hz
Standaard-kanalenkaart: front-left,front-right
Standaardafvoer: alsa_output.pci-0000_00_1b.0.analog-stereo
Standaardbron: alsa_output.pci-0000_00_1b.0.analog-stereo.monitor
Cookie: 2ff6:b808
———-wpctl status—————
PipeWire ‘pipewire-0’ [1.0.7, user@user-HP-ProDesk-600-G1-SFF, cookie:804698120]
└─ Clients:
32. pipewire [1.0.7, user@user-HP-ProDesk-600-G1-SFF, pid:1294]
34. WirePlumber [1.0.7, user@user-HP-ProDesk-600-G1-SFF, pid:1295]
35. WirePlumber [export] [1.0.7, user@user-HP-ProDesk-600-G1-SFF, pid:1295]
50. Cinnamon Volume Control Media Keys [1.0.7, user@user-HP-ProDesk-600-G1-SFF, pid:1538]
51. Muffin [1.0.7, user@user-HP-ProDesk-600-G1-SFF, pid:1678]
52. Cinnamon Volume Control [1.0.7, user@user-HP-ProDesk-600-G1-SFF, pid:1678]
53. wpctl [1.0.7, user@user-HP-ProDesk-600-G1-SFF, pid:4913]
58. xdg-desktop-portal [1.0.7, user@user-HP-ProDesk-600-G1-SFF, pid:2234]
Audio
├─ Devices:
│ 46. Built-in Audio [alsa]
│ 47. Built-in Audio [alsa]
│
├─ Sinks:
│ * 41. Built-in Audio Analog Stereo [vol: 0.78]
│
├─ Sink endpoints:
│
├─ Sources:
│ 48. Built-in Audio Analog Stereo [vol: 1.00]
│
├─ Source endpoints:
│
└─ Streams:
Video
├─ Devices:
│
├─ Sinks:
│
├─ Sink endpoints:
│
├─ Sources:
│
├─ Source endpoints:
│
└─ Streams:
Settings
└─ Default Configured Node Names:
———systemctl—————–
user@user-HP-ProDesk-600-G1-SFF:~/extra-soft-in-use/eigen-scripts$ ● pipewire-pulse.socket – PipeWire PulseAudio
Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.socket; enabled; vend>
Active: active (running) since Tue 2024-10-15 18:34:13 CEST; 30min ago
Triggers: ● pipewire-pulse.service
Listen: /run/user/1000/pulse/native (Stream)
CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/pipewire-p>
okt 15 18:34:13 user-HP-ProDesk-600-G1-SFF systemd[1284]: Listening on PipeWi>
● pipewire-pulse.service – PipeWire PulseAudio
Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; enabled; ven>
Active: active (running) since Tue 2024-10-15 18:34:13 CEST; 30min ago
TriggeredBy: ● pipewire-pulse.socket
Main PID: 1294 (pipewire-pulse)
Tasks: 3 (limit: 9252)
Memory: 8.3M
CPU: 67ms
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewi>
└─1294 /usr/bin/pipewire-pulse
okt 15 18:34:13 user-HP-ProDesk-600-G1-SFF systemd[1284]: Started PipeWire Pu>
user@user-HP-ProDesk-600-G1-SFF:~/extra-soft-in-use/eigen-scripts$
In the start menu you’ll find a program called qpwgraph, this is the patchbay to connect all audio sources and sinks you want.
You also need to have pavucontrol to change some volumes of the sources.
sudo apt install pavucontrol
you can find it also in the program manager of your system
for youtube info about pipewire see