Skip to content

Edge-Desktop-Virtualization has essential components for the IDV use case, leveraging Intel's graphics and display virtualization technology (Graphics SR-IOV) on cloud/edge-native infrastructure (k3s/k8s/kubevirt)).

Notifications You must be signed in to change notification settings

open-edge-platform/edge-desktop-virtualization

Repository files navigation

Desktop Virtualization with Graphics SR-IOV

License OpenSSF Scorecard CodeQL Device Plugin: Coverity Scan

Overview

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

How it works

  • 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

Key Features

  • 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.

System requirements:

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

Graphics SR-IOV Support

Recommended Hardware Configuration

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 Options

Host OS has to be enabled with graphics SR-IOV ingredients. Below are various options (but not limited to) :

Generate Virtual Machine qcow2 with required drivers for SR-IOV

K3s/Kubevirt Solution stack for Edge Desktop Virtualization

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.

Sample Application : VM deployment Helm charts

References

Getting Help

if you encounter bugs, have feature requests, or need assistance, file a Github issue

For security-related concerns, please refer to SECURITY.md.

Contributions

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.

License

For license related information refer LICENSES

Last Updated Date: June 02, 2025

About

Edge-Desktop-Virtualization has essential components for the IDV use case, leveraging Intel's graphics and display virtualization technology (Graphics SR-IOV) on cloud/edge-native infrastructure (k3s/k8s/kubevirt)).

Topics

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published