Hacker News new | past | comments | ask | show | jobs | submit login

Actually, back in early days, Linux was probably worse than Windows 98. A few things changed the landscape. Compositing on Xorg (to make the desktop modern finally), Pulseaudio (before then, Audio always had issues), DBUS and the rest of project Utopia. Steam also made a huge difference.

I think Linux will be the better option after: SNAP/Wayland goes mainstream and JACK becomes easier (Low latency Audio on Linux is still a nightmare compared to Windows and OSX).

But there are still a few rough edges. That being said, I use it for everything at home now, except for my Suunto GPS tracker, and Serato.




PulseAudio took a while to be good. I recall removing it in every distro for years and using ALSA instead.

Perhaps I didn't play sound very often in multiple apps at the same time (who can listen to two sounds at once?)


Never mind that Alsa offered dmix even back then, but you had to know to enable it yourself.

Frankly the major reason for PA to exist at all is to handle transitory audio devices. I think Poettering started working on it because he bought himself a pair of USB headphones (basically a USB soundcard with some headphones hardwired to the analog pins).

Dmix could just as well have been extended to do audio routing. Or just ram sound down all channels unless the user decides to mute some of them.


I heard this stuff ("...it was terrible until PulseAudio delivered us from evil") so many times that I actually began to question my memory and dug down in old mailing list threads and my old screenshot folder. It especially pisses me off that so much of it is PR -- which I appreciate, but which I think has little place in the world of free software, at least the way I see it.

For all of you poor onlookers who have no idea why people don't like PulseAudio, sit down and let grumpy ol' notalaser tell you the story of how PulseAudio gets all this hate -- much of which is, in fact, entirely undeserved today.

Back in 1999-2000 or so, things were really bad when it came to audio on Linux. The biggest problem most users faced right after being able to finally make something come out of their speakers was mixing audio streams from more than one source. This was especially relevant because, at the time, audio effects were really in vogue on the desktop.

The problem was that OSS was flaky and had basically no support for software mixing -- which meant that, save for the few sound cards that supported this feature in hardware, you couldn't play more than one stream at once. ALSA, on the other hand, was in a very early state, had all sorts of trouble, not too many drivers and updates were going slow considering that this was back when virtually everyone installed Linux from CDs and the biggest hurdle to a rolling release model was dial-up.

The way most desktops solved this problem was with a sound server (yep, basically PulseAudio). KDE used something called aRts; Gnome, I think, used Enlightenment's ESD. Both of these would do the mixing in software and pour everything into /dev/dsp. The bad news? They were really slow, high-latency (and I mean high latency, sometimes I'd get the sound alert a dialog about ten seconds after closing the dialog) and were a little funky. If aRts' queue stalled, for instance, the effect was a little comic -- after unstalling it would end up playing all the sounds that had accumulated in the queue. It was very comic.

By 2004-2005 or so, however, the whole concept ended up being mostly irrelevant, as ALSA began to really support hardware (and software mixing). Gnome eventually dropped ESD altogether. KDE kept up with aRts (but IIRC a lot of distributions started shipping KDE with aRts disabled) up to 2004, then embedded some of its ideas into Phonon. Those of us using something else finally rejoiced and never ran a sound server again.

2004 is also the year when PulseAudio was first released. By the time it got included by default in Fedora, in 2006, playing multiple streams using nothing but ALSA was very much a solved problem. I think it was so solved that it worked on Gentoo out of the box, without having to configure anything, on the more common sound card models. Not that Linux sound was perfect -- drivers were still flaky-ish sometimes, but obviously that was not something that a sound server, be it PA or something else, could solve.

So fast forward to 2007, when PulseAudio is actually unleashed upon the computers of everyone else except Lennart and his friends as it's adopted and enabled by default in Fedora 8. To put it mildly, nothing worked anymore. Very literally -- when we installed it at the crufty place where I held a part-time job there, it broke sound on every single one of the 10-15 different configurations we had, from laptops to desktops. On really old desktops, the breakage was subtle (high latency, occasional crashes). On newer laptops it was entirely terrible, they wouldn't even hiss. PA had no useful documentation, basically no means to do any useful debugging, and its upstream team quickly made a lot of friends due to its leaders' difficult (if superficially gentle) personality.

This was extremely unfortunate because alsa -- while not sucking as much as Pulse's PR machine claimed -- was still pretty bad, and many of its design decisions were firmly rooted in the landscape of the late 1990s Linux. dmix wasn't too power efficient and it had a bunch of other problems re. dynamically-added devices. Linux' sound system needed the improvements that PulseAudio brought; unfortunately, PulseAudio was both very slow in delivering them (in a manner that would not crash once a day, that is) and very eager in being adopted, which resulted in it being widely deployed while it was pretty much in early beta.

This is how everyone came to hate PulseAudio (and Lennart Poettering). It created quite a rift in the community, too, one that went on to be made even deeper. It also hurt PA's development pace in the long run.

tl;dr PulseAudio was too bold, too soon, even though it was, in many ways, too late.


I think the real PA shit storm hit when it was adopted by Ubuntu because Canonical wanted to match the pr program volume control that was introduced in Windows 7 (only use i have found for it so far was to mute a pesky game launcher/updater).

This complete with a "you are holding it wrong" like statement from Poettering as new servings of bile rolled in...


Yeah, that was even terrible-er. Fedora mostly fixed things by release 11 or so (not that this wasn't still about, what, 1.5 years?).


I don't think being able to play multiple sounds simultanously from the desktop in the Win9x era was that common anyway although some sound cards probably supported it. I do find it useful for playing my own music while playing a game or watching some talk-only video and so on. Never had any issues with OSS or ALSA so I can't say audio "always having issues" before PulseAudio matches my experience at all... Maybe that's referring to ESD.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: