Slashdot Mirror


PulseAudio Creator Responds To Critics

Dan Jones writes "As recently discussed here, Linux sound development has come under fire for being overly complex and, more specifically, PulseAudio has been criticized for not being a 'good idea.' In a lengthy interview, PulseAudio creator Lennart Poettering has responded to the many critics of the new-generation sound server and says such complaints and criticisms about PulseAudio in some Internet forums are not really shared by the vast majority of technical people. While Poettering admits PulseAudio itself is not bug-free, he believes the majority of issues are being triggered by misbehaving drivers or applications."

31 of 815 comments (clear)

  1. who's to blame. by delirium+of+disorder · · Score: 5, Insightful

    When an application can make the soundsystem stop working for all other applications, than there is a bug in the soundsystem, not just the application that caused the problem.

    --
    ------ Take away the right to say fuck and you take away the right to say fuck the government.
    1. Re:who's to blame. by Anonymous Coward · · Score: 5, Insightful

      Big deal. Scratch your itch! Check out the code from CVS and contribute a fix. Don't just sit there and complain, do something about it! This is F/OSS for God's sake.

      I think you're joking up until this point...

      How many people would contribute fixes to Microsoft's buggy audio drivers if they had half a chance?

      ... and now I think you are serious. Not everyone that uses Linux is a software developer. Not to mention, of course, that not all software developers who use Linux would have the time/skillset to approach such a focused project.

    2. Re:who's to blame. by xtracto · · Score: 5, Insightful

      Big deal. Scratch your itch! Check out the code from CVS and contribute a fix. Don't just sit there and complain, do something about it! This is F/OSS for God's sake. How many people would contribute fixes to Microsoft's buggy audio drivers if they had half a chance?

      Bah!
      As a computer user I do not have time to do that. The previous to last version of Linux I tried had this "ALSA" sound driver, which was *almost* behaving OK. Then the last version had this "PulseAudio" sound driver which was completely broken. My 10 years old Windows XP operating systems gives me no problems when playing audio.

      I put the blame in Distribution makers, who added PulseAudio to "production-ready" distributions when the software is clearly in Alpha stages.

      ALSA is on the other hand in BETA stage IMHO. Still, it was good enough.

      --
      Ubuntu is an African word meaning 'I can't configure Debian'
    3. Re:who's to blame. by Jason+Pollock · · Score: 4, Insightful

      Precisely. PulseAudio cost me a week of effort in building my media playing machine. An entire week of trying to figure out why XBMC and Boxee wouldn't talk to the sound card.

      As soon as I got rid of PulseAudio? It started working.

      When an API is supposedly compatible with something it is replacing, it is the _API's_ fault when an application stops working, not the application. We already had this argument with EXT4.

      PulseAudio - not ready for prime time.

  2. Useless by Carewolf · · Score: 5, Insightful

    The idea is great. PulseAudio is an excellent solution for networked audio and thin unix clients. Now the problem is the people and the distros installing it by default on a desktop where it is utterly useless. No matter how close to bug-free it is, it is an unneeded source of bugs in that case.

    1. Re:Useless by Anonymous Coward · · Score: 5, Insightful

      ...Fourth, PulseAudio has a ton of other nice features...

      Now if only it would actually play music without skipping, freezing, or using 30+ percent of the CPU. Sheesh!

    2. Re:Useless by Per+Wigren · · Score: 4, Insightful

      Now if only it would actually play music without skipping, freezing, or using 30+ percent of the CPU. Sheesh!

      It will, if both your kernel and Pulseaudio are properly configured for low-latency desktop usage (realtime privileges, 1000hz timer, etc). While I fully understand you being annoyed that your current distro/version ships with a default configuration that isn't fully adjusted to this very common usage pattern, it also means that the situation will get better as distributions learn how to properly integrate Pulseaudio and the remaining bugs in Pulseaudio itself are fixed and it gets better at automatically detecting and adjusting to different hardware setups. This includes making the ALSA drivers better at reporting which jacks are plugged in and things like that.

      --
      My other account has a 3-digit UID.
    3. Re:Useless by Richard_at_work · · Score: 4, Insightful

      So we should forgive what is to most people a shitty application its sins because it solves a problem the majority of people don't give a crap about?

      Thats the underlying problem here - the creator may indeed be correct when he says that 'such complaints and criticisms about PulseAudio in some Internet forums are not really shared by the vast majority of technical people', but those people are outweighed by the non-technical masses suffering a bad experience.

    4. Re:Useless by jedidiah · · Score: 4, Insightful

      > First, Bluetooth audio _sucks_ without PulseAudio. ...which means that all of us without "bluetooth audio" couldn't care less.

      > Second, you NEED to have a sound daemon to properly manage the sound system and other sound daemons suck.

      No you don't. No they don't.

      For the mundane user, ALSA was doing fine before Pulse came along. For most of us,
      PulseAudio was a solution in search of a problem and just something else with more
      moving parts to break. Even now, most users would be best served by just un-installing
      PulseAudio entirely.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    5. Re:Useless by segedunum · · Score: 5, Insightful

      It will, if both your kernel and Pulseaudio are properly configured for low-latency desktop usage (realtime privileges, 1000hz timer, etc).

      This is bullshit. No one should ever need to configure a sound system to get it to work on a basic set up and I'm sure that blaming distros or blaming kernels looks like the easy way out. No one needed to configure OSS, no one needed to configure ALSA and no one has needed to configure arts to get sound out of their speakers reliably on first start up. I've seen the mail where Lennart is blaming various Linux kernels for several hundred millisecond latencies and that is simply insane. Either he's lying or you've got a piece of software that is ridiculously sensitive and ultimately broken.

      This includes making the ALSA drivers better at reporting which jacks are plugged in and things like that.

      Then fix ALSA or use OSS before you start retrofitting bullshit sound servers that breaks a lot of things. We've had an unhappy history with sound servers in the Linux world and no one seems to have learned the lesson.

  3. Durability in the face of errors by ZorbaTHut · · Score: 5, Insightful

    If we make PA expect more correct behaviour from the apps, or that applications stop making particular assumptions about the audio stack, we need to fix the applications at the same time.

    This is not entirely true.

    Now, I don't know what the exact bugs are that are causing problems. But the API should be stable no matter what happens to the outside. There should be no way to destabilize or crash the audio layer from a usermode application. So, if by "expect more correct behavior from the apps" he means "garbage in, garbage out", then that's fine. But if by "expect more correct behavior from the apps" he means "no error checking and if any app screws up then everything melts", then that's not fine.

    I don't know which he means, but I've seen instances of both.

    --
    Breaking Into the Industry - A development log about starting a game studio.
    1. Re:Durability in the face of errors by Sycraft-fu · · Score: 5, Insightful

      A correction here is that DirectSound has not been removed, it is still a major API. What has been removed is hardware acceleration of DirectSound. In Vista/7 all DirectSound audio is software processed. The soundcard can't accelerate any of it.

      The real problem was actually that there were few hardware sound accelerators on the market. Most cards were (and are today) little more than buffers you could write data in to to be played. Ok, fair enough. However what happened was that the people who made these cards wanted to support all the nifty hardware features since games made use of them. So they'd write these big complex drivers that played make believe and pretended to do hardware acceleration, all in the kernel of course. That is where the problems happened.

      So in NT 6 (Vista and 7) that was removed. All audio is handled in software, and the interface to hardware is just one of giving out the finished sound to be played. Much less room for problems, though more computationally intensive. Not a problem though since processors are much faster.

      Hardware acceleration now can only be done using other APIs. That is how Creative Labs does it. They implement OpenAL (their own API) on their cards in parallel to the Windows APIs. It talks straight to the card, bypassing Windows's processing.

      That's not the only big usermode DirectX related change though, the graphics subsystem was moved in to user mode too. Though this still does hardware acceleration, of course, the drivers were all moved up to user space. One side effect of this that you notice is that when you install new drivers, you don't need to reboot.

  4. Why do I care where the bugs are? by jonaskoelker · · Score: 4, Insightful

    While Poettering admits PulseAudio itself is not bug-free, he believes the majority of issues are being triggered by misbehaving drivers or applications.

    Well, the way I see it, I can either use alsa and have (as far as I can tell) no bugs, or I can use PulseAudio and have more features and more bugs.

    That might not be PulseAudio's fault, but it still means that if I use PulseAudio I will have a buggy sound system. Why do I want that? Why do I want it even if it's only buggy until all the applications get fixed?

    Also, the promise of networked sound is kinda... meh... maybe I'd be happy if all my laptop sound got moved to my desktop box (which is connected to my stereo) automatically whenever my laptop is connected to my home access point (and, conversely, my desktop's sound automatically gets routed to my laptop whenever my laptop does an ssh home and is not around my home access point). But as far as I can tell, this is a bitch to set up, and I'm really not inclined to go clicking around some unintuitive menu system to set my sound up right every time I leave home or go back.

    So what's the benefit of PulseAudio again?

  5. Too many choices.... by Max+Romantschuk · · Score: 4, Insightful

    The largest problem with Linux audio is not really any particular driver model / sound server. OSS, ALSA, PulseAudio and Jack all work when set up properly, with supporting hardware, and supporting software. But it's never a given that a particular app will support whatever you're using, or give you the choice to select your output device if you have multiple sound cards.

    I've been running Ubuntu for a long time now, and recently installed Windows as a dual boot for making music. Why? I can spend X hours on setting stuff up, or I can spend X hours on making music. I can simply count on any app that matters supporting ASIO or DirectSound on Windows.

    While I actively try to convert people to Ubuntu for regular desktop apps I still tell people who plan to do audio/video stuff to go for Windows/OS X. While it's totally doable to set up a working environment in Linux if you know what you want and which apps you want, I like to play with stuff for fun. I'd rather invest my time in having fun creating content than trying to get stuff to work.

    (And yes, I've tried Ubuntu Studio. Nice, but not there yet for me.)

    --
    .: Max Romantschuk :: http://max.romantschuk.fi/
  6. Re:Why is OSS no longer in the kernel? by LizardKing · · Score: 5, Insightful

    The 4Front interpretation of GPLv2 is irrelevant - the source code is triple-licensed under GPLv2, CDDL and BSD licenses. ALSA is an excellent example of Linux throwing away a solid API and implementation that could have evolved to support the few critical features it lacked (which is exactly what happened in FreeBSD for example) in favour of a half-baked alternative. The original ALSA API is poorly designed by people who clearly have very limited knowledge of OO principles, but wanted to apply them all the same. This piss poor API was never well documented, and the actual audio drivers are not of the same quality as the ones in OSSv4. The ALSA developers answer to the poor API? Slap another, equally poor, equally undocumented API on top of it. What a fucking mess.

  7. Way not to get the point: why users are angry by Idaho · · Score: 5, Insightful

    While Poettering admits PulseAudio itself is not bug-free, he believes the majority of issues are being triggered by misbehaving drivers or applications.

    Even if he may be 100% right about that: way not to get the point!

    I don't care whether problems are caused by the kernel, a driver, an application, the phase of the moon, or whatever. The thing is, if some "trivial" piece of hardware which has been part of mostly every computer since about 1990, still *does not fucking work* correctly today, I don't give a rat's ass whose fault that is. Especially if it appears the same "problems" have been solved satisfactorily at least 10 years ago on every other OS in mainstream use.

    In the meantime, Linux has changed both the audio driver model (ALSA, OSS, who knows what else), and in addition to that, the "application interfaces" (arts, esd, PulseAudio, etc.) so frequently, that it is hardly any wonder that application developers are taking the piss and not updating their software to match the bugs/workarounds to whatever the current "flavor of the week" API for audio interfacing is.

    Perhaps PulseAudio is just getting most of the "blame" because it is the most recently changed part of the audio subsystem, so if things used to work before, and now they don't, of course you're going to blame PulseAudio. Even if it is not by itself the "real" culprit.

    --
    Every expression is true, for a given value of 'true'
  8. Re:It may be buggy... by batkiwi · · Score: 4, Insightful

    Do more than .0001% of linux users need autoforwarding, or network transparency at all? Or should we focus on what the other 99.9999% want, which is high performance, low latency, non-crashing sound like the other two major OSs have.

  9. The Vista Defense! by Beelzebud · · Score: 5, Insightful

    I never thought I'd see a Linux advocate use the Vista Defense! It's the drivers, it's the software, it's something, but it's not my code!

    At least with Vista the problems with video drivers, and various other hardware devices was sorted out within a couple of months. In Linux the way audio is handled is an absolute mess.

    1. Re:The Vista Defense! by abigsmurf · · Score: 4, Insightful

      Ironically, Vista has a very solid sound system designed around the fact that audio drivers are a mess.

  10. A legend in its own mind by Devlin-du-GEnie · · Score: 5, Insightful

    The sound on my =bare metal= install of Fedora 10 didn't work.

    After much forum-searching, config tweaking, and pounding-of-keyboard, I eliminated PulseAudio.

    The sound worked.

    Tell me again about PA's awesomeness.

  11. Comment removed by account_deleted · · Score: 4, Insightful

    Comment removed based on user account deletion

  12. Re:This is the Sound of by icebraining · · Score: 4, Insightful

    I'm an OSSv4 converted too - being being unable to get vmix or Pulse to work right, Alsa could turn the volume as high as Windows. Now in OSSv4 everything works fine, except being unable to detect the jack, which is annoying.

  13. Re:Article is doomed to failure, but PulseAudio is by Entrope · · Score: 5, Insightful

    A lot of devices stream data over a network and play it locally as audio. That does not necessarily make any of them a "network based" audio device in the sense that they can be driven by PA.

    Audio is not unique in needing device ACLs adjusted; it should not need a unique solution for doing that. In fact, having an audio server handle ACL adjustments when something else does that is a violation of the Unix philosophy of chaining together simple tools that focus on one thing.

    Application-controlled latency is good. Library-enforced latency is bad. Sending audio from one user-space process to another is a case of the latter.

    After reading your post made "as a PA developer", I'm even more down on it than before.

  14. Re:The problem isn't the idea by QuoteMstr · · Score: 4, Insightful

    The problem is that the implementation sucks, and that bugs are being ignored.

    No, the problem is that the implementation sucked. Past tense. There were various CPU-eating problems. They were fixed a long time ago.

    Really, the entire Linux sound system sucks. PulseAudio is one of the better parts of it. But because PulseAudio is visible, and because an old distribution once shipped with a CPU-eating PulseAudio, it makes the perfect scapegoat today.

  15. Re:Article is doomed to failure, but PulseAudio is by advocate_one · · Score: 4, Insightful

    And as I said, most applications seem to have this built in concept of "latency == bad", which is just bogus in most cases (media players etc.). If power consumption is the main factor (and with handhelds, laptops, netbooks and the like, it frequently *is*), then latency == good. Fewer CPU wakeups, longer battery life. Intel and others have been experimenting with large latencies of about 10-20 seconds with good results on power savings.

    latency sucks... If I play a note on my guitar or keyboard, then I do not want to hear the sound more than a couple of milliseconds late... this is precisely why I still do my music recording on a windows box... I still can't get rid of it much as I really want to... I did have a perfectly good Ubuntu Studio setup going back on the LTS (Dapper Drake) before the current one, but certain issues pushed me into upgrading to the next LTS (Hardy Heron) and boom... pulseaudio screwed it all up... I was completely dumbfounded when I discovered it was an experimental sound system just dumped into the LTS without any attempt to get the default settings correct. I expect the LTS version of Ubuntu to actually work out of the box. So as a result, I got my XP box out of mothballs and went back to using XP for recording.

    --
    Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
  16. Re:Article is doomed to failure, but PulseAudio is by QuoteMstr · · Score: 4, Insightful

    No its not. Video playback with an audio lag of several seconds? Not good.

    You're confusing synchronization and latency. There's no particular reason you can't buffer up a few seconds of audio, yet make sure that audio is played exactly when the video calls for it.

  17. Re:floating point works fine in my kernel by Runaway1956 · · Score: 4, Insightful

    I'm afraid you haven't yet distinguished between OSS3 and OSS4. Have you TRIED IT? If not - stop your belly aching. If you have tried it, then put some comments on the OSS4 contributor's site. Since I'm not a developer, telling me how bad it is accomplishes nothing.

    Once again, OSS4 solves all of my problems. Sound just works for me, without a hitch.

    --
    "Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
  18. PulseAudio is broken by OverflowingBitBucket · · Score: 4, Insightful

    I've had three systems with audio problems. Two Ubuntu-based (8.04, 9.04), a third OpenSuSE-based. All with PulseAudio. All had oddities- ranging from the sound working only during X session startup/shutdown (and not in-between), through to the audio skipping, repeatedly, when changing the current desktop. These were on reasonably decent machines, by the way. Machines that should gobble up and spit this data so fast that it barely dents CPU usage.

    In each case, disabling PulseAudio and using, well, anything else, caused the problem to go away. OSS, ALSA, didn't matter, they both worked. Sometimes it was easy to remove PulseAudio, and sometimes it took a bit of work. Ubuntu 9.04 was a challenge. No, scratch that, it was a fight.

    I look around, I see horror stories and widespread problems with PulseAudio.

    I see claims that it works, if you configure it "properly". You know, I heard the same vague defence regarding Windows' instability. I didn't believe it for Windows either.

    I've heard that PulseAudio has a great set of features. However, I have no interest in digging into what these features might be. The core feature that I want above all else isn't supported by PulseAudio. That feature?

    Playing seamless audio.

    PulseAudio can't even get that right. Stutters and skips are the norm, audio systems that worked previously no longer do, and the backers of this abomination are in abject denial about it. There are widespread complaints about it across multiple applications and multiple operating systems, and still it "isn't configured properly". You can't be serious. Complaints about PulseAudio are not really shared by the majority of technical people? Oh, yes they are.

    If you want to provide a reasonable sound system, a *core* focus has to be on providing a working sound system. Get the core functionality right, then move onto features. Stability, correctness. Get the basics right. Also understand that API users may stuff things up, and falling over and dying is not the correct thing to do. The infrastructure needs to be resilient, not fragile.

    PulseAudio did *not* do this. Any of this.

    The order of the day seems to be to blame everything *but* PulseAudio. The apps are broken, the drivers are broken, the operating system maintainers didn't integrate it properly, it's not configured properly for the user's machine, the people complaining wouldn't be complaining if they were more technical, a lot of distros have adopted it so it must be good. Did I miss anything here? This has been the argument thus far.

    I'm going to be different. I'm not going to blame the developers, the applications, the users, the knowledge of the users, the operating system developers, or anyone else. I'm going to blame the one at fault, the *cause* of these problems. The one thing in common with this incredible list of problems.

    PulseAudio is completely and utterly broken- in design, in implementation, and in application. It is horrendous, shameful, and embarrassing.

  19. Re:This is the Sound of by adolf · · Score: 5, Insightful

    All these informed-sounding folks, living in some perfect netherworld that doesn't really exist. *sigh*

    If I have a recording that is too quiet (for whatever reason), it is reasonable to be able to turn it up so that it's not too quiet anymore.

    Not every recording is stuffed all the way up to the max at 0dB. Some are far quieter, whether on purpose or on accident. If I have a recording which peaks at -20dB, then I ought to be able to apply at LEAST 20dB of gain to it without jumping through hoops.

    This is not an uncommon problem, and the best (simplest) solution is just to turn it up -- however that's done. It's been awhile since I've done any serious audio in Linux, but if PulseAudio or ALSA or whatever combination thereof requires me to buy extra hardware (WTF?) to achieve this very simple and obvious function, then it is very broken[1] indeed.

    And before anyone replies and says "Oh noes! If we give the users gain, they might makes teh Distortions!!!!" This is broken in the "I'm sorry, Dave, I can't do that" sense. It's REALLY fucking stupid that the same operating system which allows you to do "dd if=/dev/urandom of=/dev/sda" without prompting WILL NOT PROVIDE MEANINGFUL AUDIO GAIN.

  20. Re:This is the Sound of by adolf · · Score: 4, Insightful

    Gosh, I never thought of that: I can just take the source audio and adjust it up with mp3gain or sox or something! How short-sighted of me. Thank you for showing me the error of my ways. [/sarcasm]

    Of COURSE it's broken, but that doesn't mean it's the application's fault. Sometimes, the mic audio on (say) the camcorder is just too low, and the person running the thing doesn't have the knowledge, skill, or time to fix it. Am I really supposed to figure out how to adjust the gain on some H.264 multiplexed audio/video just so I can show a video to a friend on my laptop, with audio at a reasonable level?

    Seriously?

    Cuz, I mean: I don't have time to supervise every production that ever happens in every corner of the world, and accordingly things are very simply too quiet from time to time.

    Really, folks. I want to live in your happyplace where all audio levels are always sane, everyone has a clue, and all volume controls are simple attenuators. I honestly do. But my reality doesn't work that way.

  21. Ok, call me when it's ready by sean.peters · · Score: 4, Insightful

    While I fully understand you being annoyed that your current distro/version ships with a default configuration that isn't fully adjusted to this very common usage pattern, it also means that the situation will get better as distributions learn how to properly integrate Pulseaudio and the remaining bugs in Pulseaudio itself are fixed and it gets better at automatically detecting and adjusting to different hardware setups.

    Look, I understand that getting this stuff right is a hard problem and takes some effort to get resolved, and that' s not necessarily the fault of the developer. But it's not my fault either. I don't have time for this kind of thing - while there was a day when I really enjoyed spending a bunch of time fiddling around with my computer to get it to work right, those days are mostly over for me now. I need sound to "just work", and if Pulseaudio doesn't, then I'm not using it.