Heh. Although I hate pulse, one of my jack + pulse setups has been solid for a number of years. That’s on a thinkpad with an 8 channel USB mixer. I have my own jack pre up and so scripts but I have seamless sound from desktop apps multi-channel audio apps. It took a long time to start feeling like apple core audio (which I also used for many years). but for the past 3-4 years it’s been just fine.
The biggest problem in that list seems this one:
- Emulation libraries need to be tested with a lot of applications. Many application (ab)use API in different ways that all need to be supported.
Which can be seen also as a “feature” rather than a “bug”. I mean, imagine that a well-know distribution decides to move forward and adopt PipeWire. Are they going to complete this gap or are they going to fix the most important and/or used applications in order they do not abuse API?
The second one, will bring much more value for a lot of projects. Hence, it will attract much more people working on the goal. Which would not just adapt PipeWire to the status-quo but improve PipeWire to be the standard and the status-quo evolves to adapt to it.
This would be a HUGE improvement overall. Because, the day someone will decide to create a better replacement for PipeWire, s/he will not face this lack of API standardization usage. Which, after all, it is another form in which fragmentation presents itself or in others words the result of a kind of fragmentation.
Reducing fragmentation by standardization always brings value and usually it is a HUGE step forward in quality and quality assurance. Some markets, like automotive, definitely needs this.
Certainly true. The reason I’m still a bit uncertain about pipewire is that they ignore gstreamer completely when claiming to be the only game in town. Unifying Pulse and Jack is a welcome proposition (though, works for me after many years of just shutting off pulse). Replicating all the gstreamer (or libav) stuff were video is concerned? I’m sceptical.
It is always the same story. A project starts from scratch and no one has the gut to say: in some specific case / areas, our project should act like just a transparent proxy. At least, until it is reasonably working, set the option “proxing” on ON and redirect the API calls to the real libgstreamer or libav.
Now, tell me why? (your opinion or your guess, as well is fine for me)
Well, they imply they’re building from the ground up to allow using polkit to deal with ‘security’. And something about flatpak (yech). Not sure I buy it.