レナート   Wunschkonzert, Ponyhof und Abenteuerspielplatz   ﻟﻴﻨﺎﺭﺕ

Tue, 27 Jan 2009

Pascal,

replacing integral parts of a system is always a bit of a dilemma. If we replace it only after all the other software/drivers that interface with it is known to work well with it then nobody will bother doing all that compatbility work since they can say "Nobody uses it yet, so why should I bother?" -- and hence the change can never take place.

If we replace it before everything works perfectly well with it, then folks will complain: "Oh my god, it doesn't work with my software/drivers, you suck!" -- like you just did (though in more polite words).

Hence regardless which way we do it we will do it the wrong way. Biting the bullet and doing the change is however still the better, the only path to improvement. With the limited amount of manpower we have pushing things out knowing that there is some software/drivers that don't work well with it is our only option -- especially if the software in question is unfixable by us since it is closed source.

Hence, if we'd do as you wish and not make the distributions adopt PulseAudio right now we can forget about fixing audio on Linux entirely and it will stagnate forever.

As mentioned by J5 this was the same story with D-Bus, HAL, with udev, and other stuff.

And again, folks may claim that PulseAudio is very buggy. While it certainly has bugs, like every software has, most of the issues reported are not things we can or should fix/work-around in PulseAudio, but that are in other layers of the system. In ALSA, in the drivers, in the client applications. However only PA makes them become visible since it depends on a lot more functionality to work properly than any other program before. And quite frankly we use a lot of stuff exactly nobody has used before and that of course was broken due that (in ALSA as one example).

Having said all this. Just pointing to other folks to blame doesn't really solve the problem. I did a lot of testing on different sound chips, making sure PulseAudio works fine on them. Of course it's a limited testing set (six cards right now to be exact, a seventh model currently being sent to me by my employer, Red Hat.). The list of cards that are currently known to be problematic are listed in our Wiki.

I am not saying that the points you make are rubbish. However, please see the big picture before getting vocal about it.

posted at: 19:17 | path: /projects | permanent link to this entry | 24 comments


Posted by btmorex at Tue Jan 27 20:12:29 2009
I certainly don't blame you for PA problems in recent distro releases. Mostly, I blame those distros for including PA before it at least fixes more than it breaks.

That said, I completely disagree with your assessment of bugs and who's fault they are. Half of software development is working around problems in other people's software. I realize that flash for example is proprietary and very buggy, but it worked fine with plain old ALSA drivers and was unusably unstable with PA. You can't just say: "well, too bad for you. it's not open source. we can't do anything" That's simply not a valid excuse when you're forcing users from a mostly working system to a broken one. That attitude reminds me of the FSF nuts in debian file hundreds of bugs right before a release because some hex arrays in the kernel "may or may not be" compiled firmware. Apparently, freedom to not use your hardware is the most important part of linux.

Posted by Lennart at Tue Jan 27 20:21:50 2009
btmorex: I am not forcing you to do anything. This is Free Software. Use it or don't. I find it quite annoying if not offensive claiming that I would force anyone to do anything. Please, shut up until you get your facts right. Thank you.

Posted by Andrea Cimitan at Tue Jan 27 20:22:35 2009
Broken: "snd-intel-hda on Realtek chips"

oh damn, that means a lot of netbooks... I guess eeepc too...
that's why I was forced to remove pulseaudio from this installation (glitches almost with every sound file).

what will happen if I will continue to have pulseaudio uninstalled? I just won't have the graphical mixer? It is not important to me, I'm using alsasink with gstreamer... I'm just worried for the updates.

Anyway I'm sharing your thought: free software should not stop because of some vendors (creative, nvidia, ati...)

Posted by btmorex at Tue Jan 27 21:01:44 2009
Re: forcing

This whole discussion came up because apparently it's too hard to make one volume control applet work with both PA and non-PA systems. That's pretty much forcing a transition on people. I'd also point out that you're an active participant in that conversation... it's not likely this is purely a distro<->gnome thing.

http://mail.gnome.org/archives/desktop-devel-list/2009-January/msg00207.html

That reads to me like: "don't use PA? f**k off"

Posted by Patryk (Patrys) Zawadzki at Tue Jan 27 21:36:33 2009
While I've been known to be a cautious supporter of PA (holding back from pushing it into stable distro releases), I have to say it's actually the thing that fixed Flash sound for me. Before forcing Flash to go through alsa-pulse it would fight over the device with the rest of my system resulting in no Flash sound minutes later (which also prevented any Flash movies from playing due to it trying to keep audio in sync).

Posted by Gherardo at Tue Jan 27 21:50:59 2009
Just snd-intel8x0, hda on realtek chips and all the snd-emu* cards? That is, probably more than half of all the sound cards out there?
You're practically breaking millions of working systems and your answer is just "who cares"?

I'm appalled.

Posted by Lennart at Tue Jan 27 21:53:04 2009
Gherardo: No, that's not half. The vast majority of machines has HDA now (and not Realtek HDA).

Posted by Frederic Peters at Tue Jan 27 22:38:12 2009
(disclaimer: not employed by a distribution, but I contributed to Debian, also I am using pulseaudio with snd-intel8x0, and probably Pascal already paid me beers)

> As mentioned by J5 this was the same story with D-Bus, HAL, with udev, and other stuff.

But there are many more users now, and they are less technical than before; it may be more important for some distributions to not break things than before.

Fedora policy of bleeding edge is way cool, but not every distribution can do it that way.

Posted by duracelll at Tue Jan 27 22:47:30 2009
"all newer Creative cards (snd-emu*) -- Creative doesn't like Open Source -- no docs available. If you buy creative it is hence a bit your own fault."

I would buy that if my audigy (Sounds better than my integrated intel HDA chip) hadn't worked flawlessly since i started using GNU/Linux . It worked great in 2001 and i think it should work great in 2009. Without any of those crackling, scratching and "no sound" issues i and apparently others with creative cards has with PA. Especially because i don't need any of those features that it offers.

Point is that gfx drives me crazy enough :D I don't want sound to do that, because there weren't any issues before. Also KDE support is kind of lacking...

Maybe it should be made more clear that it's not yet ready. That these certain distros wouldn't make it default (or at least they could give a way to disable it easily) and therefore cause trouble and for you devs of software that is not yet ready for full scale deployment. After all this whining about known issues must be getting a bit tiring :)

Posted by Karol at Tue Jan 27 23:05:48 2009
In my case this is what helped:

apt-get purge pulseaudio

(plus logout&login back)

now I can use all applications without stopping Firefox to use Skype or Skype to use Totem. All applications work simultaneously and this is how it should work OOTB. However, I have a HDA card with Realtek chip which is known to not work correctly with Pulseaudio (wondering why since it works just fine with Alsa??). What's bad is that those Realtek cards are really popular, I have three PCs and all of them contain ALC* chip :(

Posted by Michael "Why?" Howell at Tue Jan 27 23:25:58 2009
I'm still curious; what use-cases does PulseAudio have? Why should anyone want PulseAudio?

Posted by Rob Spanton at Wed Jan 28 01:15:09 2009
Lennart: PulseAudio is brilliant!

I thought that needed to be said amongst all of this negativity.  Keep up the good work :-D

Rob

Posted by ssam at Wed Jan 28 01:15:38 2009
Lennart. you are a hero to keep up all this hard work even with this abuse. PA works fine for me on several machines. Thanks

Posted by snerd at Wed Jan 28 01:30:13 2009
PA works fine for me on most of my machines, however Fedora 10 on my HP2000 Pavillion laptop (intel HDA) just makes No Sound At All, and I'm completely at a loss as to the best way to debug it. Any tips or pointers to troubleshooting checklists welcome!

Posted by dcbw at Wed Jan 28 02:33:49 2009
@Michael Howell:  here's mine.  I have a laptop.  At home I have USB speakers that are tons better than the laptop speakers, and that I use to listen to music while I work.  At work I don't have speakers, and so I use headphones (and thus the onboard sound) so I won't disturb anyone.

Before Pulse audio, manual configuration was required to get Flash (mainly for Pandora) or any other app to play through the USB speakers when they were plugged in, but through the onboard sound when they weren't.  Some applications only ever played audio through the ALSA default device, which was always the onboard sound.  If I plugged the USB speakers in, they were device #1 and were not the default.  But since you can only re-arrange device numbers through ALSA kernel module options, and since the onboard sound driver modules could NOT BE UNLOADED, I could never make these applications (ie, Flash player) use the USB speakers without a reboot.

Mac OS X has worked just fine with this arrangement (and hotplugging!) since 2001, and Mac OS 9 worked just fine with it since the late 90s.  ALSA by itself simply cannot handle it.

Second, dmix never worked for me, though this could be a distro-specific configuration problem.  This meant that when playing music with Pandora in Flash player, no other application could play sound.  I couldn't just pause the music in Flash/Pandora, because Flash still kept the ALSA device open, and thus no other program could play music.  I had to close the window containing flash player completely, loosing my place in the playlist.  Quite annoying.

I personally think lack of software mixing and exclusive device access are the two largest issues with ALSA and OSS3, and the two major wins for PulseAudio.  But ALSA itself cannot be changed to support these, because too many applications make too many assumptions, and the ALSA people don't want to dictate policy but instead leave that to upper layers.

Posted by Stoffe at Wed Jan 28 03:28:45 2009
I have the best audio experience so far throughout all of my years with Linux thanks to pulseaudio.

There was a lot of trouble with flash and especially together with other sound sources recently, which upset many of us, but guess what? Pushing pulse made flash get FIXED!

It's still not finished, not bugfree, nor flawless. But it is the future adn I look forward to it.

Thanks a million Lennart, you must be a cyborg contructed solely out of teflon to take this kind of unwarranted shit all the time and just have it slide off. :)

PS. Still giggling a bit that you asked a mono guy see the big picture. DS.

Posted by Stoffe at Wed Jan 28 03:36:41 2009
Oh, and answering about use cases, I have a few I'm looking forward to:

* Moving sound output to and from my bluetooth headphones in mid-stream!
* Adjusting the volume of any app, even if it doesn't have a (good) volume control. That may be considered a bug in each application, but is nice to fix in one place, maybe in the future moving towards having the apps themselves controlling their volume this way too.
* I actually have a use case for controlling flash in the browser and totem volumes at the same time, but it's a bit weird so I'm not gonna go into that here. :)

There's more, but these are the ones that I miss real often at the moment.

Posted by Diego Escalante Urrelo at Wed Jan 28 07:01:18 2009
Like J5 says, lots of stuff is broken when one pushes a new technology, think of nautilus recently with gvfs, it's a good thing&#8482; we all agreed to have, but we had some breakage since not all apps were completely ported.

Be patient, you will look back and laugh at yourself when all this stabilizes.

PA ftw! :)

Posted by James Livingston at Wed Jan 28 08:33:58 2009
As several people said said already, thanks for PulseAudio.  My machine doesn't play well with dmix, so back when I was using ALSA I had a choice of either only have one application that could play audio, or getting horrendous distortion when set up 5% volume. With PA, it works perfectly :)

Posted by Seppo Yli-Olli at Wed Jan 28 10:27:16 2009
The fact though remains that not everyone needs PA. Some users have use cases for it, so fine, it should be made simple for them to install it.
Have the PulseAudio developers already figured out how to guarantee programs using OpenAL (like, say, likely all future high-grade games on Linux) will get hardware access so PulseAudio won't be in the way?
Should PulseAudio virtualize the sound cards to give the hardware special effects or just immediately suspend when there's an OpenAL access call? Talking mostly of EAX here if you need a clear use case.

Posted by Mathias Hasselmann at Wed Jan 28 10:53:24 2009
More use-cases of PulseAudio:

* Automatically mute all other audio streams when receiving a VoIP call.
* Mute sound events when watching a movie or playing a game fullscreen.
* Less useful, still nice: Balance of desktop sound effects with position of the event source. E.g. when you click a button left on your screen you'll hear the event sound on your left speaker. When clicking on the right, you hear it from there.

That's all stuff that requires a userspace sound server with deep desktop integration. Windows and OSX provide this deep sound integration for years now. It's about time for free desktops to catch up.

Posted by Adam Williamson at Wed Jan 28 18:57:55 2009
Lennart: how exactly are 'the ice drivers' believed not to work with PA? I'm running Fedora 10 on a system with a Chaintech AV-710 and it mostly works fine (I get a split-second pause every minute or so when I'm playing music, but that's all). I am using SP/DIF output, I guess that could be important.

On that note I had to do some rather voodoo stuff to make the SP/DIF output work - disabling HAL autodetect in default.pa and adding lines to load the ALSA source and sink specifically pointing to the correct 'devices'. That's going to trip up most people trying to do the same thing, I expect, it took me a couple of hours to figure it out. I'd like to file a bug to see if any improvement to this can be made, but I can't seem to register for an account in PA trac, it seems to be broken...

Posted by Paul W. Frields at Thu Jan 29 19:50:08 2009
Lennart, I use PulseAudio on all my systems and it's solved one of my pain points.  I usually use my laptop (Fedora 10), but I sit at a desk with a decent studio mixer and monitors.  They're hooked more or less permanently to a desktop computer in the office (also F10).  PulseAudio made it almost painless to set that box up as a sound server and when I move down to this office to work, I simply switch my default destination on the padevchooser applet.  This is also helpful because I often get on the desktop to use its more comfortable KVM (in the device sense, not virtual), accessing the laptop through VNC. Speaking as a user, thanks for the capabilities!

Posted by alsa-time-test at Fri Mar 6 03:50:00 2009
This program output huge amount of data ( over 3 Mega bytes per second ) , the assert is most likely due to latency of disk io when redirected to log file

Do anyone know any sound cards still fail when you pipe the output to tail ?

http://mailman.alsa-project.org/pipermail/alsa-devel/2009-March/015219.html

Leave a Comment:

Your Name:


Your E-mail (optional):


Comment:


As a protection against comment spam, please type the following number into the field on the right:
Secret Number Image

Please note that this is neither a support forum nor a bug tracker! Support questions or bug reports posted here will be ignored and not responded to!


It should be obvious but in case it isn't: the opinions reflected here are my own. They are not the views of my employer, or Ronald McDonald, or anyone else.

Please note that I take the liberty to delete any comments posted here that I deem inappropriate, off-topic, or insulting. And I excercise this liberty quite agressively. So yes, if you comment here, I might censor you. If you don't want to be censored your are welcome to comment on your own blog instead.


Lennart Poettering <mzoybt (at) 0pointer (dot) net>
Syndicated on Planet GNOME, Planet Fedora, planet.freedesktop.org, Planet Debian Upstream. feed RSS 0.91, RSS 2.0
Archives: 2005, 2006, 2007, 2008, 2009, 2010, 2011

Valid XHTML 1.0 Strict!   Valid CSS!