DevConf.CZ

Matias Vara Larsen

A person with an interest in OS and virtualization.


Session

06-14
11:00
35min
Building VirtIO sound device in rust-vmm project
Dorinda Bassey, Matias Vara Larsen

In automotive, Android guests are currently used for deploying infotainment systems. To support Android as a guest, the Virtual Machine Monitor (VMM) requires a set of virtual hardware like sound, video, block devices and networking. This talk presents the current status and efforts to implement VirtIO sound for infotainment systems in automotive. We will shed some light on our decision to implement VirtIO sound in Rust as an vhost-user device under the Rust-Vmm project umbrella.
Having VirtIO for hardware allows Android to be deployed in different VMMs that support VirtIO like Crosvm or QEMU, This deployment has benefits like reducing the attack surface of QEMU and also enables more granularity in setting up rights for the device process. Our VirtIO sound implementation is able to handle different audio backends by relying on a generic interface. Currently, we support the pipewire and Alsa as audio backends. During this presentation, we will share our journey in building the virtio-sound device, including improving its specification, fixing bugs in the virtio-sound driver, and building it as a rust-vmm project. We also plan to outline a roadmap for the future like adding support for other audio backends like Gstreamer.

We will demo and describe the setup used in order to play audio from a guest application to the host using our virtio-sound device.

We will also go through some general tips on how to configure the guest to enable virtio-snd driver module and optimal ways to use QEMU which may be useful to the audience.

Edge, Mobile, and Automotive
E112 (capacity 156)