Pipewire and GUI

Optimize your system for ultimate performance.

Moderators: MattKingUSA, khz

Post Reply
User avatar
GraysonPeddie
Established Member
Posts: 657
Joined: Sun Feb 12, 2012 11:12 pm
Location: Altha, FL
Been thanked: 6 times
Contact:

Pipewire and GUI

Post by GraysonPeddie »

Distro: Arch Linux
DE: GNOME 3.38

Are there any GUI tools for configuring a sound card in Pipewire?

I have my workflow setup as follows:

For playing games or video with 5.1 surround sound through HDMI, I use PulseAudio. To set the sound card to HDMI and sound profile to 5.1, I do that in GNOME's System Settings. I get sound coming into my home theater receiver from AMD Radeon 5600 XT.

For Zoom meetings (I'm taking Cisco's CCNA course), I first stopped PulseAudio (pulseAudio.service is disabled and masked as a user). In Cadence, I started the JACK sound server which communicates with my Presonus 26c audio interface, started PulseAudio from Cadence (with PulseAudio-Jack bridge), open Calf Jack Host with my saved sound configuration, wire everything up in Carla, and then start Zoom. Before my class starts, I tested my microphone and speakers to make sure everything is working perfectly. As far as I know, Zoom requires PulseAudio and does not work through JACK.

When I want to play games, I stopped JACK and restarted PulseAudio.

So how does Pipewire work for me? Are there any GUI tools that will help me configure my audio interfaces or sound cards?

When I did a search for GUI tools related to Pipewire...

Code: Select all

[grayson@grayson-epcotcenter ~]$ pacman -Ss pipewire GUI
[grayson@grayson-epcotcenter ~]$ pacaur -Ss pipewire GUI
[grayson@grayson-epcotcenter ~]$ 
Here are my screenshots from my tweet in Twitter of how I have it setup for Zoom meeting.
https://twitter.com/GraysonPeddie/statu ... 0636667904

I get the impression that there are no GUI tools for Pipewire. Am I wrong on that?

Until I complete the National Industries for the Blind's Cisco Academy program, I'm sticking with my current setup for now.

However, I'm willing to try something new only in a virtual machine until I transition my entire workflow to Pipewire, so any pointers on how I can get Pipewire setup would be great. Of course, there is only one sound card in a KVM, so it's unlikely I can test my scenario regarding choosing between different sound cards... Maybe I should get my laptop out as my testing PC...
--Grayson Peddie

Music Interest: New Age w/ a mix of modern smooth jazz, light techno/trance & downtempo -- something Epcot Future World/Tomorrowland-flavored.
User avatar
GraysonPeddie
Established Member
Posts: 657
Joined: Sun Feb 12, 2012 11:12 pm
Location: Altha, FL
Been thanked: 6 times
Contact:

Re: Pipewire and GUI

Post by GraysonPeddie »

Instead of editing my post, I want to start a new post and tell everyone what I've learned so far.

In a VM running Manjaro GNOME, I've replaced PulseAudio with pipewire-pulse and installed pipewire-jack. I also installed pipewire-jack-dropin from AUR and rebooted my system. Once I've done that, I wanted to see if JACK is running. Once I install and start qjackctl, the JACK server is already running. I launched Firefox and played my own video from odysee.com and the sound is working perfectly. Then, I installed and started Calf JACK Host and configured whatever effects units I wanted for my mic. Then, I installed and started Zoom. Once I login to Zoom, I noticed that in Carla, the Zoom client did not show up, but the Firefox client did when I play a video. I have a couple of screenshots to share.

Image
The first screenshot shows that Zoom has been started and logged in, but no Zoom client shows up in Carla.

Image
The second screenshot shows that I opened up the preference dialog, but the Zoom client still does not show up in Carla. Even when I go to the "Audio" tab.

Image
I clicked in "Test Speakers" and the sound came up garbled. However, the Zoom client did show up in Carla.

Image
I then disconnect the "VoiceEngine" client from my audio inputs and connect that to my limiter output. Everything is how I want it configured.

