Playback devices in volume control "taskbar" window no longer showing ports

On arch stable.

It recently changed from showing my devices like in the settings window, for example it used to show Headphones, not ALC897.

I can’t seem to find where to change that back to how it was before.

Anybody else experiencing this?

image

Where this change comes from

Quoting my answer to this kreddit post

Found the MR that changed this applet: refine devicelistitem naming (!239) · Merge requests · Plasma / Plasma PulseAudio Applet · GitLab

The previous naming system is a bit heavy handed with the amount of text. let’s try going back to a more original design where we only showed the device name.
This should be improved these days because now we have the property node.nick from pipewire that on average seems way less meaningless techno jargon than all the other properties.
Since node.nick is still not a “pretty” name we continue to show a simplistic name (the port) when only a single device is present in the view

A quick workaround could be to comment out these lines in /usr/share/plasma/plasmoids/org.kde.plasma.volume/contents/ui/main.qml:

// function nodeName(pulseObject) {
//     const nodeNick = pulseObject.pulseProperties["node.nick"]
//     if (nodeNick) {
//         return nodeNick
//     }

There is a MR to allow choosing the name source add ability to select the preferred device name source (!270) · Merge requests · Plasma / Plasma PulseAudio Applet · GitLab which would allow showing the device description again.

There is also one to allow renaming them (currently draft) Draft: allow user to rename devices (!271) · Merge requests · Plasma / Plasma PulseAudio Applet · GitLab which links to Modifying configuration — WirePlumber 0.5.5 documentation.

Workaround, rename the devices nick through wireplumber

Quoting my answer to this issue on a guide to split audio ports

Create the file ~/.config/wireplumber/wireplumber.conf.d/custom-names.conf with the following, replacing card name and node name with what you get running pactl list sinks | grep -E "node.name|api.alsa.card.name":

monitor.alsa.rules = [
    {
        matches = [
            {
                api.alsa.card.name = "HDA Intel PCH",
                node.name = "~alsa_output.*stereo-headphones"
            }
        ]
        actions = {
            update-props = {
                node.nick              = "Headphones"
            }
        }
    }
    {
        matches = [
            {
                api.alsa.card.name = "HDA Intel PCH",
                node.name = "~alsa_output.*stereo-speaker"
            }
        ]
        actions = {
            update-props = {
                node.nick              = "Speakers"
            }
        }
    }
]

Result:

image