The ffado-driver module provides a source or sink using the libffado library for reading and writing to firewire audio devices.
Module Name
libpipewire-module-ffado-driver
Module Options
- driver.mode: the driver mode, sink|source|duplex, default duplex
- ffado.devices: array of devices to open, default "hw:0"
- ffado.period-size: period size,default 1024. A value of 0 will use the graph duration.
- ffado.period-num: period number,default 3
- ffado.sample-rate: sample-rate, default 48000. A value of 0 will use the graph rate.
- ffado.slave-mode: slave mode
- ffado.snoop-mode: snoop mode
- ffado.verbose: ffado verbose level
- ffado.rtprio: ffado realtime priority, this is by default the PipeWire server priority + 5
- ffado.realtime: ffado realtime mode. this requires correctly configured rlimits to acquire FIFO scheduling at the ffado.rtprio priority
- 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
Options with well-known behavior.
Example configuration of a duplex sink/source
# ~/.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
}
}
}
]