Fate of PulseAudio in WINE

Chris Robinson chris.kcat at gmail.com
Tue Jun 16 14:34:38 CDT 2009


On Tuesday 16 June 2009 3:33:12 am Arthur Taylor wrote:
> I can't imagine stopping pulseaudio just so I can listen
> to music through foobar2000, as that would stop all my voice chats,
> notification sounds, and other native audio, etc.

There is no need to use PulseAudio if the issue you have is your card only 
having a single hardware voice. ALSA includes (since forever, AFAIK) the dmix 
plugin which does software mixing into a hardware voice across multiple apps. 
It even works with mmap and all other ALSA calls.

I'm not exactly sure when ALSA made the switch, but the 'default' device will 
use dmix by default on cards that need it, and use hardware mixing when 
possible. But even if not, you can make a ~/.asoundrc config to override 
ALSA's 'default' device to use dmix:

pcm.mydmix {
    type dmix
    ipc_key 1024
    ipc_key_add_uid false # let multiple users share
    ipc_perm 0660 # IPC permissions (octal, default 0600)
    slave {
        pcm "hw:0,0" # whatever hw output device you want
        rate 48000
        channels 6 # use this for 5.1; you can set whatever you want
        period_size 1024
        buffer_size 8192 # could set this lower, but Wine doesn't like it
    }
}

ctl.mydmix {
        type hw
        card 0 # the same card as the one listed in the pcm slave above
}

pcm.myasym {
    type asym
    playback.pcm "mydmix"
    capture.pcm "hw:0,0" # same as the pcm slave in mydmix
}

pcm.!default {
    type plug
    slave.pcm "myasym"

    hint {
        show on
        description "ALSA Default"
    }
}

Then use 'default' or 'mydmix' in your ALSA apps. Sorry for the tangent, but 
it bothers me when it's said/implied that PulseAudio is needed to get sound 
from multiple apps.

> A detailed, constructive response with a clear vision for where the
> future of audio in wine lies would be appreciated.

AFAIK, the issue is maintainability. Wine simply doesn't have a developer 
that's willing to devote their time to creating and maintaining a PulseAudio 
driver. There's barely enough for the drivers already there (the ALSA backend 
was really falling apart before Maarten took it up). Simply creating a driver, 
then keeping an eye on it for a few weeks or months isn't going to cut it.



More information about the wine-devel mailing list