前言:

VGPU 经常玩虚拟机的小伙伴应该不陌生,常见的IntelGVT-G 或者是SR-IOV 都是有的,但是大部分都是在PVE或者是ESXI平台出现,目前来看UNRAID,目前支持的就只有GTV-G,今天我来带大家玩玩 Nvidia的VGPU,但是官方的授权费太贵,所以我们这里使用破解工具,去掉NVIDIA的授权。

  • 配置Vgpu后宿主机将不能在支持PLEX emby等流媒体服务器的硬件加速(编码、解码)
  • 虽然是破解掉了nVidia的官方授权,但是此教程并不是免费赠送给大家我这里需要付费的哦
  • 目前测试可用的显卡 Tesla计算卡 10系列,20系列桌面游戏卡。

更新:

2022年7月22日

修正流程,去掉文件修改方式

2022年9月1日

  • 此教程不再提供更新,封包方式取消,改为插件方式
  • 授权,改为年会员直接赠送

2022年11月25日

  • 本教程内插件,需要授权才可以使用,无授权插件功能是不正常的,本站年会员以上用户,可与我联系进行授权

教程:

在Main-Flash下添加代码:

Intel 是intel_iommu=on

AMD 是amd_iommu=on

这里我是AMD 所以是amd_iommu=on

打开unraid SSH命令窗口,输入:mdevctl types 查看显卡支持的分配方式!

这里我使用nvidia-65的配置。

nano /etc/vgpu_unlock/profile_override.toml

[profile.nvidia-65]
num_displays = 1
display_width = 1920
display_height = 1080
max_pixels = 2073600
cuda_enabled = 1
frl_enabled = 120
pci_id = 1c3010de
pci_device_id = 1c30

这里,我使用的显卡是P4,如果是P4 可以照抄,如果不是可以访问gpu-z 查询和你显卡核心同代显卡的ID 修改。

这里1C30是NVIDIA P2000的 P4是帕奇卡架构。

使用uuidgen生成新的UUID 并记录下来,注意 如果是开一个虚拟机就生成一个,如果是多个,就要对应虚拟机数量生成uuid。

拿到ID后,使用命令把ID 写入到nvidia-65的配置中:

mdevctl start -u aff2fcbf-3b68-4d2a-8919-f4a2a9ac6901 -p 0000:41:00.0 -t nvidia-65

-U 后面的是uuidgen生成的uuid -P 后面的是显卡的地址,可以使用nvidia-smi获取 -t后面是mdevctl types输出的vgpu类型。

mdevctl start -u aff2fcbf-3b68-4d2a-8919-f4a2a9ac6901 -p 0000:41:00.0 -t nvidia-65写入到/boot/config/Nvmdev 有几个UUID 就写多少个,一行一个。

这里需要注意,要加sleep 5 就是等待5S的意思。

配置虚拟机:

配置的虚拟机,可以是已经安装好的,或者是新建的,打开虚拟机配置界面,找到XML模式

<hostdev mode='subsystem' type='mdev' managed='no' model='vfio-pci' display='off'>
  <source>
     <address uuid='9d046154-52a6-4c84-88a1-b5ae0a621a10'/>
  </source>
  <alias name='hostdev0'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
</hostdev>
 <qemu:commandline>
   <qemu:arg value='-set'/>
   <qemu:arg value='device.hostdev0.x-pci-vendor-id=0x10DE'/>
   <qemu:arg value='-set'/>
   <qemu:arg value='device.hostdev0.x-pci-device-id=0x1c30'/>
   <qemu:arg value='-set'/>
   <qemu:arg value='device.hostdev0.x-pci-sub-vendor-id=0x10DE'/>
   <qemu:arg value='-set'/>
   <qemu:arg value='device.hostdev0.x-pci-sub-device-id=0x1c30'/>
   <qemu:arg value='-set'/>
   <qemu:arg value='device.hostdev0.driver=vfio-pci-nohotplug'/>
   <qemu:arg value='-uuid'/>
   <qemu:arg value='9d046154-52a6-4c84-88a1-b5ae0a621a10'/>
  </qemu:commandline>

两端代码,按照图片内容加入到虚拟机,之后启动虚拟机安装驱动,这里我提供一个驱动包,在完成驱动安装后,如果不需要VNC的情况下,可以按照下面的图片进行删除配置文件内部分内容删掉VNC.

完成后效果:

结尾:

过程操作,有点复杂,有啥不理解的地方,可以在Q群里喊我。

发表回复

后才能评论

评论(10)