... | @@ -111,7 +111,7 @@ Yes. Format conversions are not cheap and must be avoided. For audio processing |
... | @@ -111,7 +111,7 @@ Yes. Format conversions are not cheap and must be avoided. For audio processing |
|
- Format conversions are done at the input/output nodes. This means that conversions are done to and from devices and also to and from clients that use the stream API.
|
|
- Format conversions are done at the input/output nodes. This means that conversions are done to and from devices and also to and from clients that use the stream API.
|
|
- This also means that the conversion code for clients runs in the context of the client and not the server. This also avoids issues with having complicated code such as decoders running in the server context.
|
|
- This also means that the conversion code for clients runs in the context of the client and not the server. This also avoids issues with having complicated code such as decoders running in the server context.
|
|
|
|
|
|
### What is the Pro Audio Profile
|
|
### What is the Pro Audio Profile?
|
|
|
|
|
|
In addition to the PulseAudio profiles, all audio cards now have an extra "Pro Audio" profile. Selecting this profile does the following things:
|
|
In addition to the PulseAudio profiles, all audio cards now have an extra "Pro Audio" profile. Selecting this profile does the following things:
|
|
|
|
|
... | @@ -165,7 +165,7 @@ The situation is a bit like GUI toolkits. There are many, each with different us |
... | @@ -165,7 +165,7 @@ The situation is a bit like GUI toolkits. There are many, each with different us |
|
|
|
|
|
We recommend that you continue to use PulseAudio, JACK and ALSA API's for now.
|
|
We recommend that you continue to use PulseAudio, JACK and ALSA API's for now.
|
|
|
|
|
|
### Is there a native GUI tool to configure PipeWire
|
|
### Is there a native GUI tool to configure PipeWire?
|
|
|
|
|
|
It depends what kind of configuration you wan to do. Most features are configured in the config files, See [Wiki](home).
|
|
It depends what kind of configuration you wan to do. Most features are configured in the config files, See [Wiki](home).
|
|
|
|
|
... | @@ -226,7 +226,7 @@ PulseAudio has a JACK backend that sends all the mixed streams to JACK. It howev |
... | @@ -226,7 +226,7 @@ PulseAudio has a JACK backend that sends all the mixed streams to JACK. It howev |
|
- The plan is to implement full latency compensation in PipeWire. This means that streams will be sample accurately aligned even when signals go through different paths with different latencies because of how PipeWire allocates memory, this can be done quite efficiently by changing offsets in the sample buffers.
|
|
- The plan is to implement full latency compensation in PipeWire. This means that streams will be sample accurately aligned even when signals go through different paths with different latencies because of how PipeWire allocates memory, this can be done quite efficiently by changing offsets in the sample buffers.
|
|
- For how PipeWire handles latency for USB devices please see `api.alsa.disable-batch` and `api.alsa.headroom` in the documentation of the [session manager](Config-Devices).
|
|
- For how PipeWire handles latency for USB devices please see `api.alsa.disable-batch` and `api.alsa.headroom` in the documentation of the [session manager](Config-Devices).
|
|
|
|
|
|
### How Are Multiple Devices handled
|
|
### How Are Multiple Devices Handled?
|
|
|
|
|
|
When playing or capturing audio from multiple devices, the audio will slowly drift out of sync because of the different clocks used by the devices. PipeWire handles this by using an adaptive resampler and a DLL to make the signal match the clock of the device.
|
|
When playing or capturing audio from multiple devices, the audio will slowly drift out of sync because of the different clocks used by the devices. PipeWire handles this by using an adaptive resampler and a DLL to make the signal match the clock of the device.
|
|
|
|
|
... | @@ -277,10 +277,14 @@ So, first use max-quantum to limit server latency, use the alsa-monitor.conf fil |
... | @@ -277,10 +277,14 @@ So, first use max-quantum to limit server latency, use the alsa-monitor.conf fil |
|
|
|
|
|
See [also](Config-PipeWire#setting-buffer-size).
|
|
See [also](Config-PipeWire#setting-buffer-size).
|
|
|
|
|
|
### Does PipeWire Support Network Streaming
|
|
### Does PipeWire Support Network Streaming?
|
|
|
|
|
|
PipeWire is optimized for local use cases and does *not* transparently work over a network. It is however possible to implement network streaming with various [modules or applications](Network).
|
|
PipeWire is optimized for local use cases and does *not* transparently work over a network. It is however possible to implement network streaming with various [modules or applications](Network).
|
|
|
|
|
|
|
|
### PCI-E Link Switching
|
|
|
|
|
|
|
|
Frequent and brief HDMI (and possibly DisplayPort) audio drop-outs/cuts may be caused by the PCI-E link switching between signalling generations. See #2375.
|
|
|
|
|
|
## User Questions
|
|
## User Questions
|
|
|
|
|
|
### Does Desktop Audio Interfere With Pro-Audio Using PipeWire?
|
|
### Does Desktop Audio Interfere With Pro-Audio Using PipeWire?
|
... | | ... | |