Issues met Wireplumber naamgeving en prioriteit

Pagina: 1
Acties:

Vraag


  • MisterE
  • Registratie: April 2002
  • Laatst online: 22:50
Ik wil graag volgordelijkheid hebben met aangesloten geluidsbronnen op mijn Linux installatie (Suse Leap 16).
Dit werkt in de basis maar ik het 2 issues.


Ik heb:
~/.config/wireplumber/wireplumber.conf.d/54-kanto.conf
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
monitor.bluez.rules = [
  {
    matches = [
      {
        api.bluez5.address = "<MAC>>"
      }
    ]
    actions = {
      update-props = {
        node.description = "Speakers Desk"
        node.nick = "Speakers Desk (nick)"
        priority.driver = 1030
        priority.session = 1030
      }
    }
  }
]
~/.config/wireplumber/wireplumber.conf.d/52-dock.conf
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
monitor.alsa.rules = [
  {
    matches = [
      { node.name = "alsa_output.usb-Lenovo_ThinkPad_Thunderbolt_3_Dock_USB_Audio_000000000000-00.analog-stereo" }
    ]
    actions = {
      update-props = {
        node.description = "Dock Headphones"
        node.nick = "Dock Headphones (nick)"
        priority.driver = 1020
        priority.session = 1020
      }
    }
  }
]
~/.config/wireplumber/wireplumber.conf.d/53-laptop.conf
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
monitor.alsa.rules = [
  {
    matches = [
      { node.name = "alsa_output.pci-0000_00_1f.3.analog-stereo" }
    ]
    actions = {
      update-props = {
        node.description = "Internal Speakers"
        node.nick = "Internal Speakers (nick)"
        priority.driver = 1010
        priority.session = 1010
      }
    }
  }
]
Issue 1:
Dit werkt als ik vooraf "wpctl clear-default" doe. In en uitpluggen geeft het geluid uit de juiste bron.
Echter zodra ik me er mee begin te bemoeien via de tray icon dan maakt Linux de keuze de "default". Daarmee is het hele prioriteit mechanisme nutteloos.


Issue 2:
Ik noem dus de laptop in de config "Internal Speakers". Dat werkt zodra er >1 bron is aangesloten.
Zodra ik alles unplug dan noemt de tray deze "Speakers". Zodra ik de koptelefoon op de 3.5 aansluit dan krijgt deze de naam "Headphones"

Ik heb het idee dat deze namen komen van
"pactl list sinks"
code:
1
2
3
4
5
6
Ports:
                analog-output-speaker: Speakers (type: Speaker, priority: 10000, availability group: Legacy 3, availability unknown)
                analog-output-headphones: Headphones (type: Headphones, priority: 9900, availability group: Legacy 4, not available)
        Active Port: analog-output-speaker
        Formats:
                pcm
Maar ik zou graag altijd eenduidige namen willen gebruiken. Ik kan niet echt voorbeelden vinden hoe dit te overrulen.

Alle reacties


  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 22:48

Hero of Time

Moderator LNX

There is only one Legend

Heb je voor de prioriteit al https://pipewire.pages.fr...nfiguration/settings.html gelezen? Eerste optie staat al dit bij:
device.restore-profile

When a device profile is changed manually (e.g. via pavucontrol), WirePlumber stores the selected profile and restores it when the device appears again (e.g. after a reboot). If this setting is disabled, WirePlumber will always pick the best profile for the device based on profile priorities and availability (or custom rules, if any).

Default value: true
Lijkt mij dat je zoiets moet toevoegen in de standaard settings om te voorkomen dat je handmatige aanpassing bewaard blijft en je geconfigureerde prioritering stuk gaat.

Dan voor de naamgeving, het is niet heel duidelijk op te maken uit je bewoording of je nou je koptelefoon in de 3,5mm aansluiting van het dock of direct in de laptop steekt. Want in geval van het laatste is de verandering van naam heel logisch. Hardwarematig wordt namelijk alles naar de 3,5mm jack gestuurd op het moment er iets op is aangesloten. Het (actieve) uitvoerapparaat verandert hierdoor. In Windows gebeurt hetzelfde, dan verandert het ook van speakers naar headphones. Als je 'm dan weer los haalt, zal het vast weer 'internal speakers' heten (of gewoon speakers).

Op de laptop van m'n werk heb ik hiermee ook twee aparte volume niveaus. De laptop speakers zelf heb ik gemute, maar wanneer ik een koptelefoon aansluit via de jack krijg ik wel geluid bijvoorbeeld.

Commandline FTW | Tweakt met mate


  • MisterE
  • Registratie: April 2002
  • Laatst online: 22:50
Beide mogelijkheden getest en daarna connecten via bluetooth. Schakelt niet over.
code:
1
2
3
4
5
wpctl settings device.restore-profile false
Updated setting 'device.restore-profile' to: false

wpctl settings  device.restore-profile true
Updated setting 'device.restore-profile' to: true
Over het tweede deel. Zoals ik het begrijp is het een "device" met een "naam".
Dit device bestaat uit 2 "ports": "Speakers" en "Headphones".
Zodra er verder geen andere speakers/docks zijn aangesloten dan laat ie die "portnames" zien.
Zodra er een 2e device komt dan schakelt de boel over naar de "device" naam. Waarschijnlijk om beter onderscheid te maken.

Die device naam kunnen we dus aanpassen. Maar ik zoek dus een manier om de namen van "ports" ook aan te passen.
aka: Hij heet nu "Internal Speakers" maar als ik alles unplug heet ie "Speakers". Dat maakt het allemaal niet consist. Nou kan ik natuurlijk hun "Speakers" overnemen maar ik wil gewoon altijd "Internal" noemen ongeacht of laptop speakers of laptop koptelefoon.