Shared GPU and Display: Required components
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.
Configurationsection 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:
- the drm-virtio driver.
This driver is provided with the QNX Software Development Platform (SDP). See the drm-virtio entry in the Screen Graphics Subsystem Developer's Guide.
- a graphics configuration file (e.g., graphics.conf) that contains your drm-virtio configuration and your Screen display configuration
- the drm-virtio driver.
- 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.
Page updated:
