Skocz do zawartości

Pliki konfiguracyjne pipwire / wireplumber


wee_Z3U.S

Rekomendowane odpowiedzi

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 :(

Odnośnik do komentarza
Udostępnij na innych stronach

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
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...