This document explains the setup and usage of the Virtio sound device. The Virtio sound device is a paravirtualized sound card device.
Virtio sound requires a guest Linux kernel built with the CONFIG_SND_VIRTIO
option.
Virtio sound implements capture and playback from inside a guest using the configured audio backend of the host machine.
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
.
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