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.