前置条件

硬件

仅支持 12 代以后的 cpu

bios 设置

请务必确认是否启用 ★★★★★

  1. Above 4G Enconding
  2. Above 4GB MMIO BIOS assignment
  3. Re-Size Bar
  4. VT-D

确保软件包都是最新的

1
2
apt update
apt upgrade -y

安装 dkms 驱动包相关工具

1
2
apt install -y git build-* dkms
apt install pve-headers-$(uname -r)
设置环境变量
1
2
KERNEL=$(uname -r); KERNEL=${KERNEL%-pve}
echo ${KERNEL}
下载驱动包并修改配置文件
1
2
cd ~
git clone https://github.com/strongtz/i915-sriov-dkms.git

gitee 镜像加速拉取

1
https://gitee.com/ifwwww/i915-sriov-dkms.git
1
2
3
4
cd ~/i915-sriov-dkms

sed -i 's/"@_PKGBASE@"/"i915-sriov-dkms"/g' ~/i915-sriov-dkms/dkms.conf
sed -i 's/"@PKGVER@"/"'"$KERNEL"'"/g' ~/i915-sriov-dkms/dkms.conf
确认修改是否正确
1
cat ~/i915-sriov-dkms/dkms.conf
把驱动包复制到/usr/src目录下
1
2
cp -r ~/i915-sriov-dkms /usr/src/i915-sriov-dkms-$KERNEL
ls /usr/src
进入 dkms 驱动目录查看 dkms 驱动包状态
1
2
3
cd /usr/src/i915-sriov-dkms-$KERNEL
dkms add .
dkms status
编译安装
1
dkms install -m i915-sriov-dkms -v $(cat VERSION) --force

或者

1
dkms install -m i915-sriov-dkms -v 2024.12.28 --force
1
dkms status

MOK 相关设置(仅在 pve 安全启动情况下需要设置)

注册 DKMS 密钥并输入密码 (随意设置 记住即可)

1
2
3

mokutil --import /var/lib/dkms/mok.pub

重启reboot

重启之后自动进入引导界面

需要 pve 接显示器操作
依次选择

1
2
3
4
5
6
7

Enroll MOK
Continue
Yes
输入密码
Reboot

修改 grub

1
2
3

nano /etc/default/grub

找到GRUB_CMDLINE_LINUX_DEFAULT在双引号内添加下面的内容(注意空格)

1
2
3

intel_iommu=on iommu=pt i915.enable_guc=3 i915.max_vfs=7

保存

1
2
3
4
5

ctrl + s
y
回车

更新 grub
1
2
3
4

update-grub
update-initramfs -u -k all

安装 sysfsutils
1
2
3

apt install sysfsutils -y

查看核显所在总线
1
2
3

lspci | grep VGA

核显总线编号一般为00:02.0如果不是则按实际修改
1
2
3

nano /etc/sysfs.conf

1
2
3

devices/pci0000:00/0000:00:02.0/sriov_numvfs = 6

验证

重启系统并验证
1
2
3

lspci | grep VGA

如果看到多个 0000:00:02 设备则代表成功开启

更新

删除/var/lib/dkms/i915-sriov-dkms文件夹

1
2
3

rm -rf /var/lib/dkms/i915-sriov-dkms

重新编译安装

虚拟机设置

创建虚拟机时机型选择,q35,bios 选择 ovmf,显示选择无
直通时不要勾选全部功能,只勾选主 gpu 和 pcie

windows 核显驱动下载地址