Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!

2022-05-25 10:37:01 27点赞 229收藏 60评论

简单先描述一下效果

unraid虚拟机安装有windows/Ubuntu/黑苹果等系统。

docker安装有PLEX/EMBY/JELLYFIN等需要核显硬解的流媒体服务器

我想同时使用docker硬解输出,又能让我的虚拟机的系统能直接物理输出显示在我的屏幕上,并且这个系统还同样能让iGPU参与解码播放4k视频,这个系统在我想用的时候,我就让他开着,不想用省点电或者其他情况,又能随时关机互不影响。

序:

前年unraid大火以后,开始对家庭网络开始大整改搬家,同时也重新铺设了基础家庭千兆网络系统

那时候拔了外网好多文章,写了一篇关于如何实现igpu核显实现外接显示器,同时能满足jellyfin硬解的文章,当时还只是停留在使用vbios的rom来实现虚拟机显卡输出到物理屏幕的,但是并不完美

Unraid下,单核显IGPU实现win10外接显示屏不黑屏,兼顾jellyfin追加修改(2022-05-2422:37:39):完美方案移步https://post.smzdm.com/detail_preview/apv7l397/------------------------------------------------------------------------小呀么小瓯北| 28 评论88 收藏208查看详情

不久之后, ich777大佬发布了i-GVT-G插件,简直是我等菜鸡福音...

我这篇文章之前,也有大佬写过相关利用该插件实现方法,

我在此更多的是记录下我自己更具体的实现过程和效果,献丑了Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!

进入正题:

需要用到的装备:

  • 一台安装有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认证支持的,官网地址,上面有参数,可以自行查找哪些品牌支持.

但是这玩意儿,出的产品都很早,而且他最大作用是在黑苹果相关的骚操作上,有些旧的型号就很难买的到.

Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!

一开始,我搜索了国内各大电商网站,发现没有理想又便宜的,后来去某鱼找,找到比较满意的是-绿联40229,还 有wavlink的几款,但是都不太满意,要么只能支持1080P,要么价格太贵,

翻了2天某鱼,最后很偶然的,被我捡了个大漏,买到了下面这款,150搞定,2个USB口,2个视频输出 (HDMI+VGA,两个同时插只能1080p),还有个USB读卡器附赠,简直美滋滋有没有

Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!

建议你们想要买这个设备的人,去亚马逊或者外网找找

找到型号以后,再回国内某鱼上捡漏看看有没有合适的

实在没有,那最好的选择可能就是绿联40229,USB3.0,支持2K输出.某鱼上价格150左右可以买到全新的.

尽量选择这种不用额外供电的,有些需要供电的设备其实更便宜,50-100可以拿下.但是又大又需要额外插头,个人不太喜欢.

Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!

正式开整:

0.先接上准备好的设备

我又两个显示器,一个直接接在主板上,命令行操作备用

另一个主显示器接在HUB上,然后接到USB3.0接口就行

Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!

祭上之前捡垃圾120捡到的十多寸1080P的小显示器,平时偶尔备用,操作下bios

Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!

1.主板设置

我的主板是技嘉H370N,CPU是8600T

  • 开启VT-d,设置aperture size选项

主板开启VT-d,aperture Size选择1024MB,我设置2GB开启黑屏,只能到1GB最大

Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!

  • 选择输出选项改成核显:IGFX

IGFX是CPU集显或者主板集显 , PCIe是PCI接口的独显,我没有独显,这里选择IGFX

Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!

  • 保存BIOS,重启进入系统


2.UNRAID设置

  • 商店搜索"GPU",安装好这3个插件

Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!

Intel-GVT-g 是本功能核心插件,另外两个安装好后,仪表板页面可以显示GPU情况

安装完成后先不要设置插件分配核显,需要先配置好虚拟机.!

插件安装完成.修改

  • 关闭宿主显卡相关功能

/boot/config/go 文件中删除modprobe i915之类的显卡相关命令.

启动U盘的Syslinux 配置里不要直通显卡,删除相关字段

Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!

如果之前开启了显卡直通,务必在 工具-系统设备 中取消显卡直通,直通的核显一般都是带有像我这样 "UHD Graphics 630" 字样的

Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!

  • 重启UNRAID

3.Docker设置

docker的流媒体服务器,只要添加变量"/dev/dri",然后在设置中开启相关硬解选项即可

