Paravirtualized audio

Giorgos Boutsioukis

Abstract

The project would be to implement paravirtualized audio in Xen, in some form. Two approaches are proposed: a high-level approach over PulseAudio and a low-level split device driver, similar to the existing.

Additional Information

Paravirtualization is a technique used to provide direct(i.e. non-emulated) access of a host's(or, more accurately, the dom0 guest's) resources to a virtualized guest. Paravirtualized drivers in Xen for disk and network access already exist and use what is called a split-driver model; a frontend driver lying in the guest OS provides an interface that looks like a typical network or block device to the guest, and a backend daemon running on the host supports the other end of the interface accordingly.

Xen does not currently support PV audio and this is a proposal to implement it. There are aspects of audio paravirtualization that are better handled at either a high or a low level; part of this project is to research the feasibility and characteristics of two approaches, either implementing an interdomain transport layer for PulseAudio or following the typical split-driver model.