1pipewire.conf(5) File Formats Manual pipewire.conf(5)
2
3
4
6 pipewire.conf - pipewire.conf
7
9 The PipeWire server configuration file
10
12 $XDG_CONFIG_HOME/pipewire/pipewire.conf
13
14 /etc/pipewire/pipewire.conf
15
16 /usr/share/pipewire/pipewire.conf
17
18 /usr/share/pipewire/pipewire.conf.d/
19
20 /etc/pipewire/pipewire.conf.d/
21
22 $XDG_CONFIG_HOME/pipewire/pipewire.conf.d/
23
25 PipeWire is a service that facilitates sharing of multimedia content
26 between devices and applications.
27
28 On startup, the daemon reads a main configuration file to configure
29 itself. It executes a series of commands listed in the config file.
30
31 The config files are loaded in the order listed in the SYNOPSIS. The
32 environment variables PIPEWIRE_CONFIG_DIR, PIPEWIRE_CONFIG_PREFIX and
33 PIPEWIRE_CONFIG_NAME can be used to specify an alternative config
34 directory, subdirectory and file respectively.
35
36 Next to the configuration file can be a directory with the same name as
37 the file with a .d/ suffix. All directories in the SYNOPSIS directory
38 search paths are traversed in the listed order and the contents of the
39 *.conf files inside them are appended to the main configuration file as
40 overrides. Object sections are merged and array sections are appended.
41
43 The configuration file format is grouped into sections. A section is
44 either a dictionary, {}, or an array, []. Dictionary and array entries
45 are separated by whitespace and may be simple value assignment, an
46 array or a dictionary. For example:
47
48 name = value # simple assignment
49
50 name = { key1 = value1 key2 = value2 } # a dictionary with two entries
51
52 name = [ value1 value2 ] # an array with two entries
53
54 name = [ { k = v1 } { k = v2 } ] # an array of dictionaries
55
56
57 The configuration files can be expressed in full JSON syntax but for
58 ease of use, a relaxed format may be used where:
59
60 • : to delimit keys and values can be substuted by = or a space.
61
62 • " around keys and string can be omitted as long as no special
63 characters are used in the strings.
64
65 • , to separate objects can be replaced with a whitespace character.
66
67 • # can be used to start a comment until the line end
68
70 context.properties
71 Dictionary. These properties configure the PipeWire instance.
72
73 context.spa-libs
74 Dictionary. Maps plugin features with globs to a spa library.
75
76 context.modules
77 Array of dictionaries. Each entry in the array is a dictionary with
78 the name of the module to load, including optional args and flags.
79 Most modules support being loaded multiple times.
80
81 context.objects
82 Array of dictionaries. Each entry in the array is a dictionary
83 containing the factory to create an object from and optional extra
84 arguments specific to that factory.
85
86 context.exec
87 Array of dictionaries. Each entry in the array is dictionary
88 containing the path of a program to execute on startup and optional
89 args.
90
91 This array used to contain an entry to start the session manager
92 but this mode of operation has since been demoted to development
93 aid. Avoid starting a session manager in this way in production
94 environment.
95
97 The PipeWire Developers
98 <https://gitlab.freedesktop.org/pipewire/pipewire/issues>; PipeWire is
99 available from <https://pipewire.org>
100
102 pipewire(1), pw-mon(1), libpipewire-modules(7)
103
104
105
106
107PipeWire 1.0.0 pipewire.conf(5)