Once I close the Preference dialog in Zoom, the "VoiceEngine" disappeared but the one connected to the analog audio output stayed put. Zoom only shows "Built-In Analog Audio" and "Default System" input and output and nothing else.

Here is what you will hear when Pipewire is used. The sound is garbled when I click in "Test Speakers" until I stop it.
https://graysonpeddie.com/res/audio/vm_ ... litchy.ogg

And yes, I tried with and without apulse and the behavior is the same.

Anyone who uses Zoom for meetings should know that the test tone should sound clean and not glitchy.

Plus, I want something similar to pulseaudio-jack bridge that I started in Cadence that shows PulseAudio as a client. That way, Zoom sees it as a PulseAudio Jack sink instead of "Built-in Audio" or "Studio 526c."

Here's what I mean in my tweet in Twitter. Notice in Carla that there's a "PulseAudio JACK Source" and "PulseAudio JACK Sink."

I realize the question no longer becomes "does Pipewire have any GUI tools for selecting an audio interface" as I got that figured out. It seems like I can select a sound card in GNOME Settings. Am I correct that GNOME Settings uses Pipewire for sound sources? Anyway, my question for my second post then becomes: how can I configure Pipewire to create a PulseAudio sink" when I start Zoom?

Update as of 3/9/2021 (March): I have filed an issue regarding Pipewire and games that can do 5.1 surround sound.
https://gitlab.freedesktop.org/pipewire ... issues/876
--Grayson Peddie

Music Interest: New Age w/ a mix of modern smooth jazz, light techno/trance & downtempo -- something Epcot Future World/Tomorrowland-flavored.
PeterW
Established Member
Posts: 15
Joined: Thu Jul 23, 2015 2:08 pm

Re: Pipewire and GUI

Post by PeterW »

Xubuntu 22.04
Hello, I have similar problems:
I had set the bridge pulseaudio to Jack with Cadence. I can see it in Carla, but its not working, there is no sound.
The player is strawberry, and the problem is gstreamer: If I use only jack, the connection to jack get lost every time I stop the musik or change the playlist.
Without pipwire i get pulse and jack with cadence bridged. strawberry (gstreamer) will not lost the connection withe jack.
Is there any solution to get this with pipwire?
Peter
User avatar
sysrqer
Established Member
Posts: 2520
Joined: Thu Nov 14, 2013 11:47 pm
Has thanked: 319 times
Been thanked: 148 times
Contact:

Re: Pipewire and GUI

Post by sysrqer »

I'm not exactly sure what you are looking for but you might want to look at qpwgraph.

I'm confused about why you want or need pulseaudio sinks, that doesn't really make much sense in the context of pulseaudio. The pulseaudio, alsa and jack layers for pulseaudio are not separate servers and you can connect them all without needing any sinks. Effectively the sinks are automatic and it all runs through the main pipewire server.

This is zoom going through carla, I'm running the test tone through it and it sounds fine to me:
Screenshot_20220529_173128.png
Screenshot_20220529_173128.png (77.63 KiB) Viewed 10925 times
If you open pw-top you will perhaps understand what is happening.
User avatar
GraysonPeddie
Established Member
Posts: 657
Joined: Sun Feb 12, 2012 11:12 pm
Location: Altha, FL
Been thanked: 6 times
Contact:

Re: Pipewire and GUI

Post by GraysonPeddie »

My problem is resolved months ago, but thank you.

In order to get 5.1 surround sound for Proton gaming, before Pipewire developers fixed the issue in Wireplumber 0.4.9, I had to uninstall Pipewire-Pulse and replace it with PulseAudio and PulseAudio-Jack in order to get 5.1 surround sound. But now that Wireplumber 0.4.9 was released months ago, that issue is now fixed.
https://www.phoronix.com/scan.php?page= ... mber-0.4.9
--Grayson Peddie

Music Interest: New Age w/ a mix of modern smooth jazz, light techno/trance & downtempo -- something Epcot Future World/Tomorrowland-flavored.
User avatar
sysrqer
Established Member
Posts: 2520
Joined: Thu Nov 14, 2013 11:47 pm
Has thanked: 319 times
Been thanked: 148 times
Contact:

