Wednesday, June 25, 2008

PulseAudio: A Solution In Search of a Problem

I upgraded the Linux OS on my laptop yesterday so that I had a more up-to-date GNOME installation such that I could actually build Evolution from SVN and hack it a bit to solve some annoyances I've been having. However, this is for another blog post.

So... PulseAudio. W. T. F.

All day yesterday I'd been wondering why my sound volume was so low even though I had cranked it all the way up to 100%. Since I was mostly focused getting work done yesterday, I didn't spend any time investigating until last night when I was forced to do so.

I don't remember the exact order of things, but I did watch an episode of Harsh Realm in Xine while also IM'ing some friends in Pidgin, but the sound was so low I could barely hear anything. So a friend on IRC suggested I kill pulseaudio and restart it as this supposedly would help fix the "wonkyness" (evidently I'm not the only one with PulseAudio problems).

This worked for a while, long enough to play the DVD iirc, but afterward I had no sound. So I thought "well, I guess this is just more PulseAudio 'wonkyness', so let me kill pulseaudio again". This time when I killed it, my sound card got flooded with every audio event that had happened over the hour or so I was running Xine. Yay. (that was a sarcastic yay in case you couldn't tell)

Audio worked again for a bit. At one point, a friend IM's me a link so I clicked it and no browser started up (which seemed a bit odd). Tried it again, still nothing. So I figured "ok, I'll just launch firefox from my gnome-terminal and see if that prints any errors". No errors, but it did just hang. Oh goodie. Ctrl-C'd and killed pulseaudio again. At this point my friend IM'd me again which made Pidgin completely lock up:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
26422 fejj      20   0 3054m 1.3g  27m D  198 33.2  18:55.68 pidgin

So the issues of memory usage are perfect for another rant blog post, but the point is that pidgin is completely locked. I can't even kill -9 it (I tried multiple times).

I had to Ctrl+Alt+F1, login as root, and `init 3`

At this point I was so frustrated that I uninstalled each and every package with pulseaudio in the name before going back to X.

Low and behold, after that my audio works flawlessly (well, the Pidgin IM audio events make some crackling which I don't recall happening before I reinstalled, but I can live with it - especially since other audio seems crisp).

So yea... the stuff that the Linux Hater says is all true. He even complained about audio under Linux a while back (couldn't remember which entry it was with a quick look over the entry names).

The point of this story is that PulseAudio appears to be a solution in search of a problem (quite common in the land of Linux afaict).

As I was bitching about this to a hacker friend of mine, he asked me "isn't PulseAudio for sound mixing or something? So multiple programs can all play audio at the same time?".

Nope, because ALSA seemed to do mixing just fine for me in the past.

A quick Google search for PulseAudio reveals that it is supposed to allow fancy stuff like redirecting sound to another host machine for playing.

...just as I suspected: a solution in search of a problem.

Seriously though, who the hell needs that feature on their desktop/laptop machines? No one, that's who. The only people who might need that are thin clients - so why install it by default? Why not just have the sysadmins for those thin-client networks set this up?

PulseAudio is a clusterfuck for basic desktop audio needs afaict.

Sigh.

Update: Apparently I offended the PulseAudio developer with my "it's a solution in search of a problem" statement. For that, I apologize. A number of people have explained what exactly it is supposed to be solving. Unfortunately, none of the problems it is solving seem to be problems I need solved (maybe my sound cards in all my machines have hardware mixing support? I don't know. Or maybe dmix is plenty good enough for me).

However, I still get the feeling that PA is not quite ready for wide desktop adoption because people on other distros are having some of the same problems I had and this is not good.

I'd expect a similar rant from people if Evolution's current IMAP provider was replaced with my IMAP4 provider. As nice as my IMAP4 provider replacement is for my usage, there are no doubt new problems that it might currently have over the old implementation that would break things for some people. (Hence why I have not pushed for it to replace the old IMAP provider until I'm sure it is ready.)

Also, this was tagged as a rant. I had every right to be frustrated because things weren't working like they have worked Just Fine(tm) for me for years. I've had to put up with far worse personal attacks on myself and software I've been involved with over the years than anything I said on this blog (and lets face it, this was not a personal attack aimed at the PA devs - it was just me venting my frustration with a piece of software), so I think some people took this post way too personally.

60 comments:

Declination said...

There are another set of useful things pulseaudio can do. Have a headset that plugs in via a usb soundcard? Well I do, and sometime I plug it in and would like to be able to use it without logging out and logging back in. PulseAudio is smart enough to be able to switch streams back and forth easily. That an per-application volume controls in a centralized location is really useful. No more clicking about to find my music player window to turn it down. Granted thats my experience, but I've only had problems with apps that have large complex sound systems built in like wine and skype. I did however have some problems after I upgraded my computer recently and those were solved by messing with hardware mixer levels which all seemed to get reset to near 0. I came away from the experience annoyed more with release engineering than pulseaudio.

sontek said...

I've also been having troubles with pulse audio but it seemed that the only buggy part of it was the alsa plugin, after I removed that everything seem to work just fine.

But even with all of the problems PulseAudio is supposed to solve, JACK had already solved, it has supported network audio for years.

Anonymous said...

Love your FUD.

http://0pointer.de/blog/projects/pulse-glitch-free.html

That might give you an idea why PA is a good thing.

What yu are experiencing here is that some app that is not PA opens the audio device and doesn't give it up again. Hence PA cannot resume access to it and playback won't start again.

Anonymous said...

In my opinion it's worth it just for the ability to control / mute individual applications even if the applications themselves don't have readily accessible volume controls. Also, you can use it to split a multichannel sound card into different logical soundcards, which I like because I don't need surround sound and it's nice to be able to switch between my speakers and my headphones without unplugging stuff. Unfortunately, it still is a bit buggy, and when it stops working it's impossible to figure out why and fix it; I wonder if including it in gnome should have happened so soon.

Anonymous said...

It's fun ranting about things you don't actually understand, eh?

The problem is not PulseAudio. Your distribution is broken. File a bug with your distribution.

PulseAudio is not about networked sound, although that is one thing it can do. It IS about sound mixing -- and while it's awesome that ALSA does that for you, it does not do it (adequately) for many, many others. On my sound card, for instance, ALSA cannot do hardware mixing worth a damn, and the software dmix driver causes more issues than it solves.

I also don't have any of the problems you're having. It's not PulseAudio's fault your distribution is broken, misconfigured, or otherwise fucked up. You might as well bitch about X11 being worthless on distributions that ship broken drivers or tools that generate broken config files.

Chris Howie said...

When PulseAudio is working, and all of your apps support it, it is tons better than ALSA+dmix. Tons.

If you don't want your sound to stutter you need to make the dmix buffer big enough. And then you get enough latency to make baby Jesus cry. Especially if you are gaming. Yuck.

And don't forget those pesky apps that have no easily-accessible volume control. With PA you just open pamixer and turn it down. Plug in a headset? You can move a playing application to the headset, and the app doesn't even need to support this.

The problem is apps that don't properly support PA yet. (I'm looking at you, Skype and Wine.) paoss works in a few cases but is a PITA to have to set up.

(Interestingly enough, Skype and Wine both seem opposed to supporting PA on a level that rivals most Linux nerds' opposition to use Windows. Why, I have no clue.)

Anonymous said...

One of my use-cases that PA supports is using Ekiga and playing my music. VoIP apps like Ekiga (and Skype etc...) seem to like owning the soundcard and not letting other applications (eg: ESD) access it at the same time.

The Ekiga devs don't want to use ESD as they said there was too much latency for VoIP. PA solves the problem. I can run Ekiga and listen to Rhythmbox. When a call comes in, I simply turn off my music and answer the call. Previously I had to kill ESD in order to run Ekiga, meaning I couldn't listen to music.

I don't use Skype or Flash, but I believe that they both like to own the soundcard too. So, in theory, (some of my friends do this) you can listen to Banshee whilst playing a Flash video and having Skype running. All of the above will play nicely on top of PA.

Anonymous said...

Meh. Seems like you just hit a bug, frustrating as those can be... I am sure you remember me ranting about Evolution IMAP back in the day. :)

Really, there are a couple things here: one appears to be that Xine is hogging the audio device, which is not friendly behavior. Another is that PulseAudio doesn't seem to be dealing gracefully with this circumstance.

Anonymous said...

Something has to do the pretty complicated job of mixing audio streams. Which piece of software do you suggest should do that?

ESD didn't do a good job at it, and the kernel is the wrong place for it. PulseAudio solves the problem. The fact that you get remote audio and a bunch of other features is a bonus, albeit a useful one.

It's not all that different with gstreamer: its primary purpose is to decode and play video, but it gives you a ton of other useful features "for free".

Anonymous said...

I recall we (Mandriva) found that Xine's native PulseAudio output was fairly buggy, and Xine actually performed better with Pulse if you used the ALSA output rather than the PulseAudio plugin. You might want to try that.

I concur with previous commenters: it sounds like you've been very unlucky, or your distro (whatever it is) did not test PulseAudio integration very well. I've been using it for a couple of years, now, and never had such problems (including with Xine).

Jeffrey Stedfast said...

Well, Xine worked. It was low volume for everything else (and then sound-spammage on my sound card as soon as I killed pulseaudio at one point).

I recognise that Xine probably locked the audio device and that's why that may have happened, but good lord.

PA needs to Just Work(tm) in environments where software likely doesn't know PA is there, after-all there is a metric ton of software out there for Linux that was written before PA even existed which all expects to be able to work via using the ALSA APIs (or OSS APIs). This means that if PA is ever going to work properly, then it needs to emulate ALSA/OSS and apps shouldn't be able to lock the device to themselves like Xine may have done in my case.

As far as I understand it, that's exactly how PA is supposed to work... but clearly it's got a ways to go before it works flawlessly, and until such time it should not be being installed by default on any distro targetted at the average joe linux user who just wants audio to work.

Leo S said...

>> And don't forget those pesky apps that have no easily-accessible volume control. With PA you just open pamixer and turn it down.

I'm not against PA but that is a braindamaged reason for it. If an app that emits sound does not have a way to turn it off or turn it down, it's BROKEN. The way to fix this is to fix the app, not to create some silly workaround at a different level. If you can't turn down system notifications, they are broken. If you can't disable notification sounds in your app, it's broken, plain and simple.

Chris Howie said...

@Leo:

> I'm not against PA but that is a braindamaged reason for it.

Yes, we should be omitting features which are useful to people because if it weren't for bugs in other apps we wouldn't need those features. [/snark]

Your response seems to miss the fact that having volume sliders for every sound application you are using in one place is incredibly useful at times. (Though admittedly I did not say that in my comment.)

Plus, I never said that this is the golden feature that made me install PA. See, there's this thing called "context." My original comment has a different context for your quotation than you are implying.

Anonymous said...

You obviously have no clue about the commercial world, or you would realize thin clients + virtualization is a hot feature right now, and is a huge benefit. How did you even get on planet gnome?

Anonymous said...

It's nice that someone finally said it... pulse sucks. It breaks sound for a huge number of people that had working alsa sound.

Jeffrey Stedfast said...

> You obviously have no clue about the
> commercial world, or you would realize
> thin clients + virtualization is a hot
> feature right now, and is a huge
> benefit.

Oh, believe me, I'm fully aware of this. Notice how at the end of my rant I mentioned that this is something for thin-clients.

But desktop users do not need this feature.

Anyways, as was pointed out to me in an earlier comment, PA is apparently also useful for multiple audio devices.

Ok, I can see that being useful on the desktop I guess, but only if things don't break (which evidently is not yet the case).

Amber said...

Clusterfuck?

Now you are just trying to sound like linuxhater. You didn't convince me.

I do have applications that hang. Let's if my Kubuntu has PA hidden somewhere!

Cheers

Anonymous said...

PulseAudio seems to add yet another layer of complexity to the god-awful Linux audio mess. Can we please just have one knob to turn?

Anonymous said...

Transitioning to pulseaudio is a bit painful, but once you (or your distro) has done it, it's pretty nice and solves a lot of problems (got bluetooth speakers? USB gaming headset?).

You'll want to visit: http://www.pulseaudio.org/wiki/PerfectSetup

Chris Howie said...

> It's nice that someone finally said it... pulse sucks. It breaks sound for a huge number of people that had working alsa sound.

Yeah, I mean it's just *SOOO* damn difficult to uninstall PA! You'd need, like, a degree to do that!

Anonymous said...

So basically, you've encountered some bugs that are most likely due to your or your distro's configuration, and based on that experience conclude that there's no reason for pulse to even exist. Furthermore you need to demean yourself by using expletives to strengthen your nonexistent point.

If you'd actually look a bit further at all the sound functionality needed for linux (and look beyond your use case), maybe you'd understand why pulse is most definitely _not_ a solution looking for a problem. The problems are real, and not (or badly) solved before pulse came along.

- sample caching
- networked audio (maybe you don't need it, but I and a lot of other people do)
- compatibility with about everything that you can find (esd, alsa, ...)
- autodetection on all levels (plugged in usb audio? paired your bluetooth headset? automatically find networked audio in your lan?) - that's "just works" in my book.
- great efforts on latency (jack is better on that respect, but jack is complementary in that respect - it solves a different problem than pulse/esd/...)
- redirect audio from one app to another audio sink
- etc. etc.

Pulse is a great piece of work. It's probably not perfect; the flash plugin <10 had problems with alsa+pulse for instance but that was more Flash's fault than Pulseaudio's. But on my distro it has literally been plug and play, and even made it possible to use some weird sound hardware I had trouble using before (this hardware does _only_ 48khz playback, not 44.1khz or lower)

Jeffrey Stedfast said...

A lot of people on the GNOME-Hackers irc channel (and many who are not on the GNOME irc channels) are having problems with PulseAudio using a variety of different distros (recent Fedora, Ubuntu and openSUSE at the very least) so while there may be some extra suckage on my particular distro wrt PulseAudio, my distro is clearly not the only one with these particular problems.

Several people have commented about how opening the volume control often results in an error dialog saying "Cannot connect to device" (which is a horrible error dialog), but many also noted that they have to regularly kill and restart the PulseAudio daemon to get keep audio working.

This sucks.

So bash me all you want for criticizing PA for trying to solve a non-existant problem (I'll admit I may have gone too far with that), but from my perspective where removing pulseaudio fixed all of my sound problems, it's a valid criticism.

For those who have special audio needs, PA might be the right solution for you - I don't know. But what I do know is that it breaks audio for quite a lot of people, and that is a real problem.

Chris Howie said...

Jeffrey:

Removing PA is certainly a valid solution. It's not even at 1.0 yet, so I would not be expecting a whole lot of stability as with any pre-1.0 software. Bashing it for being buggy at this state is not appropriate; bash your distro for actually installing it by default if you want to blame somebody.

But honestly, PA has solved a lot of my sound woes. For some applications it can be a PITA but it's not any *more* of a PITA than it used to be with ALSA. At least I don't have 100ms latency anymore when gaming.

Jeffrey Stedfast said...

Chris:

> bash your distro for actually installing
> it by default if you want to blame
> somebody.

Fair enough and agreed.

This is what I was hinting at when I suggested it not be installed by default, but I don't think most of the people commenting bothered to read that far.

Gustavo Carneiro said...

It's like I said in the desktop-devel thread regarding PA:

1- PA solves advanced problems, ALSA+dmix already takes care of the basic audio;

2- PA hogs the audio device and does not live peacefully with ALSA clients.

At the time I criticized PA especially for 2. I even went too far and called the developer stubborn because enforcing 2 on us, which unfortunately was too strong wording and he did not take it well :-/

Anyway, point being that the PA guys are a bit sensitive about it and don't take criticism well.

Unfortunately at the same time they want us to take a all or nothing approach to PA. It needs to control all the audio, or else we are forced to disable it completely, which is a shame IMHO. Anyway I opted to disable it, and never regretted the decision ;-)

Chris Howie said...

> 2- PA hogs the audio device and does not live peacefully with ALSA clients.

If you don't know how to set up dmix, yes, I can see this being an issue.

Austin said...

Are you sure it is pulseaudio? I had a problem with some usb mass storage drivers in a ubuntu 2.6.24 kernel. It would often put the current task (which was fairly randomly selected) in the 'D' state. And by it's very name the D state is uninteruptable. So you cannot kill it.

Wade Berrier said...

I understand your pain... audio on linux is painful. But, such was the case long before pulseaudio :)

Did you do a fresh install or an upgrade? A default install should configure pidgin to use gstreamer, and gstreamer should default to use pulseaudio.

As far as killing the pulse daemon... one, you shouldn't, two, yes the apps should handle that better.

The major issue here with opensuse is that Gnome is using pulse and KDE isn't. (Other distributions use pulse distrowide regardless of the desktop environment).

That means that apps (especially stuff shipped via packman) aren't going to be configured correctly to use pulse by default, because not all the distro users are using pulse.

There are very few apps that won't work with pulse. (That said, there are some issues in pulse that won't be fixed until the glitchfree branch is released).

As for your volume, pulse shows one volume slider (finally!!! no more gagillion volume mixers that don't mean anything!), but your hardware volume is probably really low:

alsamixer -c0

should enable you to adjust your volume.

Anyways, sorry for the poor experience. Like others have said, I've been using pulse for more than a year an happily enjoy sound from all my apps as well as all the cool features.

The above glitch-free link is a good read and it's nice that linux users have some hope in catching up with the rest of the audio world.

Jeffrey Stedfast said...

Wade: I did a fresh install.

Yea, someone else explained that there is some openSUSE 11 specific suckage going on.

Apparently double-clicking the volume panel applet was patched to launch PA's mixer rather than the gnome-volume-control program (which is apparently what I needed to use in order to fix my hardware volume).

Unfortunately trying to launch the volume control mixer from the applet only seemed to give me error dialogs about not being able to connect to the audio device (this occurred even before I killed pulseaudio and before I ever ran xine, so it's not like that was the problem).

So yea, clearly there are some distro bugs that need to be fixed.

I still think there are also some actual PA bugs that I listed too. PA really does need to more gracefully handle apps using ALSA directly.

Anonymous said...

i dunno what would it take to get rid of the ESD/PA "clusterfuck" indeed, after yeard of having mastered the ways of disabling esd, the same people again plug even a much worse monster into my system. i lost the ability to play flash while rhythmbox or any other audio app is on. everyone says sdl is impossible to get right with PA. how is this helping linux usability

Anonymous said...

I'm having the same sort of problems with PA under Ubuntu Hardy, in fact I would go as far to say that PA is my _only_ problem under Hardy.

Either Ubuntu's integration of PA is broken or PA isn't ready for the masses yet, either way it's since been removed from my system.

Anonymous said...

Weird, I have had precisely *no* problems with PulseAudio whatsoever. SDL works fine as it uses the PulseAudio sound module.

And PulseAudio does all the things that should not be done in kernel space, but that are needed to bring the functionality above: *ug* I know how to tell my applications where my hardware is *ug*.

Wade Berrier said...

kareemk:

You need libflashsupport for working sound with flash.

Jeff:

Dah, I just upgraded my home myth machine to opensuse 11.0, and mythfrontend isn't working anymore. Not sure what changed from 10.3 :(

So until I can fix that, I'll have to call mythfrontend via:

pasuspender mythfrontend

That will make pulse release the sound card and let myth have full access.

So, if there are apps that are broken, distros could always set up apps by default to use pasuspender. That way other apps going to pulse will output no sound gracefully, and the target app will work. As soon as the target app closes, the rest of the apps going to pulse resume.

(As an aside, alsa doesn't have the support to do this. If an app didn't work under alsa's dmix and needed full access the app would fail if dmix was in use. The app using dmix would have to be closed first.)

Anonymous said...

Commenting on the update: if we're being honest, most distros made a pragmatic decision to go to PulseAudio. If the decision had been taken purely on the basis of technical merit, many distros might have felt that PA wasn't quite ready yet. However, there was a kind of general feeling that Linux audio is such a hideous mess we *need* to pick a single framework - or at least a single practical abstraction - and push it. The idea is that with a critical mass of distros behind Pulse (as we have now), it will push developers to fix issues between their apps and Pulse that they might otherwise have not considered sufficiently important, and this will work out for the best in the long run. The thinking is that now, at least, everyone basically knows that all the major distros use Pulse. So if you want your app to work well - all you need to do is make sure it plays nice with Pulse.

Anonymous said...

I upgraded to Ubuntu Hardy, and got PulseAudio with it.

After upgrading, Rhythmbox wouldn't play sound. Totem wouldn't either. I had to reconfigure half of my sound settings to use straight Alsa instead for anything to work.

Still, ZSNES and some other games won't play any sound. From where I sit, things used to "just work." PA (so far) has been a big regression.

Anonymous said...

Audio playback on a remote host is not a solution without a problem.

I used to look for a long time for a solution like that when I wanted to be able to control the music going out through my good speakers on my desktop from the comfort of my bed with my laptop (which had horrible speakers).

And I remember being quite disappointed that I wasn't able to find a simple solution. I thought that of all places I'd be able to on Linux, home of the network transparent desktop.

(Off-topic: I hate how Blogger.com penalize you with CAPTCHA checks each time you preview your comment)

Anonymous said...

Seems to me this is a rehash of what's always been wrong with Linux audio. OSS sucked because only one program had access to audio, ESD sucked because it had latency, ALSA sucked because it works differently on different devices, and now Pulseaudio sucks because its different to what was done before.

Or in other words, the audio APIs under Linux have always been substandard and programs can't cope with new uses or new hardware because of this. Just try and use Bluetooth headsets, for example.

In my mind, Pulseaudio is the only framework around which might actually be able to solve the problem (for now), and get Linux to the level where computers should be (and where Mac and Windows for the most part have been for years). Yes, it's painful now, because it requires something new, and because most programs can't yet deal with it correctly. It's a transition that has to be done to go forward, though, and having been working with audio APIs as a general application developer (not an audio specialist) for, what, 15-20 years now, I can't see how it could be done smoother than this -- and that's not because of PA, but because of the APIs that preceded it.

Zebedee said...

To all you Pulse Audio fetishists - it doesn't matter how clever and great something is if it is sent out BROKEN. Don't distribute until ripe, robust and rockin' cool - and instead of complaints you will get praise.

So instead of claiming that the exploding Pinto automobiles are the fault of the drivers - RECALL the dud and re-ship it when the bugs are eliminated.

What is this - 1995? Do we really need bulls**t problems with applications not being able to make noise??? Please. I really didn't need to lose several hours of my life screwing with sound drivers - ripping PulseAudio out by the nuts and then trouble shooting the resulting mess in my OS.

This fiasco has hurt the Pulse Audio effort, because if given the choice now I will avoid it like the plague just to be on the safe side.

Ta ta-

Chris Howie said...

@Zebedee:

Your comment is fail. OSS is not shipped, distributions package it when they feel like it. As I have said before, gripe to them. Kthxbye.

Jeffrey Stedfast said...

I have to agree with ZeBeDee - desktop distros should have waited for PA to become a bit more solid before dumping it on their users.

The other night I was over at the VMWare offices to watch the fireworks and the developers there commented that they too (running Fedora) had problems with PA and so just removed it. As with me, they never had any audio problems using ALSA and so wondered what the whole point of moving to PA was.

In a lot of people's minds, PA is an epic fail.

Maybe in a few years, PA will be the wonderful "solves all audio problems" solution, but for now it is clearly not.

Anonymous said...

I suggest you try with other distribution like Mandriva, I don't suffer most of this problems with it

Good luck

Anonymous said...

I'm running Mandriva 2008.1. PulseAudio just doesn't work right. If I try to run nearly any kind of media player, xine, mplayer, kaffeine, amarok, things stop working before long. They won't work again until I reboot.

Stuff used to work with alsa it doesn't with pulse. Lots of distros seem to have problems, so it's hard to see blaming one brain-dead distro. It's fine to say an application is broken if it hangs a pulse connection. If I completely kill the application and new applications still can't connect to pulse, that's a pulse problem. Applications, even broken ones, shouldn't be able to make operating system level stuff unusable by other applications, especially not permanently until reboot.

Whether it's broken pulse, broken alsa compatibility interface, broken apps, or broken distros doesn't really matter,
Message is it's broken. Stay away. I don't really care why. Call me back when it works.

Mandriva's drak tools were broken until just a day or so ago, so it wasn't even easy to turn pulse off. At least that is fixed now.

Anonymous said...

You shouldn't have backed off your original post... PulseAudio sucks. That's as plain as I can put it. It breaks applications that worked under Alsa, and therefore it is broken. In my (previous) distro of choice (Ubuntu), it was added as the default sound option and the forums were flooded by people who couldn't even play a cd any more, let alone do any kind of audio editing or multimedia multitasking. But what more can you expect from people that thought it was OK to ship a beta web browser with a broken implementation of flash. As for me, I'm either going back to Solaris or trying FreeBSD - I need to work on a computer and I need an OS maintained by engineers, not enthusiasts. Engineers never would have shipped PulseAudio.

Chris Howie said...

@Anonymous:

Everything sucks before it is stable. You're certainly not going to encourage people to make their software better by claiming that an alpha/beta release sucks.

Do you have any unfinished projects that I can troll too?

Anonymous said...

It seems people are having problems on Fedora as well:

https://www.redhat.com/archives/fedora-devel-list/2008-September/msg00982.html

so you are not alone

Anonymous said...

I love how the pulse groupies say "It works perfect in my distro" but never say what distro that is. hmmm....

Pulse is broken in;
Fedora
Ubuntu
Suse
Mandriva
Just to name a few.

I have them all in virtuals, all work with ALSA and JACK, all segfault with pulse.

Is it totally broken? No.
Is it more usefull than ALSA and JACK?
YGTBK. It never will be.
Is it usable for most in it's present state? No, the recommendation from all distros above is to remove pulse to solve audio problems.

Every feature listed as useful for pulse can be solved better by other existing software.

Network audio support should not be installed on the masses of machines that have sound cards.
Why not install CNC software on all distros? Gee, there's a few people that need that feature.

Pulse is trying to solve a problem (mutlistream, multivolume) by adding a broken, high latency layer instead of fixing what's already there.

I have nothing against the programmers. They are free to do as they wish, but please quit marketing broken software to distros.

If half the effort of pulse went into solving asound.rc configuration and jack configuration we'd be light years ahead of where we are now. Which is broken.

So far because of pushing KDE4 and Pulse, this years releases are and will be the buggiest in years.
Fedora 10
Suse 11
Mandriva 2009

Zebedee said...

@ Chris Howie

I don't feel you need to defend Pulse Audio dude, makes you look like a 'bot. I'm sure the developers (perhaps you're one of them?) are a great bunch of guys with fantastic motives.

But it doesn't make anyone "fail" to observe that something sucked. Our dissatisfaction comes from our negative experience with a less than ready package being shoved upon us. If I want individual volume for each application (I don't) I'd go get it. If I wanted to pump my sound across a network (I don't) I'd go get it. Nice features maybe, but we didn't ask for them and don't need them in our daily lives.

And seriously - despite several arcane nuances in the audio Dev world - the ONE thing that has been functioning fairly well on most computers for the last 10 years is Audio. It's really shocking when this fundamental piece of the computing experience fails.

So again, it's no problem that Pulse is Alpha/Beta - the problem is that it shipped in many excellent distributions before it was time. Placing fault is moot - it's just one more of those stupid things that further prevents guys like me from ever promoting Linux out to the end users we look after in the corporate world.

Also, your attitude that it's so easy to remove Pulse is bogus on the simple premise that NOBODY in the mainstream world of users gives a damn - they just want audio. They simply will NOT read how to fix it - they will yell at guys like me and then format and install XP. They will then spend the next decade saying Linux sucks because their speakers didn't work when they tried it.

And this leads into the general health of the Linux community mindset. We have a huge opportunity guys! Vista is FAIL, my users hate it. Oddly, most also hate Macs but are requesting them in droves (and we are buying them) because they're better than Vista on many levels that average users respond to in a positive way. Pre-downgraded XP is also popular but that's a dead end logistically.

So where is the Linux Distro that can step into this vacuum of missing end user satisfaction?

It DOESN'T EXIST. Why? Accidents like the premature release of Pulse Audio don't help build confidence amongst decision makers like me. This little boo-boo hurt the Distros much more than it hurt the Pulse project. These kinds of malfunctions are sadly quite common and are why Linux is FAIL for a vast majority of casual computer users.

So I must say as a bit of an outsider to the Dev community: This cavalier attitude in the Linux world needs to be checked and balanced. Everyone needs to own up and work together better to prevent this crap from hitting end users. Sure the Distros could have said "No, Pulse isn't ready" but Pulse could have also said "No, WE aren't ready."

To conclude - everyone would be well served to raise their standards and stop defending software that malfunctions. In the long run defending accidents helps nobody. Fix the stuff and convert your critics into advocates by earning it.

Believe me, I'd much rather be singing the praises of Pulse Audio than writing online to warn others. I have much better ways of spending my time.

Chris Howie said...

@Zebedee:

I am only defending Pulse insofar as people are claiming that this whole mess is Pulse's fault. Maybe the devs pushed for Pulse to get accepted into distros, I don't know. But sticking blame on the developers is completely inappropriate, and is not going to convince them to fix bugs. It's (rightly) going to piss them off.

P.S. Ad hominem is tacky.

Zebedee said...

Right on and sorry, didn't intend an ad hominem. My rant got carried away, but I wasn't aiming the thing at you. ;)

ATB-

Anonymous said...

"I am only defending Pulse insofar as people are claiming that this whole mess is Pulse's fault. "


Yes, it is PA's fault... This is
a valid answer, not false because PA claims to fix something which most people just do not want to give a damn about. What people see is now they have totally unusable audio playback.

Anonymous said...

@Chris:

Sorry, in my many years of software development, the blame on developers is the most effective way to let them fix the bug.

And of course it is VALID to blame them because thing DOES NOT work with their BAD software now.(no matter how good it could be in the future).

Why in FOSS community, everything is getting so complicated?? Is the good intention automatically fixed all the bugs in their software?

Chris Howie said...

@ both anons:

> Is the good intention automatically fixed all the bugs in their software?

No, but people producing software are not responsible if some other distro decides to take their alpha-quality release, package it, and make it the default on their distro.

PA claims to fix problems, yes, but it also admits that it's alpha. Look at the version number. It's not 1.0 yet. That means they haven't hit their roadmap goals, which usually include stability.

Placing the blame squarely on the shoulders of the PA devs makes about as much sense as blaming company A, a developer of new networking hardware, for a major network failure at company B simply because company B replaced their backbone with new prototype models from company A.

Gunstick said...

I had problems with /dev in the good old times.
Then came OSS which didn't "work"
then came ALSA which still didn't "work"

So yes, I use 2 user accounts logged in at the same time. And the second account also wants to play his youtube videos and java game sounds.

It was a headache to make ALSA understand this. At some point it worked with an .asoundrc of 50 lines or more.

Comes ubuntu 8.04 to which I simply upgraded. A bit bumpy for the sound (hangs, no sound...) so I remove the aoss from firefox start. Even messier and removing my ALSA configuration didn't help.

Instead of removing pulseaudio, I hoped that if I can manage the second user to play it's sound via the pulseaudio socket, I will finally be in sound heaven.
Unfortunately Hardy seems to come with a half baked pulseaudio setup. Some googling yielded some packages to install. Starts to work half way. More googling and more packages to install (half of pulseaudio stuff in the repository is not installed?) and a config of alsa to use pulse. And more clicking around... (and working around a broken DEB package) and now it works.
So yeah... pulseaudio solves MY problem, but the problems on the way towards the solution are only solvable by linux gurus. Current ubuntu status: not ready for the desktop :-)

There are 100 pages on this pulseaudio thread WOW!

Anonymous said...

Good ol' free speach, mate. Who cares if you offended the developer? I'm sorry, but that's just... wrong. I feel you on some of the frustrations of PulseAudio, but I guess there are some features I really like about it.

~Anonymous

Anonymous said...

I liked the part about pulseaudio being a clusterfuck cuz I was just thinking the same thing when I googled it.
pulseaudio has been having issues on almost a dozen laptops I personally work with. It's a wonder I never had sound problems before..
So yea, your rant is in place.
I don't care about nifty features if it's not stable.

scribe said...

Ever since Fedora started shipping PulseAudio, sound on my laptop sucks. I can't listen to music without pauses and jumps all the time-- presumably because some other app is trying to play a 'beep' or make some 'cool' sound. I can't have a browser open if I want to make a skype call. Sound on Linux has just gone backwards like everything for the past 5 years. I'm going back to X and E16 screw GNOME, I'm sick and tired of its slow decent to become Windoze.

Jack Wit said...

i just switched from ubuntu to debian because pulseaudio killed all audio output. i'm much happier now and everything is faster. pulseaudio sucks.

Anonymous said...

i'm fully convinced pulseaudio exists because linux was in danger of becoming too popular.

nothing like "why the hell doesn't my fucking audio work??" to sour people on the whole experience.

Anonymous said...

Pulse audio does indeed suck.

I do have sympathy for the developers (as that is also my profession) however I don't think it's ready to be a default install on any distro. No offence intended but when your software breaks an otherwise functional stack you need to take a look at what you are doing.

Misconfiguration is a pathetic excuse for a poor choice of default behaviour.

Anonymous said...

PulseAudio also killed my sound. My sound did, indeed, work wonderfully for the last couple of years before my distro forced it on me.

Maybe it's distro specific. I don't care. %99 of most users don't care. If the PulseAudio dev doesn't want the grief of people slamming his/her work, I'm not sure writing nasty letters to everyone that complains is an efficient solution.

Code Snippet Licensing

All code posted to this blog is licensed under the MIT/X11 license unless otherwise stated in the post itself.