ESXi 直通 7840HS 核显
原文:https://jerrita.cn/archives/62/
实在是因为原文网站故障导致无法正常阅读文章,只能转载展现,原作者请谅解,谢谢!
之前在研究ESXI下怎么实现AMD核显直通,没想到有如此多的门道,以下为原文转载,只字未改。
============================================================
这篇文章是关于在 GOD78 下的 ESXi 直通 7840HS 核显的教程,其他机型可以参照此法进行适配。
Step 0. 放通直通
打开 管理 -> 硬件 -> PCI 设备,选中 AMD/ATI 的两个设备,点击切换直通。
Step 1. 获取你机子的 BIOS
你可以选择去官网下、找客服拿、自己提去三种办法。GOD78 由于没有官网,我去找客服要了一份。自己提取的方式可以参考 Reference。
Step 2. 提 AMDGopDriver 与 vbios
1,使用 UBU (UEFI BIOS Updater),把 bios 放到解压出来的文件夹中并运行 UBU.bat,选择 Video OnBoard -> Share files. 即可在 Extract 文件夹找到你的 AMDGopDriver.efi,保存到一个位置。
2,使用 extracter 提取 vbios,保存。或是自己编译,代码于: Jerrita's SCS
Step 3. 合并生成 ROM 文件
参考以下命令,0x15bf 是 7840HS 核显的 id,AMDGopDriver 是你上一步的提取。
# 1. 下载工具 git clone https://github.com/tianocore/edk2-BaseTools-win32 --depth=1 # 2. 合并文件 .\EfiRom.exe -f 0x1002 -i 0x15bf -b .\vbios_1002_15bf.bin -e .\GOP\3.Aug_NoSign\AMDGopDriver.efi -o god78.rom
Step 4. 配置虚拟机
把上一步的 rom 文件想办法丢到 ESXi 上
在虚拟机页面 编辑 -> 虚拟机选项 -> 高级 -> 配置参数,添加参数如下
hypervisor.cpuid.v0 = FALSE pciPassthru0.opromEnabled = TRUE pciPassthru0.filename = /vmfs/volumes/datastore1/utils/god78.rom vhv.allowPassthru = TRUE
Step 5. 配置宿主机
不知到为什么 ESXi 在你直通后不愿意让你开 CPU 嵌套虚拟化,但是这里可以配置自动启用,来实现 PCI 直通于 CPU 嵌套共存(嵌套虚拟化可以让你开 mumu 挂机手游(x)。
vi /etc/vmware/passthru.map
在后面加上
# AMD GPU 1002 15bf d3d0 default 1002 1640 d3d0 default
接下来配置 /etc/vmware/config
,加上
vhv.enable = "TRUE"
然后重新引导 ESXi 即可。(注意下方对 windows 的内存分配的坑)
Step 6. Fix Reset Bug
每次 win 虚拟机在关机后,都不能正常再次启动,或是启动后 GPU 消失,这是由于 ESXi 在启动机器前后会 reset pci 设备导致的。
你将会使用以上 Repo 进行解决,但是在 win11 中若想直接执行似乎还有很多的步骤。因此我先跳过了此步,以后有时间再把这个补丁打上。毕竟只要我不关机都是无所谓的。就算关机了手动重新引导下 ESXi 就是。
Issues
内存分配有坑,8192不行,8200可以; 12288不行,12200可以