Skip to content

Commit

Permalink
docs/system: add basic virtio-snd documentation
Browse files Browse the repository at this point in the history
This commit adds basic documentation for using virtio-snd.

Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <e7fb941cf7636fdff40cbdcdcd660dec5f15ca3c.1698062525.git.manos.pitsidianakis@linaro.org>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
  • Loading branch information
epilys authored and mstsirkin committed Nov 7, 2023
1 parent d8d64ac commit f54fea1
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 0 deletions.
1 change: 1 addition & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -2317,6 +2317,7 @@ S: Supported
F: hw/audio/virtio-snd.c
F: hw/audio/virtio-snd-pci.c
F: include/hw/audio/virtio-snd.h
F: docs/system/devices/virtio-snd.rst

nvme
M: Keith Busch <kbusch@kernel.org>
Expand Down
1 change: 1 addition & 0 deletions docs/system/device-emulation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ Emulated Devices
devices/vhost-user.rst
devices/virtio-gpu.rst
devices/virtio-pmem.rst
devices/virtio-snd.rst
devices/vhost-user-rng.rst
devices/canokey.rst
devices/usb-u2f.rst
Expand Down
49 changes: 49 additions & 0 deletions docs/system/devices/virtio-snd.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
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

0 comments on commit f54fea1

Please sign in to comment.