On Thursday 03 April 2008 01:58:04 am Scott Ritchie wrote:
PulseAudio will take off exactly because Ubuntu is using it.
I don't see ALSA going anywhere anytime soon, seeing as it's in the Linux kernel itself.
There's also the issue of PulseAudio being designed to further abstract away the audio hardware, which is, IMO, the wrong way Wine needs to be going for its DirectSound implementation. The closer we can get to hardware capbilities and features, the better.. and AFAIK, ALSA can provide that (assuming its drivers know about it).
I'm sure I'm not alone in feeling like we're getting jerked around with audio APIs in Linux (use OSS! no, use ESD! no, use ALSA! no, use PulseAudio!). IMO, we have to set down and just pick something.
Right, and very understandably it looks like we've picked ALSA, while the distributions seemed to have picked PulseAudio.
Just as distributions picked ESD (via Gnome) and aRts (via KDE) before.
AFAICS, the big issue with the sound landscape in Linux is the lack of ability to play multiple sounds at one time, brought on by the lack of proper hardware (that doesn't provide multiple output voices) combined with an API that can't smartly do software mixing given the lack of hardware voices. ALSA can do software mixing, but it needs to be told explicitly by using dmix.
Adding Yet Another Sound API will not fix this. In fact it'll make it worse, as each API will want to take exclusive control and we're left with a handful of APIs that need to be supported, because a user will be using one and can't (easilly) use another. As well, the more you layer one new API on another, you'll add more latency and room for bugs, and just enhance the impression that Linux audio sucks. Plus, it'll punish those that *do* have good hardware by abstracting it away to the lowest common denominator.
IMO, this is why Wine needs to use something lower-level like OSS and ALSA, so it can get the capabilities of hardware and offer them through its DirectSound implementation, and expose features of the same hardware, not a generalized sound server. With Direct3D, we go through OpenGL to expose the hardware capabilities. With DirectSound, ALSA seems to be the closest we have that provides hardware capabilities.