I5 13600K PVE虚拟机核显直通+双屏方案+共用键鼠
- 参考资料
- 硬件配置
- 主板:MS-终结者 Z790M D5
- CPU:I5-13600K
- TypeC一线通触摸屏显示器
- HDMI显示器
- 一根DP转TypeC线(注意实际上准确描述是DP视频+TypeC供电+USB触摸转TypeC一线通哦)
- 一更HDMI线
- 准备工作:
- 第一步:查询自己的核显PCI信息
1
2
3lspci -nn | grep -iE "(VGA|Audio)"
00:02.0 VGA compatible controller [0300]: Intel Corporation Raptor Lake-S GT1 [UHD Graphics 770] [8086:a780] (rev 04)
00:1f.3 Audio device [0403]: Intel Corporation Device [8086:7a50] (rev 11) - 第二步:两个ROM文件准备
1
2
3
4
5
6
7
8
9显卡ROM文件
1. 直接使用Github上的gen12_igd.rom(注意,我改了个名字叫:IntelGopDriverGPU.rom)
声卡ROM文件
2. 下载主板的BIOS
3. 将BIOS文件复制到UBU脚本同级目录
4. 使用UBU.bat脚本导出GOP文件:双击UBU.bat,然后按下 2 S 显示成功即可
5. 将IntelGopDriver.efi文件复制到EfiRom.exe同级目录下执行如下命令:
.\EfiRom.exe -f 0x8086 -i 0xa780 -e IntelGopDriver.efi
6. 后续会将命令生成的:IntelGopDriver.rom 文件作为声卡的rom文件 - 第三步:复制
IntelGopDriver.rom
和IntelGopDriverGPU.rom
(实际就是igd项目的gen12_igd.rom
,我就改了个名字)到PVE的/usr/share/kvm/
目录
- 第一步:查询自己的核显PCI信息
- PVE系统修改:通过官方教程开启系统的硬件直通功能(操作前记得开启主板的CPU虚拟化和IOMMU才能成功)
- 第一步:修改启动参数
1
2
3
4vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"
# 可选 initcall_blacklist=sysfb_init 让PVE画面开机后不再输出。
# 建议 pcie_acs_override=downstream,multifunction 增加PCI分组规则,Intel平台基本都要加 - 第二步:增加启动时加载的内核模块
1
2
3
4
5vi /etc/modules
# Passthrough
vfio
vfio_iommu_type1
vfio_pci - 第三步:添加内核模块黑名单
1
2
3vi /etc/modprobe.d/blacklist.conf
blacklist i915
blacklist snd_hda_intel - 第四步:执行命令
1
2
3update-grub
update-initramfs -u -k all
reboot
- 第一步:修改启动参数
- PVE创建虚拟机(一些建议和说明):建议勾选高级选项,可以看到更多选择。尽量使用默认的,因为默认一般情况下都是最稳的。
- 常规选项:全默认。这里可以指定自启动和启动顺序,启动顺序。
- 操作系统选项:全默认。选择安装的系统镜像,注意版本是否对应。
- 系统选项:部分默认。
- SCSI控制器:VirtIO SCSI single 目前性能最好。
- Qemu代理:勾选,不然虚拟机无法通过网页控制。
- BIOS:选择OVMF使用EFI方式。
- 磁盘选项:部分默认。
- 总线:SCSI,性能最好
- 缓存:无缓存,选这个最稳;Write back (不安全),性能最好
- IO Thread:勾选,提高性能
- SSD仿真:SSD就勾选,不是SSD就不勾选
- CPU选项:部分默认。
- 类别:Host,性能最优。
- 启用NUMA:1个CPU不要勾选;2个或以上CPU勾选,优化性能。
- 内存选项:部分默认。
- Ballooning设备:勾选,让内存动态分配。
- 网络选项:部分默认。
- 模型:VirtIO (半虚拟化),性能最优。Intel E1000,免驱网卡。
- 修改虚拟机配置文件:主要参考开源项目说明。
1
2
3args: -set device.hostpci0.addr=02.0 -set device.hostpci0.x-igd-gms=0x2 -set device.hostpci0.x-igd-opregion=on -debugcon file:/root/igd_debug.log -global isa-debugcon.iobase=0x402
hostpci0: 0000:00:02.0,legacy-igd=1,romfile=IntelGopDriverGPU.rom
hostpci1: 0000:00:1f.3,romfile=IntelGopDriver.rom - 双显示器配置
- 触摸屏:普通TypeC接口无法支持视频输出,需要购买DP转TypeC线连接触摸屏,这种线主机端需要接DP(用于显示输出)和TypeC用于供电和触摸。
- 普通:直接连接HDMI即可
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 ItsFated!
评论
ValineGiscus