PipeWire (Suomi)
PipeWire on uusi multimedia runko GNOMEn kehittäjiltä. Pääkehittäjänä toimii Wim Taymans.
PipeWire tukee säiliöitä kuten Flatpakkia ja ei turvaudu käyttäjäryhmien ääneen tai kuvaan, vaan käyttää ennemminkin PolKit tyyppistä turvamallia kysyen Flatpakkia tai Waylandia oikeudelle nauhoittaa näyttöä tai ääntä.
Asennus
Asenna pipewire paketti virallisesta pakettivarastosta.
Pipewire käyttää Systemd/User palvelimen hallintaan ja automaattiseen kannan aktivointiin. Katso vastaava Systemd/User lisätiedolle käynnistymis käyttäytymisestä ja palvelujen kirjauksista.
Vaihtoehtoisesti voidaan asentaa pipewire-docs paketti dokumenteille. Muita paketteja, kuten pipewire-alsa, pipewire-pulse, ja pipewire-jack, ei normaalisti tarvita ellei niitä haluta käyttää PulseAudio/JACK tilalla. Saatavilla on myös lib32-pipewire ja lib32-pipewire-jack multilib tuelle.
Käyttö
WebRTC näytönjakaminen
Valtaosa selaimista aikaisemmin luotti X11 työpöydän (tai sovelluksien) sieppaukseen kun WebRTC:tä käytettiin (esim. googlen Hangoutit); mutta jos käytetään Waylandia, työpöydän jakaminen on periaatteessa rikki, mutta pipewire pystyy antamaan tuen tätä käyttötapausta varten Waylandin alla.
Tämä vaatii xdg-desktop-portal ja yhden sen taustaohjelman asennettuna [1]. Saatavilla olevat taustaohjelmat:
- xdg-desktop-portal-gtk GNOME:lle.
- xdg-desktop-portal-kde KDE:lle.
- xdg-desktop-portal-wlr Wlroots-pohjainen latoja (esim. Sway tai dwl)
Firefox (84+) tukee tätä kun taas Chromiumissa (73+) täytyy aktivoida WebRTC PipeWire tuki avaamalla seuraava osoite chromium välilehdellä:
chrome://flags/#enable-webrtc-pipewire-capturer
Jotta xdg-desktop-portal-wlr
saadaan toimimaan, täytyy XDG_CURRENT_DESKTOP
[2] asettaa:
export XDG_CURRENT_DESKTOP=sway
Video
Vaikka kyseinen ohjelma ei ole vielä tuotantovalmis, on kumminkin turvallista kokeilla sitä vapaasti. Valtaosa sovelluksista, jotka luottavat GStreamerin hoitavan esim. kuvan suoratoistoa, näiden pitäisi toimia suorilteen PipeWiren GStreamer lisäosan ansiosta. Sovellukset, kuten esim. cheese, pystyvät siitä syystä jo jakamaan videokuva syötettä käyttäen tätä.
Audio
PipeWirea voidaan käyttää audio palvelimena, joka voidaan rinnastaa PulseAudioon tai JACKiin. Sen tarkoituksena on korvata molemmat PulseAudio ja JACK, tarjoamalla PulseAudio-yhteensopiva palvelin toteutus ja ABI-yhteensopivat kirjastot JACK asiakasohjelmille. Katso tämä blogi kirjaus lisätiedolle.
ALSA/Legacy sovellukset
Asenna pipewire-alsa reitittääksesi kaikki sovellukset käyttäen ALSA APIa PipeWiren kautta.
PulseAudio asiakasohjelmat
Asenna pipewire-pulse. Normaalisti enempää työtä ei tarvita, sillä pipewire-pulse.socket
pitäisi olla aktivoituna suoraan paketista. Jos PipeWire ei toimi oikein Järjestelmän käynnistyttyä, kokeile myös käyttäjäpalveluiden pipewire-pulse.service
ja pipewire.service
aktivointia. Katso Systemd/User.
Kirjaudu uudelleen sisään tai käynnistä uudelleen nähdäksesi vaikutuksen.
Tarkistaaksesi, että korvaava paketti toimii, suorita seuraava komento ja tarkista ulostulo:
$ pactl info
... Server Name: PulseAudio (on PipeWire 0.3.16) ...
JACK asiakasohjelmat
Asenna pipewire-jack ja käytä pw-jack
komentoa, jotta JACK asiakasohjelmat käynnistyvät yhteensopivien kirjastojen kanssa alkuperäisten sijasta libjack*
:
pw-jack application
Bluetooth laitteet
PipeWire käsittelee Bluetooth audiolaitteita, jos pipewire-pulse paketti on asennettuna. Erityisemmin, mediatilan taustaprosessi tarkastelee /etc/pipewire/media-session.d/with-pulseaudio
, ja aktivoi sen bluez5
moduulin automaattisesti, jos tiedosto on olemassa.
Käytä PipeWirea alkuperäisen JACKin päällä
PipeWire voi myös pyöriä JACK asiakasohjelmana alkuperäisen JACK taustaprosessin päällä jos näin halutaan. Katso JACK ja PipeWire lisätiedolle.
Vianmääritys
Rätisevä ääni Source Engine pohjaisissa peleissä
Oletus pituus äänipuskurille (joka on käytännössä ääniviive) on 0.025 sekunttia. Joillekkin komponenteille, tämä pituus on liian pieni, joten tälläistä rätinää voi ilmetä. PulseAudiolla ei ole tätä ongelmaa, koska se nostaa puskurin kokoa automaattisesti, kun puskurin xrun havaitaan. PipeWire ei tee tätä ja ei välttämättä ikinä tulekkaan tekemään tätä. Tapa millä tämän voi korjata on edelleen meneillään.
Tällä hetkellä, toimiva väliaikainen korjaustapa on avata pelin sisäinen konsoli ja painamalla `
nappia (nappi joka on vasemmalla puollella 1:stä) ja kirjoittamalla konsoliin snd_mixahead 0.03
. Arvoa kannattaa itse kokeilla, mikä toimii parhaiten.
Aiheeseen liittyvä ongelma: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/401
Lähde: https://csgoguru.com/improve-your-csgo-sound-settings/
Pipewire ei tunnista mikrofonia
pipewire-media-session
ei tunnista ALSA PCM laitteita oletukselta. Lisää tämä sen käynnistysasetuksiin pipewiren config tiedostossa:
/etc/pipewire/pipewire.conf
... exec /usr/bin/pipewire-media-session -e alsa-pcm ...
Käynnistä pipewire uudelleen ja tarkista saatavilla olevat laitteet:
$ pw-record --list-targets
Available targets ("*" denotes default): 62 58: description="Built-in Audio" prio=1872 60: description="Built-in Audio" prio=2000 * 62: description="Built-in Audio (Loopback PCM)" prio=1984
Ei ääntä Bluetooth laitteessa
7.12.2020 lähtien, jos ääntä ei ole kun Bluetooth laite on yhdistetty, täytyy vaihtaa oletus "nieluun" ja/tai siirtää nielun syöte oikeaan nieluun. Käytä pactl set-default-sink
asettaaksesi nielun ja pactl list sinks
listataksesi saatavilla olevat nielut. Tämä voidaan automatisoida udev kanssa käyttäen vastaavaa skriptiä kuin tämä.
Katso tämä Reddit keskustelu syvemmälle keskustelulle asiasta. Skriptin tekijän mukaan, kuuloke profiililla (HSP) saattaa vielä olla ongelmia.
Katso myös
- Wiki — PipeWire Wiki Freedesktop GitLab
- Pipewire Päivityksen Blogi Viesti — Blogi viesti tammikuulta 2018, josta näkyy Pipewiren tilanne siihen aikaan
- PipeWiren Loppukesän Päivitys 2020 — Blogi viesti syyskuulta 2020