Skip to content

Same output device listed multiple times in sound applet and leading to cinnamon crash #13521

@skrabadiloseidon

Description

@skrabadiloseidon

Distribution

Mint 22.3

Package version

Cinnamon 6.6.6

Graphics hardware in use

AMD RX 9070 XT

Frequency

Quite often

Bug description

Summary

Under certain circumstances, the Cinnamon sound applet enters a corrupted state with duplicated output devices and may crash when changing outputs.

USB device duplication

When a USB audio output device (e.g. Edifier M60 USB DAC) is unplugged and replugged into different USB ports, the Cinnamon sound applet lists the same device multiple times.
Once this duplicated state occurs, the applet behaves incorrectly and switching the output device can crash Cinnamon.
(See attached screenshot: Edifier M60 appears twice.)

Image

PipeWire restart duplication

When using a libpipewire-module-combine-stream configuration, every PipeWire restart adds another identical output device entry to the sound applet. I found this bug by playing around with pipewire for creating a R+L + Center channel config, here what i used:

Config file:
~/.config/pipewire/pipewire.conf.d/60-stereo-plus-center.conf

context.modules = [
  {
    name = libpipewire-module-combine-stream
    args = {
      node.name = "stereo_plus_monitor_center"
      node.description = "Stereo + Monitor (Center-Mix)"

      slaves = [
        {
          node.name = "alsa_output.usb-bestechnic_EDIFIER_M60_20160406.1-00.analog-stereo"
          channel_map = [ FL FR ]
          latency = 100000
        }
        {
          node.name = "alsa_output.pci-0000_2f_00.1.hdmi-stereo-extra1"
          channel_map = [ FL FR ]
        }
      ]

      stream.props = {
        audio.position = [ FL FR ]
      }
    }
  }
]

Restart command:

systemctl --user restart pipewire pipewire-pulse

Image

Steps to reproduce

USB device case

  • Plug in a USB audio output device.
  • Unplug it and plug it into a different USB port.
  • Repeat with multiple ports.
  • Open the Cinnamon sound applet and change the output device.

PipeWire case

  • Create the configuration file above.
  • Restart PipeWire using the command above.
  • Repeat the restart.

Open the Cinnamon sound applet and observe duplicate output devices.

Expected behavior

Each output device appears only once and the sound applet remains stable.

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions