Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!
简单先描述一下效果
unraid虚拟机安装有windows/Ubuntu/黑苹果等系统。
docker安装有PLEX/EMBY/JELLYFIN等需要核显硬解的流媒体服务器
我想同时使用docker硬解输出,又能让我的虚拟机的系统能直接物理输出显示在我的屏幕上,并且这个系统还同样能让iGPU参与解码播放4k视频,这个系统在我想用的时候,我就让他开着,不想用省点电或者其他情况,又能随时关机互不影响。
序:
前年unraid大火以后,开始对家庭网络开始大整改搬家,同时也重新铺设了基础家庭千兆网络系统
那时候拔了外网好多文章,写了一篇关于如何实现igpu核显实现外接显示器,同时能满足jellyfin硬解的文章,当时还只是停留在使用vbios的rom来实现虚拟机显卡输出到物理屏幕的,但是并不完美
不久之后, ich777大佬发布了i-GVT-G插件,简直是我等菜鸡福音...
我这篇文章之前,也有大佬写过相关利用该插件实现方法,
我在此更多的是记录下我自己更具体的实现过程和效果,献丑了
进入正题:
需要用到的装备:
一台安装有unraid系统的主机
核显要求:
5-10代英特尔集显 或 E3-v4, E3_v5, E3_v6, E-2xxx, W-12xx, W10xxx 等
1-N台显示器,HDMI线
1个支持displaylink的USB HUB
这个转接器是——必须要支持displaylink,必须要支持displaylink,必须要支持displaylink .这个刚见过这名词的时候,就比较难选,其实就是他的芯片是displaylink认证支持的,官网地址,上面有参数,可以自行查找哪些品牌支持.
但是这玩意儿,出的产品都很早,而且他最大作用是在黑苹果相关的骚操作上,有些旧的型号就很难买的到.
一开始,我搜索了国内各大电商网站,发现没有理想又便宜的,后来去某鱼找,找到比较满意的是-绿联40229,还 有wavlink的几款,但是都不太满意,要么只能支持1080P,要么价格太贵,
翻了2天某鱼,最后很偶然的,被我捡了个大漏,买到了下面这款,150搞定,2个USB口,2个视频输出 (HDMI+VGA,两个同时插只能1080p),还有个USB读卡器附赠,简直美滋滋有没有
建议你们想要买这个设备的人,去亚马逊或者外网找找
找到型号以后,再回国内某鱼上捡漏看看有没有合适的
实在没有,那最好的选择可能就是绿联40229,USB3.0,支持2K输出.某鱼上价格150左右可以买到全新的.
尽量选择这种不用额外供电的,有些需要供电的设备其实更便宜,50-100可以拿下.但是又大又需要额外插头,个人不太喜欢.
正式开整:
0.先接上准备好的设备
我又两个显示器,一个直接接在主板上,命令行操作备用
另一个主显示器接在HUB上,然后接到USB3.0接口就行
祭上之前捡垃圾120捡到的十多寸1080P的小显示器,平时偶尔备用,操作下bios
1.主板设置
我的主板是技嘉H370N,CPU是8600T
开启VT-d,设置aperture size选项
主板开启VT-d,aperture Size选择1024MB,我设置2GB开启黑屏,只能到1GB最大
选择输出选项改成核显:IGFX
IGFX是CPU集显或者主板集显 , PCIe是PCI接口的独显,我没有独显,这里选择IGFX
保存BIOS,重启进入系统
2.UNRAID设置
商店搜索"GPU",安装好这3个插件
Intel-GVT-g 是本功能核心插件,另外两个安装好后,仪表板页面可以显示GPU情况
安装完成后先不要设置插件分配核显,需要先配置好虚拟机.!
插件安装完成.修改
关闭宿主显卡相关功能
/boot/config/go 文件中删除modprobe i915之类的显卡相关命令.
启动U盘的Syslinux 配置里不要直通显卡,删除相关字段
如果之前开启了显卡直通,务必在 工具-系统设备 中取消显卡直通,直通的核显一般都是带有像我这样 "UHD Graphics 630" 字样的
重启UNRAID
3.Docker设置
docker的流媒体服务器,只要添加变量"/dev/dri",然后在设置中开启相关硬解选项即可
参考其他大佬的PLEX/EMBY/JELLYFIN硬解设置教程即可,这里不赘述
4.windows虚拟机设置
我选择的是 win10 LTSC 2021版 ,自行搜索选择喜欢的
没有安装 Libvirt Hotplug USB 插件的,提前安装好,可以热加载USB设备
虚拟机重点选项说明提醒:
选择Q35机型,不要使用i440f0x
选择OVMF,以防后续万一出现43错误,减少不必要的麻烦
配置好 操作系统安装 ISO 和 VirtIO 驱动程序 ISO 的路径
显卡默认VNC即可,设务必不要选择集显为输出,
勾选USB设备里的USB HUB,我这里显示的是 DisplayLink Mini_Dock
先取消勾选创建后启动虚拟机,点击创建
打开插件页面 设置 - Intel GVT-g
选择你希望分配的显存大小,我的内存有32G,直接选择最大号,后面选择你刚创建的win10虚拟机
完成以上配置后,启动虚拟机,打开VNC
5.安装windows驱动
进入VNC,安装好win10,安装虚拟光驱( VirtIO 驱动程序 ISO)里的驱动,win10一般都会自动安装相关显卡声卡等驱动,不行就上驱动精灵
此处略过以上基础win10装机的相关操作...
如果你系统没有自动安装displaylink的驱动,可以去你相关的转接器的品牌官网找驱动
或者直接上displaylink官网下载最新驱动. 点击前往官网地址
安装完成后重启
6.输出物理显示器
前面安装完所有驱动重启以后,接下来是最终要的一步,输出到物理显示器.
桌面空白处 右键 - 显示设置
显示1 是我的VNC, 显示2 是虚拟出的igpu, 显示3 就是插上去的USB HUB
VNC可要可不要,可以在虚拟机设置中,用XML模式删除相关代码,这里不赘述
我这里先保留VNC,所以不动 显示1 , 只需要选择 复制2和3的桌面 ,并且勾选 设为主显示器
点击 确定 - 按TAB建 - 回车键
完成 !
下面说下个人日常的小操作,感觉挺方便的
日常不开启虚拟机的时候,小显示器会显示宿主unraid的命令行界面(可以去淘一个键盘和鼠标合一功能的飞鼠,以防备用)
登录root账户以后,在命令行输入
virsh start XXXX - XXXX是你的虚拟机名称
就可以直接启动相关虚拟机,等待片刻,就能显示出来了(记得开启windows免密登录更方便),看看效果
大显示器直接物理输出win10虚拟机界面,小显示器依然可以显示命令行,相互分离
日常使用windows的时候,就和普通物理机一样正常使用
测试下效果如何
打开油管,测试一个4k视频看看解码情况
可以看到GPU正常跳动,设备管理器显卡都能正常认出,CPU负载正常,油管10w播放4k
日常可以办公,看股票,刷视频,接上我的BOSE可蓝牙,可AUX连接,当个播放器也行,美滋滋
感谢观看,
如果对你有用,或者有其他更好的方案,欢迎一起探讨!
参考:
https://forums.unraid.net/topic/108650-plugin-intel-gvt-g/
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~






















校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案