A PipeWire hangrendszer telepítése és beállítása

kimarite képe

A PipeWire egy viszonylag új Linuxos fejlesztés a hang- és videóeszközök működtetésének javítására. Alacsony késleltetésű, gráf alapú feldolgozómotort biztosít a hang- és videóeszközök kezeléséhez. Együttműködik a PulseAudio, a JACK és az ALSA hangrendszerekkel. Olyan erős biztonsági modellel tervezték, amely megkönnyíti a hang- és a videóeszközökkel való együttműködést a konténeres alkalmazásokkal. A Flatpak alkalmazások támogatása az elsődleges cél. A Wayland és a Flatpak mellett a PipeWire-től azt várják a fejlesztők, hogy a Linux-alkalmazások fejlesztésének egyik alapvető építőkövét adja a jövőben.

  • Hang- és videó rögzítése és lejátszása minimális késleltetéssel.
  • Valós idejű multimédiás feldolgozás hang- és videó esetén.
  • Többfolyamatos architektúra, hogy az alkalmazások megoszthassák a multimédiás tartalmakat.
  • A PulseAudio, JACK, ALSA és GStreamer alkalmazások zökkenőmentes támogatása.
  • Sandboxed alkalmazások támogatása. Ilyen például a Flatpak-kal kapcsolatos megoldás.

A PipeWire egy kiszolgáló és API-interfész a multimédia kezelésére Linuxon. Leggyakrabban a Wayland és a Flatpak alkalmazások használják a képernyőmegosztás, a távoli asztal és a különböző szoftverek közötti hang- és videó átirányítására. A hivatalos GyIK szerint: „úgy gondolhat rá, mint egy multimédiás útválasztó rétegre az illesztőprogramok felett, amelyet az alkalmazások és könyvtárak használhatnak".

A PulseAudio végfelhasználói hangrendszerre és a JACK professzionális hangrendszerre összpontosító programjával szemben a PipeWire célja, hogy minden felhasználó számára, minden szinten működjön. Ezt többek között azzal éri el, hogy képes dinamikusan váltani a különböző pufferméretek között, hogy alkalmazkodni tudjon a különböző hang- és videó alkalmazások eltérő késleltetési követelményeihez.
Forrás: Megjelent a PipeWire 0.3.40! Na de mi az a PipeWire?

Telepítés

A Debian-alapú LMDE 4 kiadást használók bátran telepíthetik a hang szervert. Ha azonban a Linux Mint bármelyik kiadását használod, várj még a próbával, illetve, azt mondom, csak saját felelősségre! Ugyanis a pipewire-audio-client-libraries csomag nem érhető el Ubuntu forrásból, még nem készült el.

Nyisd meg a csomagkezelőt vagy terminált...

A pipewire és a pipewire-audio-client-libraries csomagok feltétlen szükségesek.
A pipewire-audio-client-libraries csomag általános API más hangrendszerek használatához.

sudo apt-get install pipewire pipewire-audio-client-libraries

A libspa-0.2-bluetooth csomag a Bluetooth eszközök kezeléséhez, a libspa-0.2-jack csomag a JACK hangrendszerhez kellhet.

sudo apt-get install libspa-0.2-bluetooth libspa-0.2-jack

Beállítás

Manapság a Linux rendszerek leginkább a PulseAudio hangrendszert használják. Ennek beállítását mutatom meg először, aztán rátérek a másik két hangrendszer beállításnak lehetőségére is (JACK, ALSA). Elegendő a PulseAudio hangrendszert beállítanod. Ha használod a JACK hangrendszert, akkor állítsd be azt is.

PulseAudio

Nyiss terminált...

Készíts egy üres szövegfájlt (with-pulseaudio | touch).

sudo touch /etc/pipewire/media-session.d/with-pulseaudio

Másold a pipewire-pulse példa fájlokat az /etc/systemd/user/ elérési útra (cp).

sudo cp /usr/share/doc/pipewire/examples/systemd/user/pipewire-pulse.* /etc/systemd/user/

Frissítsd a systemd szolgáltatásokat az új szolgáltatások tekintetében (daemon-reload).

sudo systemctl --user daemon-reload

