1f54fea11SManos Pitsidianakisvirtio sound 2f54fea11SManos Pitsidianakis============ 3f54fea11SManos Pitsidianakis 4f54fea11SManos PitsidianakisThis document explains the setup and usage of the Virtio sound device. 5f54fea11SManos PitsidianakisThe Virtio sound device is a paravirtualized sound card device. 6f54fea11SManos Pitsidianakis 7f54fea11SManos PitsidianakisLinux kernel support 8f54fea11SManos Pitsidianakis-------------------- 9f54fea11SManos Pitsidianakis 10f54fea11SManos PitsidianakisVirtio sound requires a guest Linux kernel built with the 11f54fea11SManos Pitsidianakis``CONFIG_SND_VIRTIO`` option. 12f54fea11SManos Pitsidianakis 13f54fea11SManos PitsidianakisDescription 14f54fea11SManos Pitsidianakis----------- 15f54fea11SManos Pitsidianakis 16f54fea11SManos PitsidianakisVirtio sound implements capture and playback from inside a guest using the 17f54fea11SManos Pitsidianakisconfigured audio backend of the host machine. 18f54fea11SManos Pitsidianakis 19f54fea11SManos PitsidianakisDevice properties 20f54fea11SManos Pitsidianakis----------------- 21f54fea11SManos Pitsidianakis 22f54fea11SManos PitsidianakisThe Virtio sound device can be configured with the following properties: 23f54fea11SManos Pitsidianakis 24f54fea11SManos Pitsidianakis * ``jacks`` number of physical jacks (Unimplemented). 25f54fea11SManos Pitsidianakis * ``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. 26f54fea11SManos Pitsidianakis * ``chmaps`` number of channel maps (Unimplemented). 27f54fea11SManos Pitsidianakis 28f54fea11SManos PitsidianakisAll streams are stereo and have the default channel positions ``Front left, right``. 29f54fea11SManos Pitsidianakis 30f54fea11SManos PitsidianakisExamples 31f54fea11SManos Pitsidianakis-------- 32f54fea11SManos Pitsidianakis 33f54fea11SManos PitsidianakisAdd an audio device and an audio backend at once with ``-audio`` and ``model=virtio``: 34f54fea11SManos Pitsidianakis 35f54fea11SManos Pitsidianakis * pulseaudio: ``-audio driver=pa,model=virtio`` 36f54fea11SManos Pitsidianakis or ``-audio driver=pa,model=virtio,server=/run/user/1000/pulse/native`` 37f54fea11SManos Pitsidianakis * sdl: ``-audio driver=sdl,model=virtio`` 38f54fea11SManos Pitsidianakis * coreaudio: ``-audio driver=coreaudio,model=virtio`` 39f54fea11SManos Pitsidianakis 40f54fea11SManos Pitsidianakisetc. 41f54fea11SManos Pitsidianakis 42f54fea11SManos PitsidianakisTo specifically add virtualized sound devices, you have to specify a PCI device 43f54fea11SManos Pitsidianakisand an audio backend listed with ``-audio driver=help`` that works on your host 44f54fea11SManos Pitsidianakismachine, e.g.: 45f54fea11SManos Pitsidianakis 46f54fea11SManos Pitsidianakis:: 47f54fea11SManos Pitsidianakis 48f54fea11SManos Pitsidianakis -device virtio-sound-pci,audiodev=my_audiodev \ 49f54fea11SManos Pitsidianakis -audiodev alsa,id=my_audiodev 50