参考其他大佬的PLEX/EMBY/JELLYFIN硬解设置教程即可,这里不赘述

4.windows虚拟机设置

我选择的是 win10 LTSC 2021版 ,自行搜索选择喜欢的

  • 没有安装 Libvirt Hotplug USB 插件的,提前安装好,可以热加载USB设备

Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!

  • 虚拟机重点选项说明提醒:

选择Q35机型,不要使用i440f0x

选择OVMF,以防后续万一出现43错误,减少不必要的麻烦

配置好 操作系统安装 ISO VirtIO 驱动程序 ISO 的路径

显卡默认VNC即可,设务必不要选择集显为输出,

其他PCI等设置根据个人情况自行勾选.其他PCI等设置根据个人情况自行勾选.

  • 勾选USB设备里的USB HUB,我这里显示的是 DisplayLink Mini_Dock

Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!

  • 先取消勾选创建后启动虚拟机,点击创建

先不要勾选,去开启gvt-g插件选项先不要勾选,去开启gvt-g插件选项

  • 打开插件页面 设置 - Intel GVT-g

选择你希望分配的显存大小,我的内存有32G,直接选择最大号,后面选择你刚创建的win10虚拟机

Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!

完成以上配置后,启动虚拟机,打开VNC

5.安装windows驱动

进入VNC,安装好win10,安装虚拟光驱( VirtIO 驱动程序 ISO)里的驱动,win10一般都会自动安装相关显卡声卡等驱动,不行就上驱动精灵Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!

此处略过以上基础win10装机的相关操作...

如果你系统没有自动安装displaylink的驱动,可以去你相关的转接器的品牌官网找驱动

或者直接上displaylink官网下载最新驱动. 点击前往官网地址

安装完成后重启

6.输出物理显示器

前面安装完所有驱动重启以后,接下来是最终要的一步,输出到物理显示器.

  • 桌面空白处 右键 - 显示设置

显示1 是我的VNC, 显示2 是虚拟出的igpu, 显示3 就是插上去的USB HUB

VNC可要可不要,可以在虚拟机设置中,用XML模式删除相关代码,这里不赘述

我这里先保留VNC,所以不动 显示1 , 只需要选择 复制2和3的桌面 ,并且勾选 设为主显示器

Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!

  • 点击 确定 - 按TAB建 - 回车键

完成 !

下面说下个人日常的小操作,感觉挺方便的

日常不开启虚拟机的时候,小显示器会显示宿主unraid的命令行界面(可以去淘一个键盘和鼠标合一功能的飞鼠,以防备用)

登录root账户以后,在命令行输入

virsh start XXXX - XXXX是你的虚拟机名称

Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!

就可以直接启动相关虚拟机,等待片刻,就能显示出来了(记得开启windows免密登录更方便),看看效果

Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!

大显示器直接物理输出win10虚拟机界面,小显示器依然可以显示命令行,相互分离

日常使用windows的时候,就和普通物理机一样正常使用

测试下效果如何

打开油管,测试一个4k视频看看解码情况

Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!

可以看到GPU正常跳动,设备管理器显卡都能正常认出,CPU负载正常,油管10w播放4k

Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!

日常可以办公,看股票,刷视频,接上我的BOSE可蓝牙,可AUX连接,当个播放器也行,美滋滋Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!

感谢观看,

如果对你有用,或者有其他更好的方案,欢迎一起探讨!Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!

参考:

