网址:https://github.com/strongtz/i915-sriov-dkms/blob/master/README.md
记得先查看自己的内核版本:pveversion
PVE主机安装步骤(已测试内核6.5和6.8)
- 克隆此存储库
- 安装构建工具:
apt install build-* dkms
- 安装所需版本的内核和头文件:(对于未签名的内核)。
apt install proxmox-headers-6.8.8-2-pve proxmox-kernel-6.8.8-2-pve
- 切换到克隆存储库的根目录并运行 。
dkms add .
- 执行命令或执行与版本无关的命令。
dkms install -m i915-sriov-dkms -v 2024.08.09 --force
dkms install -m i915-sriov-dkms -v $(cat VERSION) --force
- 完成后,需要调整内核命令行:并更改为 ,或者如果您已经有其他参数,则将其添加到其中。
nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT
intel_iommu=on i915.enable_guc=3 i915.max_vfs=7
- (可选)固定内核版本并通过 更新引导配置。
proxmox-boot-tool
- 要启用 VF,必须设置属性。安装 ,然后执行 ,假设您的 iGPU 在 00:02 总线上。如果没有,请使用它来查找您的 iGPU 所在的 PCIe 总线。
sysfs
sysfsutils
echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 7" > /etc/sysfs.conf
lspci | grep VGA
- 重新启动系统。
- 当系统再次重新启动时,您应该看到 02:00.1 - 02:00.7 下的 VF 数量。同样,假设您的 iGPU 在 00:02 总线上。
- 您可以将 VF 直通到 LXC 或 VM。但是,在任何情况下都不要触摸 PF,即 02:00.0。
PVE 主机安装步骤(已测试内核 6.1 和 6.2)
- 克隆此存储库
- 安装一些工具。
apt install build-* dkms
- 进入存储库,编辑文件,将 更改为 ,然后将 更改为 。保存文件。
dkms.conf
PACKAGE_NAME
i915-sriov-dkms
PACKAGE_VERSION
6.1
- 将存储库的全部内容移动到 。文件夹名称将是 DKMS 包名称。
/usr/src/i915-sriov-dkms-6.1
- 执行命令 。 argument 表示包名称,它应该与包含包内容的文件夹名称相同。 argument 表示我们在 as 中指定的包版本。 即使已经安装了同名的模块,参数也会重新安装模块。
dkms install -m i915-sriov-dkms -v 6.1 --force
-m
-v
dkms.conf
6.1
--force
- 内核模块应该开始构建。
- 完成后,我们需要对内核命令行进行一些更改。 并更改为 'intel_iommu=on i915.enable_guc=3 i915.max_vfs=7',或者如果您已经有其他参数,请添加它。
nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT
- 更新并通过执行和
grub
initramfs
update-grub
update-initramfs -u
- 为了启用 VF,我们需要修改 中的一些变量。安装 ,然后执行 ,假设您的 iGPU 在 00:02 总线上。如果没有,请使用它来查找您的 iGPU 所在的 PCIe 总线。
sysfs
sysfsutils
echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 7" > /etc/sysfs.conf
lspci | grep VGA
- 重新启动系统。
- 当系统再次备份时,您应该看到指定的 VF 数量显示在 02:00.1 - 02:00.7 下。同样,假设您的 iGPU 在 00:02 总线上。
- 您可以将 VF 直通到 LXC 或 VM。但是,在任何情况下都不要触摸 PF,即 02:00.0。