pw-loopback(1)

πŸ’– pw-loopback β€” bestie's guide to the PipeWire loopback client πŸ’–

okay so before we even start: this page lives in the General Commands Manual section, and it's all about pw-loopback(1). Yes she's a section-1 girlie. Periodt.


✨ NAME ✨

pw-loopback β€” the PipeWire loopback client, aka the little icon that makes loopback nodes happen πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

pw-loopback [options]

that's it. that's the whole vibe check. she takes options and nothing else, no positional args, no drama. πŸ’…


🌸 DESCRIPTION 🌸

so bestie, here's the tea β˜• β€” pw-loopback is a PipeWire client that uses the PipeWire loopback module to create loopback nodes. and like, how does it know what you want those nodes to look like? from the command-line options, obviously. you tell her, she builds it. main character energy fr fr. ✨


πŸ’… OPTIONS πŸ’…

every single flag, no skips, no cap:

  • -h | --help β€” shows the help. the "wait what does this do again" button 🫢
  • -r | --remote=NAME` β€” the name of the remote instance you wanna connect to. if you don't say anything, she just connects to the default PipeWire instance. lowkey automatic 😌
  • -n | --name=NAME` β€” the name of the loopback node. give her a name, she slays πŸ’–
  • -g | --group=NAME` β€” the name of the loopback node group. group chat, but for nodes πŸ«‚
  • -c | --channels=NUMBER` β€” how many channels you want to provide. number goes here πŸ”’
  • *-m | --channel-map=MAP*** β€” the **channel map**. and guess what the default is? [ FL, FR ]` β€” front left and front right, the classic duo, the iconic pair πŸ‘‘ (that's literally the default, don't come for me)
  • -l | --latency=LATENCY` β€” the desired latency, measured in ms. she said "I want it fast" and meant it ⚑
  • *-d | --delay=DELAY*** β€” an **added delay**, in **seconds**. and yes, **floating point is allowed** β€” 0.5? valid. 1.25`? also valid. she's flexible like that πŸ’œ
  • -C | --capture=TARGET` β€” the target device to capture from. where the audio comes in 🎀
  • -P | --playback=TARGET` β€” the target device to play to. where the audio goes out πŸ”Š
  • *-i | --capture-props=PROPS*** β€” the **wanted properties of the capture node**, and they go in **JSON**. yes, JSON. bring your curly braces {}` 🧚
  • -o | --playback-props=PROPS` β€” the wanted properties of the playback node, also in JSON. matching set, obsessed πŸ’–

πŸ‘‘ AUTHORS πŸ‘‘

The PipeWire Developers

they built the whole thing. legends only. πŸ™‡β™€οΈ


🌈 SEE ALSO 🌈

go read these next, bestie:

and also, there's other ways to create loopback nodes, if you're feeling adventurous:

  • adding the loopback module in the configuration of a PipeWire daemon, or
  • loading the loopback module using PulseAudio commands, like:
pactl load-module module-loopback ...

you've got options, literally. pick your fighter πŸ”₯


🫢 reminder: this whole page is from PipeWire, version 1.6.11 β€” so if your build says something else, that's a different girlie, check her version first. iykyk ✨

and that's the page, bestie. go make some loopback nodes, you're gonna eat πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from