887d577586
This adds basic documentation for vhost-user-input. Signed-off-by: Leo Yan <leo.yan@linaro.org> Message-Id: <20231120043721.50555-3-leo.yan@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240104210945.1223134-10-alex.bennee@linaro.org> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
46 lines
1.2 KiB
ReStructuredText
46 lines
1.2 KiB
ReStructuredText
.. _vhost_user_input:
|
|
|
|
QEMU vhost-user-input - Input emulation
|
|
=======================================
|
|
|
|
This document describes the setup and usage of the Virtio input device.
|
|
The Virtio input device is a paravirtualized device for input events.
|
|
|
|
Description
|
|
-----------
|
|
|
|
The vhost-user-input device implementation was designed to work with a daemon
|
|
polling on input devices and passes input events to the guest.
|
|
|
|
QEMU provides a backend implementation in contrib/vhost-user-input.
|
|
|
|
Linux kernel support
|
|
--------------------
|
|
|
|
Virtio input requires a guest Linux kernel built with the
|
|
``CONFIG_VIRTIO_INPUT`` option.
|
|
|
|
Examples
|
|
--------
|
|
|
|
The backend daemon should be started first:
|
|
|
|
::
|
|
|
|
host# vhost-user-input --socket-path=input.sock \
|
|
--evdev-path=/dev/input/event17
|
|
|
|
The QEMU invocation needs to create a chardev socket to communicate with the
|
|
backend daemon and access the VirtIO queues with the guest over the
|
|
:ref:`shared memory <shared_memory_object>`.
|
|
|
|
::
|
|
|
|
host# qemu-system \
|
|
-chardev socket,path=/tmp/input.sock,id=mouse0 \
|
|
-device vhost-user-input-pci,chardev=mouse0 \
|
|
-m 4096 \
|
|
-object memory-backend-file,id=mem,size=4G,mem-path=/dev/shm,share=on \
|
|
-numa node,memdev=mem \
|
|
...
|