So, where's your solution? If it's so simple, where is your contribution?
The fact is, he did it. You haven't. I can't even begin to imagine how much crap Lennart gets everyday by people who think they know everything and yet never actually seem to write any code.
Have some respect for the guy even if you disagree with the way he works, because you know.. his code is being used.
dmix, jack, pipewire
* now maintained at https://gitlab.com/chinstrap/startup
This is not a valid argument, invalidating discussion of merit of thing based on not having personally created incarnation of said thing would remove 99% of debate of FOSS to no ones benefit.
Upstart is decidedly inferior to systemd; the event-based architecture is much harder to understand and apply than the target/dependency architecture of systemd. And systemd is in use in distros ranging from embedded (LibreELEC) to enterprise server, it must be doing _something_ right...
I enjoy the architecture, and hope to continue developing Upstart/startup or at least work with a similar model.
Are you suggesting that the alternative is to choose to just not support these features at all? (Which isn't implausible as a suggestion; OpenBSD doesn't support Bluetooth at all, for example. But in an ecosystem where everyone is building software to scratch their own itch, and then adopting the software that gains traction...)
So you end up with this weird situation where pulseaudio reroutes itself when JACK appears and no longer takes control of the sound card.
Why do we need to support two sound servers to take care of all the necessary features? I really hope pipewire fixes this use case and allows pro audio applications to work directly on top of pipewire while still supporting consumer friendly use cases like bluetooth speakers.
FWIW I've been able to get similar input latency with PulseAudio as with JACK, that's not so much the issue as synchronization. If PulseAudio introduced a timecode like JACK, that'd probably be close to enough.
If you were really just going for minimum latency, your recording application would use ALSA directly.
What kind of argument is that - so what?
All major Linux distributions are doing very well with systemd and it makes sense to have some kind of supervizor service (or collection of tools) on top of `init`. You can still tie together your applications with shell scripts and not run systemd. Since systemd it is simpler to admin different linux boxes - at least that is my personal experience - before that every distribution shipped their own shell scripts.
Systemd is fine and if it is so inferior to simple POSIX applications glued together, people should provide a better alternative. The grieve that people have against Lennart is overblown - we should thank him for his contributions.
Working is not the problematic part. There are two interrelated problems: how much complexity is introduced, and how to proceed when something is not working, or is flaky.
You, me, and our fellow posters know very well that Lennart's solutions are complex - in fact, more complex than the problem domain. Accordingly, the ability to narrow down, fix, or work around problems suffers. Systemd and PulseAudio aren't UNIX applications [1]; they are entirely new, rather opaque, sub-systems unto themselves. Thus they require separate knowledge, separate intuition, and separate skills.
All so I can seamlessly play music on TWO bluetooth speakers while also browsing logs without learning regex.
>Lennart Poettering is a dev who has contributed MASSIVE AMOUNTS OF CODE
Massive amounts of code is a clear and present problem. Why is the solution more complex than the problem domain? Why is the success being measured by magnitude of effort, rather than by barriers removed, and standards adhered to?
--
[1] what makes an UNIX application? small POSIX applications tied together with shell scripts, communicating via pipes, exposing services as files, following the `Worse is better' and `Do one thing, and do it well' principles.