The expansion of virtio-GPU into QEMU and Crosvm as well as Android automotive virtualization has generated demand for improved safety and maintainability of device backends thus leading to the development of vhost-device-gpu which functions independently using Rust and the vhost-user protocol.
This presentation illustrates the ways vhost-device-gpu reshapes virtual graphics architecture through its innovative design:
Reducing the attack surface requires isolating the device backend from the VMM.
The development achieves greater security through Rust’s memory safety features.
The implementation supports modular renderer backends such as virglrenderer and gfxstream through rutabaga_gfx.
We’ll walk through:
How the vhost-user-gpu protocol demonstrates functionality through existing capabilities like control and cursor queue handling, feature bit negotiation, and compatibility with modern renderers like virglrenderer and gfxstream.
How the Rust-based internal components of the device work alongside Rust-vmm integration while working through Rutabaga difficulties and enabling Vulkan support through host-visible memory.
Support for shared memory and host-visible memory region, is under active development to meet Vulkan and gfxstream demands.
Real-world performance observations with Android AAOS and Linux guests.
The session will end with a demo of running vhost-device-gpu as a standalone process connected to a QEMU VM.
Dorinda Bassey