To support the Shared GPU and Display framework in a QNX Hypervisor-based system, you must add
components to your guest and host images, and configure the virtio-gpu vdev in the VM of any guest that wants to
use the host GPU and send displays to the host.
Host components
To enable GPU and display sharing on the host, you must ensure that:
- The following files are included in the shared object list of
your hypervisor host buildfile:
- vdev-virtio-gpu.so
- libvirglrenderer.so
- libgfxstream.so
- For each VM that hosts a guest that uses graphics sharing,
the virtio-gpu vdev is configured.
For information on how to enable GPU sharing and configure your
virtual displays, see the vdev
virtio-gpu reference.
- The path to the configuration file (*.qvmconf) for
each guest that's running in a VM is included in your hypervisor host buildfile.
- The host image contains the Screen Graphics Subsystem.
This component is included in QNX SDP and therefore is present in
the default buildfile in any hypervisor host BSP.
- A graphics configuration file (e.g., graphics.conf) that
contains your Screen configuration for
the host is included in the host buildfile.
For more information on how to configure your hypervisor host, see the
Configuration section of the QNX Hypervisor
User's
Guide.
Guest components
Because the
virtio-gpu vdev is a para-virtualized device, the guest
must have a VirtIO driver that can communicate with this vdev.
- QNX Neutrino guests
- For QNX Neutrino guests, you must use:
- Android and Linux guests
- For Android and Linux guests, you must use the virtio-gpu.ko kernel driver.
You also need the right middleware components and to configure them appropriately to use the
host-side rendering libraries of libvirglrenderer.so and libgfxstream.so.
On the guest, the client (middleware) libraries might have different names.