Colin.Guthr.ie Illegitimi non carborundum

27Sep/1114

One Point Oh!

It is with great pride that I announce PulseAudio 1.0!

It's been a long time coming and I'm very glad this is finally out of the door and I look forward to a much more streamlined release process in the future.

There are too many people to thank but in particular I'd like to thank Arun Raghavan, Tanu Kaskinen, David Henningsson, Maarten Bosmans, Daniel Mack, Jason Newton, Jyri Sarha, Lu Guanqun, Luiz Augusto von Dentz, Marc-André Lureau, Pierre-Louis Bossart, Siarhei Siamashka and of course Lennart Poettering.

There is more info over on the announce mail, so give it a read and also see our release notes.

Obviously there is still a huge amount to be done, both in the daemon itself, improving documentation and improving integration into the desktop environment itself. Any help is gratefully received!

So stay tuned for future improvements! And speaking of staying tuned, I'd also like to announce Planet PulseAudio. This is an aggregated feed of posts about PulseAudio. If you have a blog and write about PA, please get in touch and we can add your feed. The design is heavily borrowed from Planet GNOME so it should be familiar for some readers.

Packages are already available for Mageia Cauldron and backports for Mageia 1 will be available sometime soon. Hopefully someone will update the packages in Mandriva as I'm not actively doing stuff over there these days.

Happy listening!

PS I'm sure there will be a brown bag moment to come with a 1.0 release, but fingers crossed.... :p

Share and Enjoy:
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • Identi.ca
  • Slashdot
Comments (14) Trackbacks (3)
  1. When I first encountered PulseAudio on Kubuntu (I think 10.04?) it was the first thing I uninstalled because I was unable to get my Headset working and everything was a mess.
    But nowadays I don’t want to miss the ability to set individual volumes for each application, freely arrange them around on my audio devices, having my smartphone play back the sound of my main machine or just muting a stupid Flash game and hearing my own music instead.
    You rock! :)

  2. It’s been a while since I used audio on Linux seriously, how is latency now? Is it gaming/recording friendly? (This is not a troll, I really would love to see some data!)

    • Audio in linux is complex and the term “Gaming Friendly” covers a rather wide range.

      Things are preferctly friendly for both gaming and recording but some games still insist on using legacy technologies (such as OSS) and as such have to go through various compatibly layers with varying degrees of success. But for general game play and other consumer use cases, the audio stack itself is certainly more than able to cope.

      Regarding latency, it’s an interesting topic. On Linux, PulseAudio covers the mobile and consumer audio use cases. We do not touch pro-audio where low latency is the key feature – we’re generally more concerned with power savings than absolute minimum latency. Indeed our whole protocol is based around a system that really breaks down when you get to latencies approaching 1-2ms. Compare this to CoreAudio on OS X which deals with the consumer and pro-audio spaces very well, but doesn’t handle mobile so well. It’s just a different design and there is nothing particularly wrong with either approach.

      • What do you mean the protocol breaks down below 1ms?

        I don’t get why.

        • OK, so “protocol” was probably the wrong terminology – “methodology” is probably more appropriate. So it’s like this: PA attempts to implement a “zero copy” system whenever possible. When going over the network this is obviously impossible as you have to copy the data over the wire. Ditto if you are running a “system wide” instance of PA. But if you run PA in our recommended way (i.e. “per-user”) the client library and the daemon can communicate via SHM (shared memory). This means that the client can put audio data into a region of memory, then hand that area over the the server who then takes control of it until it’s no longer needed. This means that we are sending metadata about audio, not audio itself. This metadata obviously has a size overhead. Now in the normal course of action with reasonable latencies (and especially with power friendly latencies of 2+ seconds) the metadata:data size ratio is massively weighted on the data side. But when you get down to really small latencies, the metadata might eventually outweigh the data and thus it becomes counter productive. This is one of the reasons that PA is not really suited for a pro-audio framework. A lot of what we do is about power savings and making the most efficient use of the hardware, where as pro-audio really does not care about power and assumes a cord is plugged in all the time.

          • It should be mentioned that for pro-audio, you use jack instead. http://jackaudio.org/

          • Yes, we don’t compete with JACK in this area and try to play nicely with it (there is a DBus based protocol that JACK2 can use to gracefully request access to the audio devices and PA will comply with that. We also have a DBus based API for detecting when JACK is ready and can automatically load modules into PA to allow system sounds to still work fine when JACK is running (of course you’re free to unlink those in your favourite JACK connection editor if you don’t want a new mail sound ruining your live DJ set :D)

  3. Have you fixed crackly and stuttery sound in Wine and odd sound delay in Enemy territory: Quake Wars that so many (or a few, depends how you look at it) are experiencing. Or are both problems something Pulseaudio cannot be blamed for?

    • Oh we can be blamed for everything – most people do! :D

      Re: Wine, I don’t follow it closely (I’ve never personally had any issues with sound the few times I run e.g. spotify or similar under Wine), but I hear there were some large discussions about audio and wine recently. Not sure what the outcome is however.

      As for games as I said in my previous comment, games are a strange situation. OSS only games that use mmap are kinda snookered just now AFAICT although hopefully using OSS Proxy will ultimately provide a solution (once it has mmap support). I also know some people have had big delays when using ET for example, but I could not reproduce on my system. I’m not a gamer so I maybe did something wrong(!) in the setup and somehow made it work fine, but I know some people have reported to me that their audio was delayed, but sadly didn’t give enough debug info for me to really look at the issue. With ET in particular, I used SDL audio and, in turn, used the pulse backend for SDL. I also tested with the alsa SDL backend and IIRC that also worked without any appreciable delay. If you can get the console output from ET (and by console I mean e.g. gnome-terminal or konsole, not the “console” in the game itself) then it could indicate what audio system you are using which in turn could help highlight the cause of any delays. But as with any problem we need people who experience the issue to engage with us and submit bugs!! Even if it turns out it’s something we can’t be blamed for, at least we can try and help find out what is to blame :D

      So if you get problems, please do drop us a line. FWIW, if SDL audio is a problem, I find the game Frozen Bubble a good test bed as it uses SDL for sound and reacts to keypresses in it’s menu which is the first thing it shows (that and it’s highly addictive too!)

  4. Is it possible to subscribe to planet-pulseaudio with a rss-feed-reader?

    • Yup, that’s kinda the point. It should show up as a feed in your web browser. There was a bit of a bug relating to it only listing an atom feed, but I’ve fixed that now and it should also list an RSS 2.0 feed now. Let me know if there are any problems for you!

  5. Dear pulseaudio developers,

    I can’t tell you how impressed I was recently with pulseaudio when I plugged a Smart whiteboard at the university where I work into my notebook. The usb sound card on the smart board was automatically configured and detected and added to the sound output, working out of the box. I’m told by colleagues that under Windows the board tries autorun some kind of driver installer (which sounds risky) and under Mac it doesn’t work at all. So I think I prefer the pulseaudio experience… I know it’s not all pulseaudio at work here, but still.

    • All the bad things are not our fault but all the good things are definitely directly related to us :p But seriously, I’m glad things are working for people and it’s really nice to receive positive feedback, so thanks! All too often the negative voices are what get the loudest attention while the silent majority who are perfectly happy are, well, silent :p

  6. Colin, thanks a lot for your support. Can we have (even) better KDE support for PulseAudio? Some more utilities? I know that you were the magician who made KDE really WORK with Pulse, and I have a computer that sorely needs it, but I like KDE so much that, in my distro-hopping sessions, I installed Chakra and I’m still on it.

    BTW, Veromix is SWEET.


Leave a comment