I've managed to get most apps to work through pulseaudio, including quite a few linux ones.
First, make sure that OpenAL and SDL are both configured to use pulseaudio (and, of course, built with pulseaudio support... I don't remember if that's enabled by default).
Second, make sure that you install
audio/linux-f10-pulseaudio-libs.
Third, make sure
audio/alsa-plugins is built with pulseaudio support. Then configure alsa to use pulseaudio by default. Create/edit
/usr/local/etc/asound.conf so that it reads:
Code:
pcm.pulse {
type pulse
hint {
description "PulseAudio Sound Server"
}
}
ctl.pulse {
type pulse
hint {
description "PulseAudio Sound Server"
}
}
# Let's make it the default!
pcm.!default {
type pulse
hint {
description "Default"
}
}
ctl.!default {
type pulse
hint {
description "Default"
}
}
These two steps will get any application compiled with alsa support (both linux apps and FreeBSD apps) to use pulseaudio.
Fourth... Well, flash is the one tricky thing. By default on FreeBSD, with the linux-compat layer, flash uses OSS, not alsa. There may be a simpler way of doing this, but I built a linux version of libflashsupport on an F10 virtual machine. This was a special version compiled with pulseaudio support (
http://www.pulseaudio.org/wiki/FlashPlayer9Solution). If you'd like, you can grab it from
http://thorn.visualtech.com/libflashsupport.so
So, to summarize: You need both the FreeBSD and linux versions of pulseaudio installed from ports. Only the FreeBSD version needs to be running, obviously: the linux version only installs the necessary libs. OpenAL and SDL both support pulseaudio, and can be configured to use pulseaudio by default (via ~/.alsoftrc and SDL_AUDIODRIVER, respectively). Any audio application that can be built with alsa support (mplayer and audacious come to mind, but they are bad examples as they also have support for pulse) can be directed to use pulseaudio. And flash will work, but requires a special libflashsuspport library.
As for:
so far I haven't found mention of a Freebsd OSS driver for Pulseaudio. Did I miss something?
I'm not sure I understand...
audio/pulseaudio will compile/install the pulseaudio OSS module, and should detect all your OSS devices. If you have more than one, for example, you can move audio streams between devices using pavucontrol.
Adam