Jump to content

# PipeWire (Magyar)

6 languages

- English
- Suomi
- 日本語
- Português
- Русский
- 中文（简体）

From ArchWiki

Related articles

- /Examples (Magyar)
- Sound system (Magyar)
- WirePlumber (Magyar)

A PipeWire egy új, alacsonyszintű multimédiás keretrendszer. A célja az, hogy minimális késleltetéssel rögzítse és játssza le mind a hangot, mind a videót, és támogassa a PulseAudio, JACK, ALSA és GStreamer alapú alkalmazásokat.

A keretrendszeren alapuló szolgáltatás beállítható úgy, hogy egyszerre legyen audio szerver (PulseAudio és JACK funkciókkal) és videorögzítő szerver is.

A PipeWire olyan konténereket is támogat, mint a Flatpak, és nem támaszkodik az `audio` és `video` felhasználói csoportokra. Ehelyett egy Polkit-szerű biztonsági modellt használ, amely a Flatpaktól vagy a Waylandtől kér engedélyt a képernyő vagy hang rögzítésére.

## Telepítés

Telepítse a pipewire szoftvercsomagot a hivatalos szoftvercsomag-tárolókból. Létezik egy lib32-pipewire nevű szoftvercsomag is a multilib támogatás számára.

A Pipewire a systemd/User szolgáltatást használja a szerver kezelésére és az automatikus socket aktiválásra.

Opcionális lehetőségként telepítse a pipewire-docs szoftvercsomagot a dokumentáció áttekintése érdekében.

A Pipewire képes más hangszerverek helyettesítésére beilleszthető módon. A részletekért tekintse meg a #Hang leírást.

### Session manager

A JACK szoftverhez hasonlóan a PipeWire se nem valósít meg belső kapcsolati logikát. Az új adatfolyamok figyelése és azok megfelelő kimeneti eszközhöz vagy alkalmazáshoz való csatlakoztatása egy külső összetevő, az úgynevezett munkamenet-kezelő (session manager) feladata.

#### WirePlumber

A WirePlumber a javasolt munkamenet-kezelő. Moduláris felépítésen alapul, Lua-bővítményeket használ, amelyek a tényleges menedzsment funkciókat valósítják meg.

Az alapértelmezett beállításfájlok a `/usr/share/wireplumber` könyvtárban találhatóak meg. A Wireplumber testreszabásának ajánlott módja az, hogy kis szövegrészeket ad hozzá, amelyek felülírják az adott beállításokat az `/etc/wireplumber` vagy a `~/.config/wireplumber` könyvtárban [1].

A WirePlumber 0.5-ös verziójában megváltozott a beállításfájlok formátuma: A korábbi `.lua` fájlokat `.conf` fájlok váltották fel. Az átállás részletes útmutatóját a https://pipewire.pages.freedesktop.org/wireplumber/daemon/configuration/migration.html#config-migration oldalon találja meg.

#### PipeWire Media Session

A pipewire-media-session szoftvercsomag el van avulva, és már nem ajánlott a használata. Ezt a szoftvercsomagot elsősorban tesztelési célokra, valamint új munkamenet-kezelők fejlesztésének a példájaként hozták létre.

### GUI (Grafikus felhasználói felülettel rendelkező szoftverek)

- coppwr — Alacsony szintű vezérlő- és diagnosztikai grafikus felhasználói felület a PipeWire számára.

  https://github.com/dimtpap/coppwr || coppwrAUR

- Helvum — GTK-alapú csatlakozótábla a PipeWire számára, amelyet a JACK szoftver, a catia inspirált. A kábelezési beállításokat nem menti el.

  https://gitlab.freedesktop.org/pipewire/helvum || helvum

- qpwgraph — Qt-alapú grafikus felületel rendelkezik. Csatlakozótábla a PipeWire számára, a JACK QjackCtl szoftvere által inspirálva. Elmenti a kábelezési beállításokat.

  https://gitlab.freedesktop.org/rncbc/qpwgraph || qpwgraph

- pwvucontrol — PipeWire hangerőszabályzója. A pavucontrol alternatívája.

  https://github.com/saivert/pwvucontrol || pwvucontrolAUR

- sonusmix — PipeWire hangirányítószoftver.

  https://codeberg.org/sonusmix/sonusmix || sonusmixAUR

## Beállítás

A PipeWire szoftvercsomag egy kezdeti beállításfájl-készletet biztosít a `/usr/share/pipewire` könyvtárban. Ezeket a fájlokat Önnek nem ajánlott, hogy közvetlenül szerkessze, mivel a szoftvercsomag-frissítések felülírhatják a módosításokat. A PipeWire beállításához a fájlokat át lehet másolni a `/usr/share/pipewire` könyvtárból a rendszer szintű `/etc/pipewire` könyvtárba, vagy a felhasználói `~/.config/pipewire` könyvtárba. Egy azonos nevű fájl egy magasabb prioritású könyvtárban felülírja és hatástalanítja az eredeti fájlokat [2].

### Profilok

A PipeWire a PulseAudio profilokon felül egy egyedi "Pro Audio" profilt is biztosít, amely a pavucontrol segítségével választható ki. Ennek hatását a PipeWire wiki ismerteti.

## Használat

### Hang

A PipeWire hangszerverként használható, hasonlóan a PulseAudio és a JACK szoftverekhez. Célja, hogy mind a PulseAudio szoftvert, mind a JACK szoftvert leváltsa, egy PulseAudio-kompatibilis szervermegvalósítással és JACK kliensekhez ABI-kompatibilis könyvtárakkal. További információkért tekintse meg a PipeWire Late Summer Update 2020 blogbejegyzést.

Először telepítse a pipewire-audio szoftvercsomagot. Az audiokliensek típusától függően további lépésekre is szükség lehet. Az is elképzelhető, hogy további firmware szoftvert kell telepíteni az Ön audioeszközéhez. A részletekért tekintse meg az Advanced Linux Sound Architecture (Magyar)#Firmware leírást.

#### ALSA kliensek

Telepítse a pipewire-alsa szoftvercsomagot (és amennyiben előzőleg a pulseaudio-alsa szoftvercsomag telepítve lett, akkor távolítsa azt el), annak érdekében, hogy az ALSA API interfészt használó összes alkalmazást Ön a PipeWire szoftveren keresztül irányítsa.

#### PulseAudio kliensek

Telepítse a pipewire-pulse szoftvercsomagot. Ez lecseréli a pulseaudio és a pulseaudio-bluetooth szoftvercsomagokat. Indítsa újra a számítógépet, jelentkezzen be újra, vagy állítsa le a `pulseaudio.service` szolgáltatást, és indítsa el a `pipewire-pulse.service` user unitot a változás érvényesítése érdekében.

Általában nincs szükség további lépésekre, mivel a `pipewire-pulse.socket` felhasználói szolgáltatásnak automatikusan engedélyezve kell, hogy legyen a szoftvercsomag által. Annak ellenőrzéséhez, hogy a csere működik-e, futtassa a következő parancsot a Server Name és az alapértelmezett bemenet/kimenet megjelenítéséhez:

    $ pactl info

    ...
    Server Name: PulseAudio (on PipeWire x.y.z)
    ...
    Default Sink: alsa_output.{bus}-{device}.{profile}
    Default Source: alsa_input.{bus}-{device}.{profile}
    ...

A pactl(1) parancsot a PulseAudio klienskönyvtár szoftvercsomagja (libpulse) biztosítja, amely a pipewire-pulse szoftvercsomag szoftvercsomag-függőségeként kerül telepítésre.

##### Általános vagy az egyes csatornák hangerejének a beállítása

A kimeneti csatorna hangerejének beállításához meg kell adni a sink nevű eszközt a `pactl get-sink-volume {sink`} parancs használatával. Ez lehet a Default Sink: (fentebb) vagy a Name: (lentebb) értéke. Az alapértelmezett sink eszköz (@DEFAULT_SINK@), vagy a Sink # (pl. 1 lentebb) :

    $ pactl list sinks | grep -B1 -A9 State:

    Sink #1
            State: RUNNING
            Name: alsa_output.pci-0000_2d_00.4.analog-surround-51
    ...
            Driver: PipeWire
    ...
            Mute: no
            Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB,   rear-left: 65536 / 100% / 0.00 dB,   rear-right: 65536 / 100% / 0.00 dB,   front-center: 65536 / 100% / 0.00 dB,   lfe: 65536 / 100% / 0.00 dB
                    balance 0.00

Tipp: Amennyiben folyamatban van hanglejátszás, akkor használja a grep(1) parancsot a RUNNING állapot kereséséhez, mivel a többi eszköz SUSPENDED (felfüggesztett) állapotban lesz.

A balansz aránya automatikusan kerül kiszámításra. Az alapértelmezett eszköz általános hangerőszintjének beállításához használja a következőt:

    pactl set-sink-volume @DEFAULT_SINK@ 75%

Az egyes csatornák beállításához adja meg külön-külön mindegyik csatorna hangerőszintjét:

    pactl set-sink-volume @DEFAULT_SINK@ 100% 75% 100% 75% 100% 100%

A bemeneti forrásokat hasonló módon kell kezelni. További beállításokkal kapcsolatban (például a modulokra vonatkozóan) tekintse meg a hivatalos upstream Wiki oldalt a PulseAudio szoftverről való áttérésről és a Pipewire-Pulse beállításáról.

#### JACK kliensek

Telepítse a pipewire-jack szoftvercsomagot a JACK támogatás érdekében. Létezik továbbá a lib32-pipewire-jack szoftvercsomag is a multilib támogatás számára.

