Device Virtualization


Purpose of the ActivityThe ultimate goal is to define common device driver I/F for AGL so as to keep common SW stack above driver across different HWs, SoCs, Devices.
With ongoing standardization in the server and cloud industry around VirtIO, the de-facto standard VirtIO is considered to be the best candidate for a kernel-user space API (common device driver I/F) standardization in AGL.
This spreadsheet is to be used to prioritize selected device drivers for AGL.
Priority for AGL

https://docs.google.com/spreadsheets/d/1jpLNUBKz19LOdtGyqan5Wk4OgZFFxUNcSpMrFMPFCKI/edit#gid=1231808174

DeviceVirtIO DeviceLinux Kernel VersionOASIS SpecificationLinux Kernel Device SubsystemIC-EG PriorityIVI-EG PriorityVirt-EG PriorityV2C-EG PriorityRHSA-EG PriorityTotal ScoreAGL Overall Priority
Input Device (e.g. touch)virtio-inputv4.0-rc4v1.1evdev (Input Subsystem)91283321
Display (Video Display Controller)virtio-gpu(2d)v4.1-rc4 (2d)v1.1DRM & KMS -> opengl/vulkan1
4
1272
GPUvirtio-gpu(3d)v4.3-rc5 (3d)v1.2DRM & KMS -> opengl/vulkan1
4
2263
CAN busvirtio-can-Spec RFC in virtio-comment MLsocket CAN9
618204
Block Devicevirtio-blkv2.6.23v1.0block subsystem (/dev/block)12


195
Audio (microphone & speaker)virtio-sndv5.13v1.2ALSA4
1
10186
Ethernetvirtio-netv2.6.23v1.0network subsystem96
57177
Bluetoothvirtio-bluetooth--Bluetooth subsystem (vitrio-bt has HCI IF)

7
698
SPIvirtio-consolev.2.6.23v1.0SPI subsystem95


89
Serial consolevirtio-consolev.2.6.23v1.0tty/serial interface
3


89
SCMI (Sensors, Clocks/Regulators, Performace ...)virtio-scmiUpstreamed but under review (RFC v2)v1.2no specific interface to userspace at the moment (maybe can linked to industrial IO)

34
159
Reference Doc

Device Specific Page