Intel GVT-g是一种显卡虚拟化技术,不像PCI-E设备直通,GVT-g可以虚拟出多个虚拟机的GPU,从而有效地在虚拟机中提供接近宿主机的图形性能,而且让宿主机依然正常使用虚拟化的GPU。
一.PVE开启直通功能
1.开启iommu和GVT-g支持
使用SSH工具连接PVE,输入以下命令,修改grub文件
vi /etc/default/grub
在里面找到:GRUB_CMDLINE_LINUX_DEFAULT="quiet"
行,
修改为 GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on i915.enable_gvt=1"
使用刷新命令,刷新grub
update-grub
2.添加所需的系统模块(驱动)
输入依次以下命令,添加模块(驱动)名单并刷新
echo vfio >> /etc/modules
echo vfio_iommu_type1 >> /etc/modules
echo vfio_pci >> /etc/modules
echo vfio_virqfd >> /etc/modules
echo kvmgt >> /etc/modules
update-initramfs -u
3.重启宿主机
输入以下命令,重启pve宿主机
reboot
4.验证是否开启GVT
首先查询自己核显值,输入以下命令查询,比如我的是 00:02.0
lspci
输入以下命令检查是否有以下类似文件(00:02.0替换为上步查询的值)
ls /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/
如图我有四个文件,这四个分别对应不同的分辨率与核显显存。关系如下
i915-GVTg_V5_1 # Video memory: <512MB, 2048MB>, resolution: up to 1920x1200
i915-GVTg_V5_2 # Video memory: <256MB, 1024MB>, resolution: up to 1920x1200
i915-GVTg_V5_4 # Video memory: <128MB, 512MB>, resolution: up to 1920x1200
i915-GVTg_V5_8 # Video memory: <64MB, 384MB>, resolution: up to 1024x768
核显显存为128M时,支持V5_8一种类型
核显显存为256M时,支持V5_4及V5_8两种类型
核显显存为512M时,支持V5_2、V5_4及V5_8三种类型
核显显存为1024M及以上时,支持所有四种类型
但主板默认一般核显显存最大只分配了256M,导致只能使用 1个 V5_4
或 2 V5_8
,这两个的性能是非常不够用的,这就需要去BIOS修改显存,有些主板提供了选项可以直接修改,但大部分都没有选项,就需要使用U盘引导EFI shell修改,修改教程参考本文第二章节。
查询宿主机核显显存,输入以下命令,查看Menmory Size行,就可知道现在分配的核显显存大小(00:02.0替换为上步查询的核显值)
lspci -vs 00:02.0
二.BIOS修改核显显存
1.准备工具
1)UEFITool
2)IRFExtractor
3)EFI shell引导
打包下载链接:本地链接
2.修改步骤
1)UEFI Tool导出固件
先自行导出主板现在的固件,或去官网下载与现主板bios版本号一致的BIOS文件。
打开UEFI Tool,选择 File
菜单,选择 open image file
选项,打开BIOS文件
如果在选择框找不到BIOS文件,切换全部文件。
打开 Actinon
菜单,选择 Search
,切换到 text
选项卡,搜索 aperture size
双击搜索结果,进入查找到的项目,右击项选择 Extract body
,导出并保存
2)IRFExtractor查找偏移地址
打开 IRFExtractor
软件,选择上一步另存的 .efi
文件后,单击 Extract
按钮导出并保存 .txt
文件
使用文本编辑器软件,打开这个 txt
文件,搜索 aperture
搜索结果 VarStoreInfo (VarOffset/VarName): 0x86B
中的 0x86B
就是调整核显显存的偏移值。
下面就是可供选择的几个选项,比如我这个默认核显显存是256M,选项值为 0x1
记录主板的显存偏移值,与显存大小选项值
3) 制作EFI shell引导盘并修改设置
1.EFI shell的U盘制作
准备一个空U盘,格式化成FAT32格式,放入EFI shell引导文件
放入目录为 U盘根目录/EFI/BOOT/bootx64.efi
重启电脑,选择U盘引导,进入grub命令行。
2.修改核显显存设置
验证一下偏移地址,输入 setup_var_3 记录主板的显存偏移值
,例如我的偏移值是 0x86B
,这里就输入 setup_var_3 0x86B
,默认情况下最后一行会返回的默认的选项值,比如我的是 is:0x1
即默认的显存256M。
然后输入 setup_var 显存偏移值 显存大小选项值
,将 显存大小
修改为选项对应的显存大小
比如我的偏移值是 0x86B
,显存大小选项值 0x7
即显存1G,就输入以下命令
setup_var 0x86B 0x7
可以在输入 setup_var_3 记录主板的显存偏移值
,确认修改结果。
然后输入 reboot
重启即可生效。
如无意外情况,在进入PVE界面即可看到vgpu的选项增加到4个了
注:如果出现EFI shell修改后无法正常开机,或出现其他问题可扣掉主板电池放电,还原主板设置即可正常
原创文章,作者:VAY冬冬,如若转载,请注明出处:https://blog.vay1314.top/archives/220
看不懂,弄好了直接邮寄给我可以么→_→
行,先把机子到付给我~( ̄▽ ̄~)~