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:
jacks
number of physical jacks (Unimplemented).
streams
number 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.
chmaps
number 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=virtio
or-audio driver=pa,model=virtio,server=/run/user/1000/pulse/native
sdl:
-audio driver=sdl,model=virtio
coreaudio:
-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