侧边栏壁纸
博主头像
Rd博主等级

  • 累计撰写 9 篇文章
  • 累计创建 6 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

QRSK(10500ES/不显)在PVE下开启GVT-G并直通给群晖人脸识别及emby硬解等202509更新

Rd
Rd
2024-06-03 / 0 评论 / 1 点赞 / 101 阅读 / 10702 字 / 正在检测是否收录...

QRSK(I5-10500ES/不显)在PVE下开启GVT-G并直通给群晖人脸识别及emby硬解等

前言:埋坑

202509更新2.0

一、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人脸识别及硬解等(在202508月后群晖新套件及系统版本中已废弃 详见第三A章节)

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

完成上述操作后重启群晖自行检查人脸识别及硬解等

三A、最新人脸识别情况测试及参考

前言:废弃的第二章节那一步操作的本质目的 就是为了在pve中吧GVT-G模型核显调整到dsm虚拟机内020显卡位置

在 synology photo版本1.8.1 dsm版本7.2.2 型号ds918+测试情况是
1.核显在020的位置 可以识别人脸
2.核显不在020位置 也可以人脸识别
3.两次人脸识别数量不一致,所放图片一致(但图片一次全是JPEG,一次是PNG和JPG混合)
3a.这一轮测试中核显在020识别人脸更少 但是几乎无误判,反而不在020识别更多,但是有几张其实不一致吧但是近似 算误判
5.020位置时用的是jpg和png混合的图片,不在020用的是全JPEG格式
6.不确定图片格式是否造成人脸识别不一致的因素之一,以及是否每次环境变量一致人脸识别都是存在不一致情况,因此我没在测试了。我已经拿到了我想要的结果
存疑:
现今版本是否存在不需要核显一样人脸 不需要修改文件情况下 不需要特定机型 一样达到上面核显不在020位置的效果 因为本质改020就是告诉photo有核显(后续可能会在测试一下机型有无核显是否对人脸识别有影响吧)

个人结论:
结合我对群晖硬件发展历程等
我个人觉得在目前新版本状况下 可以忽略显卡在020的位置人脸识别影响(即在pve网页webui直接添加GVT-G模型即可)
以及大势所趋 可能未来群晖会不在将重心放在photo套件核显优化上

三、其他事项及参考文章等

参考链接及部分文件来源

Proxmox VE 虚拟群晖 gvt-g人脸识别解决方案 | VAY冬冬 笔记 (vay1314.top)

DS918+和DS920+群晖系统快速制作核显补丁的教程 - GXNAS博客

绕开BIOS限制修改显存使GVT-g实现更多vGPU_aperture size-CSDN博客

若其他一些细节未提及或其他问题可留言

1

评论区