https://forums.unraid.net/topic/108650-plugin-intel-gvt-g/

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
60评论

  • 精彩
  • 最新
  • 11代i5是不是不能用 [皱眉]

    校验提示文案

    提交
    不可,架构改变了,等个三五年可能会有新的CPU sr-iov方案

    校验提示文案

    提交
    刚上了11400,感觉还不如10400 [喜极而泣]
    查了几天教程,或者可以搞个亮机显卡给win10虚拟机用

    校验提示文案

    提交
    收起所有回复
  • 你选的gvt-g模型是最拉胯的一个哦 [高兴] _8最差,_1性能才比较好

    校验提示文案

    提交
    这只是个图例 又没挂载上去

    校验提示文案

    提交
    收起所有回复
  • 有点难买呀,都好贵,普通usb转hdmi不能用吗

    校验提示文案

    提交
    找到了一些 1080的好像才几十块

    校验提示文案

    提交
    戴尔带电源的Dxxxx系列不嫌弃的话也是可以的

    校验提示文案

    提交
    收起所有回复
  • 好东西啊,就是如果能怎么改装个物理按键,按一下win开机

    校验提示文案

    提交
    我记得是有一个插件可以实现再次按一下电源键,可以启动虚拟机的,因为我用不到,所以就没写到文中

    校验提示文案

    提交
    是不是可以通过苹果的快捷指令发送ssh,一键开机 [皱眉]

    校验提示文案

    提交
    还有5条回复
    收起所有回复
  • 1个支持displaylink的USB HUB 这个是什么作用啊

    校验提示文案

    提交
    有他才能物理输出显示 如果不需要就不用买 可以远程访问

    校验提示文案

    提交
    收起所有回复
  • 楼主好,typec的扩展坞是不是也行?

    校验提示文案

    提交
    理论上支持 只要是有这个displaylink协议在

    校验提示文案

    提交
    收起所有回复
  • 如果我再接个独显,能分别把集显和独显直通到两个虚拟机上么

    校验提示文案

    提交
    可以, 独显直通就行 独显那台虚拟机不要使用gvt-g插件添加集显

    校验提示文案

    提交
    收起所有回复
  • 群晖有没有这种方式实现

    校验提示文案

    提交
    你 觉得呢

    校验提示文案

    提交
    收起所有回复
  • i-GVT-G不支持11代intel集显 好难受,up主有没有替代方案?

    校验提示文案

    提交
    换u解决,想要让11 12代支持这种宿主+虚拟机的方式同时工作的,是完全不可能的,cpu架构不一样决定

    校验提示文案

    提交
    大佬,挖个老贴请教…12代处理器,不能用igpu,现在可以用能用sr-iov,不能输出hdmi。想解决虚拟机输出hdmi的话,我用这个displaylink方案可以吗?架构问题也不可以吗?

    校验提示文案

    提交
    收起所有回复
  • 不关闭宿主gpu相关功能会怎么样

    校验提示文案

    提交
    有插件了就不需要设置宿主GPU,不然就功能冲突了

    校验提示文案

    提交
    收起所有回复
  • 可不可以实现vnc和独显共存

    校验提示文案

    提交
    推荐用parsec

    校验提示文案

    提交
    这是个什么软件

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • wavlink的型号是?

    校验提示文案

    提交
    我这个属于可遇不可求, 去亚马逊找参数回闲鱼搜吧

    校验提示文案

    提交
    收起所有回复
  • e5v3可以吗.大佬

    校验提示文案

    提交
    未提及的型号不支持

    校验提示文案

    提交
    收起所有回复
  • 之前为了unraid win10跑安卓虚拟机,直接装了个显卡直通,现在用不到了,好像拆了显卡unraid还不能用。。。。

    校验提示文案

    提交
    不会用应该不至于,也许是插件的影响,如果进debug模式正常的话,应该就是插件影响 ,排障卸载

    校验提示文案

    提交
    收起所有回复
  • docker里的jellyfin要怎么调用核显?原来用的modprobe i915,现在改成IGVT的方式,解不了了

    校验提示文案

    提交
    符合开头提到的cpu前提下,安装好文中提到的插件

    校验提示文案

    提交
    收起所有回复
  • AMD是不是不可以 有其他方案吗 esxi或者pve?

    校验提示文案

    提交
    intel yes , pve同理 esxi没有

    校验提示文案

    提交
    Amd不行的话 没办法了 [喜极而泣]

    校验提示文案

    提交
    收起所有回复
  • intel直通或者虚拟化我已经研究的很透了,还看了官方github文档,这个方案唯一的缺陷就是只支持1080 60hz 或4k 30hz,对于客厅htpc极致观感还是有影响

    校验提示文案

    提交
    那是你displaylink设备不行,USB3.1的接口有10G带宽,可以跑满4k60HZ

    校验提示文案

    提交
    收起所有回复
  • 偏偏只有那些基础安装文章以及黑裙才能诱起小白折腾心,不把你们折腾个一年半载,你们是不会知道我的方案多有利 [高兴] [高兴] [高兴]

    校验提示文案

    提交
  • 谢谢楼主分享,又可以折腾了

    校验提示文案

    提交
  • 你怎么这么厉害

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
229
扫一下,分享更方便,购买更轻松