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.
These will be utilising VirtIO with the backends handled in QEMU running as a xenpvh backend.
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.
This will be virtio-sound terminating on a vhost-user-sound (from rust-vmm) outputting to a USB sound device.
We will use the existing Xen PV devices which are exposed to the guest userspace as just another block/network device
We will support virtio-input to pass through host input events to the guest
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 |