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