VDI
SR-IOV
https://wiki.archlinux.org/title/intel_graphics
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")
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.
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
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