1 # WirePlumber daemon context configuration #
4 ## Properties to configure the PipeWire context and some modules
6 # 1=error/critical/warning, 2=message, 3=info, 4=debug, 5=trace
9 wireplumber.script-engine = lua-scripting
13 #<factory-name regex> = <library-name>
15 # Used to find spa factory names. It maps an spa factory name
16 # regular expression to a library name that should contain
19 api.alsa.* = alsa/libspa-alsa
20 api.bluez5.* = bluez5/libspa-bluez5
21 api.v4l2.* = v4l2/libspa-v4l2
22 api.libcamera.* = libcamera/libspa-libcamera
23 audio.convert.* = audioconvert/libspa-audioconvert
24 support.* = support/libspa-support
28 #{ name = <module-name>
29 # [ args = { <key> = <value> ... } ]
30 # [ flags = [ [ ifexists ] [ nofail ] ]
33 # PipeWire modules to load.
34 # If ifexists is given, the module is ignored when it is not found.
35 # If nofail is given, module initialization failures are ignored.
38 # The native communication protocol.
39 { name = libpipewire-module-protocol-native }
41 # Allows creating nodes that run in the context of the
42 # client. Is used by all clients that want to provide
44 { name = libpipewire-module-client-node }
46 # Allows creating devices that run in the context of the
47 # client. Is used by the session manager.
48 { name = libpipewire-module-client-device }
50 # Makes a factory for wrapping nodes in an adapter with a
51 # converter and resampler.
52 { name = libpipewire-module-adapter }
54 # Allows applications to create metadata objects. It creates
55 # a factory for Metadata objects.
56 { name = libpipewire-module-metadata }
58 # Provides factories to make session manager objects.
59 { name = libpipewire-module-session-manager }
61 { name = libpipewire-module-filter-chain
63 node.description = "Equalizer Sink"
64 media.name = "Equalizer Sink"
71 # the cut off freq of the bass filter can be adjusted here.
72 control = { "Freq" = 250.0 "Q" = 1.0 "Gain" = 0.0 }
78 # the cut off freq of the treble filter can be adjusted here.
79 control = { "Freq" = 6000.0 "Q" = 1.0 "Gain" = 0.0 }
83 { output = "bass:Out" input = "treble:In" }
87 audio.position = [ FL FR ]
90 media.class = Audio/Sink
91 # select the endpoint to which the node is attached
92 target.endpoint = "endpoint.multimedia"
96 node.name = "eq-output-stream"
103 wireplumber.components = [
104 #{ name = <component-name>, type = <component-type> }
106 # WirePlumber components to load
109 # The lua scripting engine
110 { name = libwireplumber-module-lua-scripting, type = module }
112 # The lua configuration file(s)
113 # Other components are loaded from there
114 { name = host.lua, type = config/lua }