doc: try to improve the docs

This commit is contained in:
Wim Taymans 2026-04-23 13:59:41 +02:00
parent bb9d306399
commit 2707269118
2 changed files with 44 additions and 12 deletions

View file

@ -6,31 +6,55 @@ The PipeWire server configuration file
# SYNOPSIS # SYNOPSIS
*$PIPEWIRE_CONFIG_DIR/pipewire/pipewire.conf*
*$XDG_CONFIG_HOME/pipewire/pipewire.conf* *$XDG_CONFIG_HOME/pipewire/pipewire.conf*
*$(PIPEWIRE_CONFIG_DIR)/pipewire.conf* *$(PIPEWIRE_CONFIG_DIR)/pipewire.conf*
*$(PIPEWIRE_CONFDATADIR)/pipewire.conf* *$(PIPEWIRE_CONFDATADIR)/pipewire.conf*
*$PIPEWIRE_CONFIG_DIR/pipewire/pipewire.conf.d/*
*$(PIPEWIRE_CONFDATADIR)/pipewire.conf.d/* *$(PIPEWIRE_CONFDATADIR)/pipewire.conf.d/*
*$(PIPEWIRE_CONFIG_DIR)/pipewire.conf.d/* *$(PIPEWIRE_CONFIG_DIR)/pipewire.conf.d/*
*$XDG_CONFIG_HOME/pipewire/pipewire.conf.d/* *$XDG_CONFIG_HOME/pipewire/pipewire.conf.d/*
# DESCRIPTION # DESCRIPTION
PipeWire is a service that facilitates sharing of multimedia content PipeWire is a service that facilitates sharing of multimedia content
between devices and applications. between devices and applications.
On startup, the daemon reads a main configuration file to configure On startup, the daemon reads a main configuration file to configure
itself. It executes a series of commands listed in the config file. itself. After that it will apply a set of drop-in config overrides.
The config file is looked up in the order listed in the By default the pipewire daemon will read `pipewire.conf` and looks
[SYNOPSIS](#synopsis). The environment variables `PIPEWIRE_CONFIG_DIR`, for drop-in config files in the `pipewire.conf.d` subdirectory.
`PIPEWIRE_CONFIG_PREFIX` and `PIPEWIRE_CONFIG_NAME` can be used to The environment variable `PIPEWIRE_CONFIG_NAME` can be used to specify
specify an alternative config directory, subdirectory and file an alternative config file name and the drop-in config file directory
respectively. name (by appending `.d` to the config name).
The config file and the drop-in config directories are looked up in
the order listed in the [SYNOPSIS](#synopsis).
If the environment variable `PIPEWIRE_CONFIG_DIR` is set, it is the
only place where the main config file and the drop-in config files
are looked up.
If the environment variable `PIPEWIRE_CONFIG_PREFIX` contains an
absolute path, it will be searched first for the main config file and
the drop-in config files.
If `PIPEWIRE_CONFIG_PREFIX` does not contain an absolute path, it is
used as a subdirectory to locate the main config file and the drop-in
config files.
When the environment variable `PIPEWIRE_NO_CONFIG` is set to `true`,
only the data config directory $(PIPEWIRE_CONFDATADIR) is searched.
This is useful when you want to run with the default configuration
without any system or user overrides.
Other PipeWire configuration files generally follow the same lookup Other PipeWire configuration files generally follow the same lookup
logic, replacing `pipewire.conf` with the name of the particular logic, replacing `pipewire.conf` with the name of the particular
@ -38,11 +62,19 @@ config file.
# DROP-IN CONFIGURATION FILES @IDX@ pipewire.conf # DROP-IN CONFIGURATION FILES @IDX@ pipewire.conf
The config file drop-in overrides are looked up in the order
of the `pipewire.conf.d` directories listed in the[SYNOPSIS](#synopsis).
All `*.conf` files in the `pipewire.conf.d/` directories are loaded All `*.conf` files in the `pipewire.conf.d/` directories are loaded
and merged into the configuration. Dictionary sections are merged, in alphabetical order and merged into the main configuration.
overriding properties if they already existed, and array sections are Dictionary sections are merged, overriding properties if they already
appended to. The drop-in files have same format as the main existed, and array sections are appended to. The drop-in files have
configuration file, but only contain the settings to be modified. same format as the main configuration file, but only contain the
settings to be modified.
If a config overrides with the same name exists in multiple `conf.d`
directories, the one from the last directory in the above search order
is used.
As the `pipewire.conf` configuration file contains various parts As the `pipewire.conf` configuration file contains various parts
that must be present for correct functioning, using drop-in files that must be present for correct functioning, using drop-in files

View file

@ -54,11 +54,11 @@ in the graph. Output Tag objects on output ports are propagated to linked input
ports and input Tag objects on input ports are propagated to linked output ports. ports and input Tag objects on input ports are propagated to linked output ports.
If a port has links with multiple other ports, the Tag objects are merged by If a port has links with multiple other ports, the Tag objects are merged by
appending the dictionaties to the Tag param. Intermediate nodes or sinks are allowed appending the dictionaries to the Tag param. Intermediate nodes or sinks are allowed
to take the multiple dictionaries in a Tag and combine them into one dictionary if to take the multiple dictionaries in a Tag and combine them into one dictionary if
they would like to do so. they would like to do so.
This way, Output Tag always describes the aggragated total upstream metadata of This way, Output Tag always describes the aggregated total upstream metadata of the
signal up to the port and Input tag describes the aggregated downstream metadata signal up to the port and Input tag describes the aggregated downstream metadata
of the signal from the port. of the signal from the port.