Bug 515833 - Plasma Audio UI ignores PipeWire/WirePlumber custom device names for internal audio
Summary: Plasma Audio UI ignores PipeWire/WirePlumber custom device names for internal...
Status: REPORTED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Audio Volume widget (other bugs)
Version First Reported In: master
Platform: openSUSE Linux
: NOR wishlist
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-02-10 19:07 UTC by MisterE
Modified: 2026-02-10 19:07 UTC (History)
1 user (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 MisterE 2026-02-10 19:07:02 UTC
SUMMARY

KDE Plasma’s Audio UI (Audio Volume widget / plasmashell audio integration) overrides audio device names provided by PipeWire/WirePlumber for certain devices, most notably internal speakers and microphones.

Even when node.description and node.nick are explicitly set via WirePlumber rules, Plasma continues to display hardcoded labels such as “Speakers” and “Internal Microphone”.

This makes it impossible for users to fully control how their audio devices are named.
In practice, device names change depending on whether an external dock is connected. If a user wants consistent device names in both docked and undocked situations, the only available option is to accept Plasma’s hardcoded “Speakers” label.

STEPS TO REPRODUCE
1. Not docked
2. Sink in KDE tray is called "Speakers"
3. Dock
4. Sinks are called "Laptop Speakers (description)" and "ThinkPad Thunderbolt 3 Dock USB Audio Analog Stereo"



OBSERVED RESULT
Hardcoded "Speakers" in undocked situation



EXPECTED RESULT
Custom text (in this case "Laptop Speakers (description)") in undocked situation.



SOFTWARE/OS VERSIONS

Operating System: openSUSE Leap 16.0
KDE Plasma Version: 6.4.2
KDE Frameworks Version: 6.16.0
Qt Version: 6.9.1
Kernel Version: 6.12.0-160000.9-default (64-bit)
Graphics Platform: Wayland
Processors: 8 × Intel® Core™ i5-8250U CPU @ 1.60GHz
Memory: 16 GiB of RAM (15.5 GiB usable)
Graphics Processor: Mesa Intel® UHD Graphics 620





ADDITIONAL INFORMATION

I created a wireplumber config to create uniform names between docked and undocked mode. 


monitor.alsa.rules = [
  {
    matches = [
      {
        node.name = "alsa_output.pci-0000_00_1f.3.analog-stereo"
      }
    ]
    actions = {
      update-props = {
        node.description = "Laptop Speakers (description)"
        node.nick = "Speakers (nick)"
      }
    }
  },
  {
    matches = [
      {
        node.name = "alsa_input.pci-0000_00_1f.3.analog-stereo"
      }
    ]
    actions = {
      update-props = {
        node.description = "Internal Microphone (description)"
        node.nick = "Microphone (nick)"
      }
    }
  }
]





PipeWire/WirePlumber already populate the following properties by default:
  node.name
  node.description
  node.nick

Because these properties are always set, Plasma currently cannot distinguish between:

  backend-generated values
  user-managed overrides

This likely explains why Plasma enforces hardcoded labels such as “Speakers”.



Possible solutions

Provide a user-configurable option in Plasma to control naming policy, for example:

  Default (current behavior)
  Prefer node.description
  Prefer node.nick