- Desktop Virtualization with Graphics SR-IOV
Intel's Single Root I/O Virtualization (SR-IOV) for graphics is a technology that allows a single physical Intel graphics processing unit (GPU) to be presented as multiple virtual devices to different virtual machines (VMs). This enables efficient GPU resource sharing and improves performance for graphics-intensive workloads within virtualized environments
- The Physical Function (PF) is the full-featured physical function of the GPU, managed by the host OS.
- Virtual functions (VFs) are created from the PF and assigned to individual VMs.
- Each VF provides a dedicated and isolated path for data transfer to and from the VM, bypassing the host's hypervisor for improved performance and reducded latency.
- PCIe Standard: SR-IOV is a PCI-SIG standard that defines how a single physical PCIe device can be presented as multiple virtual devices.
Graphics SR-IOV Architecture
- Improved performance: Direct access to the GPU hardware for each VM reduces overhead and latency, particularly for tasks like video transcoding and media processing.
- Efficient resource utilization: SR-IOV enables better sharing of GPU resources among multiple VMs, maximizing the utilization of a single physical GPU.
- Support for cloud-native environments: SR-IOV is crucial for enabling GPU acceleration in Kubernetes and other cloud platforms.
SR-IOV for Intel graphics typically requires hardware generation of Alder Lake (12th Gen Intel Core) or newer. One can check if your Intel graphics controller supports SR-IOV by executing below command for the Single Root I/O Virtualization (SR-IOV) PCI capability
sudo lspci -s 2.0 -v
Component | Edge Microvisor Toolkit + graphics SR-IOV |
---|---|
CPU | Intel® Core (12th gen and higher) |
RAM | 64GB recommended |
Storage | 500 GB SSD or NVMe minimum |
Networking | 1GbE Ethernet |
Host OS has to be enabled with graphics SR-IOV ingredients. Below are various options (but not limited to) :
-
EMT - Intel EMT with desktop-virtualization Image config
-
Debian - ThunderSoft SR-IOV
Below are the ingredients to achieve Display and Graphics Virtualization pipeline using SR-IOV.
Desktop Virtualization on K3s/Kubevirt
The components marked in red are in scope of this solution. The display and graphics virtualization pipeline on k3s/kubevirt can be realized by following build and installation of below components.
if you encounter bugs, have feature requests, or need assistance, file a Github issue
For security-related concerns, please refer to SECURITY.md.
Edge Desktop Virtualization is open source and always welcomes an active community to support adding new features, optimizing, and improving security.
To learn how to contribute to the project, see the Contributor's Guide.
For license related information refer LICENSES
Last Updated Date: June 02, 2025