From e90b2cb3385f57bd1791d0f9719864c6b666de9e Mon Sep 17 00:00:00 2001 From: Pauli Virtanen Date: Sun, 4 Feb 2024 12:14:31 +0200 Subject: [PATCH] doc: add 'Configuration' page Add pointer for readers to Wiki and WirePlumber docs, where the documentation actually is at, so the configuration docs can found starting from docs.pipewire.org --- doc/dox/config/index.md | 42 +++++++++++++++++++++++++++++++++++++++++ doc/dox/index.dox | 15 ++++++++++----- doc/meson.build | 1 + doc/tree.dox | 1 + 4 files changed, 54 insertions(+), 5 deletions(-) create mode 100644 doc/dox/config/index.md diff --git a/doc/dox/config/index.md b/doc/dox/config/index.md new file mode 100644 index 000000000..837b1fe83 --- /dev/null +++ b/doc/dox/config/index.md @@ -0,0 +1,42 @@ +\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: + +- [PipeWire daemon configuration](https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-PipeWire) +- [WirePlumber daemon configuration](https://pipewire.pages.freedesktop.org/wireplumber/) +- [PipeWire PulseAudio daemon configuration](https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-PulseAudio) + +Configuration of devices: + +- [WirePlumber configuration](https://pipewire.pages.freedesktop.org/wireplumber/daemon/configuration.html) +- [Device runtime settings](https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-Devices) + +Configuration for client applications, either connecting via the +native PipeWire interface, or the emulated ALSA, JACK, or PulseAudio +interfaces: + +- [PipeWire native clients](https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-client) +- [PipeWire ALSA clients](https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-ALSA) +- [PipeWire JACK clients](https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-JACK) +- [PipeWire PulseAudio clients](https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-PulseAudio) diff --git a/doc/dox/index.dox b/doc/dox/index.dox index 93998e2ec..58a2b48bf 100644 --- a/doc/dox/index.dox +++ b/doc/dox/index.dox @@ -11,6 +11,16 @@ PipeWire is low-level multimedia framework that provides: See \ref page_overview for an overview of PipeWire and \ref page_design for the design principles guiding PipeWire. +# Documentation + +- \ref page_config +- \ref page_programs +- \ref page_modules +- \ref page_pulse_modules + +See our [Wiki](https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/home) for +more information on how to configure and use PipeWire. + # Components PipeWire ships with the following components: @@ -27,11 +37,6 @@ PipeWire ships with the following components: See \ref page_api. -# More Documentation - -See our [Wiki](https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/home) for -More information on how to configure and use PipeWire. - # Resources - [PipeWire and AGL](https://wiki.automotivelinux.org/_media/pipewire_agl_20181206.pdf) diff --git a/doc/meson.build b/doc/meson.build index 8521c0998..b04dd003f 100644 --- a/doc/meson.build +++ b/doc/meson.build @@ -33,6 +33,7 @@ extra_docs = [ 'dox/modules.dox', 'dox/pulse-modules.dox', 'dox/programs/index.md', + 'dox/config/index.md', 'dox/internals/index.dox', 'dox/internals/design.dox', 'dox/internals/access.dox', diff --git a/doc/tree.dox b/doc/tree.dox index 3e3588259..ecc43d604 100644 --- a/doc/tree.dox +++ b/doc/tree.dox @@ -123,6 +123,7 @@ Support interfaces provided by host \} \page page_overview +\page page_config \page page_programs \page page_modules \page page_pulse_modules