ESXi 直通 7840HS 核顯

airoot發表於2024-12-02

原文: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 裝置導致的。

  • GitHub - inga-lovinde/RadeonResetBugFix: Radeon Reset Bug fix service

你將會使用以上 Repo 進行解決,但是在 win11 中若想直接執行似乎還有很多的步驟。因此我先跳過了此步,以後有時間再把這個補丁打上。畢竟只要我不關機都是無所謂的。就算關機了手動重新引導下 ESXi 就是。

Issues

記憶體分配有坑,8192不行,8200可以; 12288不行,12200可以

References

  • amd全系列7940 7840 5500 等bios和核顯vbios提取pve核顯直通win10教程 出bios啟動畫面 - 嗶哩嗶哩
  • esxi8.0 amd核顯直通失敗教程,寫給大家借鑑參考(比如獨顯和intel11-14代核顯使用) - 嗶哩嗶哩

相關文章