Graphics Sharing

Updated: April 19, 2023

Graphics sharing is supported by the Shared GPU and Display framework. This framework supports sharing graphical content between the host and guests, and includes a virtual device, virtual rendering libraries, and other services.

The Shared GPU and Display framework enables the sharing of:
GPU functionality
GPU sharing enables the use of the graphics processing unit (GPU) on the host by guest virtual machines (VMs) and the host simultaneously. Applications use the GPU to generate pixel content in image buffers; the GPU doesn't show content on the display.
Displays
Display sharing enables the image buffers of a guest to be shown on a display that's attached to the host.
Note:

To use this framework, your host system must have the Screen Graphics Subsystem. This component is included in your QNX SDP installation and can be included in a hypervisor host image and started on the target after booting. For links to examples, see the Integration Support for Android chapter.

The Shared GPU and Display framework is considered experimental because the VirtIO specification that defines the virtual device interface or the guest OS components that use this interface might change. Thus, the guest or host components may require updates in future releases.

Virtual device

The Shared GPU and Display framework uses a virtual device (vdev) that implements section 5.7 (“GPU Device”) of the VirtIO 1.1 specification, which is available from oasis-open.org. This vdev, virtio-gpu, manages guest access to the host's GPU and display controller.

This chapter explains the framework's architecture, how to configure the virtio-gpu device in a VM to make it available to a guest, and how to add the necessary components to the guest and host.

Note:
To understand the graphics-sharing capabilities in the virtualization frameworks, familiarity with the following documentation is required: