Pulse Audio -- Wine should have instructions on this web site

Chris Robinson chris.kcat at gmail.com
Thu Apr 3 15:33:49 CDT 2008

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.

More information about the wine-devel mailing list