所有第 5 代或之后(10代为最后支持GVT-g的版本)的 Intel Core 以及 Xeon E3 v4 CPU 都支持Intel 的图形虚拟化技术。该技术套件的一种变体(称为 GVT-g)允许您将英特尔集成 GPU“拆分”为多个虚拟 GPU。使用此功能,您不仅可以为多个虚拟机添加硬件加速。它还允许您保留来自管理程序的视频输出,因为它始终可以访问 iGPU 的一部分。

在 Proxmox 上启用 PCI 直通和 GVT

第 1 步

通过 SSH 登录到您的 Proxmox 节点或通过 Web gui 打开一个 shell。

第 2 步

使用文本编辑器打开您的 GRUB 配置文件(对于 systemd-boot,请参阅Proxmox PCI passthrough 指南)。

nano /etc/default/grub

第 3 步

找到以 开头的行GRUB_CMDLINE_LINUX_DEFAULT

第 4 步:

intel_iommu=on和添加i915.enable_gvt=1到列表参数,例如:

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on i915.enable_gvt=1"`

第 5 步:

保存更改的配置,然后更新 GRUB。

update-grub

步骤 6:

重启 Proxmox 节点。

第 7 步:

重启后,通过 SSH 登录或再次通过 web gui 打开 shell。

第 8 步:

验证您的更改。如果此命令没有产生任何输出,则说明出现问题。

dmesg | grep -e DMAR -e IOMMU

第 9 步:

使用文本编辑器将以下模块添加到/etc/modules

# Modules required for PCI passthrough
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

# Modules required for Intel GVT
kvmgt
exngt
vfio-mdev

第 10 步:

保存更改并重新启动。

将中介/虚拟 GPU 添加到虚拟机

第 11 步

节点重新启动后,再次打开命令行(SSH/web shell)。

第 12 步:

找到 iGPU 的 PCI 地址。

lspci -nnv | grep VGA

这应该会产生类似于以下内容的输出:

00:02.0 VGA compatible controller [0300]: Intel Corporation UHD Graphics 620 (Whiskey Lake) [8086:3ea0] (rev 02) (prog-if 00 [VGA controller])

这里,iGPU 的 PCI 地址是00:02.0。记下那个地址。

第 13 步:

打开 web gui 并导航到Hardware要添加 vGPU 的 VM 选项卡。

第 14 步:

单击Add设备列表上方的 ,然后选择PCI Device

第 15 步:

打开Device下拉菜单并选择 iGPU,您可以使用它的 PCI 地址找到它。请注意,此列表对 PCI 地址使用不同的格式,00:02.0列为0000:00:02.0.

第 16 步:

选择所需的MDev Type. 列出的分辨率仅指 VM 中的最大屏幕分辨率。它们对硬件转码功能没有影响

在硬件转码方面,我真的找不到“更大i915-GTVg_V5_4和更小i915-GTVg_V5_8类型之间的性能差异。除非您打算同时使用该i915-GTVg_V5_8类型的两个实例,否则我只会使用i915-GTVg_V5_4

现在你拥有了来自intel支持的iGPU

参考链接

最后修改:2024 年 01 月 20 日
如果觉得我的文章对你有用,请随意赞赏