Pipewire duplicate input for BT headset

Hi fellow penguins,

I have an issue since I switched to pipewire: Any bluetooth headset is appearing as two capture devices, for my daily driver headset, it’s also connecting the wrong one per default (no sound captured).

I’m running manjaro XFCE kernel 6.11.2-4, trying to get a Bose NC700 to work, but the issue is the same with any bluetooth headset.

I tried to change the priority in wireplumber, but it doesn’t take effect. The default session and driver prio was 2010, I tried setting it to 2050 for one of the sources , but it’s still 2010 after restarting pipewire & wireplumber (see conf below).

Thanks in advance for your help!

Helvum for visualization:

$  cat ~/.config/wireplumber/wireplumber.conf.d/bose_prio.conf
rule = [
  {
    matches = [
      {
        node.name = "bluez_input.60_AB_D2_76_87_D3.0"
      }
    ]
    actions = {
      update-props = {
        priority.driver = 2050,
        priority.session = 2050
      }
    }
  }
  {
    matches = [
      {
        node.name = "!bluez_input.60_AB_D2_76_87_D3.0"
        node.name = "bluez_input.60_AB_D2_76_87_D3"
      }
    ]
    actions = {
      update-props = {
        priority.driver = 1010,
        priority.session = 1010
      }
    }
  }
  
  {
    matches = [
      {
        node.name = "~.*Driver"
      }
    ]
    actions = {
      update-props = {
        node.disabled = true
      }
    }
  }
  {
    matches = [
      {
        node.name = "Midi-Bridge"
      }
    ]
    actions = {
      update-props = {
        node.disabled = true
      }
    }
  }
  
]

monitor.alsa.rules =
[
  {
    matches =
    [
      {
        node.name = "~.*"
      }
    ]
    actions =
    {
      update-props =
      {
        item.features.monitor = false
      }
    }
  }
]

Any ideas?
Do I have to paste more info?

For now I’m happy…
Not that it helps my understanding, I still have both inputs from my BT headsets, but now the second one seems now to work just as well using Discord.

There were multiple updates from kernel, over pipewire, to Discord, etc.
But I believe this is most likely solved with updates in Pipewire or the bluetooth stack.

I’d still be interested in learning more from this, but if there’s no interest &/ support, we might as well close the thread here…

1 Like