Bug 448216 - User friendly names should be used for HDMI/DP devices
Summary: User friendly names should be used for HDMI/DP devices
Status: CONFIRMED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_pulseaudio (show other bugs)
Version: 5.27.2
Platform: Other Linux
: NOR wishlist
Target Milestone: ---
Assignee: David Rosca
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-01-10 15:09 UTC by tomashnyk
Modified: 2023-06-17 12:49 UTC (History)
8 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description tomashnyk 2022-01-10 15:09:46 UTC
SUMMARY
Right now, when I want my monitor with integrated speakers to play audio, I need to select "HDMI/DIsplayPort (HDA NVidia Digital Stereo (HDMI))". That is rather user-unfriendly. A name of the monitor should be used (like Display Configuration does).  Both PulseAudio and cutting edge Pipewire (the fix to enable it was merged a few days ago) provide this in device.product.name. If available, at least for HDMI or DP devices, this should be used.

At least that is the upstream recommendation here:
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1978#note_1213094

A lot of the details including screenshots are also included on that link.
Comment 1 tomashnyk 2022-01-10 15:19:42 UTC
By the way, this also affects plasma-pa > applet - should I report it there too?
Comment 2 Nicolas Fella 2022-01-10 16:07:47 UTC
Interesting idea.

On my laptop with a combined internal/HDMI card PulseAudio gives me 'device.product.name = "Sunrise Point-LP HD Audio"', which isn't really better than the "Internal Audio Digital Stereo (HDMI 2)" that is currently shown. Probably this is different for pure HDMI devices?

The thing we currently show follows the pattern "(port description) description". In this case the port is somewhat redundant, so maybe we should hide that in some circumstaces?

> By the way, this also affects plasma-pa > applet - should I report it there too?

No need to do that, this report is enough
Comment 3 tomashnyk 2022-01-10 16:45:08 UTC
I suspect this might be hardware dependent. I get:

DELL U4320Q
DELL U2717D
H/K AV AMP 

The first two are monitors, the third is Harman/Kardon AVR. I think that is vastly better than the current state. I bought these so I know their names, but even a casual user would probably know that Dell is a monitor, after all the brand is written on the monitor).

My laptop's internal audio is "Cannon Lake PCH cAVS" which is also not that useful. But mine is not HDMI at all.

I think that internal audio should always be listed as such, but I am not sure if there is an easy way to tell if a given device is internal speakers.  with mine, the card that the speaker belongs tohas 'device.form_factor = "internal"', so that could probably be used.

With HDMI, the problem is that multiple different devices in real world (like in my case two monitors and one AVR) are lumped under one device by ALSA with each real-world device corresponding to one "Port". And the human-readable names are per port.  I reported this here: https://github.com/alsa-project/alsa-lib/issues/209 - not sure if it will be accepted, I can imagine that from the computer point of view, all the monitors are one device and there is not way for ALSA to tell.

I agree that port would be kind of useless and could be hidden if human-readable names were used. On my system, I have got two USB-C ports that are "HDMI" and HDMI 2". After a year of usage, I am not sure which is which. Currently, they are the only way to distinguish between my connected monitors , but needless to say, the distinction is not very useful. Similarly "Analog Stereo".

I think device.product.name should only be used by HDMI devices if they are not internal.

One more thing is that right now, even unavailable ports are listed now. My monitor is stereo, but I can choose "Digital Surround 5.1" for it. That selects the internal speakers, because the monitor does not support surround sound and so is no longer the default sink. However, if I connected the AVR, I could choose to send it stereo sound instead of surround, so the ports probably have some function. 

And one last thing - in the applet, the internal speakers have three ports Analog Stereo Duplex | Input | Output. When I set it to Duplex, it lists both the internal microphone and the speaker. When I switch it to either Input or Output, either the microphone or the speaker disappears. That behaviour is a bit puzzling.
Comment 4 K Freed 2022-01-24 09:47:32 UTC
For some inspiration on this:
Windows uses a complicated long name like "Realtek HD audio built in line..."
Mac uses the monitor name which I like.

I feel like audio outputs should be labelled like this:
 
Examples: Display audio out: HSG1074 
                    Display audio out: Sony TV*00
Comment 5 K Freed 2022-01-24 09:49:28 UTC
(In reply to kortrax11 from comment #4)
> For some inspiration on this:
> Windows uses a complicated long name like "Realtek HD audio built in line..."
> Mac uses the monitor name which I like.
> 
> I feel like audio outputs should be labelled like this:
>  
> Examples: Display audio out: HSG1074 
>                     Display audio out: Sony TV*00

Also for built in audio we should name like this
                   Onboard audio: Line out
                    Onboard audio: Digital audio out
Comment 6 Onuralp SEZER 2023-03-14 06:38:41 UTC
Hello, I was going to report this issue but looks pipewire already made proper changes and I can see that "monitor" information by checking 
"pactl list cards  |grep product"  and gives me monitor name maybe it is time to include that "friendlier" names into plasma volume applet :)