VirtIO DRM Window Server Support: Letting Guest VMs Interface With Host's Compositor
Collabora's Tomeu Vizoso is working on a interesting VirtIO DRM patch that lets clients running within a virtual machine communicate with a display compositor of the host system.
Based off work done by Google on their ChromeOS kernel with a "virtio_wl" driver, Tomeu is adding support to the VirtIO DRM driver so that clients running within a virtual machine can communicate with the host system's compositor. Communication is done over the protocol supported by the compositor, e.g. Wayland. Similarly, the ChromeOS VirtIO Wayland work is about offering a virtual device used by a guest VM use a Wayland server on the host system transparently and just focused on Wayland support given the ChromeOS focus.
The VirtIO GPU makes buffers available to both the VM and host and copies the contents when needed. The Collabora patch introduces new kernel ioctls for opening a connection to the host's compositor, asks the hypervisor to forward messages to the compositor, and returning queued messages.
So far testing has been done with Wayland clients using wl_shm shared memory to pass buffers to the compositor but should also work with X11 clients using MIT-SHM with file descriptor passing.
Those wanting to learn more can do so on dri-devel.
Based off work done by Google on their ChromeOS kernel with a "virtio_wl" driver, Tomeu is adding support to the VirtIO DRM driver so that clients running within a virtual machine can communicate with the host system's compositor. Communication is done over the protocol supported by the compositor, e.g. Wayland. Similarly, the ChromeOS VirtIO Wayland work is about offering a virtual device used by a guest VM use a Wayland server on the host system transparently and just focused on Wayland support given the ChromeOS focus.
The VirtIO GPU makes buffers available to both the VM and host and copies the contents when needed. The Collabora patch introduces new kernel ioctls for opening a connection to the host's compositor, asks the hypervisor to forward messages to the compositor, and returning queued messages.
So far testing has been done with Wayland clients using wl_shm shared memory to pass buffers to the compositor but should also work with X11 clients using MIT-SHM with file descriptor passing.
Those wanting to learn more can do so on dri-devel.
26 Comments