如何在Proxmox VE 8虚拟机上启用VirtIOGL/VirGL 3D加速
VirtIO-GL/VirGL是KVM/QEMU/libvirt管理程序的一个特性,用于为KVM/QEMU/libvirt虚拟机提供3D加速功能。3D加速允许虚拟机(安装了图形用户界面)使用主机的GPU,使图形用户界面响应更快,能够运行3D生产力软件或游戏。
Proxmox VE的虚拟机使用KVM/QEMU/libvirt技术。从Proxmox VE 8开始,您可以在Linux虚拟机上使用VirtIO-GL/VirGL 3D加速,以获得更好的图形用户体验。
在本文中,我们将向您展示如何在Proxmox VE 8虚拟机上启用VirtIO-GL/VirGL 3D加速。
内容主题:
- 安装Proxmox VE的图形处理器驱动
- 在Proxmox VE 8上安装VirtIO-GL/VirGL 3D加速所需的库
- 在Proxmox VE 8虚拟机上启用VirtIO-GL/VirGL GPU 3D加速
- 在Proxmox VE虚拟机上测试VirtIO-GL/VirGL GPU 3D加速是否正常工作
- 结论
安装Proxmox VE的图形处理器驱动
要使VirtIO-GL/VirGL 3D加速在Proxmox VE 8上工作,您必须具备以下条件:
- Proxmox VE 8服务器上已安装的GPU
- 在Proxmox VE 8服务器上安装了GPU驱动程序
如果您的Proxmox VE 8服务器配置了Intel的iGPU(集成GPU),则默认安装Intel的GPU驱动程序。你不需要任何人工干预。
如果您的Proxmox VE 8服务器上有NVIDIA GPU,并且您想将其用于VirtIO-GL/VirGL,则必须手动下载NVIDIA GPU驱动程序并将其安装在Proxmox VE 8服务器上。如果您在Proxmox VE 8服务器上安装NVIDIA GPU驱动程序时需要任何帮助,请阅读本文。
如果Proxmox VE 8服务器使用的是AMD的GPU,可能还需要在Proxmox VE 8服务器上安装相应的GPU驱动程序。我们没有AMD的GPU。我们还没有测试过。但如果你使用的是AMD APU(集成GPU的AMD处理器),就我们所知,GPU驱动程序应该默认安装。如果有机会进行测试,我们将更新本文。
在Proxmox VE 8上安装VirtIO-GL/VirGL 3D加速所需的库
为了使VirtIo-GL/VirGL 3D加速在Proxmox VE 8虚拟机上工作,您必须在Proxmox VE 8服务器上安装LibEGL和libGL库。libGL和libGL库可以在Proxmox VE 8的官方包存储库中获得。所以,它们很容易安装。
首先,进入“Datacenter > pve > Shell”,进入Proxmox VE 8服务器的Proxmox VE Shell,执行以下命令更新Proxmox VE包数据库缓存:
$ apt update
在Proxmox VE 8服务器上安装LibEGL和LibGL库,执行如下命令:
$ apt install -y libgl1
应该安装LibEGL和LibGL库。在我们的例子中,它们已经安装了。
在Proxmox VE 8虚拟机上启用VirtIO-GL/VirGL GPU 3D加速
要在Proxmox VE 8虚拟机上启用VirtIO-GL/VirGL 3D加速,请导航到虚拟机的“硬件”部分[1]。在“显示”[2]上双击(LMB),在“显卡”[3]下拉菜单中选择“VirGL GPU”。
默认情况下,虚拟机运行时,VirGL GPU仅使用Proxmox VE服务器上安装的GPU的内存/VRAM(最多256 MB)。这在大多数情况下就足够了。如果您想为虚拟机分配更多的内存/VRAM,请在“内存(MiB)”部分[4]中键入它。
完成后,点击“确定”[5]。
应该为您想要的Proxmox VE 8虚拟机启用VirtIO-GL/VirGL。
现在,可以像往常一样启动虚拟机了。
如果在Proxmox VE 8虚拟机上成功启用VirtIO-GL/VirGL,虚拟机将正常启动,并且在Proxmox VE 8的web界面上显示虚拟机的界面。
在Proxmox VE虚拟机上测试VirtIO-GL/VirGL GPU 3D加速是否正常工作
您可以在GNOME桌面环境的“设置>关于”中找到虚拟机的“图形”信息。如您所见,虚拟机正在使用我们通过VirIO-GL/VirGL在Proxmox VE 8服务器上的NVIDIA RTX 4070。在其他桌面环境中,你会在“设置”应用程序中找到类似的信息。
为了测试VirIO-GL/VirGL是否在Proxmox VE 8虚拟机上做了任何3D改进,我们在Proxmox VE 8服务器上创建了两个Ubuntu 22.04 LTS虚拟机。我们在其中一个上启用VirtIO-GL/VirGL,在另一个上使用默认的显示设置(3D加速禁用)。然后,我们运行“glmark2”测试并比较结果。
如果你想执行同样的测试,你可以在你的Ubuntu 22.04 LTS虚拟机上安装" glmark2 ",使用以下命令:
$ sudo apt update
$ sudo apt install glmark2
当“glmark2”基准运行时,Proxmox VE 8虚拟机,启用了VirtIO-GL / VirGL 3 d加速消耗更少的CPU资源(图1)相比的一个VirtIO-GL / VirGL 3 d加速禁用(图2)。VirtIO-GL / VirGL 3 d加速禁用Proxmox VE 8虚拟机CPU使用率几乎是100%,你可以看到下面的截图(图2)。高CPU使用率意味着3 d模拟通过CPU,而不是通过GPU加速。因此,VirtIO-GL/VirGL 3D加速提高了Proxmox VE 8虚拟机的3D性能,并使Linux图形桌面环境的用户界面响应更快。
图1:在Proxmox VE 8虚拟机上启用的VirtIO-GL/VirGL 3D加速上运行“glmark2”基准测试时的CPU使用情况
图2:在Proxmox VE 8虚拟机上禁用的VirtIO-GL/VirGL 3D加速上运行“glmark2”基准测试时的CPU使用情况
“glmark2”分数证明了VirIO-GL/VirGL 3D加速确实改善了Proxmox VE 8虚拟机的整体图形用户体验。在启用VirtIO-GL/VirGL 3D加速的Proxmox VE 8虚拟机上,“glmark2”得分为2167(图3),而在禁用VirtIO-GL/VirGL 3D加速的虚拟机上,“glmark2”得分仅为163(图4)。这是一个巨大的差异。
图3:在Promox VE 8服务器上使用NVIDIA RTX 4070 GPU和AMD Ryzen 3900X CPU(虚拟机分配4核)时,在Promox VE 8虚拟机上启用VirtIO-GL/VirGL 3D加速的“glmark2”分数
图4:Promox VE 8服务器上使用AMD Ryzen 3900X CPU(分配给虚拟机的4核)时,在Promox VE 8虚拟机上禁用VirtIO-GL/VirGL 3D加速的“glmark2”分数
如果您在Proxmox VE 8服务器上使用NVIDIA GPU,您还可以通过VirIO-GL/VirGL验证Proxmox VE 8虚拟机正在使用Proxmox VE 8服务器上的GPU进行3D加速。
要查找使用Proxmox VE 8服务器的NVIDIA GPU的程序,请打开Proxmox VE shell并运行" NVIDIA -smi "命令。正如你所看到的,一个Proxmox VE 8虚拟机消耗了我们Proxmox VE 8服务器的NVIDIA RTX 4070 GPU大约194 MiB的VRAM来进行3D加速。
结论
在本文中,我们向您展示了如何在Proxmox VE 8服务器上安装所需的库,以使VirtIO-GL/VirGL 3D加速工作。我们还向您展示了如何在Proxmox VE 8虚拟机上配置/启用VirtIO-GL/VirGL 3D加速。我们向您展示了如何验证VirtIO-GL/VirGL 3D加速是否也在Proxmox VE 8虚拟机上工作。最后,我们使用“glmark2”对Proxmox VE 8虚拟机的VirtIO-GL/VirGL GPU进行基准测试,以向您展示它与禁用VirtIO-GL/VirGL 3D加速的Proxmox VE 8虚拟机相比的性能如何。