Intel集成显卡虚拟化的实现方式:PVE下kvmgt的应用
创作立场声明:语言原创,材料都是网上搬得。
【写作说明】:本文是Intel集成显卡的虚拟化在Proxmox Virtualization Envirement(PVE)平台上实现的步骤。其实intel这套方案出来已经有十五年了,但是用的人好像不多,原因之一是Intel集成显卡本来就性能低下还要虚拟化岂不是更低。显卡虚拟化的优点就不赘述了,商用领域已经很成熟了,一块支持虚拟化的显卡最便宜也得接近五位数人民币。家用领域基本上没人会选择显卡虚拟化,打游戏直接windows+独立显卡,或者直接选择XBOX和PS系列游戏机了,影音领域是个系统都应该支持4K解码甚至8K、16K了。不过显卡虚拟化应用在all in one的平台上真是绝配,家用平台我把耗电放在首位毕竟电费是自己的,服务器领域都有tdp25w的志强。Nvdia的vGPU方案也有民用级别的破解了,但是考虑到耗电问题,还未尝试。
购买理由
原因是上周看到了张大妈上这篇文章《IGPU的显卡虚拟化这次真的来了--基于unraid》,讲了如何在unraid上虚拟化intel的显卡。我想都是基于Linux的没道理PVE不支持啊,其实几个月前,nvidia的民用显卡也被破解了虚拟化方案,vgpu_unlock。intel这套方案可不是破解的,是官方支持的。标题上放的图不完整这里是完整图。这里一组文章介绍了显卡虚拟化,本文主要讲如何在PVE下搭建一个Intel平台的显卡虚拟化系统。
外观展示
首先GVT-g支持虚拟机,不支持CT也就是容器,这点是缺点。毕竟轻量级的容器在效率上可能更加高。但是我看到网上也有人在容器和虚拟机里面同时搞了,我也试了没成功只能曲线救国全部用虚拟机了。如果不虚拟显卡的话容器可以直接用宿主机上的显卡,不需要什么直通显卡直接可以做PLEX、jellyfin的硬解显卡,比直通方便多了。但是基于Debian的PVE是没有什么Win10的容器的,所有在没有虚拟化显卡之前,要么直通给win10,要么不直通给容器直接用。PVE的容器比docker我个人认为简单的多,docker需要的各种步骤LXC容器都不需要,启动就是一个独立的系统自带各种属性。
上面那篇unraid的文章分配显存的方法不适合目前最新的主板,因为目前的主板都屏蔽了Intel集显的内存分配,默认只给了256M,所以上文中其实最多只能给两块虚拟显卡。如果主板够老可以在bios里面找到这个分配的选项,但是新主板毫无疑问的都给屏蔽了,至少我的两块z390芯片的都是默认256M。可以通过修改过的uefi来开启主板2G显存,华擎的只能到1G,华硕的可以到2G。具体如何修改,类似于黑苹果修改cfg lock,网上教程很多。这里给出几个软件的下载,和参考文章。
修改步骤其实很简单,做个启动盘,进去以后根据aperture对应的偏移量来设置显存
比如我的主板关于Aperture Size是这样子的,偏移量就是0x9c4,默认值是0x1,改成0x7是1G,0xf是2G
setup_var 0x9c4 0xf
然后reboot如果没有黑屏就ok了,黑屏了清bios换个参数试试0x7。
0x5CD0F One Of: Aperture Size, VarStoreInfo (VarOffset/VarName): 0x9C4, VarStore: 0x1, QuestionId: 0x2749, Size: 1, Min: 0x0, Max 0xF, Step: 0x0 {05 91 80 06 81 06 49 27 01 00 C4 09 14 10 00 0F 00}
0x5CD20 One Of Option: 128MB, Value (8 bit): 0x0 {09 07 82 06 00 00 00}
0x5CD27 One Of Option: 256MB, Value (8 bit): 0x1 (default) {09 07 83 06 30 00 01}
0x5CD2E One Of Option: 512MB, Value (8 bit): 0x3 {09 07 84 06 00 00 03}
0x5CD35 One Of Option: 1024MB, Value (8 bit): 0x7 {09 07 85 06 00 00 07}
0x5CD3C One Of Option: 2048MB, Value (8 bit): 0xF {09 07 86 06 00 00 0F}
0x5CD43 End One Of {29 02}
保姆级教程找到个苹果电脑如何修改CFG Lock 修改有风险,随时可能启动黑屏,不过只要清空cmos设置就行,现在主板都自带的。所以第一步是修改Intel集成显卡的的内存分配最好1G或者2G,默认256M就只能开两个功能最差的显卡了。如何确认自己已经打开了1G或者2G的显存。
root@prox:~# lspci -vv -s 00:02.0
(...)
Region 2: Memory at 90000000 (64-bit, prefetchable) [size=256M]
如果size显示1G或者2G就ok了,biso里面是看不到的。当然觉得风险大的同学可以不做修改显存这一步,但是这样子的缺点上面也说了只有默认256M显存最多分配两张性能最低的显卡。
root@pve:~# ls /sys/devices/pci0000:00/0000:00:02.0/mdev_supported_types/
i915-GVTg_V5_1 i915-GVTg_V5_2 i915-GVTg_V5_4 i915-GVTg_V5_8
如何在pve下产生gvt-g,pve的官方wiki里面救有,如果你有直通经验的话应该很简单,保姆级教程,没啥需要注意的一步一步来就是了。其实直通那部分是不需要的。
pve官方直通wiki,拉到下面有有关gvt-g的说明。
使用感受
终于可以在win10里面用显卡了,高兴的话开两台三台都可以有一块独立的显卡,而不是虚拟的显卡。jellyfin和plex也都可以硬解了,但是性能肯定比不过直通的给分配了i915-GVTg_V5_4这块卡转码4k输出4k是卡的,但是输出1080p是ok的。图什么不贴了就是觉得自己一下子是土豪了,可以有好多显卡同时用也不用多出电费关键。win10云桌面也流畅许多,正宗的万物互联模式。配合微软的RD-client出门带个手机真可以。
。
总结
ALL in One 可以带好多显卡很爽,下一步就是zfs的文件系统了。
[已注销]
校验提示文案
BanKnight
1 j4125的核显可以吗?
2 zfs的作用很大吗?
校验提示文案
此间一过客
校验提示文案
winstarst
校验提示文案
chxmgood
校验提示文案
很诧异
校验提示文案
陈海鹰
校验提示文案
usee00123
校验提示文案
[已注销]
校验提示文案
梦晓生
校验提示文案
炎羽
校验提示文案
mrzhou
校验提示文案
mrzhou
校验提示文案
炎羽
校验提示文案
陈海鹰
校验提示文案
梦晓生
校验提示文案
很诧异
校验提示文案
[已注销]
校验提示文案
winstarst
校验提示文案
此间一过客
校验提示文案
BanKnight
1 j4125的核显可以吗?
2 zfs的作用很大吗?
校验提示文案
usee00123
校验提示文案
chxmgood
校验提示文案
[已注销]
校验提示文案