virtio sound
This document explains the setup and usage of the Virtio sound device. The Virtio sound device is a paravirtualized sound card device.
Linux kernel support
Virtio sound requires a guest Linux kernel built with the
CONFIG_SND_VIRTIO option.
Description
Virtio sound implements capture and playback from inside a guest using the configured audio backend of the host machine.
Device properties
The Virtio sound device can be configured with the following properties:
jacksnumber of physical jacks (Unimplemented).
streamsnumber of PCM streams. At the moment, no stream configuration is supported: the first one will always be a playback stream, an optional second will always be a capture stream. Adding more will cycle stream directions from playback to capture.
chmapsnumber of channel maps (Unimplemented).
All streams are stereo and have the default channel positions Front left, right.
Examples
Add an audio device and an audio backend at once with -audio and model=virtio:
pulseaudio:
-audio driver=pa,model=virtioor-audio driver=pa,model=virtio,server=/run/user/1000/pulse/nativesdl:
-audio driver=sdl,model=virtiocoreaudio:
-audio driver=coreaudio,model=virtio
etc.
To specifically add virtualized sound devices, you have to specify a PCI device
and an audio backend listed with -audio driver=help that works on your host
machine, e.g.:
-device virtio-sound-pci,audiodev=my_audiodev \
-audiodev alsa,id=my_audiodev