QRSK(I5-10500ES/不显)在PVE下开启GVT-G并直通给群晖人脸识别及emby硬解等
前言:埋坑
一、PVE的准备工作(以下均为博主自己实际情况,若能明白都是什么作用可自行按需调整)
1.开启iommu和GVT-g支持
编辑/etc/default/grub
将GRUB_CMDLINE_LINUX_DEFAULT="quiet"这一行修改成
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt i915.enable_gvt=1"
修改完成后运行
update-grub
2.加载直通内核模块
编辑/etc/modules
添加以下内容
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
kvmgt
修完完成后运行
update-initramfs -u
3.重启PVE验证GVT-G模型是否开启
终端输入以下命令查看是否出i915-GVTg_V5等模型,若没出现请检查BIOS是否开启虚拟化以及上述1、2步操作,若出现GVTG模型只有一个,可能是BIOS DVMT等值过小。详情可点击本文字参考其它博主介绍及操作
ls /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/ #换成自己的核显设备pcieID即为0000:00:02.0
二、Q35模型+DSM7.2直通GVT-G,Synology Photos人脸识别及硬解等
1、在PVE终端下操作
确保先复原任何过往在群晖做过的GVT-G或显卡直通等操作,在进行以下操作
依次输入以下内容,每行内容此处不做解释感兴趣可自行去了解一下
mkdir /var/lib/vz/snippets/
cp /usr/share/pve-docs/examples/guest-example-hookscript.pl /var/lib/vz/snippets/Dsm_i915-GVTg_V5_2.pl
随后编辑/var/lib/vz/snippets/Dsm_i915-GVTg_V5_2.pl
然后在 pre-start
部分,增加以下代码(此处核显设备ID和gvt模型请根据自己实际情况调整)
system("echo 9a5b4b67-bed5-4768-8af0-03ee9c227571 > /sys/devices/pci0000:00/0000:00:02.0/mdev_supported_types/i915-GVTg_V5_2/create");
在 post-stop
部分,增加以下代码(此处核显设备ID和根据自己实际情况调整)
system("echo 1 > /sys/devices/pci0000:00/0000:00:02.0/9a5b4b67-bed5-4768-8af0-03ee9c227571/remove");
最终两处如下所示
pre-start处
if ($phase eq 'pre-start') {
# First phase 'pre-start' will be executed before the guest
# is started. Exiting with a code != 0 will abort the start
print "$vmid is starting, doing preparations.\n";
system("echo 9a5b4b67-bed5-4768-8af0-03ee9c227571 > /sys/devices/pci0000:00/0000:00:02.0/mdev_supported_types/i915-GVTg_V5_2/create");
# print "preparations failed, aborting."
# exit(1);
post-stop处
} elsif ($phase eq 'post-stop') {
# Last phase 'post-stop' will be executed after the guest stopped.
# This should even be executed in case the guest crashes or stopped
# unexpectedly.
print "$vmid stopped. Doing cleanup.\n";
system("echo 1 > /sys/devices/pci0000:00/0000:00:02.0/9a5b4b67-bed5-4768-8af0-03ee9c227571/remove");
编辑群晖虚拟机配置文件vi /etc/pve/qemu-server/103.conf(此处103是博主自己的群晖虚拟机编号自行调整)
在最开始处添加以下内容,其余的请不要做任何修改(此处pciID显卡模型脚本名字请自行对应自己刚所设置的)
args: -device vfio-pci,addr=0x02,sysfsdev=/sys/devices/pci0000:00/0000:00:02.0/9a5b4b67-bed5-4768-8af0-03ee9c227571
hookscript: local:snippets/Dsm_i915-GVTg_V5_2.pl
2、在群晖下操作
进入群晖web界面,进入控制面板-终端机和SNMP-勾选启用SSH-保存(所有步骤完成后可以回来关闭此选项)
进入控制面板-共享文件夹新建“nas-tmp”共享文件夹。完成后打开File Station找到刚才新建的“nas-tmp”右键属性查看位置并记下来。(例如博主这里是/volume1/nas-tmp)
随后打开群晖SSH终端
输入以下内容
使用管理员登陆
sudo -i
cp /usr/lib/modules/i915.ko /usr/lib/modules/i915.ko.bak #备份一下原来的,若后期复原自行复原
cp /usr/lib/modules/i915.ko /volume1/nas-tmp
随后前往web面板中File Station,打开nas-tmp文件夹回看到一个i915.ko文件下载到windows电脑本地
使用SynologyVGPUTools工具修改刚才下载的文件i915.ko文件,博主这里的核显设备型号是9BC8(QRSK)完成后前往windows电脑的C盘找到I915.ko覆盖上传到刚才的“nas-tmp”文件夹
然后回到刚才的SSH终端接着输入以下内容
cp /volume1/nas-tmp/i915.ko /usr/lib/modules/
chmod 644 /usr/lib/modules/i915.ko
完成上述操作后重启群晖自行检查人脸识别及硬解等
三、其他事项及参考文章等
参考链接及部分文件来源
Proxmox VE 虚拟群晖 gvt-g人脸识别解决方案 | VAY冬冬 笔记 (vay1314.top)
DS918+和DS920+群晖系统快速制作核显补丁的教程 - GXNAS博客
绕开BIOS限制修改显存使GVT-g实现更多vGPU_aperture size-CSDN博客
若其他一些细节未提及或其他问题可留言
评论区