libpipewire-module-pulse-tunnel(7) Miscellaneous Information Manual NAME libpipewire-module-pulse-tunnel - Pulse Tunnel DESCRIPTION The pulse-tunnel module provides a source or sink that tunnels all audio to a remote PulseAudio connection. It is usually used with the PulseAudio or module-protocol-pulse on the remote end to accept the connection. This module is usually used together with module-zeroconf-discover that will automatically load the tunnel with the right parameters based on zeroconf information. MODULE NAME libpipewire-module-pulse-tunnel MODULE OPTIONS o tunnel.mode: the desired tunnel to create, must be source or sink. (Default sink) o pulse.server.address: the address of the PulseAudio server to tunnel to. o pulse.latency: the latency to end-to-end latency in milliseconds to maintain (Default 200). o reconnect.interval.ms: when the remote connection is broken, retry to connect with this interval in millisconds. A value of 0 disables recovery and will result in a module unload. (Default 0) (Since 1.1.0) o stream.props: Extra properties for the local stream. GENERAL OPTIONS Options with well-known behavior. o remote.name o audio.format o audio.rate o audio.channels o audio.layout o audio.position o node.latency o node.name o node.description o node.group o node.virtual o media.class o target.object to specify the remote node.name or serial.id to link to EXAMPLE CONFIGURATION OF A VIRTUAL SINK # ~/.config/pipewire/pipewire.conf.d/my-pulse-tunnel.conf context.modules = [ { name = libpipewire-module-pulse-tunnel args = { tunnel.mode = sink # Set the remote address to tunnel to pulse.server.address = "tcp:192.168.1.126" #pulse.latency = 200 #reconnect.interval.ms = 0 #audio.rate= #audio.channels= #audio.position= #target.object= stream.props = { # extra sink properties } } } ] PipeWire 1.6.6 libpipewire-module-pulse-tunnel(7)