UNRAID直通UHD630核显给虚拟机踩坑

没独立显卡直通玩了,哭泣😭
那就给把核显从emby里撕开拿出来给虚拟机吧

安装流程

1.系统设备中勾选核显绑定并重启
2.新建虚拟机并安装(Q35还是I440FX都行)安装win10并开启远程访问
3.删除vnc显卡,添加UHD630核显
4.运气好开机正常安装驱动就能运行

我遇到以下坑

安装完系统自动更新驱动并报错代码43(推荐先尝试此方法)

先看结论: I440FX默认支持最新(31.0.101.xxxx) Q35只支持(26.20.100.7870)
根据情况安装对应版本驱动,安装完毕后就能正常驱动不会报错43
无需添加vbios

更换驱动还报错代码43

试试添加此vbios即可正常安装驱动使用

正常驱动后系统内存占满

这个貌似是驱动问题,关闭虚拟机在xml文件中做小小修改
libvirt 8.2.0+以上 差不多就是unriad6.10开始的版本(后续版本无此问题)
要给核显添加名称,并添加对应参数

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
      </source>
      <alias name='ua-igpu'/> #给核显添加名称
      <rom file='/mnt/user/isos/vbios/i915ovmf.rom'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </hostdev>
    <memballoon model='none'/>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'/>
  #这开始添加如下代码能修正系统内存占满问题
  <qemu:override>
    <qemu:device alias='ua-igpu'>
      <qemu:frontend>
        <qemu:property name='x-igd-opregion' type='bool' value='true'/>
        <qemu:property name='x-igd-gms' type='unsigned' value='1'/>
      </qemu:frontend>
    </qemu:device>
  </qemu:override>