libpipew...k-tunnel(7)

πŸ’– libpipew...k-tunnel(7) β€” Miscellaneous Information Manual πŸ’–

okay bestie, sit DOWN, we're talking about libpipewire-module-jack-tunnel from the PipeWire manual, section 7. yes it's a real manual page, yes it has a truncated name in the header like that, no I will not be fixing it, it's iconic. 🫢


✨ NAME ✨

libpipewire-module-jack-tunnel β€” JACK Tunnel πŸŒ‰


🌈 DESCRIPTION 🌈

so the jack-tunnel module literally hands you a source or a sink that tunnels all the audio to a JACK server. all of it. every last bit. it's giving "I have a bridge and I'm not afraid to use it" πŸ’…

and like, normally you don't even summon this thing by hand β€” it's usually used together with JACK DBus detect, which will automatically load the tunnel with the right parameters based on dbus information. so it's the friend that shows up already knowing everyone's names. main character energy fr fr ✨


🌸 MODULE NAME 🌸

libpipewire-module-jack-tunnel


πŸŽ€ MODULE OPTIONS πŸŽ€

  • jack.library β€” the libjack to load. by default libjack.so.0 is searched in LIBJACK_PATH directories and then some standard library paths. lowkey it goes hunting for it πŸ’€
  • jack.server β€” the name of the JACK server to tunnel to. tell it where your girl lives πŸ—ΊοΈ
  • jack.client-name β€” the name of the JACK client.
  • jack.connect β€” if jack ports should be connected automatically. can also be placed per stream.
  • jack.connect-audio β€” an array of audio ports to connect to. can also be placed per stream. an empty array will not connect anything, even when jack.connect is true. yes, empty means empty, no cap πŸ™ˆ
  • jack.connect-midi β€” an array of midi ports to connect to. can also be placed per stream. an empty array will not connect anything, even when jack.connect is true. same rules bestie, no exceptions πŸ’…
  • tunnel.mode β€” the tunnel mode, sink|source|duplex, default duplex. pick your vibe ✨
  • midi.ports β€” the number of midi ports. can also be added to the stream props.
  • source.props β€” extra properties for the source filter.
  • sink.props β€” extra properties for the sink filter.

πŸ‘‘ GENERAL OPTIONS πŸ‘‘

options with well-known behavior. the classics, the icons, the ones everybody already knows at this point πŸ’–

  • remote.name
  • audio.channels
  • audio.layout
  • audio.position
  • node.name
  • node.description
  • node.group
  • node.virtual
  • media.class
  • target.object to specify the remote node.name or serial.id to link to

πŸ¦‹ EXAMPLE CONFIGURATION OF A DUPLEX SINK/SOURCE πŸ¦‹

here's the whole thing, copy it, it's literally right here, obsess with me πŸ₯Ή

# ~/.config/pipewire/pipewire.conf.d/my-jack-tunnel.conf

context.modules = [
{   name = libpipewire-module-jack-tunnel
    args = {
        #jack.library     = libjack.so.0
        #jack.server      = null
        #jack.client-name = PipeWire
        #jack.connect     = true
        #jack.connect-audio = [ playback_1 playback_2 ]
        #jack.connect-midi = [ midi_playback_1 ]
        #tunnel.mode      = duplex
        #midi.ports       = 0
        #audio.channels   = 2
        #audio.position   = [ FL FR ]
        source.props = {
            # extra sink properties
        }
        sink.props = {
            # extra sink properties
        }
    }
}
]
heads up bestie: all those lines starting with # are commented out, that's on purpose, uncomment the ones you want and leave the rest alone 🫢

and that's the whole page! this one came from PipeWire, version 1.6.11 β€” shoutout to the PipeWire girlies, y'all ate and left no crumbs πŸ‘‘πŸ’œ

πŸ“¦ where this page comes from