Bug 440536 - Allow playing a stream on multiple arbitrary outputs
Summary: Allow playing a stream on multiple arbitrary outputs
Status: CONFIRMED
Alias: None
Product: plasma-pa
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Other Linux
: HI wishlist
Target Milestone: ---
Assignee: David Rosca
URL:
Keywords:
: 457758 460857 470046 470339 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-08-03 01:53 UTC by Mircea Kitsune
Modified: 2024-02-13 08:40 UTC (History)
14 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Audio settings screenshot (98.69 KB, image/png)
2021-08-03 01:53 UTC, Mircea Kitsune
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mircea Kitsune 2021-08-03 01:53:28 UTC
Created attachment 140476 [details]
Audio settings screenshot

SUMMARY

This issue was brought up to me by someone close who is a streamer, to whom I suggested trying the KDE version of our Linux distribution of choice. They like the DE with the exception of a very frustrating issue: As a streamer they need to do advanced audio mixing, which involves having an application output to multiple audio devices. This is something Pulseaudio allows but the KDE interface for it doesn't. Currently they use Pulseaudio Volume Control to work around this limitation.

The problem as can be seen in the attached screenshot is that every audio device is a radio button and not a checkbox: You must pick one active device but cannot select multiple. Pulseaudio itself lets you do this, it's just this interface that does not. Could the developers please consider a method to resolve this and allow picking multiple audio inputs / outputs? Thank you.

STEPS TO REPRODUCE

Simply go to System Settings - Hardware - Audio to see this.

OBSERVED RESULT

You can select just one active audio device applied to all applications.

EXPECTED RESULT

It would be very helpful if we were able to enable multiple output devices for sound to be piped through, ideally per-application if possible. At the moment Plasma users need tools like PAVUControl to do this.

SOFTWARE/OS VERSIONS

Linux/KDE Plasma: Manjaro OS
KDE Plasma Version: Plasma 5.22.4
KDE Frameworks Version: 5.84.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION

We're aware of the setting to create a unified audio output from all devices. They clarified that isn't a good solution: They don't want the audio to go to all local outputs automatically, only certain devices of choice.
Comment 1 Nate Graham 2021-08-03 20:52:40 UTC
Yeah, fair enough!
Comment 2 Mircea Kitsune 2021-11-24 14:56:06 UTC
Has the team given any thought to this? I'm seeing it's still a limitation in 5.23.3. Any hope of seeing a solution for 5.24 perhaps?
Comment 3 Iyán Méndez Veiga 2021-12-20 22:17:28 UTC
I found this open issue after a trip that I wanted to send audio to two bluetooth headsets. Would be very useful indeed. +1 vote
Comment 4 Kai Uwe Broulik 2021-12-20 22:33:05 UTC
There's a setting for creating a virtual output device that sends it to all outputs. Not very nice UX though.
Comment 5 Kai Uwe Broulik 2021-12-20 22:42:33 UTC
"This is something Pulseaudio allows but the KDE interface for it doesn't" got any documentation on that? 

Last time I checked pavucontrol only had the same virtual output device setting that we have, no individual control.
Comment 6 Iyán Méndez Veiga 2021-12-20 22:50:25 UTC
Where is that setting? I cannot find anything to create a virtual output device.
Comment 7 K Freed 2022-01-24 09:36:42 UTC
This is most likely a problem surrounding pipewire not having support implemented in kde for multi-output devices.

KDE DEVS: please see this website. module-combine-sinks is what we are looking for here. It is marked as supported!

https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Migrate-PulseAudio#module-combine-sink
Comment 8 Mircea Kitsune 2022-01-24 14:15:28 UTC
(In reply to kortrax11 from comment #7)

Thanks for this information. That sounds like a big limitation in Pipewire itself. Until there's a solution for it, the interface could probably be adjusted to support this for PulseAudio without making it too weird for Pipewire users: PA remains the default over PW on most distributions as far as I'm aware, whereas I'm assuming the later will also get this limitation lifted before it's considered fully stable to use.
Comment 9 K Freed 2022-01-24 15:34:00 UTC
(In reply to Mircea Kitsune from comment #8)
> (In reply to kortrax11 from comment #7)
> 
> Thanks for this information. That sounds like a big limitation in Pipewire
> itself. Until there's a solution for it, the interface could probably be
> adjusted to support this for PulseAudio without making it too weird for
> Pipewire users: PA remains the default over PW on most distributions as far
> as I'm aware, whereas I'm assuming the later will also get this limitation
> lifted before it's considered fully stable to use.

There is a solution for it. It is called module-combine-sink and its included in pipe wire! The website claims that it’s usage is exactly the same as pulseaudio’s
Comment 10 Nate Graham 2022-08-11 17:47:31 UTC
*** Bug 457758 has been marked as a duplicate of this bug. ***
Comment 11 Niklāvs Koļesņikovs 2022-08-13 13:18:23 UTC
PipeWire itself is natively able to route the same stream to multiple sinks, so if plasma-pa (or plasma-pw) gained the ability to talk PW API, it should already be able to do that without combine sink.

The point of the combine sink is that the current PA API does not allow for this, so instead a new virtual device needs to be created that combines multiple other sinks and can then be chosen as the default sink in existing PA tools such as plasma-pa.
Comment 12 Nicolas Fella 2022-08-14 15:01:55 UTC
*** Bug 457758 has been marked as a duplicate of this bug. ***
Comment 13 yes456 2023-04-10 01:12:00 UTC
Will Combine-Stream from pipewire  will help  implement above feature. . https://www.phoronix.com/news/PipeWire-0.3.65-Released
Comment 14 Nate Graham 2023-05-22 21:03:31 UTC
*** Bug 460857 has been marked as a duplicate of this bug. ***
Comment 15 Nate Graham 2023-05-22 21:03:42 UTC
*** Bug 470046 has been marked as a duplicate of this bug. ***
Comment 16 Nicolas Fella 2023-05-28 21:54:12 UTC
*** Bug 470339 has been marked as a duplicate of this bug. ***
Comment 17 lrdarknesss 2024-02-13 04:53:00 UTC
Can we maybe get an update on this issue if it will ever be implemented?
It seems like Pipewire is the way to go in the future and playing music to two Bluetooth headphones simultaneously is already doable either by CLI or by some advanced applications like Helvum (see also https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2636#note_1507319).
But it would be of course much better to have a convenient UI in the Plasma settings somewhere that would allow doing something like this without being an expert.
Comment 18 Philippe ROUBACH 2024-02-13 08:40:33 UTC
>> But it would be of course much better to have a convenient UI in the Plasma settings somewhere that would allow doing something like this without being an expert.

Yes helvum is for a techie person.