Wednesday, February 25, 2009

PulseAudio

If it seems fashionable to post about PulseAudio experiences, I'll refrain from spouting my own mishaps and instead focus on fixing and maintaining the audio stack in Ubuntu (a rather thankless job in any Linux distribution).

Firstly, people claim that PulseAudio brings a lot of fail to the Linux desktop environment. As with many maturing architectures, there are massive growing pains. David F is not the first to note that Jaunty's packages have thrown many desktop users for a loop. It should come as no surprise that there is more breakage on the horizon, and in fact, I documented it twice to, well, near silence on the ubuntu-devel-discuss mailing list. Much more importantly, however, PulseAudio has been instrumental in exposing numerous alsa-kernel (which in Ubuntu affects the linux source package, not the alsa-driver source package) and alsa-lib bugs. We all owe Takashi, Jaroslav, Lennart, and myriad others a round of $beverage for making things bearable^Waudible.

I'll take this opportunity to state again [OpenOffice.org Impress file] (as during my 2008 Ohio LinuxFest presentation) that Linux audio can be hairy, and if it has worked for us directly via ALSA, OSS (including v4.x), etc., we should be pleased but mindful that there is always room for improvement.

Secondly, Jaunty is in development. While it is reasonable to expect that filesystem-munching bugs don't hit us daily, it is also reasonable to expect that running a development branch brings experimental configurations that could munch our filesystems. The PulseAudio configuration currently in Jaunty was delivered precisely to trigger alsa-kernel and alsa-lib bugs so that they can be fixed. Surely we don't want another instance of Hardy's PulseAudio configuration to bite us!

Finally, it is much more productive to Ubuntu developers and maintainers for the Jaunty testing community to file bugs. In the case of Jaunty's PulseAudio, there already exists one "master" bug tracking the most common complaints of:
  • my sound is inaudible on GNOME session login
  • my sound disappears randomly while using GNOME
  • music and/or video applications seem to hang or crash while using GNOME
Rest assured that we are working diligently to resolve the bug (which affects linux, alsa-lib, and pulseaudio).

11 comments:

  1. [quote](a rather thankless job in any Linux distribution)[/quote]
    Thank you, Daniel Chen, for all your work on the audio stack in Ubuntu. I can tell you that my experience with audio has only got better with each release of Ubuntu.

    ReplyDelete
  2. Sure great that new bugs are exposed, but not at the user's expense.

    ReplyDelete
  3. vadi, thanks for your comment, but there come times during software development when live data is necessary. Testing in a lab environment cannot catch the vast majority of users' routines. Where should we test our changes if not also across the Jaunty testing community before the release? For instance, I do not use Skype, but people report that its integration with PulseAudio is abysmal in Hardy and in Intrepid. Obviously, "it works for me - why did you break it!?!?" is insufficient. In this context, "user's expense" is synonymous with "running Jaunty". A really swell way to improve Ubuntu Jaunty is to communicate constructively with the developers and maintainers.

    ReplyDelete
  4. Thank You for all your hard work!

    ReplyDelete
  5. @dan: I agree, but for some reason, I don't recall massive calls for PulseAudio on Ubuntu Forums, Fridge, Planet Ubuntu, and etc. Maybe I missed it?

    At any rate, it's understandable of what had to be done... just wish it was somewhat less painfully. Lennarts assertion of "90% of apps will work" and thus "it's OK to break 10% of the apps" just doesn't strike me fancy.

    ReplyDelete
  6. Well: As an Ubuntu user, I see the value of the pulseaudio arch., mostly in streaming media across a local network and mixing audio from different sources; but it also has given a lot of pain to desktop users who want to use apps not designed to run with it (e.g.: Skype). I think pulseaudio was prematurely integrated into Hardy, and it's very difficult to get rid of it, because of that tight integration. We weren't given a choice!!! Do you want to install the pulseaudio daemon? would be a great question to common desktop Ubuntu users like me, at that magical installation moment.

    My regards...
    Victor Rossetti

    ReplyDelete
  7. victor, I concur that PulseAudio was not a good choice for Hardy, but in fact, I use Hardy as a base for my development desktop (Jaunty in a Virtualbox VM and on another desktop), and I have no problems with PulseAudio integration (including non-Free Flash 10). It is straightforward these days to say certain things in hindsight, but the fact of the matter stands that the Linux desktop - well, at least GNOME - is moving toward PulseAudio.

    Querying the user during the installer, however, is not a good design point. The user should not need to know a thing about PulseAudio - it should Just Work. That's where we're going, and that's where my efforts lie.

    ReplyDelete
  8. I've used Ubuntu since 2006. I'm easy to please. So far, my laptop installs have been nearly pain-free.

    My desktop is another story. I have 5.1 Surround-Sound and it seems that with every release, there is a new and different "How-To" to get all of my speakers working.

    I don't mind doing it. After reading the current "How-To" I can figure it out.

    But it becomes a hard sell when someone who is almost convinced to try Ubuntu, and reads that it should "Just Work" only to be met with sound issues.

    ReplyDelete
  9. Just wanna say thanks for all the work you're put in.

    So here it goes, thanks.

    ReplyDelete
  10. dadgadjohn, you're preaching to the choir, really. That's why I'm spending my free time on the audio stack.

    ReplyDelete