Jump to content

Pliki konfiguracyjne pipwire / wireplumber


wee_Z3U.S
 Share

Recommended Posts

Chciałbym poruszyć temat plików konfiguracyjnych pipwire / wireplumber.

Mam USB DAC Fiio KA3
Urządzenie działa poprawnie i jest wykrywane ale chciałbym dokonać własnej konfiguracji:


 

Audio
 ├─ Devices:
 │      49. Rembrandt Radeon High Definition Audio Controller [alsa]
 │      50. Family 17h/19h/1ah HD Audio Controller [alsa]
 │      51. FiiO KA3                            [alsa]
 │      82. JBL Charge 4                        [bluez5]
 │  
 ├─ Sinks:
 │      44. Family 17h/19h/1ah HD Audio Controller Analog Stereo [vol: 0.40]
 │      58. Rembrandt Radeon High Definition Audio Controller Digital Stereo (HDMI) [vol: 0.40]
 │  *   60. FiiO KA3 Analog Stereo              [vol: 0.40]
 │     119. JBL Charge 4                        [vol: 0.15]

Mam zainstalowane pipwie z wireplumber, i nie wiem gdzie i jak sforamtowany plik dodać konfiguracyjny do pipwire / wireplumber.

 

wpctl inspect 51
id 51, type PipeWire:Interface:Device
    alsa.card = "2"
    alsa.card_name = "FiiO KA3"
    alsa.components = "USB2972:0053"
    alsa.driver_name = "snd_usb_audio"
    alsa.id = "KA3"
    alsa.long_card_name = "FiiO FiiO KA3 at usb-0000:67:00.4-1.1.4, high speed"
    alsa.mixer_name = "USB Mixer"
    api.acp.auto-port = "false"
    api.acp.auto-profile = "false"
    api.alsa.card = "2"
    api.alsa.card.longname = "FiiO FiiO KA3 at usb-0000:67:00.4-1.1.4, high speed"
    api.alsa.card.name = "FiiO KA3"
    api.alsa.path = "hw:2"
    api.alsa.split-enable = "true"
    api.alsa.use-acp = "true"
    api.dbus.ReserveDevice1 = "Audio2"
    api.dbus.ReserveDevice1.Priority = "-20"
  * client.id = "48"
  * device.api = "alsa"
    device.bus = "usb"
    device.bus-id = "usb-FiiO_FiiO_KA3_FiiO_KA3-00"
    device.bus-path = "pci-0000:67:00.4-usb-0:1.1.4:1.0"
  * device.description = "FiiO KA3"
    device.enum.api = "udev"
    device.icon-name = "audio-card-analog-usb"
  * device.name = "alsa_card.usb-FiiO_FiiO_KA3_FiiO_KA3-00"
  * device.nick = "FiiO KA3"
    device.plugged.usec = "130746107734"
    device.product.id = "0x0053"
    device.product.name = "FiiO KA3"
    device.serial = "FiiO_FiiO_KA3_FiiO_KA3"
    device.string = "2"
    device.subsystem = "sound"
    device.sysfs.path = "/devices/pci0000:00/0000:00:08.3/0000:67:00.4/usb7/7-1/7-1.1/7-1.1.4/7-1.1.4:1.0/sound/card2"
    device.vendor.id = "0x2972"
    device.vendor.name = "FiiO Electronics Technology"
  * factory.id = "15"
  * media.class = "Audio/Device"
    node.nick = "LALALAA"
    object.path = "alsa:acp:KA3"
  * object.serial = "51"
    spa.object.id = "6"

Chciałbym zacząć od najprostszej rzeczy zmiany nazwy urządzenia.

Próbowałem już poradników :
 

https://davidelettieri.it/2024/02/04/fedora-pipewire-switch-channels
https://bbs.archlinux.org/viewtopic.php?id=285115
https://discussion.fedoraproject.org/t/how-to-enable-hdmi-audio-output-in-wireplumber-on-fedora-41/137313
https://wiki.archlinux.org/title/PipeWire

Mam Fedora 41.
Dziękuje i pozraszam za moja niewiedze :(

Link to comment
Share on other sites

Właśnie, że działa. Zmieniłem sobie testowo nazwę jednego głośniczka i poszło bez problemów. Krok po kroku:

1. Wylistowałem co w ogóle mam z komendą niżej wraz z wybranym urządzeniem do dalszych testów:

$ pw-cli ls Node | awk 'BEGIN {RS="\n\tid "; ORS="\n\n"} /Sink/'

52, type PipeWire:Interface:Node/3
 		object.serial = "53"
 		object.path = "alsa:acp:Generic:11:playback"
 		factory.id = "19"
 		client.id = "40"
 		device.id = "46"
 		priority.session = "736"
 		priority.driver = "736"
 		node.description = "Starship/Matisse HD Audio Controller Cyfrowe stereo (IEC958)"
 		node.name = "alsa_output.pci-0000_0b_00.4.iec958-stereo"
 		node.nick = "ALCS1200A Digital"
 		media.class = "Audio/Sink"

2. Napisałem konfigurację - tak swoją drogą jeśli umieścisz config w ~/.config/wireplumber/wireplumber.conf to de facto będziesz musiał napisać całą konfigurację od zera, dlatego lepiej umieścić w conf.d - nazwa nie ma znaczenia, ważne by było rozszerzenie .conf - dzięki temu po prostu nadbudowujesz domyślną konfigurację swoją:

$ cat .config/wireplumber/wireplumber.conf.d/wireplumber.conf
monitor.alsa.rules = [
  {
    matches = [{ node.name = "alsa_output.pci-0000_0b_00.4.iec958-stereo" }]
    actions = {
      update-props = {
        node.description = "Desktop Speakers"
      }
    }
  }
]

3. Restart pipewire:

systemctl --user restart pipewire

I to wszystko - działa jak powinno - urządzenie zamiast ""Starship/Matisse..." przedstawia się teraż jako "Desktop Speakers"

  • Upvote 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...