Thursday, December 11, 2025

What's new in VIRTIO 1.4

With the VIRTIO 1.4 specification for I/O devices expected to be published soon, here are the most prominent changes. For more fine-grained changes like the latest offloading capabilities in virtio-net devices, please refer to the draft specification.

New device types

The most exciting changes are new device types that allow for entirely new I/O devices to be built with VIRTIO. In 1.4 there are new device types that are especially relevant for automotive and embedded systems.

  • The Controller Area Network (CAN) device provides access to the CAN bus that is popular in automotive systems.
  • The Serial Peripheral Interface (SPI) Controller device provides access to the SPI bus that a large number of devices in embedded systems support. This will make low-level control of SD cards, flash memory, sensors, displays, and more possible via VIRTIO.
  • The Media (V4L2) device exposes Video4Linux over VIRTIO so that webcams and related devices can be supported.
  • The Real Time Clock (RTC) provides clock and alarm functionality.

Infrastructure

In addition to the new devices, VIRTIO itself has evolved to provide new functionality across device types:

  • Device suspend is now supported. Previously a running device could only be reset but not suspended.
  • The Device parts mechanism has been introduced in order to save and restore device state for live migration and snapshot save/load use cases.

This is a nice step forward for VIRTIO. Congratulations to everyone who contributed to VIRTIO 1.4!