Re: Pipewire and GUI

Post by sysrqer »

Oops, sorry, I completely missed the post dates!
PeterW
Established Member
Posts: 15
Joined: Thu Jul 23, 2015 2:08 pm

Re: Pipewire and GUI

Post by PeterW »

Thanks sysrqer,
I know, this is an unsolved problem of gstreamer. And the players clementine and strawberry lost the connection to Jack if you stop a song or change the playlist. Because of this I had bridged pulseaudio and Jack with candence, because with pulsaudio the connection dos not get lost if I change the playlist or stop the song. Under pipwire the bridge in cadence is not realy working. I can see it under carla, but its not transporting any music.
User avatar
LAM
Established Member
Posts: 992
Joined: Thu Oct 08, 2020 3:16 pm
Has thanked: 140 times
Been thanked: 348 times

Re: Pipewire and GUI

Post by LAM »

PeterW wrote: Mon May 30, 2022 9:10 am Thanks sysrqer,
I know, this is an unsolved problem of gstreamer. And the players clementine and strawberry lost the connection to Jack if you stop a song or change the playlist. Because of this I had bridged pulseaudio and Jack with candence, because with pulsaudio the connection dos not get lost if I change the playlist or stop the song. Under pipwire the bridge in cadence is not realy working. I can see it under carla, but its not transporting any music.
If you are using PW for JACK applications you don't need Cadence, in that setup is useless. Also you'll not need bridges because PW should already do that.

in mix, nobody can hear your screen

User avatar
sysrqer
Established Member
Posts: 2520
Joined: Thu Nov 14, 2013 11:47 pm
Has thanked: 319 times
Been thanked: 148 times
Contact:

Re: Pipewire and GUI

Post by sysrqer »

You don't need any bridges and I don't think you really need cadence either when using pipewire. The issue of losing connection is something I have experienced with VLC before and I believe you can change the behaviour with wireplumber configuration.

On my machine the default config you need is stored in /usr/share/wireplumber/main.lua.d/50-alsa-config.lua. Copy this file to ~/.config/wireplumber/50-alsa-config.lua and change the line at the bottom:

--["session.suspend-timeout-seconds"] = 5, -- 0 disables suspend
to
["session.suspend-timeout-seconds"] = 0, -- 0 disables suspend
(remove the first '--' and change value to 0).

You might need to restart wireplumber service, or just reboot.

Edit:

From the wireplumber docs:

Pause-on-idle will stop the node when nothing is linked to it anymore. This is by default false because some devices cause a pop when they are opened/closed. The node will, normally, pause and suspend after a timeout (see suspend-node.lua).

["session.suspend-timeout-seconds"] = 5 -- 0 disables suspend

This option configures a different suspend timeout on the node. By default this is 5 seconds. For some devices (HiFi amplifiers, for example) it might make sense to set a higher timeout because they might require some time to restart after being idle.

A value of 0 disables suspend for a node and will leave the ALSA device busy. The device can then manually be suspended with pactl suspend-sink|source
User avatar
GraysonPeddie
Established Member
Posts: 657
Joined: Sun Feb 12, 2012 11:12 pm
Location: Altha, FL
Been thanked: 6 times
Contact:

Re: Pipewire and GUI

Post by GraysonPeddie »

And I did not read a post from PeterW. My bad as well. In the future, copy the URL of my thread and create a new thread based on mine so you won't get it mixed up with the dates.
--Grayson Peddie

Music Interest: New Age w/ a mix of modern smooth jazz, light techno/trance & downtempo -- something Epcot Future World/Tomorrowland-flavored.
PeterW
Established Member
Posts: 15
Joined: Thu Jul 23, 2015 2:08 pm

Re: Pipewire and GUI SOLVED

Post by PeterW »

With this the connection between Strawberry and calfeffects are stable.

https://gitlab.freedesktop.org/pipewire ... st-example

Post Reply