LIBPIPEWIRE-MODULE-FFADO-DRIVER(7)
π libpipewire-module-ffado-driver β the FFADO firewire audio driver π
okay bestie, this is a page from the Miscellaneous Information Manual, and it's all about the libpipewire-module-ffado-driver situation. let's get into it π
β¨ NAME β¨
libpipewire-module-ffado-driver β FFADO firewire audio driver π¦
πΈ DESCRIPTION πΈ
so the ffado-driver module? it hands you a source or a sink, and it does that by using the libffado library to read from and write to firewire audio devices. that's it, that's the vibe. literally the whole point. π
π MODULE NAME π
libpipewire-module-ffado-driver
(yes, that's the name. remember it, iykyk β¨)
π₯ MODULE OPTIONS π₯
okay so this is the good part, the options. every single one. no skipping, no cap. π«Ά
driver.modeβ the driver mode. your choices aresinksourceduplex, and the default isduplex.ffado.devicesβ an array of devices to open. default is"hw:0".ffado.period-sizeβ the period size. default is1024. if you set it to0, it'll use the graph duration instead.ffado.period-numβ the period number. default is3.ffado.sample-rateβ the sample-rate. default is48000. and if you set it to0, it'll use the graph rate. cute, right?ffado.slave-modeβ slave mode.ffado.snoop-modeβ snoop mode.ffado.verboseβ the ffado verbose level.ffado.rtprioβ the ffado realtime priority. by default this is the PipeWire server priority + 5.ffado.realtimeβ the ffado realtime mode. heads up bestie: this one requires correctly configured rlimits so it can acquire FIFO scheduling at theffado.rtpriopriority.latency.internal.inputβ extra input latency in frames.latency.internal.outputβ extra output latency in frames.source.propsβ extra properties for the source filter.sink.propsβ extra properties for the sink filter.
π GENERAL OPTIONS π
these are the options with well-known behavior. you already know them, they're iconic, they don't need an introduction. π
remote.nameaudio.layoutaudio.positionnode.namenode.descriptionnode.groupnode.virtualmedia.classtarget.objectβ to specify the remotenode.nameorserial.idto link to.
π§ EXAMPLE CONFIGURATION OF A DUPLEX SINK/SOURCE π§
here's a whole config file, main character energy, copy it and make it yours:
# ~/.config/pipewire/pipewire.conf.d/my-ffado-driver.conf
context.modules = [
{ name = libpipewire-module-ffado-driver
args = {
#driver.mode = duplex
#ffado.devices = [ "hw:0" ]
#ffado.period-size = 1024
#ffado.period-num = 3
#ffado.sample-rate = 48000
#ffado.slave-mode = false
#ffado.snoop-mode = false
#ffado.verbose = 0
#ffado.rtprio = 65
#ffado.realtime = true
#latency.internal.input = 0
#latency.internal.output = 0
#audio.position = [ FL FR ]
source.props = {
# extra sink properties
}
sink.props = {
# extra sink properties
}
}
}
]
π reminder: everything in there is commented out in the example, so uncomment what you actually want. don't come for me when the defaults do default things.
and that's the whole page, bestie!! this one's from PipeWire, version 1.6.11, and it lives in the libpipewire-module-ffado-driver (7) section of the Miscellaneous Information Manual. go plug in a firewire device and slay πβ¨π
π¦ where this page comes from
- fedora 44: pipewire-libs 1.6.11-1.fc44 Β· MIT AND GPL-2.0-or-later AND BSD-2-Clause AND LGPL-2.0-or-later
- fedora 44: pipewire-libs 1.6.11-1.fc44 Β· MIT AND GPL-2.0-or-later AND BSD-2-Clause AND LGPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms