Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Jul 2020 22:27:54 -0400
From:      Greg Veldman <freebsd@gregv.net>
To:        "Russell L. Carter" <rcarter@pinyon.org>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: forwarding audio from a (bhyve) vm
Message-ID:  <20200721022754.GM67461@aurora.gregv.net>
In-Reply-To: <42870245-d3c6-be29-242b-67b7697d7402@pinyon.org>
References:  <295d43ec-b5dc-2899-5d22-fb0b5d8ff5cb@pinyon.org> <20200720120813.4b020a5b.freebsd@edvax.de> <08284be8-6508-0451-312b-b575dc6d4331@pinyon.org> <42870245-d3c6-be29-242b-67b7697d7402@pinyon.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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@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@gregv.net



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200721022754.GM67461>