I've gone back again and read over the manual again and I can confirm the following:
Environment variables can be used to control the behavior of the PipeWire JACK client library.
https://gitlab.freedesktop.org/pipewire ... onfig-JACK
PIPEWIRE_LATENCY:
PIPEWIRE_LATENCY=<samples>/<rate> <application>
A quick way to configure the maximum buffer-size for a client. It will run this client with the specified buffer-size (or smaller).
PIPEWIRE_LATENCY=256/48000 jack_lsp is equivalent to PIPEWIRE_PROPS='{ node.latency=256/48000 }' jack_lsp
NOTE: A better way to start a jack session in a specific buffer-size is to force it with:
pw-metadata -n settings 0 clock.force-quantum <quantum>
This always works immediately and the buffer size will not change until the quantum is changed back to 0.
PIPEWIRE_RATE:
PIPEWIRE_RATE=1/<rate> <application>
A quick way to configure the rate of the graph. It will try to switch the samplerate of the graph. This can usually only be done with the graph is idle and the rate is part of the allowed sample rates.
PIPEWIRE_RATE=1/48000 jack_lsp is equivalent to PIPEWIRE_PROPS='{ node.rate=1/48000 }' jack_lsp
A better way to start a jack session in a specific rate is to force the rate with:
pw-metadata -n settings 0 clock.force-rate <rate>
This always works and the samplerate does not need to be in the allowed rates. The rate will also not change until it is set back to 0.
PIPEWIRE_QUANTUM:
PIPEWIRE_RATE=<buffersize>/<rate> <application>
Combines PIPEWIRE_LATENCY=<buffersize>/<rate> and PIPEWIRE_RATE=1/<rate> (see above). It can be used to set both a buffersize and samplerate at the same time.
It is important to note that while the above can be done, the listed "better" way is to use the pw-metadata command.
https://gitlab.freedesktop.org/pipewire ... g-PipeWire
Runtime Settings:
Some runtime settings can be changed with the settings metadata. You can list the current settings with:
pw-metadata -n settings
Log Settings:
To temporarily increase the log level of the PipeWire daemon, use:
pw-metadata -n settings 0 log.level <level>
samplerate Settings:
The default samplerate can be set with:
pw-metadata -n settings 0 clock.rate <value>
The allowed samplerates can be set with:
pw-metadata -n settings 0 clock.allowed-rates [ <value1> <value2> ... ]
To temporarily force the graph to operate in a fixed sample-rate use:
pw-metadata -n settings 0 clock.force-rate <samplerate>
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.
Switch back to the default behaviour with:
pw-metadata -n settings 0 clock.force-rate 0
Quantum Ranges:
The default quantum can be set with:
pw-metadata -n settings 0 clock.quantum <value>
Change the quantum ranges with:
pw-metadata -n settings 0 clock.min-quantum <value>
pw-metadata -n settings 0 clock.max-quantum <value>
These values are expressed against the clock.rate value. If the graph runs at an alternative rate, clock.quantum and clock.min-quantum will be scaled.
To temporarily force the graph to operate in a fixed buffer-size use:
pw-metadata -n settings 0 clock.force-quantum <buffer-size>
Switch back to the default behaviour with:
pw-metadata -n settings 0 clock.force-quantum 0