Bug 479209 - Add default volume control device setting ("Master Channel")
Summary: Add default volume control device setting ("Master Channel")
Status: CONFIRMED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Audio Volume widget (other bugs)
Version First Reported In: 6.2.4
Platform: Manjaro Linux
: NOR wishlist
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-12-31 02:28 UTC by rsp4jack
Modified: 2025-01-30 20:30 UTC (History)
4 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description rsp4jack 2023-12-31 02:28:05 UTC
plasma-pa's default volume control (tray icon, keyboard shortcuts and more) changes only the default PA source/sink's volume.
In KMix, there is a "Master Channel" setting, allow users to change another one's volume rather than the default one.

OBSERVED RESULT
Can only change default device's volume

EXPECTED RESULT
Can change the default volume device

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Manjaro Stable with Linux Kernel 6.6.8-2
KDE Plasma Version: 5.27.10
KDE Frameworks Version: 5.113.0
Qt Version: 5.15.11

ADDITIONAL INFORMATION
Comment 1 Niklāvs Koļesņikovs 2024-12-21 19:37:47 UTC
KMix is for the low level (as well as legacy client) ALSA API and essentially a KDE GUI version  of the alsamixer TUI application.

Meanwhile as the name suggests plasma-pa is the audio control app for the PulseAudio API (which is nowadays emulated by PipeWire).

To cut a long story short, there's no such thing as a Master volume control in PulseAudio or PipeWire. And, I think, there's not one even in ALSA, since at that level you get whatever controls the underlying hardware has (which may or may not have a Master PCM as part of its audio chip).

The most likely source of the Master volume you see in KMix is, I believe, the default name for either the old PulseAudio or the newer PipeWire plugin for ALSA, which show up as its own device. Either plugin will route legacy clients into the newer audio stack and, IIRC,  both have a Master PCM. In PW it's a way to expose the default sink's volume control to clients which otherwise do not know about the PA/PW internals and therefore couldn't control the volume of the actual hardware sink (when using the legacy PA daemon the Master PCM might behave differently but I'm uncertain).

To sum it up, when using PipeWire, that Master control behaves as if you were adjusting the default sink such as via the media keys of the keyboard or using the mouse scroll wheel while hovering over the plasma-pa icon in the tray. If you expect something else to happen, then perhaps that particular Master PCM belongs to your audio device rather than the plugin for legacy clients. In which case it can be controlled via KMIx or alsamixer but it's at a lower audio stack level than plasma-pa and is not meant to be exposed to clients via PA API (and probably not via PW API either).
Comment 2 TraceyC 2025-01-30 20:30:49 UTC
The UI of plasma-pa has changed a lot since this bug report was opened.
Currently, if I left-click to open the widget, I can see and adjust the levels of the different audio output devices on my system independently.

I understand that KMix allows you to control which audio output is adjusted with the middle mouse button with the Master Channel, which may not be the default (and this still works). This is useful in the case where someone has two active applications going through two different sound devices, and wants the middle mouse to control a specific output.

If it's not possible at all to implement this in the audio volume widget, feel free to close as intentional.