Bug 455283 - plasma-pa 5.25.0 applet hides virtual devices by default
Summary: plasma-pa 5.25.0 applet hides virtual devices by default
Status: RESOLVED INTENTIONAL
Alias: None
Product: plasma-pa
Classification: Plasma
Component: applet (show other bugs)
Version: 5.25.0
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
: 455330 (view as bug list)
Depends on:
Blocks:
 
Reported: 2022-06-14 21:22 UTC by Niklāvs Koļesņikovs
Modified: 2024-04-16 15:24 UTC (History)
12 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Niklāvs Koļesņikovs 2022-06-14 21:22:40 UTC
SUMMARY
After upgrading to Plasma 5.25.0 I was very confused when plasma-pa widget did not show any device as being the default sink (output for clients). Upon restarting [PipeWire] daemons the plasma-pa OSD did show that the virtual sink I expected was in fact added, so I went to check if it's now the default and then I realized that it's still not showing any sink being default and that there was no mention of the virtual device which had clearly been added.

Naturally I then checked the full KCM Audio panel which did in fact list it present and default. Therefore I checked widget's configuration options and found in it, I believe, a new entry called `Display: <checkbox> Show virtual devices` which for some reason was unchecked.

This is wrong on two levels: 1) I find it hard to understand why would anyone want such functionality in the first place because there's usually no virtual devices at all, and when they are present, the only devices someone might want to hide in such case would be select physical devices [either for esthetic reasons or to avoid accidentally picking the real device when the intention is to always use the virtual] but they never want to hide the virtual devices. And 2) as a self evident consequence of the previous statement, one would *never* set such hiding as the default behavior, because any virtual devices present are there because something intentionally created them (with the only possible exception being the Dummy device which is there when no other audio node is present to save badly written PA clients from hanging themselves).

STEPS TO REPRODUCE
1. pactl load-module module-null-sink sink_name=illustrative-test-sink

OBSERVED RESULT
By default the null sink created above will not be visible after upgrading to Plasma 5.25.0

EXPECTED RESULT
Virtual sinks should always be visible by default because they are only created when something intentionally caused them to come about. It is not expected or intended for them to not be visible to the tool which is most obviously meant to manage them.

SOFTWARE/OS VERSIONS
Operating System: Gentoo Linux 2.8
KDE Plasma Version: 5.25.0
KDE Frameworks Version: 5.95.0
Qt Version: 5.15.4
Kernel Version: 5.19.0-rc2 (64-bit)
Graphics Platform: Wayland
Processors: 12 × 12th Gen Intel® Core™ i5-12400
Memory: 31.1 GiB of RAM
Graphics Processor: AMD Radeon RX 580 Series
Manufacturer: ASUS

ADDITIONAL INFORMATION
Users might appreciate a way to hide particular devices in the widget be them virtual or physical but that should be a strictly opt-in behavior and for a particular device rather than a blanket hiding of a particular device class or type.
Comment 1 Nate Graham 2022-06-15 17:40:13 UTC
This was done intentionally in https://invent.kde.org/plasma/plasma-pa/-/merge_requests/115.

We can revisit the default setting though. Arjen, what do you think?
Comment 2 Adrian Maulani 2022-06-16 04:17:56 UTC
*** Bug 455330 has been marked as a duplicate of this bug. ***
Comment 3 postix 2022-06-16 13:32:10 UTC
(In reply to Nate Graham from comment #1)
> This was done intentionally in
> https://invent.kde.org/plasma/plasma-pa/-/merge_requests/115.
> 
> We can revisit the default setting though. Arjen, what do you think?

Why not should them always below in their own section? :)

** Physical devices **
device1
...

** Virtual Devices **
...
Comment 4 Niklāvs Koļesņikovs 2022-06-20 17:49:23 UTC
There is now https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/296 which is about being able to mark virtual devices as either not eligible for default sink status or ideally not even visible to PulseAudio management tools. Assuming Steam Deck OS is also using PipeWire and WirePlumber, Valve might be interested in provided their feedback or even MR implementation for that. Unfortunately I can't comment on technical feasibility of doing this without extending the PulseAudio protocol (which will, I believe, only be accepted in PipeWire if the legacy PulseAudio does it first).
Comment 5 Alexandre CATTEAU 2022-07-01 11:27:23 UTC
Just to add another use case where virtual devices are useful in applet: I use pulseaudio-dlna to add virtual audio devices corresponding to DLNA renderers (or "players") on local network. It allows for example to punctually move an audio source to an output device in another room. And doing so with the drag'n'drop feature of the applet is just perfect. ;)
Comment 6 Niklāvs Koļesņikovs 2022-09-24 20:07:12 UTC
I'm quite sure WirePlumber just got an undeserved bug report of this issue. :(

https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/353
Comment 7 jan.claussen10 2024-04-16 13:26:35 UTC
Is there any way to do this now? I want to create a combined source using a null sink and combining it with a loopback device, which I pipe my microphone into. This way I could play high quality audio in online meeting in e.g. Slack. The null sink monitor is not selectable though.
Comment 8 Niklāvs Koļesņikovs 2024-04-16 15:10:27 UTC
If you left click on the volume control applet (the Plasma one, of course) and then left click on the so called burger menu (the three horizontal stripes arranged vertically) which is somewhere in the top left side of the applet, it should have a check box for showing virtual devices.

It would be nice if that check box was set to enabled state by default to show virtual devices, which is what this bug is primarily about.
Comment 9 Niklāvs Koļesņikovs 2024-04-16 15:11:26 UTC
Sorry, somewhere in the top right hand corner of the applet.
Comment 10 Nate Graham 2024-04-16 15:19:36 UTC
After almost two years, I don't think we're planning to revisit this. If you don't like it, changing it is two clicks away.
Comment 11 Niklāvs Koļesņikovs 2024-04-16 15:24:20 UTC
Nah, thanks for closing this. I was quite literally wishing it was closed but obviously doing that on my end would be poor form, because it's a real issue.

Technically WirePlumber 0.5 has the right features to hide DSP nodes which is exactly what Valve should be using but I can't imagine anyone cares or that I could convince them to care, so whatever. Doing it that way would make this obsolete but, again, no one cares. Bye.