前置条件

硬件

仅支持 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
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
2
dkms install -m i915-sriov-dkms -v $KERNEL -k $(uname -r) --force -j 4
dkms status

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

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

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

重启reboot

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

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

1
2
3
4
5
Enroll MOK
Continue
Yes
输入密码
Reboot

修改 grub

1
nano /etc/default/grub

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

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

保存

1
2
3
ctrl + s
y
回车
更新 grub
1
2
update-grub
update-initramfs -u -k all
安装 sysfsutils
1
apt install sysfsutils -y
查看核显所在总线
1
lspci | grep VGA
核显总线编号一般为00:02.0如果不是则按实际修改
1
nano /etc/sysfs.conf
1
devices/pci0000:00/0000:00:02.0/sriov_numvfs = 6

验证

重启系统并验证
1
lspci | grep VGA

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

虚拟机设置

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

windows 核显驱动下载地址