PVE8.1+核显gvt-g+黑群晖
介绍一下配置先
- I5 10400
- 惠普Z2 G5 SFF整机(低功率版)
- 24G内存(8G*3)
- 512g sata固态两块,nvme:sn750 512g,长江1T
- PVE8.1+DSM7.2
安装PVE的过程不再赘述,通过DD引导、Ventoy等方式均可以
这里有个注意点,如果使用Ventoy引导的话,记得把Ventoy先更新一下,老版本貌似支持不了PVE8.1的引导,会卡住,更新一下Ventoy版本即可,模式选normal就好了
开启gvtg和iommu
<span class="token function">nano</span> /etc/default/grub <span class="token assign-left variable">GRUB_CMDLINE_LINUX_DEFAULT</span><span class="token operator">=</span><span class="token string">"quiet"</span> <span class="token assign-left variable">GRUB_CMDLINE_LINUX_DEFAULT</span><span class="token operator">=</span><span class="token string">"quiet intel_iommu=on pcie_aspm=off iommu=pt i915.enable_gvt=1"</span> <span class="token function">update-grub</span><span class="token function">nano</span> /etc/default/grub <span class="token assign-left variable">GRUB_CMDLINE_LINUX_DEFAULT</span><span class="token operator">=</span><span class="token string">"quiet"</span> <span class="token assign-left variable">GRUB_CMDLINE_LINUX_DEFAULT</span><span class="token operator">=</span><span class="token string">"quiet intel_iommu=on pcie_aspm=off iommu=pt i915.enable_gvt=1"</span> <span class="token function">update-grub</span>nano /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="quiet" GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on pcie_aspm=off iommu=pt i915.enable_gvt=1" update-grub
修改之后重启,
加载内核直通模块
<span class="token builtin class-name">echo</span> vfio <span class="token operator">>></span> /etc/modules <span class="token builtin class-name">echo</span> vfio_iommu_type1 <span class="token operator">>></span> /etc/modules <span class="token builtin class-name">echo</span> vfio_pci <span class="token operator">>></span> /etc/modules <span class="token builtin class-name">echo</span> vfio_virqfd <span class="token operator">>></span> /etc/modules <span class="token builtin class-name">echo</span> kvmgt <span class="token operator">>></span> /etc/modules update-initramfs <span class="token parameter variable">-u</span><span class="token builtin class-name">echo</span> vfio <span class="token operator">>></span> /etc/modules <span class="token builtin class-name">echo</span> vfio_iommu_type1 <span class="token operator">>></span> /etc/modules <span class="token builtin class-name">echo</span> vfio_pci <span class="token operator">>></span> /etc/modules <span class="token builtin class-name">echo</span> vfio_virqfd <span class="token operator">>></span> /etc/modules <span class="token builtin class-name">echo</span> kvmgt <span class="token operator">>></span> /etc/modules update-initramfs <span class="token parameter variable">-u</span>echo vfio >> /etc/modules echo vfio_iommu_type1 >> /etc/modules echo vfio_pci >> /etc/modules echo vfio_virqfd >> /etc/modules echo kvmgt >> /etc/modules update-initramfs -u
再次重启
按照正常步骤创建虚拟机并直通硬盘等设备
直通核显的操作
虚拟机平台选择Q35,引导方式选择UEFI
在原始设备中找到UHD Graphics 630,选择之后右上角会出现一个MDev类型的选择,根据实际情况进行选择,如下图所示,差不多就没问题
可用数取决于显存大小 ,核显显存大小可以自行进入BIOS调节
开启gvt-g之后显示接口并没有输出,所以不能删除PVE原来的显卡,也不能在PCI设备中将核显设置为主GPU,但是呢,可以先进去设置好,配置好远程桌面软件,然后将pve自带的显示修改为None,实测Windows10微软自己安装的驱动没有出现任何问题,在Ubuntu22.04下,会遇到引导安装ISO报错,(解决方式是虚拟机的选项中关闭ACPI),但是安装到最后依然会报错失败,尝试过先安装好ubuntu再直通核显,并关闭ACPI选项,启动之后非常卡顿,原因未知,TO DO
重点讲黑群晖,黑群晖我使用的是ARC的引导,
-
先把release中最新的img.zip下载到本地并解压,通过PVE web端的iso上传处上传到PVE中
-
创建虚拟机,虚拟机类型选择I440FX,一定要选择这个,不然后面无法直通核显进行DSM的人脸识别等,硬盘控制SCSI single,BIOS引导方式选择UEFI,硬盘可以根据自己情况进行创建,我选择使用RDM直通的方式,将一个512G的固态RDM直通给黑群晖,具体方式可以自行搜索引擎PVE RDM硬盘直通,也可以创建一个存储在lvm中的硬盘给黑群晖,把添加的硬盘设置为SATA0,依次递增
-
进入PVE的SHELL中
<span class="token builtin class-name">cd</span> /var/lib/vz/template/iso/ qm disk <span class="token function">import</span> <span class="token number">101</span> arc.img local-lvm<span class="token builtin class-name">cd</span> /var/lib/vz/template/iso/ qm disk <span class="token function">import</span> <span class="token number">101</span> arc.img local-lvm
cd /var/lib/vz/template/iso/ qm disk import 101 arc.img local-lvm
-
回到PVE的界面,将刚才导入的引导磁盘挂载到SATA5,挂载到后面可以避免PVE误认该盘也是为存储盘,同时添加PCI设备,选择刚刚的核显,选择适合的MDev类型,点开高级选项,主GPU不要勾选,剩下两个都勾上
设备id修改为0x3E91,左边这个设备id改为这个
-
再次进入SHELL,输入如下指令
qm <span class="token builtin class-name">set</span> <span class="token number">101</span> <span class="token parameter variable">-args</span> <span class="token string">"-set device.hostpci0.addr=0x02 -set device.vga.addr=0x10"</span> <span class="token function">cat</span> /etc/pve/qemu-server/101.confqm <span class="token builtin class-name">set</span> <span class="token number">101</span> <span class="token parameter variable">-args</span> <span class="token string">"-set device.hostpci0.addr=0x02 -set device.vga.addr=0x10"</span> <span class="token function">cat</span> /etc/pve/qemu-server/101.conf
qm set 101 -args "-set device.hostpci0.addr=0x02 -set device.vga.addr=0x10" cat /etc/pve/qemu-server/101.conf
-
选项中。引导选项将刚刚创建的SATA5的那个盘勾选上并拖动到上面
-
启动后进入ARC引导,选择Config Mode
-
等待出现选择框,选择Choose Model,6-10代,选择DS918+或者DS1019+,我这里选择的是DS1019+,如果没有出现的话,在下面选择 Show incompetible Models,再选择这俩型号,具体别的型号可以参考别的教程,版本选择7.2,其余可按照如下选择,插件默认选择即可直接OK下一步,其中图中最后一步 Arc Disks可以根据情况选择不同的,不然后面可能会遇到报错
-
然后直接一路下一步,有个填写地址的地方可以根据自己的需要填写地址,global源可能会比较慢,可以自己去群晖官网看一下,换一个国内的镜像,修改前面的地址即可
参考地址 https://cndl.synology.cn/download/DSM/release/
-
下一步等待重启之后,看显示的IP地址,登陆进群晖后台,根据提示下载PAT文件进行上传,如果在安装过程中提示**“DSM安装失败,文件已损毁”**,如下图
我的遇到过两次,一次的原因应该是因为我动了硬盘,然后重新上面build一个引导即可,还有一次原因后来发现是Arc Disks类型选择不对,通常推荐选择上面带星号的,即官方推荐的,可以多尝试几个试试看
-
成功安装之后按照自己需求安装相关套件即可,可以在控制面板中打开SSH功能,通过SSH连接上去,通过ls /dev/dri查看是否有card0 render等相关字眼,出现相关内容即核显正常,同时这里还有一个关键点,PVE可以设置PCI设备ID,10代处理器用户需要在这里设置PCI设备的设备ID为0X3E91,如下图所示,不然核显无法正常运行,如下图所示
-
最后可以自己SSH进群晖检查一下,如下就是正常的
lspci ………… 0000:00:02.0 Class 0300: Device <span class="token number">8086</span>:3e91 <span class="token punctuation">(</span>rev 03<span class="token punctuation">)</span> ………… <span class="token function">ls</span> /dev/dri by-path card0 renderD128 :3e91 <span class="token punctuation">(</span>rev 03<span class="token punctuation">)</span> ………… <span class="token function">ls</span> /dev/dri by-path card0 renderD128lspci ………… 0000:00:02.0 Class 0300: Device <span class="token number">8086</span>:3e91 <span class="token punctuation">(</span>rev 03<span class="token punctuation">)</span> ………… <span class="token function">ls</span> /dev/dri by-path card0 renderD128 :3e91 <span class="token punctuation">(</span>rev 03<span class="token punctuation">)</span> ………… <span class="token function">ls</span> /dev/dri by-path card0 renderD128lspci ………… 0000:00:02.0 Class 0300: Device 8086:3e91 (rev 03) ………… ls /dev/dri by-path card0 renderD128 :3e91 (rev 03) ………… ls /dev/dri by-path card0 renderD128
最后查看一下正常的结果
原文链接:https://blog.csdn.net/m0_63529939/article/details/136353982?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522399f3c4932d4197e693ce4f6d49005e4%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=399f3c4932d4197e693ce4f6d49005e4&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-4-136353982-null-null.nonecase&utm_term=%E9%BB%91%E7%BE%A4%E6%99%96%E9%95%9C%E5%83%8F