A pw-jack(1) használható a JACK kliensek indításához, de technikailag nem kötelező, mivel csupán egy burkolóként szolgál a `PIPEWIRE_REMOTE`, `PIPEWIRE_DEBUG` és `PIPEWIRE_LATENCY` környezeti változók körül.

Lehetőség van egy egyéni pufferméret beállítására a buffersize/samplerate hányados megadásával (ami másodpercekben adja meg a blokk késleltetését):

    PIPEWIRE_LATENCY="128/48000" application

#### Bluetooth eszközök

Ha a pipewire-audio szoftvercsomag telepítve van, akkor a PipeWire kezeli a Bluetooth hangkészülékeket.

##### Automatikus profilválasztás

A WirePlumber alapértelmezés szerint engedélyezi a profil automatikus váltását. Képes automatikusan váltani a HSP/HFP és A2DP profilok között, amikor bemeneti adatfolyamot érzékel. Az alábbi parancs segítségével le lehet tiltani ezt a viselkedést:

    $ wpctl settings --save bluetooth.autoswitch-to-headset-profile false

A pipewire-media-session szoftvercsomag ezt alapértelmezés szerint letiltva tartalmazza. Ön az `bluez5.autoswitch-profile` tulajdonságot `true` értékre állíthatja az engedélyezés érdekében:

    /etc/pipewire/media-session.d/bluez-monitor.conf (vagy ~/.config/pipewire/media-session.d/bluez-monitor.conf)

    ...
    rules = [
        {
            ...
            actions = {
                update-props = {
                    ...
                    bluez5.autoswitch-profile = true
    ...

#### PipeWire patch készletek a parancssor számára

A qpwgraph használható kapcsolatok megjelenítésére és létrehozására, valamint patch készletek mentésére és betöltésére is.

Nem grafikus felületű igényekhez az alábbi bash parancsfájlok használhatóak a huzalkészletek mentésére, betöltésére és az összes kapcsolat eltávolítására. A mentéshez és betöltéshez használjon egy parancssori paramétert a fájlnév megadásához.

##### Parancsfájlok a PipeWire 0.3.57-es vagy újabb verziójához

    pw-savewires

    #!/bin/bash

    if [[ "$#" -ne 1 ]]; then
        echo
        echo 'usage: pw-savewires filename'
        echo
        exit 0
    fi

    rm $1 &> /dev/null

    link_nodeOutput=''

    while IFS= read -r line; do
        if [[ "$line" =~ [|] ]];
        then
            link_nodeInput=`echo $line | cut -d ">" -f 2`
            echo "Saving $link_nodeOutput, ${link_nodeInput//' '}"
            echo "$link_nodeOutput ${link_nodeInput//' '}">> $1
        else
            link_nodeOutput="$line"
        fi
    done < <(pw-link -lo)

    pw-loadwires

    #!/bin/bash

    if [[ "$#" -ne 1 ]]; then
        echo
        echo 'usage: pw-loadwires filename'
        echo
        exit 0
    fi

    while IFS= read -r line; do
        echo "Connecting $line"
        pw-link $line
    done < <(cat $1)

    pw-dewire

    #!/bin/bash
    link_nodeOutput=''

    while IFS= read -r line; do
        if [[ "$line" =~ [|] ]];
        then
            link_nodeInput=`echo $line | cut -d ">" -f 2`
            echo "Removing $link_nodeOutput, ${link_nodeInput//' '}"
            pw-link -d $link_nodeOutput ${link_nodeInput//' '}
        else
            link_nodeOutput="$line"
        fi
    done < <(pw-link -lo)

##### Parancsfájlok a PipeWire 0.3.56-os vagy korábbi verziójához

This article or section is being considered for removal.

Reason: A PipeWire 0.3.57-es verziójától kezdve a `pw-cli dump` parancs már nem támogatott. (Discuss in Talk:PipeWire (Magyar))

    pw-savewires

    #!/bin/bash

    if [[ "$#" -ne 1 ]]; then
    	echo
    	echo 'usage: pw-savewires filename'
    	echo
    	exit 0
    fi

    rm $1 &> /dev/null
    while IFS= read -r line; do
    	link_on=`echo $line | cut -f 4 -d '"'`
    	link_op=`echo $line | cut -f 6 -d '"'`
    	link_in=`echo $line | cut -f 8 -d '"'`
    	link_ip=`echo $line | cut -f 10 -d '"'`
    	echo "Saving: " "'"$link_on:$link_op"','"$link_in:$link_ip"'"
    	echo "'"$link_on:$link_op"','"$link_in:$link_ip"'" >> $1
    done < <(pw-cli dump short link)

    pw-loadwires

    #!/bin/python

    import sys
    import csv
    import os

    if len(sys.argv) < 2:
    	print('\n usage: pw-loadwires filename\n')
    	quit()

    with open(sys.argv[1], newline='') as csvfile:
    	pwwreader = csv.reader(csvfile, delimiter=',', quotechar='"')
    	for row in pwwreader:
    		print('Loading:  ' + row[0] + ' --> ' + row[1])
    		process = os.popen('pw-link ' + row[0] + ' ' + row[1])

    pw-dewire

    #!/bin/bash
    while read -r line; do
    	echo 'Dewiring: ' $line '...'
    	pw-link -d $line
    done < <(pw-cli dump short link {{!}} grep -Eo '^[0-9]+')

#### Hangkészülékek megosztása a hálózaton lévő számítógépekkel

A PipeWire többféle mechanizmust is támogat a hang hálózaton keresztül történő megosztás számára. Többek között a következőket támogatja:

- AES67
- RTP
- Apple Airplay (DRM funkciók nélkül)
- JACK (netjack2)
- Roc
- PipeWire Native RTP
- PulseAudio hálózati protokollja
- Snapcast

A PipeWire wiki tartalmaz egy áttekintő és összehasonlító oldalt a különböző hálózati protokollokról.

Az alábbiakban a Pulse Tunnel módszer kerül bemutatásra. A PipeWire PulseAudio megvalósítása támogatja a hálózati streamelést. Az egyik legegyszerűbb módja a hang megosztásának a hálózaton lévő számítógépek között az Avahi szolgáltatás használata a streaming felfedezése számára. Ennek a funkciónak az engedélyezéséhez telepítse a pipewire-zeroconf szoftvercsomagot.

Győződjön meg arról, hogy az `avahi-daemon.service` szolgáltatás fut (és amennyiben Ön tűzfalat használ, akkor a `5353`-as UDP port nyitva van) minden olyan számítógépen, amely hangot fog megosztani.

Note: Egyes grafikus felhasználói felülettel rendelkező hangerőszabályzók alapértelmezetten elrejtik a hálózati kártyákat. (Például a Plasma környezetben a "Hangbeállítások szerkesztése..." menüpontban be kell jelölni a "Virtuális eszközök megjelenítése" opciót).

A helyi hangeszközök megosztása érdekében töltse be a megfelelő modulokat a host számítógépen (ügyeljen arra, hogy a helyi IP-címet használja):

    $ pactl load-module module-native-protocol-tcp listen=192.168.1.10
    $ pactl load-module module-zeroconf-publish

Majd töltse be a felderítő modult a klienseken:

    $ pactl load-module module-zeroconf-discover

Egy dedikált beállításfájl létrehozásával lehetőség van a modulok automatikus betöltésére is:

    /etc/pipewire/pipewire-pulse.conf.d/50-network-party.conf (vagy ~/.config/pipewire/pipewire-pulse.conf.d/50-network-party.conf)

    pulse.cmd = [
        { cmd = "load-module" args = "module-native-protocol-tcp listen=192.168.1.10" }
        { cmd = "load-module" args = "module-zeroconf-discover" }
        { cmd = "load-module" args = "module-zeroconf-publish" }
    ]

##### Hang streamelése egy AirPlay vevőre

Lehetséges hangot streamelni egy olyan eszközre, amely AirPlay vevőként azonosítja magát. Ennek a funkciónak az engedélyezéséhez töltse be az RAOP Discover modult:

    $ pactl load-module module-raop-discover

Lehetséges ezt a modult automatikusan is betölteni egy dedikált beállításfájl létrehozásával:

    /etc/pipewire/pipewire.conf.d/raop-discover.conf (or ~/.config/pipewire/pipewire.conf.d/raop-discover.conf)

    context.modules = [
       {
           name = libpipewire-module-raop-discover
           args = { }
       }
    ]

Egyes hangszórók AirPlay-megvalósításai (például a Sonos AirPlay 2 hangszórók) megkövetelhetik a 6001-es és 6002-es portok megnyitását bejövő UDP-forgalom számára a forrást jelentő eszközön.

#### PipeWire futtatása a natív JACK réteg felett

Ha erre szükség van, akkor a PipeWire szintén képes JACK kliensként futni a natív JACK szolgáltatás fölött.

Tekintse meg a JACK és PipeWire (PipeWire wiki) valamint a JACK Bridge (PipeWire wiki) oldalakat további információkért és kiegészítő beállítási lehetőségekért (például az elérhető csatornákat illetően).

A használatához telepítse a pipewire-jack-client szoftvercsomagot, és indítsa el a JACK-et. A PipeWire-nek automatikusan csatlakoznia kell a hídon keresztül.

Note: Mivel a pipewire 0.3.81-es verziójától kezdődően a jackdbus modul betöltése automatikusan történik, ezért többé nincs rá szükség.

Manuális úton is betölthető (a pactl(1) leírása szerint), hasonlóan egy PulseAudio modulhoz: A jack elindítása előtt a `pactl load-module module-jackdbus-detect` parancsot kell használni.

#### ALSA dmix eszközök használata PipeWire kimenetként

Lehetőség van arra, hogy egy PipeWire szerver (vagy több szerver, tehát felhasználónként egy szerver) az ALSA rendszerre továbbítsa a hangot az ALSA dmix eszközök segítségével. Ez a megoldás lehetővé teszi az Ön számára, hogy az ALSA legyen a fő hangkimeneti rendszer, miközben nem ALSA-alapú eszközöket, például Bluetooth fejhallgatókat is használni tud.

##### ALSA dmix beállítása

Tegyük fel, hogy Önnek van kettő hangkártyája (`PCH` és `HDMI`) :

    /proc/asound/cards

     0 [PCH            ]: HDA-Intel - HDA Intel PCH
                          HDA Intel PCH at 0xdff40000 irq 146
     1 [HDMI           ]: HDA-Intel - HDA ATI HDMI
                          HDA ATI HDMI at 0xdfe60000 irq 147

Az Ön PCM -je így néz ki:

    /proc/asound/pcm

    00-00: ALC1220 Analog : ALC1220 Analog : playback 1 : capture 1
    00-02: ALC1220 Alt Analog : ALC1220 Alt Analog : capture 1
    01-03: HDMI 0 : HDMI 0 : playback 1
    01-07: HDMI 1 : HDMI 1 : playback 1
    01-08: HDMI 2 : HDMI 2 : playback 1
    01-09: HDMI 3 : HDMI 3 : playback 1
    01-10: HDMI 4 : HDMI 4 : playback 1
    01-11: HDMI 5 : HDMI 5 : playback 1

Továbbá tegyük fel, hogy az Ön ALSA beállítása valahogy így néz ki:

    /etc/asound.conf

    ctl.!default {
      type hw
      card PCH
    }

    pcm.!default {
      type plug
      slave.pcm "dmix:PCH,0"
    }

    pcm.dhdmi {
      type plug
      slave.pcm "dmix:HDMI,9"
    }

Ebben a konkrét példában a dmix eszközök a `dmix:PCH,0` és `dmix:HDMI,9` lennének.

##### PipeWire dmix beállítás

Először is, a `monitor.alsa` funkció leállításával állítsa le a WirePlumber számára a hardveres ALSA eszközök figyelését és hozzáadását:

    /etc/wireplumber/wireplumber.conf.d/10-disable-alsa-monitor.conf (vagy ~/.config/wireplumber/wireplumber.conf.d/10-disable-alsa-monitor.conf)

    wireplumber.profiles = {
      main = {
        monitor.alsa = disabled
      }
    }

Most állítsa be a PipeWire szoftver úgy, hogy dmix eszközöket használjon. Az alapértelmezett beállításfájl (`/usr/share/pipewire/pipewire.conf`) tartalmaz egy kikommentelt példát, amelyet Ön alapként felhasználhat.

Adjon hozzá egy saját elemet a `context.objects` tömbhöz:

    /etc/pipewire/pipewire.conf.d/alsa-dmix.conf (vagy ~/.config/pipewire/pipewire.conf.d/alsa-dmix.conf)

    context.objects = [
        # Nem a dmix használatával kezdünk, hanem egy bemeneti eszközzel.
        # Ne feledje el hozzáadni a bemeneti eszközt.
        # Egy barátom laptopján láttam, ahogy a Zoom teljesen
        # összeomlik és vég nélkül sírt, mert nem volt
        # bemeneti eszköz beállítva! Ön most figyelmeztetve lett.
        { factory = adapter
            args = {
                factory.name           = api.alsa.pcm.source
                node.name              = "alsa-mic-internal" # A pulse eszköz neve (mpv esetén).
                node.description       = "Mic Internal" # A pulse eszköz neve (pavucontrol esetén).
                media.class            = "Audio/Source"
                api.alsa.path          = "hw:PCH,0"
            }
        }
        # Rendben, most hozzáadjuk a dmix PCM-eket.
        { factory = adapter
            args = {
                factory.name           = api.alsa.pcm.sink # sink for dmix
                node.name              = "alsa-dmix-internal" # A pulse eszköz neve (mpv esetén).
                node.description       = "PCM Internal" # A pulse eszköz neve (pavucontrol esetén).
                media.class            = "Audio/Sink" # Kimenet a dmix számára.
                api.alsa.path          = "dmix:PCH,0"
            }
        }

        { factory = adapter
            args = {
                factory.name           = api.alsa.pcm.sink # Kimenet a dmix számára.
                node.name              = "alsa-dmix-hdmi" # A pulse eszköz neve (mpv esetén).
                node.description       = "PCM HDMI" # A pulse eszköz neve (pavucontrol esetén).
                media.class            = "Audio/Sink" # Kimenet a dmix számára.
                # Emlékezzen arra, hogy ez egy nem alapértelmezett dmix az /etc/asound.conf fájlból.
                api.alsa.path          = "dmix:HDMI,9"
            }
        }
    ]

Közönséges felhasználóként (nem root jogosultsággal rendelkező felhasználóként) nézze meg a `wpctl status` parancs kimenetét, és állítsa be az alapértelmezett bemeneti (forrás) és kimeneti (nyelő) eszközöket a `wpctl set-default ID` paranccsal. Az `ID` az a szám, amely a nyelő/forrás nevek előtt szerepel.

Most már teljes mértékben tesztelheti az Ön beállítását.

#### Eszközprofilok közötti váltás

Egyes hardveres hangeszközök, például a `snd_hda_intel`, eltérően működnek attól függően, hogy melyik profilban fut az eszköz. A `snd_hda_intel` esetében külön profilok léteznek a HDMI és az analóg kimenet számára.

HDMI kimenetre való átváltás WirePlumber használatával:

    $ wpctl set-profile <device-ID> 3
    $ wpctl status

    ...
    ├─ Sinks:
    │  *   53. Built-in Audio Digital Stereo (HDMI) [vol: 1.00]
    ...

Analóg kimenetre való átváltás WirePlumber használatával:

    $ wpctl set-profile <device-ID> 1
    $ wpctl status

    ...
    ├─ Sinks:
    │  *   51. Built-in Audio Analog Stereo        [vol: 0.60]
    ...

### WebRTC képernyőmegosztás

A legtöbb alkalmazás korábban az X11 rendszert használta az asztal (vagy az egyes alkalmazások) képernyőrögzítésére, például amikor WebRTC-t használtak a webböngészőkben (például a Google Meet esetében). A Wayland alatt a képernyőmegosztási mechanizmust az XDG Desktop Portal és a PipeWire kezeli, amely lehetővé teszi a tartalmak megosztását Wayland környezetben, részletes hozzáférés-szabályozással.

Tip: Tesztelje, hogy működik-e a WebRTC képernyőmegosztás a Mozilla GetUserMedia WebRTC tesztoldalának használatával.
Note: Az xdg-desktop-portal 1.10.0 verziója kijavított egy eltérést a specifikáció és a D-Bus interfész implementációja között [3]. Ezért előfordulhat, hogy egyes kliensek nem működnek az xdg-desktop-portal 1.10.0 vagy újabb verzióival.

A Firefox (84-es vagy újabb verzió) és a Chromium (110-es vagy újabb verzió) alapértelmezetten támogatja ezt a módszert, míg a Chromium régebbi (73-as vagy újabb) verzióiban engedélyezni kell a WebRTC PipeWire támogatást a megfelelő (kísérleti) jelölő beállításával a `chrome://flags/#enable-webrtc-pipewire-capturer` URL-címen, vagy a `--enable-features=WebRTCPipeWireCapturer` parancssori argumentummal.

Az obs-studio (27-es vagy újabb verzió) támogatja ezt a módszert az új PipeWire rögzítési forrás használatával.

### Videó

This article or section needs expansion.

Reason: pipewire-v4l2 (Discuss in Talk:PipeWire (Magyar))

Bár a szoftver még nem készült el teljesen a gyártási környezetre, biztonságosan lehet vele kísérletezni. A legtöbb olyan alkalmazás, amely a GStreamer keretrendszert használja például videófolyamok kezelésére, várhatóan gond nélkül működik a PipeWire GStreamer bővítménnyel. Részletekért tekintse meg a GStreamer#PipeWire leírást. Az olyan alkalmazások, mint például a cheese, már képesek videobemenetet megosztani ezen keresztül.

A pipewire-v4l2 szoftvercsomag használatával lehetséges a `pw-v4l2` szkript segítségével betölteni egy könyvtárat (`/lib/pipewire-0.3/v4l2/libpw-v4l2.so`), amely elfogja a v4l2 hívásokat, és a videót a pipewire rendszeren keresztül irányítja.

## Hang utófeldolgozása

### Pipewire module-filter-chain

A PipeWire rendelkezik egy belső modullal, amelynek neve filter-chain, és amely képes olyan csomópontokat létrehozni, amelyek hangbemenet és hangkimenet feldolgozására szolgálnak. Példákat a `/usr/share/pipewire/filter-chain/` könyvtárban talál. Ezek a példák többek között hangkiegyenlítést, virtuális térhangzást, LADSPA bővítményeket és csatornakeverést tartalmaznak.

#### LADSPA

Számos LADSPA bővítmény telepíthető a hivatalos szoftvercsomag-tárolókból, és ezek használhatóak a PipeWire szűrőláncaiban. Egy adott fájl által biztosított bővítménycímkék és elérhető vezérlők listázásához használja a ladspa szoftvercsomagban található `analyseplugin` segédprogramot:

    $ analyseplugin /usr/lib/ladspa/lsp-plugins-ladspa.so

#### Rendszerszintű parametrikus hangkiegyenlítés

Másolja a `/usr/share/pipewire/filter-chain/sink-eq6.conf` fájlt az `/etc/pipewire/pipewire.conf.d/` könyvtárba (vagy a `~/.config/pipewire/pipewire.conf.d/` könyvtárba).

Ezután szerkessze a `sink-eq6.conf` fájlt a kívánt paraméterek beillesztéséhez. Fejhallgatók esetén ezek beszerezhetőek az Oratory1990 adatbázisából, vagy ha ott nem szerepelnek, akkor az AutoEQ projektből.

Ha előerősítőre van szükség, akkor módosítsa az `eq_band_1` beállítást úgy, hogy egy `bq_highshelf` szűrőt alkalmazzon 0 Hz frekvencián negatív erősítéssel (a támogatott erősítés -120 dB és +20 dB között van):

    label = bq_highshelf
    control = { "Freq" = 0 "Q" = 1.0 "Gain" = -7.5 }

Több mint 6 sáv esetén adjon hozzá további bejegyzéseket a `nodes` listához, valamint a megfelelő `linkeket`, amelyek az egyik szűrő ":Out" kimenetét a következő szűrő ":In" bemenetéhez kapcsolják, például amikor 11 sávra (előerősítő + 10) szeretné növelni a számukat.

                        { output = "eq_band_6:Out" input = "eq_band_7:In" }
                        { output = "eq_band_7:Out" input = "eq_band_8:In" }
                        { output = "eq_band_8:Out" input = "eq_band_9:In" }
                        { output = "eq_band_9:Out" input = "eq_band_10:In" }
                        { output = "eq_band_10:Out" input = "eq_band_11:In" }

Indítsa újra a Pipewire szoftvert, válassza az "Equalizer Sink" lehetőséget alapértelmezett hangkimeneti eszközként. Ennek ezután minden alkalmazásra érvényesnek kell lennie.

### EasyEffects

Az EasyEffects (korábbi nevén PulseEffects) egy GTK-alapú segédprogram, amely számos hangeffektust és szűrőt biztosít az egyes alkalmazások kimeneti hangeszközeire és a mikrofon bemeneti csatornáira. Figyelemre méltó effektusai közé tartozik a bemeneti/kimeneti hangszínszabályzó, a kimeneti hangerő-kiegyenlítés és a basszuskiemelés, valamint a bemeneti de-esser és zajcsökkentő bővítmény. A hatások teljes listájáért tekintse meg ezt a GitHub weboldalt.

Note: A Firefox böngészőnél probléma adódhat a mikrofon stream kezelésével. Részletekért tekintse meg ezt a Github oldalt hol a problémát tárgyalják.

Az EasyEffects használatának érdekében telepítse az easyeffects szoftvercsomagot. A Community Presets részben előre elkészített beállításgyűjtemény található. Az AutoEq gyűjteményében algoritmikusan generált fejhallgató EQ-beállítások érhetőek el.

Note: Az EasyEffects indítás után összeomolhat, GTK hibákat dobhat. A megkerülési megoldásért tekintse meg a kapcsolódó Github bejegyzést a problémával kapcsolatban.
Note: A PulseEffects korábbi verziójához tekintse meg a PulseAudio#PulseEffects leírást.

### NoiseTorch

A NoiseTorch egy alternatív megoldás a zajcsökkentésre, amely a noisetorchAUR szoftvercsomag részeként érhető el. Létezik továbbá a noisetorch-gitAUR verzió is.

A program elindítása után a modul betölthető a kiválasztott mikrofonhoz. Lehetőség van a hangaktiválási küszöb beállítására is, amelyet a legmagasabb szintre kell állítani, hogy ne szűrje ki a valódi beszédhangot.

A hangfeldolgozás automatikusan elindítható a systemd segítségével. Ezzel kapcsolatban tekintse meg a [4] leírást. Vegye figyelembe, hogy amennyiben a noisetorch az AUR szoftvercsomag-tárolóból lett telepítve, akkor a bináris fájl elérési útvonala eltérő.

### Zajelnyomás a beszéd számára

Telepítse a noise-suppression-for-voice szoftvercsomagot.

A telepítés után kövesse a GitHub weboldalon megadott utasításokat.

### JamesDSP

A JamesDSP for Linux (elérhető jamesdspAUR néven) nyílt forráskódú hangeffekteket biztosít a PipeWire és a PulseAudio rendszerek számára. Saját effektmotorját használja, függetlenül a LADSPA, Calf és hasonlóktól. A JamesDSP eredetileg Android eszközökre készült hanghatás-feldolgozóként jelent meg.

### LADSPA, LV2 és VST bővítmények használata

Ha az elérhető LADSPA, LV2 és VST bővítmények teljes listájából szeretne választani, akkor ezeket alkalmazhatja a carla segítségével a pipewire-jack használatával.

Indítsa el a Carla szoftvert, majd lépjen a Beállítások > Carla beállítása > Motor menüpontra. Győződjön meg róla, hogy a Audio driver JACK-re van állítva, és válasszon egy feldolgozási módot az igényeinek megfelelően. A feldolgozási módot úgy is kiválaszthatja, ha a Carla szoftvert egy adott paranccsal indítja el, például a `carla-rack` paranccsal a Continuous Rack módhoz.

Az alkalmazások kimeneteit kézzel is csatlakoztathatja a Carla szoftverhez, azonban ha több alkalmazást is a Carla szoftveren keresztül kíván átvezetni, akkor kényelmesebb lehet egyetlen virtuális eszköz létrehozása az alkalmazások és a Carla között, és ezt opcionálisan alapértelmezett eszközként is használhatja. Kezdetben hozzon létre egy új null sinket `default_null_sink` néven.

    /etc/pipewire/pipewire.conf.d/10-default-null-sink.conf (vagy ~/.config/pipewire/pipewire.conf.d/10-default-null-sink.conf)

    context.objects = [
      {
        factory = adapter
        args = {
          factory.name = support.null-audio-sink
          node.name = "default_null_sink"
          media.class = Audio/Sink
          audio.position = [ FL FR ]
          monitor.channel-volumes = true
          monitor.passthrough = true
        }
      }
    ]

Indítsa újra a PipeWire szoftvert a változtatások érvényesítése érdekében.

Alternatív megoldásként létrehozhat egy ideiglenes virtuális eszközt a pw-cli(1) segítségével, vagy ha a pipewire-pulse telepítve van, akkor a pactl(1) segítségével. A részletekért tekintse meg a PipeWire wiki weboldalát.

A Continuous Rack feldolgozási módban a lista tetején lévő bővítmény fogja először megkapni a hangfolyamot, ugyanúgy, mint az EasyEffects esetében. Ezután lépjen a Patchbay fülre, és csatlakoztassa a `default_null_sink` Bal/Jobb monitorjait a Carla bemeneteihez, majd a Carla kimeneteit a kívánt eszköz (hangszórók, fülhallgató, HDMI stb.) lejátszási csatornáihoz. Mentse el a beállítást egy helyi fájlba, például: `~/Documents/carla_sink_effects.carxp`. A Carla automatikusan visszaállítja a csatlakozásokat a fájl megnyitását követően.

A hanghatások tesztelhetőek, miközben egy multimédia-alkalmazás hangot játszik le, például egy videó megtekintése közben egy weboldalon a Firefox böngészőn keresztül. Ennek két módja van. Az első mód amikor a Carla Patchbay fülön belül válassza le az összes Firefox kapcsolatot, majd csatlakoztassa annak Bal/Jobb kimeneteit a `default_null_sink` lejátszóihoz. A második esetben a pavucontrol segítségével keresse meg a Firefox hangfolyamát, és irányítsa át azt a `default_null_sink`-re (ez megjegyzi a kapcsolatot, így a következő indításkor automatikusan ugyanarra a sinkre irányítja az alkalmazást).

To run Carla with the Continuous Rack process mode and load the saved file at startup, create a systemd user service: A Carla Continuous Rack feldolgozási móddal történő futtatásához, és a mentett fájl indításkori betöltéséhez hozzon létre egy systemd felhasználói szolgáltatást :

    ~/.config/systemd/user/jack-carla-rack.service

    [Unit]
    Description=Load Carla Rack JACK host

    [Service]
    Environment=PIPEWIRE_LINK_PASSIVE=true
    Type=exec
    ExecStart=/usr/bin/carla-rack --no-gui %h/Documents/carla_sink_effects.carxp

    [Install]
    WantedBy=default.target

Majd engedélyezze a `jack-carla-rack.service` felhasználói unitot.

Vegye figyelembe, hogy ha a `default_null_sink` eszközt állítja be alapértelmezettként a rendszerbeállításokban, akkor minden alkalmazás erre lesz átirányítva, és a hangerőszabályzó billentyűk ennek a szintjét módosítják, nem pedig a hangszórókét. Ha a hangszórók hangerejét szeretné szabályozni, akkor hagyja őket alapértelmezettként a rendszerbeállításokban, és irányítsa át a kívánt alkalmazást a `default_null_sink` eszközre a pavucontrol segítségével (a PipeWire kompatibilitási réteg megjegyzi a kapcsolatot, így ugyanazon alkalmazás következő indításakor is automatikusan erre az eszközre irányítja azt).

## Hibaelhárítás

This article or section is a candidate for merging with PipeWire (Magyar)/Troubleshooting (Magyar).

Notes: Ez a szakasz elég hosszú ahhoz, hogy egy külön aloldalra legyen átrakva. (Discuss in Talk:PipeWire (Magyar)#Hibaelhárítás áthelyezése egy külön oldalra)

### Hanggal kapcsolatos hibák

#### Nem észleli a PipeWire a mikrofont

A PipeWire `alsa-monitor` modulja alapértelmezés szerint az alsa-card-profiles segítségével észleli az eszközöket. Ha ez nem működik az Ön számára, akkor próbálja meg kikapcsolni az `api.alsa.use-acp` beállítást, vagy választhatóan kapcsolja be az `api.alsa.use-ucm` beállítást a wireplumber szoftverben:

    /etc/wireplumber/wireplumber.conf.d/50-alsa-config.conf (vagy ~/.config/wireplumber/wireplumber.conf.d/50-alsa-config.conf)

    monitor.alsa.properties = {
      # Használja az ALSA-Card-Profile eszközöket. Ők az UCM-et
      # vagy a profilbeállítást használják az eszköz és a keverő beállításához.
      # alsa.use-acp = true
      # Ha elérhető, akkor használja az UCM-et a profil helyett. Letiltható
      # annak érdekében, hogy kihagyja az UCM profil használatának megkísérlését.
      alsa.use-ucm = true
    }

A pipewire-media-session segítségével:

    /etc/pipewire/media-session.d/alsa-monitor.conf (vagy ~/.config/pipewire/media-session.d/alsa-monitor.conf)

    ...
    rules = [
        {
            ...
            actions = {
            update-props = {
                ...
                api.alsa.use-acp = false
    ...

Ezután indítsa újra a WirePlumber szoftvert, és ellenőrizze az elérhető eszközöket:

This article or section is out of date.

Reason: Az `--list-targets` kapcsoló már nem érhető el a `pw-record` legújabb verzióiban. Az objektumok listázásához használja helyette a `wpctl status`, `pw-cli ls` vagy `pw-dump` parancsok valamelyikét. (Discuss in Talk:PipeWire (Magyar))

    $ 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

Egy alternatív megoldás, amelyet ebben a PipeWire hibabejelentésben javasoltak, az, hogy manuálisan adja hozzá a mikrofont. Először is győződjön meg arról, hogy a mikrofont az ALSA felismeri.

    $ arecord -l

    **** List of CAPTURE Hardware Devices ****
    card card_number: card_name, device device_number: device_name
      ...

Válassza ki a mikrofont a listából, és a mikrofon további teszteléséhez futtassa a következő parancsokat.

    $ arecord --duration=5 --format=dat --device=hw:card_number,device_number test-mic.wav # Felvétel a mikrofontól.
    $ aplay test-mic.wav # Felvétel lejátszása.

Ha a mikrofon működik az `arecord` paranccsal, de a PipeWire nem ismeri fel, akkor próbáljon meg egy beállításfájlt hozzáadni az eszköz manuális hozzáadásánál.

    /etc/pipewire/pipewire.conf.d/microphone.conf (vagy ~/.config/pipewire/pipewire.conf.d/microphone.conf)

    context.objects = [
        { factory = adapter
            args = {
                factory.name           = api.alsa.pcm.source
                node.name              = "microphone"
                node.description       = "Undetected Microphone"
                media.class            = "Audio/Source"
                api.alsa.path          = "hw:card_number,device_number"
            }
        }
    ]

Ezután indítsa újra a PipeWire szoftvert a beállítás újratöltése érdekében.

#### Hang nem vált át automatikusan új eszköz csatlakoztatásakor.

Az újonnan csatlakoztatott eszközökre történő automatikus átváltás érdekében hozza létre ezt a fájlt:

    /etc/pipewire/pipewire-pulse.conf.d/switch-on-connect.conf (vagy ~/.config/pipewire/pipewire-pulse.conf.d/switch-on-connect.conf)

    pulse.cmd = [
        { cmd = "load-module" args = "module-switch-on-connect" }
    ]

Ezután indítsa újra a `pipewire-pulse.service` szolgáltatást a systemctl --user paranccsal, és ellenőrizze, hogy a `module-switch-on-connect` be van-e töltve.

#### Nincs hang a Bluetooth-eszközhöz való csatlakozás után

2020.12.07-től kezdődően, amennyiben nincs hang a Bluetooth-eszközhöz való csatlakozás után, előfordulhat, hogy át kell állítani az alapértelmezett kimenetet (sink), és/vagy át kell helyezni egy kimeneti adatfolyamot a megfelelő kimenetre. Használja a `pactl list sinks` parancsot az elérhető kimenetek listázása érdekében, és a `pactl set-default-sink` parancsot az alapértelmezett kimenet Bluetooth-eszközre való átváltásához. Ez automatizálható az udev segítségével egy ehhez hasonló szkripttel.

Tekintse meg ezt a Reddit bejegyzést a probléma részletes megvitatása érdekében. A szkript szerzője szerint a headset profil (HSP) továbbra is problémákat okozhat.

#### Nincs hang az mpv, vlc, totem alkalmazásokban, de a hang működik a webböngészőben és a GNOME hangszórótesztben

The factual accuracy of this article or section is disputed.

Reason: A szöveg stílusa nem enciklopédikus, inkább blog-jellegű. Átfogalmazásra és rövidítésre van szükség. Az alfejezetek túlzásnak számítanak. A probléma feltételezett oka nincs megerősítve. (Discuss in Talk:PipeWire (Magyar))

##### Állapot leírása

A probléma állapotának ellenőrzésére a legjobb eszköz az `mpv` használata egy olyan fájllal, amely az elérhető kodekekkel várhatóan működik:

    $ mpv --ao=alsa test_file.mpv
    $ mpv --ao=pcm test_file.mpv
    $ mpv --ao=jack test_file.mpv
    $ mpv --ao=pulse test_file.mpv
    $ mpv --ao=openal test_file.mpv

Ez a megoldás akkor alkalmazható, amikor a fenti tesztek közül néhány vagy mindegyik hangot ad, de ugyanaz a teszt a `pipewire` opcióval nem ad hangot:

    $ mpv --ao=pipewire test_file.mpv

A GNOME asztali hangszóróteszt és a webböngészőben a 'YouTube' érvényes hangkimenetet ad.

A bemenetek váltása, a némítás és visszahangosítás, valamint a hangerő módosítása a GNOME kornyezetben nem oldja meg a problémát.

A `pactl list sinks` által 'SUSPENDED' állapotúnak jelzett kimenet nem jelent problémát, mivel az állapot megfelelően megváltozik, amikor videót játszik le webböngészőn keresztül.

A `pactl info` használata nem utal semmilyen nyilvánvaló problémára.

A vonatkozó `systemd` egységek naplóinak átvizsgálása nem utal semmilyen nyilvánvaló problémára.

##### Hiba oka

Úgy tűnik, hogy a `pipewire` és a hardver közötti út valahogyan elnémult vagy megváltozott. Az eredeti szerző nem tudja, hogyan lehetne azonosítani és rámutatni a problémára parancssoros eszközök segítségével.

##### Megoldás

Telepítse a pavucontrol szoftvercsomagot. Futtassa a `pavucontrol` parancsot, válassza ki a megfelelő forrást a Beállítás fülön, majd válassza ki újra a Kimeneti eszköz fülön, és használja a Némítás gombot a forrás némításához és visszahangosításához, miközben a `mpv --ao=pipewire test.mp4` videó fut.

#### Alacsony hangerő

A PulseAudio szoftver Pipewire szoftverre való cseréje után a hang működhet megfelelően, de a számítógép újraindítása után a hangerő elviselhetetlenül alacsonnyá válhat.

Nyissa meg az `alsamixer` alkalmazást, használja az `F6` billentyűgombot a megfelelő hangkártya kiválasztása érdekében, és győződjön meg róla, hogy az ALSA hangerők 100% értéken vannak. Az `alsactl` parancsnak meg kell őriznie ezt a beállítást újraindítás után.

#### RLIMIT_MEMLOCK növelése

    Dec 13 11:11:11 HOST pipewire-pulse[99999]: Failed to mlock memory 0x7f4f659d8000 32832: This is not a problem but for best performance, consider increasing RLIMIT_MEMLOCK

Telepítse a realtime-privileges szoftvercsomagot, és adja hozzá az Ön saját felhasználóját a `realtime` csoporthoz.

Alternatívaként úgy tűnik, hogy a memlock 64 kB méretről 128 kB méretre növelése elegendő a javításhoz. Ha Ön a `pipewire-pulse` szolgáltatást systemd/User alatt futtatja, akkor adja hozzá a következőt:

    username	soft	memlock	64
    username	hard	memlock	128

a `/etc/security/limits.d/username.conf` fájlhoz.

#### Alapértelmezett mintavételi sebesség módosítása

Alapértelmezés szerint a PipeWire 48 kHz frekvenciájú fix globális mintavételi sebességet állít be. Ha módosítani kell ezt (például magasabb értéket támogató DAC-cel rendelkezik), akkor az alapértelmezett értéket a következőképpen állíthatja be:

    /etc/pipewire/pipewire.conf (vagy ~/.config/pipewire/pipewire.conf)

    ...
    context.properties = {
        ...
        default.clock.rate          = mintavételi_sebesség
        ...

#### Megengedett mintavételi sebesség(ek) módosítása

A PipeWire dinamikusan módosíthatja a DAC által támogatott kimeneti mintavételi sebességeket. A mintavételi sebesség az éppen lejátszott hang stream mintavételi sebességéhez igazodik.

    ~/.config/pipewire/pipewire.conf

    ...
    context.properties = {
        ...
        default.clock.allowed-rates = [ mintavételezési_sebesség_1 mintavételezési_sebesség_2 mintavételezési_sebesség_3 ... ]
        ...

Például, `[ 44100 48000 88200 96000 ]`.

A fejlesztő szerint: "A PipeWire legfeljebb 16 különböző mintavételi sebességet engedélyez, és lehetőség szerint vált közöttük". Ez azt jelenti, hogy a fenti konfigurációval nem történik újramintavételezés, amennyiben a hardver támogatja. A PipeWire 0.3.61 verziójától kezdve akár 32 különböző mintavételi sebesség is beállítható.

##### Engedélyezett mintavételi sebesség(ek) lekérdezése

Ellenőrizze a hardver kézikönyvét a DAC által támogatott értékekért. A kernel-illesztőprogram kodekje által támogatott sebességek a következő paranccsal listázhatóak.

    $ grep -E 'Codec|Audio Output|rates' /proc/asound/card*/codec#*

Ha a DAC nem jeleníti meg a képernyőn a kodek-információkat, akkor a támogatott sebességeket így próbálhatja meg lekérni:

    $ grep -m1 -Hn "" /proc/asound/card?/stream? | tee /dev/tty | awk -F':' '{print $1}' | xargs grep 'Rates'

Note: Bár a DAC chip jelenthet a specifikációban hirdetettnél magasabb mintavételi sebességeket, ezek egy része egzotikus üzemmódokhoz (pl. USB-ról I2S-re) lett tervezve.

##### Jelenleg használt mintavételi sebesség ellenőrzése

Futtassa a következő parancsot annak ellenőrzése érdekében, hogy megállapítsa, vajon melyik kimeneti mintavételi sebesség van használatban egy kártya számára:

    $ grep rate: /proc/asound/card?/pcm??/sub?/hw_params

    /proc/asound/card1/pcm0p/sub0/hw_params:rate: 96000 (96000/1)

A `pcm0p` vagy `pcm0c` esetében a `c` a "capture" (rögzítés) rövidítése, míg a `p` a "playback" (lejátszás) rövidítése.

A következő parancsa az egyes kártyák és hang streamek jelenleg használt mintavételi sebességét is megjeleníti:

    $ pw-top

Tip: Ha a DAC nem vált magasabb sebességre a default.clock.allowed-rates beállítása után, akkor az azt jelezheti, hogy a rendszer nem képes felismerni a DAC által támogatott sebességeket. Ilyen esetben továbbra is megpróbálhatja beállítani a default.clock.rate értékét.

#### Hangminőség (átmintavételezési minőség)

Ha a PulseAudio szoftvert a `resample-method = speex-float-10` vagy `soxr-vhq` beállítással használta, akkor érdemes lehet a `resample.quality` értékét `10` értékre vagy a maximális `14` értékre állítani:

    /etc/pipewire/client.conf.d/resample.conf (vagy ~/.config/pipewire/client.conf.d/resample.conf)

    stream.properties = {
        resample.quality = 10
    }

Ne feledje el újraindítani a `pipewire.service` és `pipewire-pulse.socket` felhasználói szolgáltatásokat (különösen ne hagyja ki a `pipewire-pulse.socket` aljzatot, amennyiben szeretné, hogy a beállítások módosításai érvénybe lépjenek).

Nagyon kis minőségbeli különbség van a `10` és a `14` között, viszont a processzorterhelés különbség akár 2-3-szoros is. Azonban a `4`, a `10` és a `14` közötti késleltetési különbséget még senki sem vizsgálta. A `resample.quality = 14` beállítás 44100→48000 Hz frekvencián egy Ryzen 2600 processzoron azt okozza, hogy a `pipewire` vagy `pipewire-pulse` folyamatok egy processzormag terhelését 4.0% értékre emelik.

A mintavétel-frekvencia átalakító algoritmusokat itt hasonlíthatja össze: https://src.infinitewave.ca/ (ne vegyen figyelembe semmit 18 KHz felett és 120 dB felett). A speex az "Xiph.org Speex" néven szerepel.

A PipeWire saját mintavétel-frekvencia átalakító algoritmust használ, melynek a neve Spa. Pontosan ahogy a SoX esetében a `sox`, vagy a Speex esetében a `speexenc`, a PipeWire is tartalmaz egy különálló verziót: `spa-resample`. Használat:

    $ spa-resample -q 14 -f s24 -r 48000 input16bit44100orAnythingElse.wav output24bit48000hz.wav

Valószínűleg valamilyen módon lehetséges más mintavétel-frekvencia átalakítók használata egy Ön által létrehozott fogadó (sink) segítségével. Illetve, egyszerűen használjon egy bővítményt a zenelejátszójában (például a Qmmp rendelkezik SoX bővítménnyel).

#### Újracsatlakozás után a külső hangkártya nincs aktiválva

Ellenőrizze a `~/.config/pipewire/media-session.d/default-profile` fájlt, hogy található-e benne alapértelmezett profil "off" bejegyzés, és távolítsa el azt. Ha ez nem segít, akkor törölje az összes fájlt a(z) `~/.config/pipewire/media-session.d/` könyvtárból, majd indítsa újra a `pipewire.service` user unitot.

#### Nincs hang, vagy a pactl info eredménye "Failure: Connection refused"

Ez azt jelenti, hogy az alkalmazások nem tudnak kapcsolódni a PipeWire-Pulse szolgáltatáshoz. Ellenőrizze, hogy a `pipewire-pulse.service` user unit fut-e.

Ha ez nem javítja a helyzetet, akkor futtassa a `strace -f -o /tmp/pipe.txt pactl info` parancsot, és tegye közzé a `/tmp/pipe.txt` tartalmát PasteBin weboldalon, miközben segítséget kér az IRC-en (#pipewire az OFTC hálózaton) vagy a levelezési listákon.

#### Alacsony hangminőség Bluetooth kapcsolaton

Abban az esetben, amikor a Bluetooth lejátszás megakad, ellenőrizze a `pipewire.service` user unit állapotát az alábbihoz hasonló hibák után kutatva:

    Feb 17 18:23:01 HOST pipewire[249297]: (bluez_input.18:54:CF:04:00:56.a2dp-sink-60) client too slow! rate:512/48000 pos:370688 status:triggered

Ha ezek jelentkeznek, akkor ellenőrizze a jelenleg kiválasztott kodeket a `pactl list sinks` parancs segítségével, és próbálja meg módosítani úgy, hogy a `bluez5.codecs` beállítást az `sbc aac ldac aptx aptx_hd` értékek egyikére állítja. Próbálkozhat az mSBC támogatás bekapcsolásával is (ez javítja a mikrofon minőségét Sony 1000XM3 eszközöknél, pl. WH-1000XM3 fejhallgatók és WF-1000XM3 fülhallgatók esetén), valamint próbálkozhat az SBC-XQ kodek használatával.

Note: Olyan fejhallgatók, mint a WH-1000XM3, nem hirdetnek más kodeket az SBC/SBC-XQ kivételével, amennyiben a kísérőalkalmazásban a "Hangminőség mód" beállítása "Prioritize Sound Quality" (Hangminőség elsőbbséget élvez) helyett "Priority On Stable Connection" (Stabil kapcsolat elsőbbsége) módban van.

A wireplumber szoftvercsomaggal:

    /etc/wireplumber/wireplumber.conf.d/51-bluez-config.conf (vagy ~/.config/wireplumber/wireplumber.conf.d/51-bluez-config.conf)

    monitor.bluez.properties = {
      bluez5.enable-sbc-xq = true
      bluez5.enable-msbc = true
      bluez5.codecs = [ sbc sbc_xq ]
    }

A pipewire-media-session szoftvercsomaggal:

    /etc/pipewire/media-session.d/bluez-monitor.conf (vagy ~/.config/pipewire/media-session.d/bluez-monitor.conf)

    ...
    properties = {
      ...
      bluez5.enable-msbc = true
      bluez5.enable-sbc-xq = true
      bluez5.codecs = [sbc sbc_xq]
    ...

A változtatások érvénybe léptetése érdekében indítsa újra a PipeWire szolgáltatást a `pipewire.service` user unit újraindításával.

#### Észrevehető hangkésleltetés vagy hallható pattogás/recsegés a lejátszás indításakor

Ezt a csomópont inaktivitás esetén történő felfüggesztése okozza.

A wireplumber szoftvercsomaggal hozzon létre egy új fájlt az alapértelmezett beállítás felülírása számára:

    /etc/wireplumber/wireplumber.conf.d/51-disable-suspension.conf (vagy ~/.config/wireplumber/wireplumber.conf.d/51-disable-suspension.conf)

    monitor.alsa.rules = [
      {
        matches = [
          {
            # Matches all sources
            node.name = "~alsa_input.*"
          },
          {
            # Matches all sinks
            node.name = "~alsa_output.*"
          }
        ]
        actions = {
          update-props = {
            session.suspend-timeout-seconds = 0
          }
        }
      }
    ]
    # bluetooth devices
    monitor.bluez.rules = [
      {
        matches = [
          {
            # Matches all sources
            node.name = "~bluez_input.*"
          },
          {
            # Matches all sinks
            node.name = "~bluez_output.*"
          }
        ]
        actions = {
          update-props = {
            session.suspend-timeout-seconds = 0
          }
        }
      }
    ]

Indítsa újra a `pipewire.service` és `wireplumber.service` szolgáltatásokat a változtatások érvényesítése érdekében.

A felfüggesztés teljes kikapcsolása helyett beállíthatja a timeout értékét a kívánt másodpercek számára a forrás felfüggesztése előtti késleltetéshez.

Bizonyos eszközök saját csendészlelési és felfüggesztési mechanizmust valósítanak meg. Ezeknél pusztán a csomópont felfüggesztésének kikapcsolása nem lesz hatékony. Lehetséges azonban ezek megkerülése egy minimális zaj hozzáadásával, ezáltal biztosítva, hogy a kimenet soha ne váljon teljesen csendessé:

    .../51-disable-suspension.conf

    ...
        session.suspend-timeout-seconds = 0,  # 0 disables suspend
        dither.method = "wannamaker3", # add dither of desired shape
        dither.noise = 2, # add additional bits of noise
    ...

Szükséges lehet a `dither.noise` és `dither.method` paraméterek finomhangolása annak érdekében, hogy a zaj decibelben mérhető alacsony szintű maradjon, ugyanakkor elemi méréstechnikával kimutathatóan megakadályozza a csend észlelését. Tekintse meg a PipeWire dokumentációt.

A pipewire-media-session szoftvercsomaggal:

Tiltsa le ezt a `/etc/pipewire/media-session.d/*-monitor.conf` beállításfájl szerkesztésével (attól függően, hogy hol jelentkezik a késleltetés), és módosítsa a(z) `session.suspend-timeout-seconds` tulajdonságot 0 értékre állítva a kikapcsoláshoz, vagy kísérletezzen más értékekkel annak megállapítására, hogy melyik működik optimálisan.

Alternatívaként kikommentezheti a `suspend-node` sort a `/etc/pipewire/media-session.d/media-session.conf` fájlban.

Indítsa újra mind a(z) `pipewire.service`, mind a(z) `pipewire-pulse.service` szolgáltatást a változtatások érvényesítése érdekében, vagy indítsa újra a számítógépet.

#### Megszakad a hang több streamelés indításakor

Ezt a problémát jellemzően a pipewire-pulse.service user unit naplójának olvasásával és az ehhez hasonló sorokat megtalálni lehet diagnosztizálni:

    pipewire-pulse[21740]: pulse-server 0x56009b9d5de0: [Nightly] UNDERFLOW channel:0 offset:370676 underrun:940

A hivatalos PipeWire hibakeresési útmutató szerint ennek a problémának a megoldásához a wireplumber esetében:

    /etc/wireplumber/wireplumber.conf.d/50-alsa-config.conf (vagy ~/.config/wireplumber/wireplumber.conf.d/50-alsa-config.conf)

    monitor.alsa.rules = [
      {
        matches = [
          {
            node.name = "~alsa_output.*"
          }
        ]
        actions = {
          update-props = {
            api.alsa.period-size   = 1024
            api.alsa.headroom      = 8192
          }
        }
      }
    ]

A pipewire-media-session szoftvercsomaggal:

    /etc/pipewire/media-session.d/alsa-monitor.conf (vagy ~/.config/pipewire/media-session.d/alsa-monitor.conf

    api.alsa.headroom = 1024

Amennyiben hangakadást tapasztal a kerneloldali lapzárolás vagy a késői ütemezés miatt, akkor tekintse meg a Gaming_(Magyar)#Kernelparaméterek_finomhangolása_a_válaszidő-konzisztencia_érdekében című részt.

#### Torzult a hang

- Mikrofonok esetében futtassa az `alsamixer` programot, majd navigáljon ahhoz a kártyához, amelynél problémát tapasztal, és a nyílbillentyűgombok segítségével csökkentse a "Mic Boost" vagy "Internal Mic Boost" beállításokat.
- Kövesse a #Alapértelmezett mintavételi sebesség módosítása című részt, és csökkentse a mintavételezési rátát `44100` értékre (44,1 kHz).

#### Hanggal kapcsolatos problémák készenléti állapot után

Amennyiben a hang hiányzik vagy torzult a számítógép alvó állapotból való felébresztése után, akkor segíthet az ALSA újrainicializálása:

    # alsactl init

#### Magas késleltetés USB DAC-okkal (például Schiit DAC-okkal)

A mintavételezési ráták vagy formátumok módosítása segíthet csökkenteni a késleltetést bizonyos DAC-ok esetében, például a Schiit Hel 2-nél[5].

A pipewire-media-session szoftvercsomag esetében:

Másolja át az alapértelmezett `/usr/share/pipewire/media-session.d/alsa-monitor.conf` beállításfájlt az `/etc/pipewire/media-session.d/` könyvtárba (vagy a `~/.config/pipewire/media-session.d/` könyvtárba). Ezután fűzzön hozzá egy új szabályblokkot, amely hasonló a következő szabályhoz:

Ezután fűzze hozzá az alábbihoz hasonló új szabályblokkot:

    /etc/pipewire/media-session.d/alsa-monitor.conf (vagy ~/.config/pipewire/media-session.d/alsa-monitor.conf)

    ...
    rules = {
        ...
        {
            matches = [
                {
                    node.name = "alsa_output.name-of-node"
                }
            ]
            actions = {
                update-props = {
                    audio.format = "S24_3LE"
                    audio.rate = 96000
                    # A következő értéket meg kell duplázni, amíg a hang nem szakad meg, vagy más problémák meg nem szűnnek.
                    api.alsa.period-size = 128
    ...

A wireplumber számára:

    /etc/wireplumber/wireplumber.conf.d/52-update-rate-and-format.conf (vagy ~/.config/wireplumber/wireplumber.conf.d/52-update-rate-and-format.conf)

    monitor.alsa.rules = [
      {
        matches = [
          {
            node.name = "alsa_output.name-of-node"
          }
        ]
        actions = {
          update-props = {
            audio.format = "S24_3LE"
            audio.rate = 96000
            # A következő értéket meg kell duplázni, amíg a hang nem szakad meg, vagy más problémák meg nem szűnnek.
            api.alsa.period-size = 128
          }
        }
      }
    ]

Az `alsa_output.name-of-node` csomópont lekérdezhető a `pw-top` használatával.

Az Ön DAC-ja esetleg eltérő formátumot vagy mintavételezési rátát támogat. Ellenőrizheti, hogy mit támogat a DAC az ALSA lekérdezésével.

Először szerezze a DAC kártyának a számát:

    $ aplay -l

    ...
    card 3: S2 [Schiit Hel 2], device 0: USB Audio [USB Audio]
      Subdevices: 0/1
      Subdevice #0: subdevice #0
    ...

Tehát ebben a példában ez a 3-as számú kártya lenne. Szerezze be az összes támogatott mintavételezési rátát és formátumot:

    $ cat /proc/asound/cardX/streamX

    ...
    Playback:
      ...
      Interface 1
        Altset 1
        Format: S16_LE
        Channels: 2
        Endpoint: 0x05 (5 OUT) (ASYNC)
        Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
        Data packet interval: 125 us
        Bits: 16
        ...
      Interface 1
        Altset 2
        Format: S24_3LE
        Channels: 2
        Endpoint: 0x05 (5 OUT) (ASYNC)
        Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
        Data packet interval: 125 us
        Bits: 24
        ...
      Interface 1
        Altset 3
        Format: S32_LE
        Channels: 2
        Endpoint: 0x05 (5 OUT) (ASYNC)
        Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
        Data packet interval: 125 us
        Bits: 32
        ...
    ...

Ebben az esetben a `S16_LE, S24_3LE, S32_LE` a támogatott formátumok, és a `44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000` a támogatott mintavételezési ráták az összes formátumhoz.

#### Nincs hang az USB DAC-ból, amíg a hangerő el nem éri a 30% értéket

Egyes USB DAC-oknál előfordulhat, hogy nem adnak ki hangot, amíg a hangerő el nem ér egy bizonyos szintet [6]. Ez jellemzően 25% - 30% körül van, ami kellemetlenül hangos induló hangerőhöz vezet, és megnehezíti az alacsony hangerő fenntartását. A megoldás az, hogy figyelmen kívül hagyja a hardveres keverő hangerőszabályozását az `api.alsa.soft-mixer` értékének `true`-ra állításával.

Ennek a wireplumber szoftvercsomag használatával való eléréséhez használja:

    /etc/wireplumber/wireplumber.conf.d/alsa-soft-mixer.conf (vagy ~/.config/wireplumber/wireplumber.conf.d/alsa-soft-mixer.conf)

    monitor.alsa.rules = [
      {
        matches = [
          {
            device.name = "~alsa_card.*"
          }
        ]
        actions = {
          update-props = {
            # Ne használja a hardveres keverőt a hangerő szabályozására.
            # Kizárólag szoftveres hangerőt fog használni. A keverő továbbra is használva
            # van a nem használt útvonalak némítására a kiválasztott port alapján.
            api.alsa.soft-mixer = true
          }
        }
      }
    ]

Ezután indítsa újra a pipewire szolgáltatást. Állítsa be a fő hangerőt az `alsamixer` szoftverben, majd mentse el a beállításokat az root felhasználóként a `alsactl store` parancsot futtatva. Ezt követően a hangerőkeverő használható lesz a megszokott módon.

#### Valósidejű hang nem működik

Ha az `RTKit error: org.freedesktop.DBus.Error.AccessDenied` megjelenik a `pipewire.service` user unit státuszában, akkor a pipewire szolgáltatás prioritása nem lett valósidejűre állítva. Tekintse meg a [7] hivatkozást ennél a problémánál.

#### Egyidejű kimenet több fogadóra ugyanazon hangkártyán

Hozzon létre egy másolatot a `/usr/share/alsa-card-profile/mixer/profile-sets/default.conf` fájlról, hogy a módosítások a frissítések után is megmaradjanak. Itt egy olyan profilt határozunk meg, amely egyesíti az Analóg és HDMI alapértelmezett hozzárendeléseit.

    /usr/share/alsa-card-profile/mixer/profile-sets/multiple.conf

    [General]
    auto-profiles = no

    [Mapping analog-stereo]
    device-strings = front:%f
    channel-map = left,right
    paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-headphones analog-output-headphones-2
    paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headphone-mic analog-input-headset-mic
    priority = 15

    [Mapping hdmi-stereo]
    description = Digital Stereo (HDMI)
    device-strings = hdmi:%f
    paths-output = hdmi-output-0
    channel-map = left,right
    priority = 9
    direction = output

    [Profile multiple]
    description = Analog Stereo Duplex + Digital Stereo (HDMI) Output
    output-mappings = analog-stereo hdmi-stereo
    input-mappings = analog-stereo

Ezután állítsa be az Ön munkamenet-kezelőjét úgy, hogy az új kártya-profilt használja az eszközök megfelelő párosításához. Az azonosítási információkat a `pw-dump` vagy a wpctl segítségével lehet megtalálni.

A wireplumber szoftvercsomag számára:

    /etc/wireplumber/wireplumber.conf.d/51-alsa-custom.conf (vagy ~/.config/wireplumber/wireplumber.conf.d/51-alsa-custom.conf)

    monitor.alsa.rules = [
      {
        matches = [
          {
            device.nick = "HDA Intel PCH"
          }
        ]
        actions = {
          update-props = {
            api.alsa.use-acp = true
            api.acp.auto-profile = false
            api.acp.auto-port = false
            device.profile-set = "multiple.conf"
            device.profile = "multiple"
          }
        }
      }
    ]

A pipewire-media-session szoftvercsomag számára:

    /etc/pipewire/media-session.d/alsa-monitor.conf (vagy ~/.config/pipewire/media-session.d/alsa-monitor.conf)

    rules = [
        {
            matches = [ { alsa.card_name = "HDA Intel PCH" } ]
            actions = {
                update-props = {
                    api.alsa.use-acp = true
                    device.profile-set = "multiple.conf"
                    device.profile = "multiple"
                    api.acp.auto-profile = false
                    api.acp.auto-port = false
                }
            }
        }
    ]

#### Nincsenek értesítési hangok a Discordban

Ez okozható azzal, hogy a min.quantum értéke túl alacsony, próbálja meg 700-nál nagyobb értékre állítani. A Discordra vonatkozóan készíthet egy külön felülírást, amennyiben a következő szabályt hozzáadja a pipewire-pulse.conf fájl pulse.rules szakaszához.

    /etc/pipewire/pipewire-pulse.conf (vagy ~/.config/pipewire/pipewire-pulse.conf)

    ...
    pulse.rules = [
      ...
        {
            # Discord notification sounds fix
            matches = [ { application.process.binary = "Discord" } ]
            actions = {
                update-props = {
                    pulse.min.quantum      = 1024/48000     # 21ms
                }
            }
        }
    ...

#### FMOD motorral készült játékok összeomlanak PipeWire alatt

Néhány játék, amely az FMOD hangmotor régi verzióját használja, például a Pillars of Eternity, a `pulseaudio --check` parancsot hívja meg, és összeomlik, amennyiben a PulseAudio bináris fájl nincs jelen. Az egyik megoldás erre az, hogy létrehoz egy szimbolikus hivatkozást a `/bin/pulseaudio` útvonalról a `/bin/true` útvonalra [8].

    # ln -s /bin/true /bin/pulseaudio

Felhívjuk figyelmét, hogy ha újra szeretné telepíteni a PulseAudio szoftvert, akkor el kell távolítania a szimbolikus hivatkozást.

#### Nem működik az automatikus váltás

Ha az automatikus váltás nem működik, akkor előfordulhat, hogy a WirePlumber állapotával van probléma. Ahogy ez a hozzászólás javasolja, törölheti a WirePlumber helyi állapotát, majd újraindíthatja a szolgáltatást annak érdekében, hogy megnézze, vajon segít-e:

    $ rm -r ~/.local/state/wireplumber/

Ezután indítsa újra a `wireplumber.service` user unitot.

#### Hiányzó valós idejű prioritás / recsegés terhelés alatt felfüggesztés után

A 2011-es rtkit hibája miatt a felfüggesztési események hatására a PipeWire valós idejű prioritása visszavonásra kerül, és nem áll helyre. Ennek a védelmi mechanizmusnak a letiltásához szerkessze az `rtkit-daemon.service` fájlt:

    /etc/systemd/system/rtkit-daemon.service.d/override.conf

    [Service]
    ExecStart=
    ExecStart=/usr/lib/rtkit-daemon --no-canary

Ezután indítsa újra az `rtkit-daemon.service` unitot és a `pipewire.service` user unitot, valamint a média munkamenet szolgáltatást.

#### Nincs hang RAOP-eszközökre (például Sonos) történő streamelés során

Állítsa be az mDNS hostname feloldást az Avahi vagy a systemd-resolved használatával.

#### Nem jelennek meg hangkimeneti eszközök a KDE Plasma felületén

A PipeWire kliensek (beleértve az asztali környezetet is) az XDG_RUNTIME_DIR környezeti változóra támaszkodhatnak, hogy csatlakozzanak a PipeWire szolgáltatáshoz [9]. Ha közvetlenül bejelentkezés után nem jelennek meg hangkimeneti eszközök, akkor annak az oka lehet az, hogy ez a változó kézzel rossz elérési útra lett beállítva.

Bár ezt a problémát manuális PipeWire újraindítással meg lehet oldani, más problémák is előfordulhatnak, például, hogy a képernyőmegosztás nem működik a Chromium böngészőben (`pipewire context failed` hibával). Az `XDG_RUNTIME_DIR` változót automatikusan a pam_systemd(8) állítja be, ezért el kell távolítania minden olyan előfordulását, ahol ez kézzel be van állítva az inicializáló fájljaiban.

#### SDDM és LightDM felhasználók esetében az eszköz hangerő bejelentkezéskor nem áll vissza az előző értékre

Amennyiben Ön a SDDM szoftvert vagy LightDM szoftvert használja, és azt tapasztalja, hogy a hang szintje nem áll vissza megfelelően a bejelentkezés után, akkor maszkolja le a PipeWire szoftvert a felhasználó display manager szoftverére vonatkozóan, mivel a display manager alatt futó WirePlumber zavarhatja az Ön felhasználójának a WirePlumber munkamenetét.

    # systemctl --user -M user@ mask pipewire.socket

Ha SDDM-et használ, akkor cserélje ki a `user` értéket `sddm` értékre, vagy ha ha LightDM-et használ, akkor cserélje le `lightdm` értékre.

További részletekért tekintse meg a Debian Wiki cikket.

#### Nem működik a parancssor csengője

PipeWire szempontjából be kell tölteni az x11.bell modult. Ez legyen az alapértelmezett beállítás (tekintse meg a fent említett beállításfájlokat is). Ellenőrizze, hogy telepítve van-e a pipewire-x11-bell szoftvercsomag. Az window manager is befolyásolhatja a parancssor csengőjét, például xfwm esetén ellenőrizze az xfwm-terminal beállításoknál, hogy az "Audible bell" aktiválva van-e. Ezután indítsa újra a pipewire szolgáltatást:

    $ systemctl --user restart pipewire

Megpróbálhatja, hogy működik-e a parancssor csengője a következővel:

    $ echo $'\a'

### Videó

#### OBS (és más hasonló programok) nem jelenítenek meg semmit, még akkor sem, ha ablakot vagy képernyőt kérnek

Amennyiben Ön biztos abban, hogy telepítve van az xdg-desktop-portal szoftvercsomag, valamint az xdg-desktop-portal-gtk szoftvercsomag vagy az xdg-desktop-portal-kde szoftvercsomag, akkor ellenőrizze a szolgáltatások futási állapotát.

Ha minden megfelelően működik, az akkor OBS esetében az `stdout` kimenetben Önnek ezt kell látnia:

    ...
    info: [pipewire] desktop selected, setting up screencast
    info: [pipewire] created stream 0x5632d7456850
    info: [pipewire] playing stream…

Többmonitoros beállítások esetén a slurp szoftvercsomag lehetővé teszi az összes képernyő rögzítését.

## További olvasnivaló a témában

- Wiki — PipeWire Wiki, amely a Freedesktop GitLab oldalon található.
- PipeWire frissítési blogbejegyzés — 2018 januári blogbejegyzés, amely bemutatja a PipeWire akkori állapotát.
- PipeWire 2020 késő nyári frissítés — 2020 szeptemberi blogbejegyzés.

Category:

- Multimedia (Magyar)

Hidden categories:

- Sections flagged with Template:Remove
- Pages or sections flagged with Template:Expansion
- Pages or sections flagged with Template:Merge
- Pages or sections flagged with Template:Out of date
- Pages or sections flagged with Template:Accuracy