Project Orko Madrid Connect Demo
Overview
For Connect Madrid we want to demonstrate a mixed criticality edge device running an Android Auto IVI system with virtualised sound and graphics. The graphics will take advantage of accelerated graphics on the host by passing through Vulkan commands from the guest through the host GPU driver. We will also partition off some vCPUs and run a real-time Zephyr instance which will measure its own IRQ latency and report the results over a trapless shared memory interface to the rest of the system. It’s behaviour should not change as the rest of the system is put under load.
Software Architecture
Multimedia Devices
These will be utilising VirtIO with the backends handled in QEMU running as a xenpvh backend.
VirtIO GPU
This will be virtio-gpu running Vulkan (either direct or via rutabaga) on the guest with the backend being QEMU running on Dom0. The physical GPU on the AVA will be an AMD PCI card.
VirtIO Sound
This will be virtio-sound terminating on a vhost-user-sound (from rust-vmm) outputting to a USB sound device.
Block and Networking
We will use the existing Xen PV devices which are exposed to the guest userspace as just another block/network device
Misc Devices
We will support virtio-input to pass through host input events to the guest
Notes and Documentation for the components
Under here we have notes about the various components used to build this demo.
Documentation | Links |
---|---|
Build Android Cuttlefish Images | |
Build TRS for support Orko | |
Run Android Cuttlefish Images on Xen VM | Run Android Automotive in Xen virtual machine on the AVA Platform |
Tips: Debug Xen and Linux kernel |