- BIOS设置
在 BIOS 把 Primary/Initial Display 设为 IGPU(核显)
- 开启硬件直通
获取root权限,输入用户密码变为root用户
sudo -i
编辑grub文件
nano /etc/default/grub
在GRUB_CMDLINE_LINUX_DEFAULT的后双引号前添加下列内容
intel_iommu=on iommu=pt
更新grub文件
update-grub
修改内核modules文件
nano /etc/initramfs-tools/modules
在最后增加以下内容
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
更新内核文件后手动重启
update-initramfs -u -k all
若出现报错类似
W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915
前往https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/下载对应文件放入对应路径即可解决
- 绑定Intel A380独显到vfio
获取root权限
sudo -i
查看核显与独显是否正常识别,并记录Intel A380独显的PCI ID
lspci -nnk | grep -i intel
可以看到
03:00.0 VGA compatible controller [0300]: Intel Corporation DG2 [Arc A380] [8086:56a5] (rev 05)
04:00.0 Audio device [0403]: Intel Corporation DG2 Audio Controller [8086:4f92] Kernel modules: snd_hda_intel
其中8086:56a5和8086:4f92就是Intel A380独显的PCI ID
将vfio绑定添加到grub中
nano /etc/default/grub
在GRUB_CMDLINE_LINUX_DEFAULT中的immou后面添加以下内容
vfio-pci.ids=8086:56a5,8086:4f92
更新grub文件以确保配置生效
update-grub
- 添加软依赖确保vfio优先调用独显
确认i915是模块而不是内建(built-in),因为softdep 只对“模块”有效
modinfo i915 | head -n1
添加i915的softdep配置,让它在加载前先加载vfio-pci
echo "softdep i915 pre: vfio-pci" | tee /etc/modprobe.d/i915-softdep.conf
更新内核文件
update-initramfs -u -k all
重启服务器
- 检查是否正确运行
获取root权限
sudo -i
查看Intel A380独显是否被vfio调用
lspci -k
若Intel A380独显下方显示Kernel driver in use: vfio-pci则代表成功