forwarding audio from a (bhyve) vm

Greg Veldman freebsd at gregv.net
Tue Jul 21 02:28:01 UTC 2020


On Mon, Jul 20, 2020 at 04:00:22PM -0700, Russell L. Carter wrote:
> On 2020-07-20 15:06, Russell L. Carter wrote:
> > Seren looks perfect.?? However it uses alsa to access the "sound card",
> > which I see from googling should be achievable in a bhyve vm by
> > configuring the HDA emulation. Evidently, after consulting
> > https://wiki.freebsd.org/SummerOfCode2016/HDAudioEmulationForBhyve
> > and
> > https://forums.freebsd.org/threads/what-is-the-current-status-of-audio-emulation-in-bhyve.74557/ 
> > 
> > 
> > I should be able to achieve this using vm-bhyve by setting
> > 
> > bhyve_options="-s 9,hda,play=/dev/dsp1,rec=/dev/dsp1"
> > 
> > in the vm template file.
> 
> Oh well, the vm fails to start with this template configuration.
> I am not sure how to fix it.  There is only one vm running, so
> I don't think bhyve should be running out of slots/devices.
> There is no audio hardware in the bhyve host... is that a
> problem?  I don't want to listen on the bhyve host, I want to
> ship the audio over the physical network to another FreeBSD
> system.
> 
> Both the bhyve host and the target system are running FreeBSD
> 12/stable from the beginning of July.

I currently do this with some of my systems, I use sndio and
have had no issues at all.  My current setup is all FreeBSD
hosts, but sndio runs on GNU/Linux and NetBSD, OpenBSD (in
fact it's originally from OpenBSD I believe).

On the host you wish to send the audio from:

$ grep -i audio .bashrc
export AUDIODEVICE="snd at 10.0.2.1/0"

On the host you wish to hear the audio on:

$ grep -i sndio /etc/rc.conf
sndiod_enable="YES"
sndiod_dev="rsnd/$($SYSCTL -n hw.snd.default_unit)"
sndiod_flags="-f ${sndiod_dev} -c 0:7 -j off -s default -m mon -s
monitor -L 10.0.2.1"

$ grep -i snd /etc/sysctl.conf 
# Default sound device (from /dev/sndstat)
hw.snd.default_unit=2

See the sndio(7) manpage for setting up the cookie on both
hosts to handle authentication.

-- 
Greg Veldman
freebsd at gregv.net


More information about the freebsd-questions mailing list