pipewire/doc/dox/config/index.md
Pauli Virtanen fd58eec7f8 doc: add reference docs + index for config and env variables
Add reference documentation for configuration settings & node/device
properties.  We should have boring & exhaustive reference lists of all
the options, and an index where they can be looked up as needed.

The content is mostly stolen from the Wiki.

Add pipewire-client.conf.5, pipewire-jack.conf.5, and pipewire-device.7
that try to explain all available configuration settings for native/ALSA/JACK
clients, and parameters & properties devices.

Expand pipewire.conf.5 and pipewire-pulse.conf.5 with lists of supported
properties. Also explain environment variables.

Doxygen doesn't have an indexing mechanism suitable for configuration
settings, so add a simple one using an input filter and use it here.

Tweak styling a bit.
2024-02-18 15:08:35 +02:00

2.9 KiB

\page page_config Configuration

One of the design goals of PipeWire is to be able to closely control and configure all aspects of the processing graph.

A fully configured PipeWire setup runs various pieces, each with their configuration options and files:

  • pipewire: The PipeWire main daemon that runs and coordinates the processing.

  • pipewire-pulse: The PipeWire PulseAudio replacement server. It also configures the properties of the PulseAudio clients connecting to it.

  • wireplumber: Most configuration of devices is performed by the session manager. It typically loads ALSA and other devices and configures the profiles, port volumes and more. The session manager also configures new clients and links them to the targets, as configured in the session manager policy.

  • PipeWire clients: Each native PipeWire client also loads a configuration file. Emulated JACK client also have separate configuration.

Configuration Settings

Configuration of daemons:

Configuration of devices:

Configuration for client applications, either connecting via the native PipeWire interface, or the emulated ALSA, JACK, or PulseAudio interfaces:

Configuration Index

\ref page_man_pipewire_conf_5 "pipewire.conf"

@SECREF@ pipewire.conf

\ref page_man_pipewire_conf_5 "pipewire-pulse.conf"

@SECREF@ pipewire-pulse.conf

\ref page_man_pipewire_conf_5 "client.conf, client-rt.conf"

@SECREF@ client.conf

\ref page_man_pipewire_conf_5 "jack.conf"

@SECREF@ jack.conf

Runtime settings

@SECREF@ pipewire-settings

Environment variables

@SECREF@ pipewire-env client-env jack-env pulse-env

Device properties

@SECREF@ device-property

Device parameters

@SECREF@ device-param