Zvukovka Behringer 1820 se 7.1 na Kubuntu 24.10

Re:Zvukovka Behringer 1820 se 7.1 na Kubuntu 24.10
« Odpověď #15 kdy: 22. 03. 2026, 22:47:38 »
Možná, když už jsme to tu zmínili a někdo by to tu případně hledal.
Přidám konkrétní návod na vyřazení ALSA zařízení z PipeWire pomocí WirePlumberu. Třeba se to někomu bude hodit.

- spustím si příkaz: wpctl status  a pak najdu ve stromečku "Audio > Devices" číslo zařízení (ID), co chci zakázat
- zjistím další informace příkazem: wpctl inspect <ID>
- ve výpisu dohledám (grepnu) řádek device.name = "..."
např. device.name = "alsa_card.pci-0000_07_00.0"
- pokud neexistuje, tak vytvořím adresářovou strukturu: ~/.config/wireplumber/wireplumber.conf.d/ a v ní následně libovolný .conf soubor.

Např. disable-my-alsa-device.conf

Kód: [Vybrat]
monitor.alsa.rules = [{
  matches = [
    { device.name = "alsa_card.pci-0000_07_00.0" }  # Tady použiju jméno z předchozího výstupu
  ]
  actions = {
    update-props = {
      device.disabled = true
    }
  }
}]


- spustím: systemctl --user restart wireplumber
- zkontroluji znova: wpctl status, zařízení by tam už nemělo být
- profit


Re:Zvukovka Behringer 1820 se 7.1 na Kubuntu 24.10
« Odpověď #16 kdy: 22. 03. 2026, 23:08:57 »
Tak mozna zvukove API to resi.. ale souborovy system s tou exkluzivitou kdy nejde smazat adresar protoze nejaky proces tam ma CWD, byl hlavni duvod odchodu od Win

Kdyby to bylo jen CWD v terminálu. Tohle tvrdé zamykání (oproti eleganci s unlink()) je i důvod, proč je nutné spousty aktualizací na Windows fakticky naplánovat na další boot v nějaké early stage. Resp. když to jde, tak komplet zastavit služby, vyměnit binárky a pak znovu spustit.
Ale už jedu trochu off-topic, každý systém má něco.. ;)

Re:Zvukovka Behringer 1820 se 7.1 na Kubuntu 24.10
« Odpověď #17 kdy: Dnes v 09:08:09 »
Na úrovni ALSA zařízení, žádná takováhle klasifikace klientů (normální, exclusive) není.. tam by se nejspíš muselo něco dohackovat (nevím, přes BPF sledovat, který proces to otevírá, ale asi by to byla prasečina, protože jakmile by s tím nepočítalo vyploženě API, musel by se ten ne-exklusivní klient nějak zvenku urvat).

Samozřejmě přes lsof /dev/snd/* lze zjistit, který proces má zařízení otevřené, a ten by se dal zabít, ale to je hodně na hulváta.

Ale myslím, že tohle má v sobě právě přímo Pipewire.
https://docs.pipewire.org/page_man_pipewire-props_7.html#:~:text=node%2Eexclusive,source
Nikdy jsem to nezkoušel, ale chápu (možná blbě) to tak, že když se vytvoří klient (node) s tímhle příznakem a pak se připojí na sink, tak to po dobu spojení vyruší ostatní klienty.
Teoreticky i pokud to nepodporuje přímo aplikace při vytváření, tak by to pak mohlo jít přidat nějakým pravidlem (match jména "privilegovaného" procesu) i přes WirePluber.

V rámci PW to lze, v podstatě to znamená, že nebude docházet k mixování, node má sink jen sám pro sebe. Ale jakmile se něco připojí na alsí zařízení, už je to natvrdo, ani PW s tím nic neudělá.

Citace
Jinak to, co jsem myslel předtím, že PW zavře ALSA zařízení, tak jen klasicky přes sw_params.
grep -H '^' /proc/asound/*/pcm*/sub?/sw_params

Jj, zjistit proces, který zařízení používá, je snadné. Ale pak už jen jej killnout natvrdo, aby zařízení pustil. Zatím jsem nikde neviděl, že by to někdo takhle používal, ale technicky takovému ošklivému hacku nic nebrání.

Re:Zvukovka Behringer 1820 se 7.1 na Kubuntu 24.10
« Odpověď #18 kdy: Dnes v 09:09:19 »
Možná, když už jsme to tu zmínili a někdo by to tu případně hledal.
Přidám konkrétní návod na vyřazení ALSA zařízení z PipeWire pomocí WirePlumberu. Třeba se to někomu bude hodit.

Super, díky, to je hodně užitečné. Vypínání zařízení v PA bylo snadné přes CLI pactl, ale v PW se nezdá, že to takhle napřímo fungovalo.

Re:Zvukovka Behringer 1820 se 7.1 na Kubuntu 24.10
« Odpověď #19 kdy: Dnes v 09:11:26 »

Možná, když už jsme to tu zmínili a někdo by to tu případně hledal.
Přidám konkrétní návod na vyřazení ALSA zařízení z PipeWire pomocí WirePlumberu. Třeba se to někomu bude hodit.

Super, díky, to je hodně užitečné. Vypínání zařízení v PA bylo snadné přes CLI pactl, ale v PW se nezdá, že to takhle napřímo fungovalo. Přitom mi to přijde velice důležité a řešení přes wireplumber je dost přes ruku.
« Poslední změna: Dnes v 09:16:39 od redustin »