First create a ~/.asoundrc that has this:
(Edit the hw, or other options as needed for your card)
Code: Select all
pcm.dsnooped {
type dsnoop
ipc_key 2048 #Any value at random. Really, any value.
slave {
pcm "hw:0" #Or whatever your card # is
}
}
pcm.dmixed {
type dmix
ipc_key 5678293 #Any value at random. Really, any value.
slave {
pcm "hw:0" #Or whatever your card # is
}
}
ctl.dmixed {
type hw
card 0
device 0
}
pcm.duplex_for_pulse {
type plug
slave {
pcm {
type asym
playback.pcm "dmixed"
capture.pcm "dsnooped"
}
}
}
ctl.duplex_for_pulse {
type hw
card 0
}
Code: Select all
load-module module-udev-detect
Code: Select all
#load-module module-udev-detect
Code: Select all
load-module module-alsa-sink device=duplex_for_pulse
load-module module-alsa-source device=duplex_for_pulse
Code: Select all
REGEDIT4
[HKEY_CURRENT_USER\Software\Wine\Alsa Driver] 1315011634
"AutoScanCards"="N"
"AutoScanDevices"="N"
"DeviceCount"="1"
"DeviceCTL1"="duplex_for_pulse"
"DevicePCM1"="duplex_for_pulse"
"UseDirectHW"="Y"
Code: Select all
WINEPREFIX="your prefix path here" regedit alsareg.reg
now the next part are a few ways you can do. You want updated alsa-plugins/alsa-lib but not alsa-driver/alsa-utils/linux-sound-base. I used the ppa from these guys:
https://launchpad.net/~team-iquik/+archive/alsa
updated everything but alsa-base/alsa-utils/linux-sound-base, then removed the ppa. You can also download the source code, compile/install it.
I rebooted at this point. If your using 1.3.24 at least (I tested that), wine should use alsa directly, and regular apps should use pulse now. 1.3.27 will not get sound if something is using pulse, and if wine is using the soundcard pulse apps won't get sound. So now comes the hackish part.
Follow the steps to compiling pulseaudio here:
http://colin.guthr.ie/2010/09/compiling ... -from-git/
DO NOT DO sudo make install , you will probably mess up your whole sound if you do, and will prolly have to reinstall OS (happened to me, no amount of purges/reinstalls got my sound back).
Once you have it compilled, I rebooted. I then have 3 scripts:
pulseAudiolib.sh
Code: Select all
! /bin/bash
export LD_LIBRARY_PATH=/home/macnean/Programs/pulseaudio-0.9.23/build/src/.libs
Code: Select all
. pulseAudiolib.sh
pulseSecondlib.sh
Code: Select all
rm /home/macnean/.pulse/client.conf
echo "autospawn=no" >> /home/macnean/.pulse/client.conf
pulseaudio -k
~/Programs/pulseaudio-0.9.23/build/src/pulseaudio -n -F ~/Programs/pulseaudio-0.9.23/build/src/default.pa -p $LD_LIBRARY_PATH -vvv
in that terminal hit CTRL C to end this local pulse
pulseThirdlib.sh
Code: Select all
#! /bin/bash
rm /home/macnean/.pulse/client.conf
pulseaudio