... | ... | @@ -2,9 +2,9 @@ |
|
|
|
|
|
### Is PipeWire Ready Yet?
|
|
|
|
|
|
It is getting ready for broader testing.
|
|
|
It is ready for broader use and is scheduled to be included in Fedora 34.
|
|
|
|
|
|
The API in master is now declared stable and not expected to change anymore for the 0.3 release.
|
|
|
The API/ABI has been declared stable since version 0.3.
|
|
|
|
|
|
The protocol can support older 0.2 version clients transparently. This means that flatpaks with older PipeWire libraries can connect to a newer daemon.
|
|
|
|
... | ... | @@ -67,13 +67,13 @@ PipeWire uses a small subset of the core alsa functionality to access the hardwa |
|
|
|
|
|
### Will PipeWire Ever Be As Good As JACK?
|
|
|
|
|
|
Unlikely, for some definitions of good.. there are some things that JACK can optimize for, like:
|
|
|
Possibly... there are some things that JACK can optimize for, like:
|
|
|
|
|
|
- It can configure the alsa device with 2 periods with fixed small size. With the current ALSA driver implementations this can result in lower latencies than can be achieved with using a timer based mechanism (according to my experiments). Theoretically there should not be a difference but we are not there yet.
|
|
|
- It can configure the alsa device with 2 periods with fixed small size. With the current ALSA driver implementations this can result in more reliable low latencies than can be achieved with using a timer based mechanism. With some tuning, similar latency as JACK can be achieved on USB and internal audio cards.
|
|
|
- It does not need to care about security and can simply allocate all objects in one fixed piece of shared memory, this makes it much faster to get to the data you need and to introspect objects.
|
|
|
- It does not need to care about negotiation of data formats or buffers, which makes it faster to build the graph and start processing.
|
|
|
- It has a lot of support and history.
|
|
|
- We might not want to support freewheeling or other JACK features.
|
|
|
- We might not want to support some JACK features, like session management.
|
|
|
|
|
|
### Are You Using A Push Or Pull Model For Scheduling?
|
|
|
|
... | ... | |