I’m trying to illustrate the situation from a user perspective. And that’s what’s missing in all of this. You and I may have a higher tolerance for ‘I have to tit about with it to get it working’ because we are software developers, and that may also be why these things find their way into the mainstream before they should do.
But take a step back and look at it from a user (and especially a creative user perspective) and if its not plug and play (and that was the comparison I was making to macOS) then you’ve likely lost them - that’s the world we are in now. When I turn the key, I expect my car to start, in all conditions or there’s something wrong with it. In the past I used to have to fiddle with things and prime various bits and pieces, but we’ve moved on, and subsequent iterations haven’t taken us back to that point because its somehow ‘better’.
As a software developer, solving problems is interesting. As a user, I care not about how the audio stack works, I’ve just heard about this amazing pipewire thing that people keep talking about, and I’ve installed it, so now I just want to plug in my audio interface and have it work just like it used to. Unless that happens, its not quite ready yet.
Inter-application audio is not plug-n-play on macOS.
macOS is pretty awesome in terms of user experience of audio. It’s much better than Windows, and yet billions of people use Windows, and probably millions explicitly for audio stuff. Even so, on both platforms, if you want to route audio between audio applications, or over a network, you can’t do that without 3rd party installs.
Linux has had a lot of audio functionality for a long time, but there has a been a divide between the desktop/consumer side of things, where pulseaudio provided most of what people wanted, and pro-audio/music creation where JACK was the main choice. Pipewire aims to unite both of these, thus getting closer to the macOS experience, while also providing all the functionality that PulseAudio and JACK offered that are not available out of the box on macOS or Windows.
However, Pipewire is not yet ready to replace both of these existing systems, particularly the pro-audio/music creation side. Even though it continues to improve quite rapidly, it hurts when people are led to believe that it’s a ready-to-go drop in replacement right now.
Even worse, from the perspective of having a community which can evolve pipewire to that point, is that the users who are deceived by that claim are the ones worst able to help fix it (by making good bug reports in the project-appropriate location): instead, they are (justifiably) noisy about how things are “broken” (don’t live up to how they read the hype).
Indeed. IMHO that’s exactly the reason pipewire was created. To date we have pulseaudio and Jack. Which are two good but completely different (and somewhat conflicting) “worlds”, with the first designed (only) for the typical “desktop” users and the latter (only) for “pro audio” users. For a non-technical user, which may know nothing about the two (+ALSA), their different roles, functions, interactions, etc., that’s quite confusing. Properly set-up a system for music (or A/V) production could be a nightmare.
Pipewire aims to solve that problem once and for all. Any mainstream distribution which will adopt pipewire will be basically (almost) ready for any kind of audio usage right out of the box, with only one pre-installed audio subsystem to know and care about.
Are we there already? Well, I guess not quite. But the system seems to be well thought and designed, and they’re getting closer, quickly. To me, that’s a very welcome news.