Kapcsold ki és állítsd le a PulseAudio szolgáltatásokat (--now disable).

sudo systemctl --user --now disable pulseaudio.service pulseaudio.socket

Engedélyezd (kapcsold be) és indítsd el a PipeWire szolgáltatásokat (--now enable).

sudo systemctl --user --now enable pipewire pipewire-pulse

Ellenőrizd, melyik hangrendszer fut (pactl info).

LANG=C pactl info | grep '^Server Name'

Ha a PipeWire van használatban, akkor a kimenetben körülbelül ezt látod.

Server Name: PulseAudio (on PipeWire 0.3.19)

Azaz (magyarul).

Kiszolgálónév: PulseAudio (on PipeWire 0.3.19)

Indítsd újra a rendszert.

Ha valami nem tökéletes, például nincs hangja valamelyik multimédiás alkalmazásnak, akkor maszkold a PulseAudio szolgáltatást (mask).

sudo systemctl --user mask pulseaudio

JACK

Nyiss terminált...

Készíts egy üres szövegfájlt (with-jack | touch).

sudo touch /etc/pipewire/media-session.d/with-jack

Másold a JACK példa fájlokat az /etc/ld.so.conf.d/ elérési útra (cp).

sudo cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/

Futtasd a JACK beállításokat a PipeWire hangrendszerhez linkelő parancssort (/usr/lib/x86_64-linux-gnu/pipewire-0.3/jack/).

sudo ldconfig

ALSA

Nyiss terminált...

Készíts egy üres szövegfájlt (with-alsa | touch).

sudo touch /etc/pipewire/media-session.d/with-alsa

Másold az ALSA példa fájlt az /etc/alsa/conf.d/ elérési útra (cp).

sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/

Ismert hibák

Ha a pacmd parancs kimenetében azt látod, a PulseAudio hangrendszer nem fut (pacmd).

pacmd 
No PulseAudio daemon running, or not running as session daemon.

Megoldást hozhat a PipeWire hangrendszer újraindítása (restart).

systemctl --user restart pipewire.service

Frissítés: pacmd fails with "No PulseAudio daemon running"

Enjoy :-)

Jegyzet

Hasznos

A PipeWire szolgáltatás futásának ellenőrzése (status).

systemctl --user status pipewire-pulse.service --no-pager
● pipewire-pulse.service - PipeWire PulseAudio
     Loaded: loaded (/etc/xdg/systemd/user/pipewire-pulse.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-11-14 13:28:09 CET; 52min ago
TriggeredBy: ● pipewire-pulse.socket
   Main PID: 3277 (pipewire-pulse)
      Tasks: 2 (limit: 9285)
     Memory: 17.6M
        CPU: 11.047s
     CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/pipewire-pulse.service
             └─3277 /usr/bin/pipewire-pulse

A PulseAudio jellemzőinek lekérdezése (pactl).

pactl info
Kiszolgáló karakterlánc: /run/user/1000/pulse/native
Programkönyvtár protokollverzió: 34
Kiszolgáló protokollverzió: 34
Helyi: igen
Kliensindex: 54
Csempeméret: 65472
Felhasználónév: debkim
Számítógépnév: debkim
Kiszolgálónév: PulseAudio (on PipeWire 0.3.19)
Kiszolgáló verzió: 14.0.0
Alapértelmezett mintavételi meghatározás: float32le 2ch 48000Hz
Alapértelmezett csatornaleképzés: front-left,front-right
Alapértelmezett nyelő: alsa_output.pci-0000:00:1b.0.analog-stereo
Alapértelmezett forrás: alsa_input.pci-0000:00:1b.0.analog-stereo
Süti: 32c8:699e

Hozzászólások

kimarite képe

Frissítés: pipewire-audio-client-libraries

Értékelés: 

0
Még nincs értékelve

A Debian-alapú  LMDE 4 kiadást használók bátran telepíthetik a hang szervert. Ha azonban a Linux Mint bármelyik kiadását használod, várj még a próbával, illetve, azt mondom, csak saját felelősségre! Ugyanis a pipewire-audio-client-libraries csomag nem érhető el Ubuntu forrásból, még nem készült el.