Yzzyx: "matchstick engineering elitism" I do not even know what that means.
It means being elite-grade proud about building stuff from matches. Its respectable, but nothing special.
Yzzyx: I do feel your pain though, you seem to have a lot of problems with your machines. I have seen none of the problems you are talking about and I use and work with Linux every day.... I do not run Gnome though. Maybe that is where your problems are coming from? I suggest Openbox. Its marvelous!
Yeah, I have zero problems, thanks. I do not use Gnome either.
If I would still have 486 around, I would indeed use Openbox, thank you!
Yzzyx: Also: HAL!?!? People still use HAL?
Yes, people refused to use HAL preferring to load kernel modules per-hand at boot. How is it different from editing asound.conf per-hand just to make audio work?
Yzzyx: At least we can agree on PulseAudio not being needed since it even breaks the under laying software and thus makes the system perform worse that if it had not been there.
Pulse scheduling method exposes defective ALSA drivers.
Pulse - OK. Alsa - NEEDFIX.
Whats so hard to comprehend here?
Yzzyx: The "Coolaid" is a reference to the Jonestown massacre where people dies from drinking poisoned Kool-aid (how its supposed to be spelled). They stopped thinking for themselves and follower the herd right to their doom... Kinda like the Linux herd is following the megacorps into the Windows way of thinking and designing software. Its not really a reference to software but to human behavior.
It means to have irrational self-reassurance in validity of own actions, instead of using brains and eyes, yes.
Since when "less is more" - a windows way of thinking?
Is it bad to have machine save your time, aint machines designed for that, so you can "do more with less" ?
Its perfectly fine to have ability of manual control, but manual control should not be requirement or seen as "advantage" by itself alone (matchstick elitism of textfile voodoo).
immi101: ALSA is the name of the kernel driver (framework) AND the userspace backend (libasound.so). It's perfectly reasonably to link against the userspace library of ALSA ...
Libasound (alsa-lib) unrelated to ALSA, its merely a legacy wrapper to manage virtual interfaces, which appeared during the "14+1 mixer era" to determine which mixer to use(that is, before Pulse came and replaced those 14).
Its outdated, overengineered and wrong on many levels:
a legacy application calling alsa-lib to find and call the default device, which would then call 14+1 of possible (legacy) mixers, which should then do mixing work and link back into ... Alsa;
where a modern application calls pulse-simple.so that sinks into locally running daemon, which mixes and routes (on localhost or remote) into driver backend (ALSA). Its trivial to see that modern way is much more straight forward and complete.
What really possibly needed is ability to either execute Pulse or Alsa(dmix) for application, which can be solved by Pulse providing own simplified version of alsa-lib - but then there is question of why would anyone sink into Alsa directly?
This is exactly because the reality is much more complex than:
immi101: .... if you want to play back some noise to the user.
Noises can be of different volumes, bit-rates, frequences, coming from different sources and going into different destinations, which architectures can drastically vary often lacking hardware mixers. TL;DR what "Audio Server" is for. This was the reason of 14+1 sound mixers, reason why Pulse appeared and why it unified all these mixers into one standard, so it can finally just play noise properly.
Thus I don't really understand why would anyone want to wake the zombie (dmix) by frankenstein'ing parts to it to make it look like an "alternative" to Pulse (especially under the motto "I can edit text files"), when the "alternative" is most certainly not needed - unless one wants 14+1 situation to flashback with half-working half-finished solutions that half-talk to each other. The audio server is here, it has automagic, its very configurable for any taste, just use it. And if it does not work or work not as desired, fire a bugreport.
In a rare scenario when local system really comes to dialog between one sound card and one application (like embedded) bypassing audio server is fine, this is probably the only case when above mentioned application interface switcher pays off. But this is a TODO and its not the alsa-lib in its current form.
immi101: huh? libsdl and libsdl2 are one of the few libraries that have a very good track record with maintaining backward compatibility in my experience. I don't recall ever having any troubles with using my systems libsdl.
What known breakage are you referring to ?
Yes, but its not what proprietary devs do.
They do own stuff and then input breaks or things segfault.