Skip to content

Latest commit

 

History

History
45 lines (31 loc) · 1.23 KB

vhost-user-input.rst

File metadata and controls

45 lines (31 loc) · 1.23 KB

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