1
0
Fork 0
pipewire/doc/dox/programs/pipewire.1.md
Daniel Baumann 6b016a712f
Adding upstream version 1.4.2.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-22 21:40:42 +02:00

7.1 KiB

\page page_man_pipewire_1 pipewire

The PipeWire media server

\tableofcontents

SYNOPSIS

pipewire [options]

DESCRIPTION

PipeWire is a service that facilitates sharing of multimedia content between devices and applications.

The pipewire daemon reads a config file that is further documented in \ref page_man_pipewire_conf_5 "pipewire.conf(5)" manual page.

OPTIONS

\par -h | --help Show help.

\par -v | --verbose Increase the verbosity by one level. This option may be specified multiple times.

\par --version Show version information.

\par -c | --config=FILE Load the given config file (Default: pipewire.conf).

\par -P | --properties=PROPS Add the given properties as a SPA JSON object to the context.

RUNTIME SETTINGS @IDX@ pipewire

A PipeWire daemon will also expose a settings metadata object that can be used to change some settings at runtime.

Normally these settings can bypass any of the restrictions listed in the config options above, such as quantum and samplerate values.

The settings can be modified using \ref page_man_pw-metadata_1 "pw-metadata(1)":

pw-metadata -n settings                  # list settings
pw-metadata -n settings 0                # list server settings
pw-metadata -n settings 0 log.level 2    # modify a server setting

@PAR@ pipewire-settings log.level = INTEGER Change the log level of the PipeWire daemon.

@PAR@ pipewire-settings clock.rate = INTEGER The default samplerate.

@PAR@ pipewire-settings clock.allowed-rates = [ RATE1 RATE2... ] The allowed samplerates.

@PAR@ pipewire-settings clock.force-rate = INTEGER \parblock Temporarily forces the graph to operate in a fixed sample rate. Both DSP processing and devices will switch to the new rate immediately. Running streams (PulseAudio, native and ALSA applications) will automatically resample to match the new rate.

Set the value to 0 to allow the sample rate to vary again. \endparblock

@PAR@ pipewire-settings clock.quantum = INTEGER The default quantum (buffer size).

@PAR@ pipewire-settings clock.min-quantum = INTEGER Smallest quantum to be used.

@PAR@ pipewire-settings clock.max-quantum = INTEGER Largest quantum to be used.

@PAR@ pipewire-settings clock.force-quantum = INTEGER \parblock Temporarily force the graph to operate in a fixed quantum.

Set the value to 0 to allow the quantum to vary again. \endparblock

ENVIRONMENT VARIABLES @IDX@ pipewire-env

Socket directories

@PAR@ pipewire-env PIPEWIRE_RUNTIME_DIR

@PAR@ pipewire-env XDG_RUNTIME_DIR

@PAR@ pipewire-env USERPROFILE Used to find the PipeWire socket on the server (and native clients).

@PAR@ pipewire-env PIPEWIRE_CORE Name of the socket to make.

@PAR@ pipewire-env PIPEWIRE_REMOTE Name of the socket to connect to.

@PAR@ pipewire-env PIPEWIRE_DAEMON If set to true then the process becomes a new PipeWire server.

Config directories, config file name and prefix

@PAR@ pipewire-env PIPEWIRE_CONFIG_DIR

@PAR@ pipewire-env XDG_CONFIG_HOME

@PAR@ pipewire-env HOME Used to find the config file directories.

@PAR@ pipewire-env PIPEWIRE_CONFIG_PREFIX

@PAR@ pipewire-env PIPEWIRE_CONFIG_NAME Used to override the application provided config prefix and config name.

@PAR@ pipewire-env PIPEWIRE_NO_CONFIG Enables (false) or disables (true) overriding on the default configuration.

Context information

As part of a client context, the following information is collected from environment variables and placed in the context properties:

@PAR@ pipewire-env LANG The current language in application.language.

@PAR@ pipewire-env XDG_SESSION_ID Set as the application.process.session-id property.

@PAR@ pipewire-env DISPLAY Is set as the window.x11.display property.

Modules

