Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Jul 2020 17:50:31 -0700
From:      "Russell L. Carter" <rcarter@pinyon.org>
To:        freebsd-questions@freebsd.org
Subject:   Re: forwarding audio from a (bhyve) vm
Message-ID:  <93920d59-a06c-62c6-7393-c19a2db2ed88@pinyon.org>
In-Reply-To: <20200721022754.GM67461@aurora.gregv.net>
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> <20200721022754.GM67461@aurora.gregv.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Greg,

sndio, if it can be made to work, also appears perfect.  In summary, I
want to run multiple vm's in a Facebook cast-off server that has 32
threads and 128GB of memory... but no audio hardware.  Adding the hda
device to bhyve doesn't seem to work, I am guessing, because there is
no physical audio hw in the bhyve host.

The latest tarball of sndio compiles and installs cleanly on ancienne
Debian 9.  But what about sound devices?

A couple of questions inline, if possible:

On 2020-07-20 19:27, Greg Veldman wrote:
 > 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"

You don't need to start sndiod on the audio server
system for the client system to connect?

 >
 > 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"

That looks very good.  My target system has a non-default "default".

Thank you,
Russell


 > $ 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.
 >




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?93920d59-a06c-62c6-7393-c19a2db2ed88>