VDI

SR-IOV

https://wiki.archlinux.org/title/intel_graphics

grep '' /sys/kernel/debug/dri/0/gt/uc/*uc_info
dmesg | grep guc

Kubernetes cluster : https://github.com/intel/kubevirt-gfx-sriov

Ubuntu 22.04 LTS host: https://www.intel.com/content/www/us/en/developer/articles/reference-implementation/graphics-sr-iov-enablement-toolkit.html

https://github.com/strongtz/i915-sriov-dkms | PVE

  • for linux 6.1 ~ linux 6.3: https://github.com/strongtz/i915-sriov-dkms/blob/master/README.md

VirGL

  • https://pve.proxmox.com/pve-docs/chapter-qm.html#qm_display

  • https://docs.mesa3d.org/drivers/virgl.html

GPU assignment

The state of GPU assignment in QEMU/KVM: https://www.linux-kvm.org/images/b/b3/01x09b-VFIOandYou-small.pdf

https://wiki.debian.org/VGAPassthrough

https://wiki.gentoo.org/wiki/GPU_passthrough_with_libvirt_qemu_kvm

https://pve.proxmox.com/wiki/Pci_passthrough

Error handling

  • Windows BSOD: system thread exception not handled

    echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.conf

  • Linux tty: Radeon kernel modesetting for r600 or later requires firmware-amd-graphics

    apt-get install firmware-amd-graphics

virtio-gpu

https://www.linux-kvm.org/images/0/09/Qemu-gfx-2016.pdf

https://github.com/qemu/qemu/blob/master/hw/display/virtio-gpu.c

ARMv8/arm-64: use virtio-gpu because the legacy VGA framebuffer is very troublesome on aarch64

https://docs.opennebula.org/5.4/deployment/open_cloud_host_setup/pci_passthrough.html#loading-vfio-driver-in-initrd

Hardware

NVIDIA Certified

http://www.nvidia.com/object/grid-certified-servers.html GRID vGPU is a licensed feature on Tesla M6, Tesla M10, and Tesla M60.

VDI Solutions - Nvidia

http://www.nvidia.com/object/xendesktop-vgpu.html (Right bottom section: "Partner Solutions")

## Virtualized Application Solutions (Shared GPU)
Citrix XenApp 6.5 with OpenGL Add-on and Citrix XenDesktop 7 Hosted-Shared delivery
## Virtual Desktop Solutions (Shared GPU)
XenDesktop FP1 with NVIDIA GRID™ vGPU™1
Microsoft RemoteFX in Windows Server 2012
VMware Horizon View 5.2 with vSGA2

## Virtual Remote Workstation Solutions (Dedicated GPU)
Citrix XenDesktop 5.6
Citrix XenDesktop 7 VDI delivery
VMware View 5.3 with vDGA

AMD

AMD MxGPU is the world’s first hardware-based virtualized GPU solution, is built on industry standard SR-IOV (Single-Root I/O Virtualization) technology. Supprot VMWARE & Citrix.

Intel® Graphics Virtualization Technology

  • –d (Intel® GVT –d): vDGA: virtual dedicated graphics acceleration (one VM to one physical GPU)

  • –s (Intel® GVT -s): vSGA: virtual shared graphics acceleration (multiple VMs to one physical GPU)

  • –g (Intel® GVT -g): vGPU: virtual graphics processing unit (multiple VMs to one physical GPU)

Visit Intel GVT-g page for more.

Optional Firmware

https://01.org/linuxgraphics/downloads/firmware

GuC:designed to perform graphics workload scheduling on the various graphics parallel engines. DMC: low-power idle states. It provides capability to save and restore display registers across these low-power states independently from the OS/Kernel. HUC: offload some of the media functions from the CPU to GPU.

ls /lib/firmware/i915/ -l

Citrix

XenServer

https://docs.citrix.com/content/dam/docs/en-us/xenserver/current-release/downloads/xenserver-configuring-graphics.pdf Graphics Virtualization is available for XenServer Enterprise Edition customers, or those who have access to XenServer through their XenApp/XenDesktop entitlement.

XenClient(IDV, discontinued)

Diagram: https://www.citrix.com/blogs/wp-content/uploads/2014/10/XenClient-Architectural-Diagram.jpg

Remote Desktop

OpenStack

https://www.openstack.org/videos/boston-2017/virtual-desktop-infrastructure-vdi-with-openstack

Apache Guacamole

https://guacamole.incubator.apache.org/ https://hub.docker.com/r/guacamole/guacamole/ HTML5 remote desktop gateway. supports VNC, RDP, and SSH.

Hardware - pikvm

https://github.com/pikvm/pikvm Supported Raspberry Pi 2, 3, 4 and ZeroW

KVM-VDI(discontinued)

https://github.com/Seitanas/kvm-vdi/wiki supported backends: plain QEMU-KVM and OpenStack

https://www.neblogas.lt/2016/07/18/technical-info-ovirt-agent-sso/

SPICE & QXL guest driver

https://www.spice-space.org/download.html

Streaming

ref: https://github.com/mbroemme/vdi-stream-client

MethodLocalRemote3D

Yes

Yes

No

Yes

No

Yes

Yes

No

Yes

Yes

No

Yes (Intel only)

Yes

Yes

Yes (Linux only)

Yes

Yes

Yes (Linux only)

Yes

Yes

Yes (Nvidia only)

Yes

Yes

Yes

Yes

Yes

Yes

Last updated