I would like to know the correct way to report this and the expected behavior of this interface. I am using GNOME 48 on Gentoo Linux.
Two output devices are displayed in GNOME Sound Settings. One is the line out connection of an HD audio controller; the other is the front panel headphone connection of the same HD audio controller. It is technically important to understand that at a lower level these are actually different sinks of the same device as far as the multimedia session manager, WirePlumber, is concerned; and the same hardware controller is in fact behind both outputs.
These different outputs have different channel capabilities. The line output can support analog surround 2.1, 4.0, 4.1, 5.0, and 5.1 configurations in addition to analog stereo. The headphone output can only support analog stereo. It is also technically important to understand that in WirePlumber the line out sink in analog stereo configuration and the headphone sink are both identified as precisely the same node (by ID and name, e.g. “60 alsa_output.pci-0000_0c_00.3.analog-stereo”); this may be sufficient to confuse a higher-level interface using these identifiers alone.
Something understandable but incorrect happens when switching between these output devices in GNOME Sound Settings. Starting with Line Out and a configuration of Analog Surround 5.1, suppose one then selects the Headphones output device. The first time the output is selected, this fails and immediately switches back to Line Out – presumably because there is no such configuration (Analog Surround 5.1) for the selected output. The second time the output is selected, the change succeeds, and no configuration options are displayed because there is only one. Now suppose Line Out is selected again. This succeeds on the first try, but now it displays the configuration as Analog Stereo.
This will also happen if you are only switching between outputs by physically plugging and unplugging the headphones. Therefore if you want to switch back to Analog Surround 5.1 after disconnecting or discontinuing use of the headphones, you must always return to the Sound Settings and restore your preference for that configuration. This is obtrusive.
This also happens despite the preferred node being statically configured in WirePlumber with a higher priority.driver and priority.session value than anything else. In fact, GNOME seems to categorically ignore any node settings expressed in WirePlumber, even when they are effective in WirePlumber. This seems wrong.
Can anyone else please validate this description of behavior? Is this expected? I believe it should not be. The interface is able to functionally distinguish between the listed outputs, in that sound does come out of the expected hardware when the appropriate change is made; but the interface is not able to apparently distinguish between the available configurations of the separate outputs of the same device.
Thank you.