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