KVM 性能再升级:KVM+VirGL 在 Windows 11 虚拟机中开启 3D 加速!🔥_哔哩哔哩_bilibili
Ubuntu上解锁KVM:轻松打造你的虚拟世界_哔哩哔哩_bilibili
以下方法可显著提升KVM虚拟机图形性能,甚至接近物理机性能:
QXL/SPICE 是一种高性能显示方案,但设计目标并非接近物理机性能。
通过OVMF实现PCI VGA/GPU直通
PCI直通 是目前实现最佳性能的主流方法。通过“KVM切换器”控制多桌面。
单GPU直通
当前PCI直通仅支持多显卡环境,但存在变通方案。需将显卡从宿主机分离,并通过SSH从客户机控制宿主机。启动虚拟机时所有GUI应用会被强制关闭,但可使用Xpra在启动前分离到其他显示设备,关闭虚拟机后重新挂载应用。
NVIDIA用户注意:需使用nvflash转储GPU vBIOS,并通过vBIOS补丁工具修改。
Looking Glass是较新的直通技术,通过DXGI捕获虚拟机帧并通过共享内存传递到宿主机显示。参考入门指南获取支持。
LIBVF.IO框架
LibVF.IO是简化GPU虚拟化的框架,支持Intel(GVT-g/SR-IOV)、NVIDIA(vGPU/SR-IOV)和AMD(SR-IOV)。需为每台虚拟机创建YAML配置,Intel/NVIDIA支持较完善。按设置指南操作,或查看Wiki。NVIDIA需解锁vGPU(参见#NVIDIA vGPU)。
提示:
Ryzen CPU需启用ignore_msrs避免Windows蓝屏
NVIDIA用户需确保nvidia-vgpud.service和nvidia-vgpu-mgr.service运行中
NVIDIA vGPU方案
根据vgpu_unlock问题追踪,该项目已停止维护,且商业用途合法性存疑。 需获取vGPU许可证,或尝试变通方案。
SR-IOV技术
单根I/O虚拟化(SR-IOV)由Intel/NVIDIA开发,部分AMD显卡(如W7100)支持。
Intel Xe架构需安装定制内核或i915-sriov-dkms模块
Windows客户机需设置Hypervisor厂商ID为GenuineIntel
Intel iGVT-g扩展
仅支持Broadwell至Comet Lake的集成显卡,是旧硬件的软件解决方案。详见Intel GVT-g。
Virgil3d virtio-gpu半虚拟化驱动
virtio-gpu是类似非图形virtio驱动的3D加速方案(参见virtio驱动文档和Windows驱动)。
Linux客户机:自Linux 4.4/QEMU 2.6起支持,参考Reddit讨论和libvirt配置指南
Windows客户机:OpenGL/Direct3D10驱动开发中(参见GitHub PR),另有DOD驱动和ICD驱动可选
Venus协议
支持Vulkan命令序列化(需QEMU 9.2.0+/Linux 6.13+),配置方法见GitHub Gist。
原文:https://wiki.archlinux.org/title/QEMU/Guest_graphics_acceleration