[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Per application sound routing



On 10/27/25 03:46, AC wrote:
I just installed trixie on a bare machine to serve as my new desktop after a long time going without one.

I chose the Cinnamon desktop environment but I can't seem to figure out how to route sound appropriately for each application to different inputs/outputs.

I have three outputs:
DisplayPort monitor with speakers
On-board sound card (headphone jack)
On-board speaker

I would like to be able to do things like send browser audio to the monitor speakers, send VLC audio to the headphones, and send Pidgin alert sounds to the on-board speaker.

When I go into the sound application in Cinnamon I don't appear to have a way to do that. I have to use an all-or-nothing routing of sound to one of the three. I can control volume of an individual application but I have to choose one of the devices and then applications only "see" that device.

Similar for inputs where I'd like audio for video conferencing to come from the webcam microphone but audio headed to a sound recorder to come from the on-board sound card (microphone jack).

How do I do this?


Try to achieve it with these packages installed:
pipewire-pulse
wireplumber
qpwgraph
Then use the graphical app "qpwgraph" to make your connections between your inputs, various apps, and outputs. By the way, you also could connect apps with other apps... connect the output of the one app to the input of another app.

The audio system in Trixie is based on the pipewire ecosystem, and it replaced pulseaudio (and JACK). As almost all consumer apps (like the ones you are interested in to use) are still programmed to work with pulseaudio only, the installation of package pipewire-pulse provides the compatibility layer for any pulseaudio dependent app to connect without any user interaction needed to the now in place pipewire system. I am now not sure, but assume that pipewire-pulse, because of its in practice central importance, was already installed in Trixie.

JACK was/is a special technique in use, which pro-audio apps use, as it provides (much better than pulseaudio) really fast system internal routing of audio streams, which some apps rely on for performing properly. If you would use apps which require JACK, then also install package "pipewire-jack" for connecting any JACK calls automatically in the background to the pipewire system, like pipewire-pulse is connecting the pulseaudio calls to pipewire. But as long as you do not know what JACK is, because no app requested it, you won't need to care for JACK. This is why I didn't list the package pipewire-jack in above list of packages which I recommend you to for sure have installed)

Wireplumber is most likely also installed already. I just list it to be sure it is. Wireplumber is a manager, which in the background manages for you that whatever hits in and out and through the pipewire system is properly organized to do so in a high performant, trouble-free way.

So, expect that pipewire-pulse and wireplumber have already been installed in your system when the audio routing and management system pipewire was installed in Trixie. If not, then install them.

What actually will be new for your system and for you is the app "qpwgraph" (it is the pipewire version of what in the past was partly done with the old qjackctl app). It is a graphical patch bay app to let you interconnect what you want to connect, and it is capable to care for all connection types at once, may it be pipewire, pipewire-pulse or pipewire-jack mediated.

Someone answered to you to use the app pavucontrol. Well, that app should also work, because as a pulseaudio app it will be incorporated via the pipewire-pulse interface to the pipewire system running in Trixie. If qpwgraph wouldn't already solve your request, then it shouldn't harm to also try the good old pavucontrol app.

Good luck!


Reply to: