LWN: Comments on "LPC: Linux audio: it's a mess" https://lwn.net/Articles/299211/ This is a special feed containing comments posted to the individual LWN article titled "LPC: Linux audio: it's a mess". en-us Tue, 02 Sep 2025 10:01:37 +0000 Tue, 02 Sep 2025 10:01:37 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net LPC: Linux audio: it's a mess https://lwn.net/Articles/365711/ https://lwn.net/Articles/365711/ jcm <div class="FormattedComment"> Most desktop users (in my personal opinion) couldn't give a rat's ass about controlling the volume of individual apps or doing remote streaming. I can do both on this system and I have used them (on this system) precisely...never. It's just not even a big deal.<br> <p> We now seem to be headed done some "let's all become Macs" road in which configuration is removed to benefit perceived needs of desktop users (mixer settings going away in rewrites when a simple "advanced mode" toggle would have sufficed) who aren't going to use the per-app. volume settings anyway.<br> <p> I don't hate PA, I just find it gets in my way. Every time I upgrade my desktop or laptop, something audio breaks or changes behavior in an undesirable fashion.<br> <p> Jon.<br> </div> Tue, 08 Dec 2009 07:51:10 +0000 ALSA safe subset https://lwn.net/Articles/339095/ https://lwn.net/Articles/339095/ pharm <div class="FormattedComment"> Just in case this pops up in Google searches:<br> <p> ALSA safe subset documentation, amongst other things:<br> <p> <a rel="nofollow" href="http://0pointer.de/blog/projects/guide-to-sound-apis">http://0pointer.de/blog/projects/guide-to-sound-apis</a><br> </div> Mon, 29 Jun 2009 16:23:05 +0000 LPC: Linux audio: it's a mess https://lwn.net/Articles/301837/ https://lwn.net/Articles/301837/ nix <div class="FormattedComment"> It's not that you're bashing Lennart, it's more that you're basing your <br> bashing on content-free innuendo. *Why* doesn't network-capability belong <br> in 'the mass of machines'? Why does the pulseaudio native network protocol <br> *plugin* 'introduce[] bugs and eat[] memory and cpu'? Got any evidence? I <br> doubt it, because there is none. (I mean, yes, obviously deserializing <br> data flowing over the network costs a bit of CPU time, but it's utterly <br> insignificant, and you don't even pay that cost unless you're doing <br> network streaming.)<br> <p> I don't even know what your criteria for measuring 'performance' are, <br> given that your examples are matched by pulseaudio (given hardware that <br> supports hi-res timers, at least).<br> <p> Personally I use Pulseaudio for one reason: *API compatibility*. <br> Pulseaudio can emulate virtually everything (other than Jack) so I don't <br> need to run a mass of battling incompatible sound daemons anymore: I can <br> just run one. (And yes, it *can* mix stuff from multiple sources and sinks <br> freely.)<br> <p> The rest of your post is sub-Slashdot ad hominems that aren't worth <br> responding to.<br> <p> </div> Sun, 05 Oct 2008 17:29:23 +0000 LPC: Linux audio: it's a mess https://lwn.net/Articles/301828/ https://lwn.net/Articles/301828/ Joes <div class="FormattedComment"> Why pulse is not ready for prime time, and probably never will be.<br> <p> A network capable sound daemon does not belong in the mass of machines that have sound cards. This just introduces bugs and eats memory and cpu.<br> <p> A configured audio stations with Jack and ALSA outperform pulse in every instance.<br> Separate volume controls<br> No glitches in sound<br> Multiple apps recording and playing simultaneously<br> <p> Plus Low latency!<br> <p> Every now and then a bad idea like this gets more marketing than engineering.<br> Just look at mono. hmmm...<br> Mono gets you a job with microsoft.<br> Pulse gets you a job with redhat.<br> <p> Now I understand why it was written.<br> Pulse programmers may be skilled but there's been many a skilled programmer that has written "great" code that causes more problems that it solves and like mono, encourages others to go down a bad path.<br> <p> And if you take offense that I'm bashing pulse programmers, well I now have to spend a half hour or more every time I install Fedora, SUSE, Mandriva or Ubuntu to get decent sound working. That wasn't the case before pulse got shoved into the distros prematurely. <br> </div> Sun, 05 Oct 2008 14:57:22 +0000 Disable Flash in the Browser https://lwn.net/Articles/300400/ https://lwn.net/Articles/300400/ alex <div class="FormattedComment"> Install both and then disable one with Tools/Add-ons/Plugins in Firefox 3?<br> </div> Thu, 25 Sep 2008 13:12:10 +0000 LPC: Linux audio: it's a mess https://lwn.net/Articles/300344/ https://lwn.net/Articles/300344/ graydon <div class="FormattedComment"> I'd wager most of us non-sound-expert users just want a single volume control that makes sound louder or quieter, that we can always find, and that always works. No mysteriously silent apps, and no configuration save for the volume buttons physically on the computer. <br> <p> For as long as I can remember, linux has over-engineered and under-delivered audio. It'd be a pleasant surprise to change that habit. But I'm not holding my breath. <br> </div> Thu, 25 Sep 2008 05:04:47 +0000 way [OT], but... https://lwn.net/Articles/300336/ https://lwn.net/Articles/300336/ roelofs <FONT COLOR="#008855"><B><I>jmspeex</I></B></FONT> <P> <A HREF="http://www.midwinter.com/lurk/guide/118.html#JS">Obscure Babylon 5 reference</A>? <P> Greg Thu, 25 Sep 2008 02:46:15 +0000 LPC: Linux audio: it's a mess https://lwn.net/Articles/300300/ https://lwn.net/Articles/300300/ mezcalero <div class="FormattedComment"> At Plumbers one thing became very clear: someone needed to sit down and write up a guide through the jungle of Linux Audio APIs because we have so many and so many are incompatible. And so I did it:<br> <p> <a href="http://0pointer.de/blog/projects/guide-to-sound-apis.html">http://0pointer.de/blog/projects/guide-to-sound-apis.html</a><br> </div> Wed, 24 Sep 2008 20:56:01 +0000 laptop and desktop https://lwn.net/Articles/300081/ https://lwn.net/Articles/300081/ mezcalero <div class="FormattedComment"> I am happy to merge patches for that.<br> </div> Tue, 23 Sep 2008 20:07:41 +0000 laptop and desktop https://lwn.net/Articles/299981/ https://lwn.net/Articles/299981/ foom Sad to hear that about the patents...but is there really any issue with using an AC3 encoder/decoder library if the user happens to have one installed already? (maybe they've already paid the licensing fee to Dolby, e.g. through buying a <a href="http://www.markshuttleworth.com/archives/133">Dell with Ubuntu preinstalled</a>). Tue, 23 Sep 2008 14:52:20 +0000 laptop and desktop https://lwn.net/Articles/299967/ https://lwn.net/Articles/299967/ mezcalero <div class="FormattedComment"> PA focuses on PCM right now. Support for pass-thru codecs is on our TODO list.<br> <p> However, please note that we will probably never support on-the-fly AC3 decoding or encoding due to patents.<br> <p> Lennart<br> </div> Tue, 23 Sep 2008 13:45:06 +0000 LPC: Linux audio: it's a mess https://lwn.net/Articles/299965/ https://lwn.net/Articles/299965/ mezcalero <div class="FormattedComment"> The list of ALSA issues I maintain still exists and is regularly updated:<br> <p> <a href="http://pulseaudio.org/wiki/AlsaIssues">http://pulseaudio.org/wiki/AlsaIssues</a><br> <p> Lennart<br> </div> Tue, 23 Sep 2008 13:42:09 +0000 LPC: Linux audio: it's a mess https://lwn.net/Articles/299930/ https://lwn.net/Articles/299930/ fergal <div class="FormattedComment"> Seems to me that everything is a file doesn't have to mean that everything is a single file. You don't have to represent your whole soundcard via a single file. Think of /proc or /sys.<br> <p> The problem is it is quite difficult for a program to present itself as a coherent set of files. While it can easily enough produce a file-like interface, it cannot easily produce a directory-like interface.<br> </div> Tue, 23 Sep 2008 09:09:31 +0000 ALSA safe subset https://lwn.net/Articles/299929/ https://lwn.net/Articles/299929/ sdalley <div class="FormattedComment"> Is this safe subset of ALSA documented as such anywhere? If so, we need as many people as possible to BANG A REALLY BIG DRUM about it/write a beautiful Programmers Guide about it/write love songs in it, so that Linux sound applications everywhere can start getting things right now and not break/have to be ported again when libsydney comes along.<br> </div> Tue, 23 Sep 2008 08:57:53 +0000 +1 for no userspace daemon https://lwn.net/Articles/299909/ https://lwn.net/Articles/299909/ lysse <div class="FormattedComment"> That just shows that the two models are equivalent in expressive power, like inheritance and delegation. If we couldn't synthesise one from the other, JACK couldn't exist - but it'd still be nicest of all to have both available at the lowest level :)<br> </div> Tue, 23 Sep 2008 06:35:43 +0000 LPC: Linux audio: it's a mess https://lwn.net/Articles/299906/ https://lwn.net/Articles/299906/ angelortega <div class="FormattedComment"> Programmers use OSS and not ALSA because the OSS API is *much* easier to <br> use than the ALSA library mess.<br> <p> Also, regarding libsydney, creating yet another wrapper library is not the <br> solution. If you try to fix the problem of having 3 competing parts by <br> adding another one, you end up with 4 competing parts and no solution.<br> <p> </div> Tue, 23 Sep 2008 06:09:00 +0000 laptop and desktop https://lwn.net/Articles/299899/ https://lwn.net/Articles/299899/ foom <div class="FormattedComment"> <font class="QuotedText">&gt; Uh? PA supports surround sound just fine. Even does automatic upmixing/downmixing </font><br> <font class="QuotedText">&gt; from/to stereo for you.</font><br> <p> Sure, but doesn't transparently support the most common source/sink of surround sound: AC3 <br> DVD audio to AC3 over SPDIF output.<br> <p> If PA automatically supported AC3 encoding of surround sound to my SPDIF output, without <br> having to manually configure an external encoder program, that'd be good.<br> <p> If PA could allow routing of AC3 audio through to the SPDIF port without the decoding/encoding <br> overhead and resultant quality degredation, that'd be great.<br> <p> But, if it could do that, *and* transparently fall-over to doing a decode/mix/encode when it <br> needs to mix another stream into the output (e.g. an alert sound or what have you), it would be <br> an absolutely amazing achievement: that's something that you just can't do today. And I'd really <br> like to be able to do that.<br> <p> Also, volume control is an interesting trick when not decoding the ac3 stream locally; I dunno <br> much about it, but I'm led to understand there's some metadata in the frames which can be set to <br> affect the volume on the decoder. Maybe (hand-wave) that could be modified in-flight without <br> re-encoding the stream. :) If PA could do that, that'd be even another advantage over the <br> existing ALSA solution.<br> <p> One can always dream...<br> </div> Tue, 23 Sep 2008 05:04:21 +0000 Thank you https://lwn.net/Articles/299875/ https://lwn.net/Articles/299875/ jebba <div class="FormattedComment"> "Is that a distro optimized for minimal battery lifetime of your Eeepc?"<br> <p> There are two FREEEEE modes[1]: full-on media and low power ebook.<br> <p> With jack, multiple mplayers, freej, firefox, chat, xournal, an offline copy of wikipedia, an image viewer, wifi, camera, etc all running it runs hot, yes. :) But it also runs all that fine without dropouts or crashing. jack performs reliably *now* and is never the weak link. Occasionally I have used pulseaudio as a jack client, which is convenient, but it is no where near as reliable as jack.<br> <p> jack is clean, "feels" like a nice unix utility (it does its "one thing" extremely well), and has a committed upstream community. <br> <p> -Jeff<br> <p> [1]Second mode yet to be completed :)<br> </div> Tue, 23 Sep 2008 00:46:20 +0000 +1 for no userspace daemon https://lwn.net/Articles/299867/ https://lwn.net/Articles/299867/ nix <div class="FormattedComment"> A 'stream/callback interface' can be modelled as a pair of files, one of <br> which is a source of data and one a sink, or as a single file which you <br> can read() responses from as you write() stuff to it. Anything you can do <br> with a TCP/IP socket you can do with a suitably backed file, and we know <br> very well that you can define protocols over network sockets :)<br> <p> </div> Mon, 22 Sep 2008 23:22:44 +0000 LPC: Linux audio: it's a mess https://lwn.net/Articles/299866/ https://lwn.net/Articles/299866/ nix <div class="FormattedComment"> I'll add you to my extensive and elaborate statistical baseline (from <br> which data is extracted using gut feelings and rand()).<br> </div> Mon, 22 Sep 2008 23:21:23 +0000 +1 for no userspace daemon https://lwn.net/Articles/299847/ https://lwn.net/Articles/299847/ lysse <div class="FormattedComment"> Same here... with the possible exception of jack - but even then, I can't help but wonder whether the Unix "everything is an entirely passive file" is quite the thing for audio. No problem at all with "everything is a file", but why not say "every file can be opened with either a passive interface or a stream/callback interface"? Wouldn't make much difference for files which are blocks of disk, true, which is why having both is nice - but the stream/callback paradigm is more or less perfect for pipes; after all, it's more or less how they work anyway... and since that's the model jackd presents to its applications, wouldn't the need for it would more or less go away altogether?<br> </div> Mon, 22 Sep 2008 22:12:50 +0000 LPC: Linux audio: it's a mess https://lwn.net/Articles/299846/ https://lwn.net/Articles/299846/ lysse <div class="FormattedComment"> ...by introducing yet another library...? I can see a flaw in that :)<br> </div> Mon, 22 Sep 2008 22:06:28 +0000 LPC: Linux audio: it's a mess https://lwn.net/Articles/299842/ https://lwn.net/Articles/299842/ lysse <div class="FormattedComment"> I don't care. Do I get to be a data point?<br> </div> Mon, 22 Sep 2008 21:49:59 +0000 LPC: Linux audio: it's a mess https://lwn.net/Articles/299826/ https://lwn.net/Articles/299826/ nix <div class="FormattedComment"> Note that I'm not saying OH NOEZ PA SUCKS COS EVERYTHING IS NOT A FILE or <br> even 'oh no you must rewrite PA so that everything is a file'.<br> <p> I'm just wishing for an ideal world in which the Unix philosophy was still <br> as universally followed as it was in its early days, and musing about ways <br> to make that happen. I think a working revoke() is the biggest missing <br> piece (and libraries to make exposing one's configuration state as a FUSE <br> filesystem painless).<br> <p> </div> Mon, 22 Sep 2008 20:57:51 +0000 LPC: Linux audio: it's a mess https://lwn.net/Articles/299820/ https://lwn.net/Articles/299820/ nix <div class="FormattedComment"> ioctl() is awful, everyone agrees. It's not virtualizable, it's not 32/64 <br> compatible, it's not typesafe (as you said), it's thoroughly opaque...<br> <p> The way to structure this is to put your controls in a directory, or a set <br> of directories, one file per control, rather than using ioctl() on a <br> single file with different requests. The way you solve the 'remove this <br> user' is to create these directories on the fly, and zap their contents <br> when the user logs out: even if the user retains a handle to the <br> directory, it's empty now so they can do nothing with it. (You might need <br> a simple non-device revoke() to do this properly, such that all I/O to an <br> ex-session fd returns -EIO, but this has already been written: it just <br> hasn't been applied because it's difficult to make it work with things <br> like PTYs. For this application, we don't care about that at all). Plan 9 <br> did all this two *decades* ago and got it right: why can't Linux do it <br> now?<br> <p> It's not even hard to make a system that works like this in userspace, <br> thanks to FUSE.<br> <p> </div> Mon, 22 Sep 2008 20:46:01 +0000 LPC: Linux audio: it's a mess https://lwn.net/Articles/299690/ https://lwn.net/Articles/299690/ tialaramex <div class="FormattedComment"> The conclusion that you'd spent a lot of time moaning about ALSA was based on reading ALSA's archives in the past and on observing that there is (was?) a lengthy list of alleged problems in ALSA on your PulseAudio site. As far as I know I've never met you in person, and so I have no opinions about you except as a software developer.<br> <p> ALSA isn't perfect, that's true, I have several enhancement bugs open and I've had discussions with ALSA people about various aspects -- notably I wanted a way to determine which ALSA level ("volume") control, if any, is the most appropriate to tweak for a PCM stream I have open, thus making it possible to make good use of a hardware PCM stream mixer as provided in say an SBLive. The kernel drivers are also not perfect, the driver for my Intel chipset can't properly handle a running audio output during suspend for example. But PulseAudio doesn't (and shouldn't try to) fix that problem.<br> <p> I am a JACK user, so I am not, as you seem to assume, wedded to ALSA as the solution to all problems. I do think that you underestimated how mature PulseAudio needed to be before it was a better option than the default dmix configuration present in e.g. Fedora prior to PulseAudio. Not so long ago I encountered an old friend who happens to be a Google engineer (I say this only to establish that he's a smart get-things-done guy) who'd basically given up using audio on his laptop because he upgraded Fedora and that installed PulseAudio and broke the sound. PulseAudio's promise is good, but as of the last version I tried (was forced to try) it doesn't deliver that promise for a lot of people yet. <br> <p> I remain to be convinced about PulseAudio. But don't imagine that I can't be convinced. I wasn't very impressed with early versions of NetworkManager either, but it got better. Probably I'd be less soured on PulseAudio if it had been in Fedora as an optional extra, to get feedback from people who know what they're getting into and perhaps have good use cases (e.g. hotplugging audio devices).<br> </div> Mon, 22 Sep 2008 18:19:30 +0000 LPC: Linux audio: it's a mess https://lwn.net/Articles/299699/ https://lwn.net/Articles/299699/ drag <div class="FormattedComment"> Jack is solving a different problem domain. There is very very significant differences and requirements between people wanting to do real time audio editing vs multimedia playback.<br> <p> Plus it's possible to play regular applications through PA and into Jack, if you want to use a familiar application or media source.<br> <p> <font class="QuotedText">&gt; Still, a good start would be a aggressive purge of legacy solutions - arts, esd, mas, various parts of libalsa. </font><br> <p> Ya. Unfortunately that requires rewriting applications that depend heavily on those API. <br> <p> For very modern-style applications that use things like Phonon or Gstreamer, this shouldn't be a big problem since those things are designed to be modular. Arts is being taken care of through the KDE folks, who are forced to rewrite their applications to work with QT4 anyways. Mas isn't popular. PA is compatible with Esd. <br> <p> Then there is OpenAL, SDL, and numerous other much more minor sound APIs. <br> </div> Mon, 22 Sep 2008 17:09:21 +0000 LPC: Linux audio: it's a mess https://lwn.net/Articles/299695/ https://lwn.net/Articles/299695/ drag <div class="FormattedComment"> <font class="QuotedText">&gt; Sometimes you want the same thing in multiple places to help usability.</font><br> <p> <p> Not when those multiple things do very different and conflicting actions in very very non-obvious manners.<br> <p> <p> If you have:<br> 1. Mozilla Browser volume control and mute.<br> 2. Gnome Volume Control and mute (that ties into your volume icon and multimedia buttons)<br> 4. Low-level Alsa volume control and mute.<br> 5. Speaker volume control and power.<br> <p> <p> Now you open up a youtube video. You get no audio.<br> <p> Tell me, with certainty, which control, or combinations of controls, you will have to use to make the sound audible.<br> <p> There is a difference between having 3-5 different places to control volume vs having 3-5 different controls you have to use.<br> </div> Mon, 22 Sep 2008 16:55:41 +0000 LPC: Linux audio: it's a mess https://lwn.net/Articles/299668/ https://lwn.net/Articles/299668/ nhippi <div class="FormattedComment"> That's ignoring at least phonon and jack, that will continue to exist. Also, how does libsydney fall in? And the embedded people will have openmax...<br> <p> Still, a good start would be a aggressive purge of legacy solutions - arts, esd, mas, various parts of libalsa. <br> </div> Mon, 22 Sep 2008 13:23:08 +0000 LPC: Linux audio: it's a mess https://lwn.net/Articles/299661/ https://lwn.net/Articles/299661/ mezcalero <div class="FormattedComment"> ALSA is an API for hardware devices. That's root to a lot of problems you encounter when using the PA plugin for libasound. There are certain differences between hardware and virtual devices. Timing works differently, memory management as well.<br> <p> The devil lies in the details. It's a lot of small issues that make compat difficult. In addition, some fundamental parts, like the reliance on the classic period-based playback model is a weakness that libsydney does not expose. Not exposing periods will greatly increase compat with glitch-free and with network setups. Finally, libsydney allows clients to set all kinds of properties for a stream that make it especially useful for desktop sound servers. (i.e. setting icons for a stream, and so on...)<br> <p> But there are more things.<br> <p> Lennart<br> </div> Mon, 22 Sep 2008 11:03:39 +0000 LPC: Linux audio: it's a mess https://lwn.net/Articles/299660/ https://lwn.net/Articles/299660/ mezcalero <div class="FormattedComment"> So, you want to have an API that follows everything-is-a-file and then not use ioctl()s for configuration of the sound device? How else would you would like to see that happen? <br> <p> ALSA internally doesn't even use read()/write() anymore. It uses ioctl()s everywhere as a generic function call multiplexer. That we have to do this is due to the everything-is-a-file philosophy and is basically just a hack: you lose type-safety and everything.<br> <p> Unix access control is too simple: we want that access follows the user that is logged in on the local VT: when he logs out he needs to be removed from the access. Unix doesn't allow that, because if someone gained access he can keep things open as long as hew wants.<br> <p> I know that e-i-a-f is one of the core fundamentals of Unix. But you know what? It's also one of the core weaknesses of Unix. <br> </div> Mon, 22 Sep 2008 10:55:13 +0000 LPC: Linux audio: it's a mess https://lwn.net/Articles/299657/ https://lwn.net/Articles/299657/ alankila <div class="FormattedComment"> One thing missing from this discussion is a piece of gratitude: I think Pulseaudio at least is on the right track in that it makes it simple to produce output.<br> <p> With ALSA, you write this 100+ lines long method with about a dozen calls, each which can fail, some which are necessary before other calls in the sequence will work. It is strangely low level, maddeningly flexible, and poorly documented, so it's very difficult to know what you should do.<br> <p> At least these questions may arise: What is the sufficient condition to get the output mode that is exact to the spec that you requested? Are there format conversions or resampling in the output path? If resampling, where do I set a reasonable algorithm, as pick-nearest or linear interpolation is not acceptable for audio work? What is the minimal program that produces output and yet has some specified latency? How do you write a working full duplex program?<br> </div> Mon, 22 Sep 2008 10:26:01 +0000 LPC: Linux audio: it's a mess https://lwn.net/Articles/299658/ https://lwn.net/Articles/299658/ hppnq <blockquote>It is very confusing to the user to find his way through this jungle and figure out which one is the one that is responsible for the low volume of the output.</blockquote> <p> Considering that this argument is more or less the same as the one in favour of per-app volume controls, one would be inclined to think of a protocol as a solution for this kind of confusion. But it seems like this has already been <a href="http://www.freepatentsonline.com/6538668.html">patented</a>. Sigh. Mon, 22 Sep 2008 10:07:10 +0000 LPC: Linux audio: it's a mess https://lwn.net/Articles/299655/ https://lwn.net/Articles/299655/ ceplm <div class="FormattedComment"> No, it's Ubuntu which did not make sure, that flash works.<br> </div> Mon, 22 Sep 2008 08:16:02 +0000 LPC: Linux audio: it's a mess https://lwn.net/Articles/299653/ https://lwn.net/Articles/299653/ ceplm <div class="FormattedComment"> I thought so too, but now I am switching between USB headphones and loudspeakers all the time. Thanks PA!<br> </div> Mon, 22 Sep 2008 08:05:11 +0000 LPC: Linux audio: it's a mess https://lwn.net/Articles/299652/ https://lwn.net/Articles/299652/ NAR <I>But the people to blame for that are not us, it's Adobe. Please point your fingers in the right direction when you complain!</I> <P> From the developer's point of view, you're right. From the user's point of view, you're wrong. Youtube used to work with Ubuntu Gutsy (I don't know about your browser, but it doesn't crash mine), doesn't work anymore after the Hardy upgrade (which introduced PulseAudio), so it's obviously PulseAudio is the one that broke my user experience. Mon, 22 Sep 2008 07:41:00 +0000 Thank you https://lwn.net/Articles/299651/ https://lwn.net/Articles/299651/ alankila <div class="FormattedComment"> In fact with my brief tussle with JACK a year or two back, it seemed to me that the JACK itself might not actually mandate any particular sampling format. It's just that everybody talks float by default, because it is an excellent choice for professional audio work. (If there are any intents to support any other format, they aren't readily apparent.)<br> <p> The buffers passed between applications were still void * pointers and the only clue for their contents was a simple string describing what kind of format you had requested from JACK, a #define which expanded to a string such as "32-bit pcm floating point audio"...<br> </div> Mon, 22 Sep 2008 07:24:35 +0000 clue, meet literfizzer https://lwn.net/Articles/299649/ https://lwn.net/Articles/299649/ nix <div class="FormattedComment"> Glitch-free for *everyone*, except those for whom PA refuses to talk to <br> ALSA (*waves*) or refuses to use the high-def timers that definitely exist <br> (*waves*).<br> <p> I really must diagnose this, but trying to find bugs in ALSA's kernel <br> component is like trying to shovel sewage with a toothbrush. Its <br> kernel/user interfaces are horrible (and most of both components is <br> entirely undocumented as far as I can tell: I still have no clue what the <br> Lisp interpreter is doing in there, for instance. Maybe the docs are just <br> hiding. Maybe they appeared since the last time I looked at this a couple <br> of months ago. But, y'know, life's too short: PA mostly works for me now, <br> and hardly ever glitches even with glitch-free mostly turned off by the <br> enforced usage of the OSS compatibility layer.)<br> <p> </div> Mon, 22 Sep 2008 07:10:11 +0000 LPC: Linux audio: it's a mess https://lwn.net/Articles/299648/ https://lwn.net/Articles/299648/ nix <div class="FormattedComment"> I don't seen any incompatibility. The thing behind the file need not be a <br> raw sound device: it can be another abstraction. OSS's interface sucks, <br> but that was in large part because it relied on things like ioctl() and <br> mmap() that just can't be usefully virtualized (as you know much better <br> than me).<br> <p> Just select() alone makes fds-for-everything a useful philosophy. I have <br> no *clue* why you imagine that 'modern things' require splintering a <br> single consistent interfaces into a mass of incompatible and <br> non-interoperable interfaces.<br> <p> (FWIW, everything-is-a-file, the singly-rooted filesystem hierarchy, and <br> pipes were *the* key abstractions that Unix was designed around. Discard <br> them and you just don't have Unix anymore.)<br> </div> Mon, 22 Sep 2008 07:05:06 +0000 +1 for that rant https://lwn.net/Articles/299647/ https://lwn.net/Articles/299647/ bronson <div class="FormattedComment"> Well said!<br> <p> It's been said that both Fedora and Ubuntu pushed PA too early. I admit, given how bad Hardy has been, this is a compelling point of view. However, if the distros had not pushed early, the great number of audio bugs that have been fixed in the past six months would probably still exist. I bet the distros could wait 3 more years before pushing and it would still be a horrible experience. Software integration sucks, the only way to shake out the bugs is to integrate and see what breaks.<br> <p> So, between Phonon and PulseAudio, hopefully audio will work decently in FC10 and Intrepid.<br> </div> Mon, 22 Sep 2008 05:29:40 +0000