PVE通过i915驱动直通Intel核显
发布时间:2026-10-09 | 浏览:1
Step0 准备工作 打开BIOS中的 VT-d(此功能没有麻烦点赞看看别的) 和 SR-IOV(此功能没有不能虚拟多个子显卡) 功能 禁用安全启动:BIOS设置来禁用安全启动!!!
打开BIOS中的 VT-d(此功能没有麻烦点赞看看别的) 和 SR-IOV(此功能没有不能虚拟多个子显卡) 功能
打开BIOS中的 VT-d(此功能没有麻烦点赞看看别的) 和 SR-IOV(此功能没有不能虚拟多个子显卡) 功能
禁用安全启动:BIOS设置来禁用安全启动!!!
禁用安全启动:BIOS设置来禁用安全启动!!!
Step1 克隆项目仓库 apt-get update #更新软件列表 apt install git #安装git克隆工具 cd /home git clone https://github.com/strongtz/i915-sriov-dkms.git #克隆i915驱动
apt-get update #更新软件列表
apt-get update #更新软件列表
apt install git #安装git克隆工具
apt install git #安装git克隆工具
git clone https://github.com/strongtz/i915-sriov-dkms.git #克隆i915驱动
git clone https://github.com/strongtz/i915-sriov-dkms.git #克隆i915驱动
Step2 安装编译工具 命令行如下: apt install build-* dkms
命令行如下: apt install build-* dkms
命令行如下: apt install build-* dkms
Step3 安装所需版本的内核和头文件 确认PVE版本: uname -r
Step3 安装所需版本的内核和头文件
确认PVE版本: uname -r
确认PVE版本: uname -r
此处版本号:6.8.4-2-pve 后续命令需要与之相同
安装内核和头文件,注意版本号与上图对应: apt install proxmox-headers- 6.8.4-2-pve proxmox-kernel- 6.8.4-2-pve
安装内核和头文件,注意版本号与上图对应: apt install proxmox-headers- 6.8.4-2-pve proxmox-kernel- 6.8.4-2-pve
Step4 切换到克隆存储的主目录并生成框架 命令行如下: cd /home/i915-sriov-dkms dkms add . #此处注意命令行中的" . "
Step4 切换到克隆存储的主目录并生成框架
命令行如下: cd /home/i915-sriov-dkms dkms add . #此处注意命令行中的" . "
命令行如下: cd /home/i915-sriov-dkms dkms add . #此处注意命令行中的" . "
Step5 执行命令,安装i915驱动 dkms install -m i915-sriov-dkms -v 2024.09.21 --force
Step5 执行命令,安装i915驱动 dkms install -m i915-sriov-dkms -v 2024.09.21 --force
Step6 重新修改内核 命令行如下: nano /etc/default/grub 修改内容如下: GRUB_CMDLINE_LINUX_DEFAULT 的值 变更为: quiet intel_iommu=on iommu=pt i915.enable_guc=4 i915.max_vfs=7
命令行如下: nano /etc/default/grub
命令行如下: nano /etc/default/grub
修改内容如下: GRUB_CMDLINE_LINUX_DEFAULT 的值 变更为: quiet intel_iommu=on iommu=pt i915.enable_guc=4 i915.max_vfs=7
修改内容如下: GRUB_CMDLINE_LINUX_DEFAULT 的值 变更为: quiet intel_iommu=on iommu=pt i915.enable_guc=4 i915.max_vfs=7
quiet : 这个参数告诉内核在启动时不要显示太多的信息,即静默启动。这样在启动过程中就不会显示过多的内核消息,使得启动过程看起来更简洁。
quiet : 这个参数告诉内核在启动时不要显示太多的信息,即静默启动。这样在启动过程中就不会显示过多的内核消息,使得启动过程看起来更简洁。
iommu=pt : 这个参数启用了Passthrough模式的IOMMU(输入输出内存管理单元)。IOMMU是一种硬件技术,用于改善虚拟化环境中设备直通的效率,允许虚拟机直接访问物理设备,从而提升性能。 pt 代表“passthrough”,即直通模式。
iommu=pt : 这个参数启用了Passthrough模式的IOMMU(输入输出内存管理单元)。IOMMU是一种硬件技术,用于改善虚拟化环境中设备直通的效率,允许虚拟机直接访问物理设备,从而提升性能。 pt 代表“passthrough”,即直通模式。
intel_iommu=on : 这个参数专门针对Intel处理器,启用VT-d技术,即Intel的IOMMU技术。这允许虚拟机直接访问PCI设备,提高了虚拟化的性能和安全性。
intel_iommu=on : 这个参数专门针对Intel处理器,启用VT-d技术,即Intel的IOMMU技术。这允许虚拟机直接访问PCI设备,提高了虚拟化的性能和安全性。
i915.enable_guc= 4 : 这个参数与Intel的集成显卡有关。 i915 是Intel集成显卡的内核驱动程序, enable_guc (Graphics Unit Control)设置为 3 通常意味着启用了GUC子系统,并且配置为使用所有可用的资源。GUC可以提高显卡的性能,特别是在虚拟化环境中。
i915.enable_guc= 4 : 这个参数与Intel的集成显卡有关。 i915 是Intel集成显卡的内核驱动程序, enable_guc (Graphics Unit Control)设置为 3 通常意味着启用了GUC子系统,并且配置为使用所有可用的资源。GUC可以提高显卡的性能,特别是在虚拟化环境中。
i915.max_vfs=7 : 这个参数同样与Intel的集成显卡有关,它设置了最大虚拟函数(Virtual Functions)的数量。在虚拟化环境中,这可以允许多个虚拟机共享同一个物理显卡,每个虚拟机使用一个虚拟函数。
i915.max_vfs=7 : 这个参数同样与Intel的集成显卡有关,它设置了最大虚拟函数(Virtual Functions)的数量。在虚拟化环境中,这可以允许多个虚拟机共享同一个物理显卡,每个虚拟机使用一个虚拟函数。
主板不支持SR-IOV的此步无法激活多个子通道
Step7 为了启用VFs,需要配置sysfs
Step7 为了启用VFs,需要配置sysfs
内核 6.1 和 6.2 的需要额外执行以下命令行: update-grub update-initramfs -u
内核 6.1 和 6.2 的需要额外执行以下命令行: update-grub update-initramfs -u
安装 sysfsutils ,命令行如下: apt install sysfsutils
安装 sysfsutils ,命令行如下: apt install sysfsutils
然后修改sysfs.conf文件的配置信息
然后修改sysfs.conf文件的配置信息
需要先确认显卡的地址通道,命令如下: lspci | grep VGA
需要先确认显卡的地址通道,命令如下: lspci | grep VGA
通道地址: 00:02.0 需要与后续命令匹配
执行命令行: echo "devices/pci0000:00/0000: 00:02.0 /sriov_numvfs = 7" > /etc/sysfs.conf
执行命令行: echo "devices/pci0000:00/0000: 00:02.0 /sriov_numvfs = 7" > /etc/sysfs.conf
Step8 重启,直通成功 支持SR-IOV的可以看到显卡地址下有多个子通道 这样就可以通过添加主通道和子通道给不同虚拟机和LXC容器了。 我的主板不支持SR-IOV,所以没有截图了。。。 祝各位小伙伴都顺利直通显卡!!!
Step8 重启,直通成功 支持SR-IOV的可以看到显卡地址下有多个子通道 这样就可以通过添加主通道和子通道给不同虚拟机和LXC容器了。 我的主板不支持SR-IOV,所以没有截图了。。。 祝各位小伙伴都顺利直通显卡!!!
项目驱动:可在github上搜索strongtz/i915-sriov-dkms
dpkg --get-selections |grep kernel #查询内核
apt remove pve-坏内核 #删除对应坏内核
apt install pve-kernel-6.8.12-2-pve #安装对应版本内核
update-grub #更新引导