Required components
To support shared input in a QNX Hypervisor system, you must add components to your guest and host images, and configure the virtio-input vdev in the guest's VM.
Host components
To enable input sharing, you must ensure that:
- The vdev shared object, vdev-virtio-input.so, is included in the hypervisor host image by your host buildfile.
- For each VM that hosts a guest that needs access to input devices, the virtio-input vdev is configured. For information on how to do this, see vdev virtio-input.
- The path to the configuration file (*.qvmconf file) for each guest that's running in a VM is included in your host buildfile.
- The Screen Graphics Subsystem and related input drivers, such as mtouch and io-hid, are included in the host image. See the Screen Developer's Guide for details on using and configuring Screen.
- At least one physical input device is connected to your host system. The vdev expects to find an input device; if it doesn't, the vdev prevents the qvm process from starting.
- The USB stack (io-usb-otg) and any USB device drivers (devu-*) needed for the USB keyboards or pointers connected to your host system are included in the host image. See the io-usb-otg entry in the QNX Neutrino Utilities Reference for details on the USB stack.
Configurationsection of the QNX Hypervisor User's Guide.
Guest components
The virtio-input vdev is a para-virtualized device. It runs in a hypervisor VM, but it doesn't emulate a specific hardware device. Instead, it provides the functionality that one or more physical devices (keyboard, mouse, touchscreen) might provide in a conventional, nonvirtualized environment.
Because the vdev is a para-virtualized device, the guest must know that it is running in a virtualized environment and
add the VirtIO input kernel driver (e.g., virtio_input.ko for an Android or Linux guest) to its image.
See Building guests
in the QNX Hypervisor User's Guide for more guidelines.
