( locsemege | 2021. 03. 19., p – 15:29 )

De, ez így van. Azért mindenképpen pontosítom ezt, mert két síkon tudunk elbeszélni egymás mellett.

1) Natív pipewire esetén a pipewire a kernel által biztosított alsa driver-ekhez csatlakozik. A node-okat, szükség esetén - és csak akkor - a resampling-et, a jelutak tulajdonságainak tárolását, mint például kliensenként a hangerő, a pipewire biztosítja. A szerver oldal teljesen natív pulse, jack, alsa emuláció a pipewire részéről. Ugyanakkor kell a pulseaudio-libs, mert azok a függvények, amelyeket a kliens oldali programok hívnak, nem lettek újraírva. Ezek érzésem szerint semmi egyebet nem csinálnak, mint átadnak struktúrákat a szervernek, amelyben tulajdonságok vannak, meg pointerek, amelyek adat bufferekre mutatnak. A pulseaudio szervert viszont nem kell telepíteni.

2) Képes ő maga is akár jack, akár pulse kliensként működni. Ekkor becsatlakozik például egy pulseaudio szerverre, le lehet tiltani az ő pulse interface-ét, vagy lehet akár engedélyezni egy másik socketen. Így használható pulseaudiohoz jack szervernek. Vagy, ha jack kliens, akkor ahhoz pulse interface-t tud biztosítani. Értelme nem sok van, s ez az az eset, amikor egymásra halmozzuk a rétegeket, zabáljuk a futásidőt, s velünk marad a pulseaudio minden hátrányos tulajdonsága. Szóval én nem teszem ezt. Nálam natívan fut a pipewire, nem használok pulseaudio-t.

pgrep -l 'pulse|pipe|jack'

2245 pipewire-pulse
2281 pipewire
2307 pipewire-media-

Az ott a végén pipewire-media-session akar lenni, de a kernel csak röviden tárolja a nevet.

Egyébként teszteltem, működik pipewire-rel a linuxos teams kliens is.