@PAR@ pipewire-env PIPEWIRE_MODULE_DIR Sets the directory where to find PipeWire modules.

@PAR@ pipewire-env SPA_SUPPORT_LIB The name of the SPA support lib to load. This can be used to switch to an alternative support library, for example, to run on the EVL realtime kernel.

Logging options

@PAR@ pipewire-env JOURNAL_STREAM Is used to parse the stream used for the journal. This is usually configured by systemd.

@PAR@ pipewire-env PIPEWIRE_LOG_LINE Enables the logging of line numbers. Default true.

@PAR@ pipewire-env PIPEWIRE_LOG_TIMESTAMP Logging timestamp type: "local", "monotonic", "realtime", "none". Default "local".

@PAR@ pipewire-env PIPEWIRE_LOG Specifies a log file to use instead of the default logger.

@PAR@ pipewire-env PIPEWIRE_LOG_SYSTEMD Enables the use of systemd for the logger, default true.

Other settings

@PAR@ pipewire-env PIPEWIRE_CPU Selects the CPU and flags. This is a bitmask of any of the \ref CPU flags

@PAR@ pipewire-env PIPEWIRE_VM Selects the Virtual Machine PipeWire is running on. This can be any of the \ref CPU "VM" types.

@PAR@ pipewire-env DISABLE_RTKIT Disables the use of RTKit or the Realtime Portal for realtime scheduling.

@PAR@ pipewire-env NO_COLOR Disables the use of colors in the console output.

Debugging options

@PAR@ pipewire-env PIPEWIRE_DLCLOSE Enables (true) or disables (false) the use of dlclose when a shared library is no longer in use. When debugging, it might make sense to disable dlclose to be able to get debugging symbols from the object.

Stream options

@PAR@ pipewire-env PIPEWIRE_NODE Makes a stream connect to a specific object.serial or node.name.

@PAR@ pipewire-env PIPEWIRE_PROPS Adds extra properties to a stream or filter.

@PAR@ pipewire-env PIPEWIRE_QUANTUM Forces a specific rate and buffer-size for the stream or filter.

@PAR@ pipewire-env PIPEWIRE_LATENCY Sets a specific latency for a stream or filter. This is only a suggestion but the configured latency will not be larger.

@PAR@ pipewire-env PIPEWIRE_RATE Sets a rate for a stream or filter. This is only a suggestion. The rate will be switched when the graph is idle.

@PAR@ pipewire-env PIPEWIRE_AUTOCONNECT Overrides the default stream autoconnect settings.

Plugin options

@PAR@ pipewire-env SPA_PLUGIN_DIR Is used to locate SPA plugins.

@PAR@ pipewire-env SPA_DATA_DIR Is used to locate plugin specific config files. This is used by the bluetooth plugin currently to locate the quirks database.

@PAR@ pipewire-env SPA_DEBUG Set the log level for SPA plugins. This is usually controlled by the PIPEWIRE_DEBUG variable when the plugins are managed by PipeWire but some standalone tools (like spa-inspect) uses this variable.

@PAR@ pipewire-env ACP_BUILDDIR If set, the ACP profiles are loaded from the builddir.

@PAR@ pipewire-env ACP_PATHS_DIR

@PAR@ pipewire-env ACP_PROFILES_DIR Used to locate the ACP paths and profile directories respectively.

@PAR@ pipewire-env LADSPA_PATH Comma separated list of directories where the ladspa plugins can be found.

@PAR@ pipewire-env LIBJACK_PATH Directory where the jack1 or jack2 libjack.so can be found.

AUTHORS

The PipeWire Developers <$(PACKAGE_BUGREPORT)>; PipeWire is available from <$(PACKAGE_URL)>

SEE ALSO

\ref page_man_pw-top_1 "pw-top(1)", \ref page_man_pw-dump_1 "pw-dump(1)", \ref page_man_pw-mon_1 "pw-mon(1)", \ref page_man_pw-cat_1 "pw-cat(1)", \ref page_man_pw-cli_1 "pw-cli(1)", \ref page_man_libpipewire-modules_7 "libpipewire-modules(7)"