Pipewire client just to play around with the PipeWire API
Make sure that PipeWire is working correctly on Linux.
Deinstall Pulse Audio and install PipeWire in terminal:
sudo pacman -Rdd pulseaudiosudo pacman -S pipewire pipewire-pulse pipewire-jack pipewire-alsa wireplumper
(wireplumper has replaced pipewire-media-session)
Restart afterwards and check if the PipeWire server is running by using
inxi -Azy
Since Ubuntu 23.04 PipeWire is the default audio server.
sudo apt install pipewiresudo apt install libpipewire-0.3-dev
On Ubuntu the
pipewire_clientis not connected automatically to the standard output when starting. But on Manjaro it is...no idea why.
To clone and create the project, open a command prompt and proceed as follows:
git clone https://www.github.com/rehans/pipewire-client.git
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ../pipewire-client
cmake --build .
Start the pipewire_client. Open a terminal and list the available the outputs using pw-link:
pw-link -olists all outputs including our client which is calledaudio-dsp-src:outputpw-link -ilists all inputs including the default output node, sth. likealsa_output.pci-0000_00_1f.3.analog-stereo:playback_FL(FL: Front Left)pw-link audio-dsp-src:output alsa_output.pci-0000_00_1f.3.analog-stereo:playback_FLestablishes a connection between thepipewire_clientand the OSes outputpw-link -d audio-dsp-src:output alsa_output.pci-0000_00_1f.3.analog-stereo:playback_FL->-dunlinks the connection
Inspect the terminal commands with the PipeWire Graph Qt GUI Interface app called
qpwgraph.qpwgraph
There is an app which lets you see what PipeWire is doing in a graphcal way. It is called qpwgraph.
In terminal:
- See audio/video/clients/sources/sinks/streams via
wireplumper:wpctl status - Check PipeWire Server:
inxi -Azy - List PipeWire processes:
ps -e | grep pipewire - List connected devices:
pw-cli list-objects Device systemctl --user list-unit-files | grep -E 'pulse|wire' | awk '{ print $1,"-", $2 }'