參考:小破站大神教程 【PVE7 AMD 5700G 核顯直通 (iGPU Passthrough)】 https://www.bilibili.com/video/BV11d4y1G7Nk?share_source=copy_web&vd_source=e5f19273decf1e2e712bb024a8e24e75
1. 環(huán)境介紹
下面是我成功直通5600g的硬件及軟件版本,其他硬件或其他版本軟件可能存在其他未知問(wèn)題,請(qǐng)謹(jǐn)慎操作!
是否能夠直通成功和主板有一定關(guān)系,源視頻使用的是ASRock B550 Phantom Gaming-ITX/ax主板成功直通,其他主板可能直通失敗!
1. 硬件相關(guān)
- 主板:華碩 TUF GAMING B550M-PLUS WIFI II
- CPU: AMD 5600G
- BIOS版本: 0305
- 獨(dú)立顯卡:無(wú)!
2. 軟件相關(guān)
- PVE版本:7.2-7
- Linux內(nèi)核版本:Linux 5.15.30-2-pve #1 SMP PVE 5.15.30-3 (Fri, 22 Apr 2022 18:08:27 +0200) x86_64 GNU/Linux
2. 操作步驟
總體的步驟是 修改主板BIOS配置, 修改系統(tǒng)配置, 提取vbios, 設(shè)置直通核顯, 安裝核顯驅(qū)動(dòng), 直通核顯成功。
1. 修改主板BIOS配置
-
開(kāi)啟VT
-
開(kāi)啟IOMMU(AUTO就可用所以沒(méi)有修改,AUTO或者enable均可)
-
開(kāi)啟CSM
2. 修改PVE系統(tǒng)配置
請(qǐng)先安裝相同版本的PVE系統(tǒng),其他版本如果存在問(wèn)題請(qǐng)自行查找。
安裝過(guò)程比較簡(jiǎn)單,具體方法請(qǐng)自行百度
1. 修改grub啟動(dòng)參數(shù):
修改文件 /etc/default/grub
中 GRUB_CMDLINE_LINUX_DEFAULT
配置:
GRUB_CMDLINE_LINUX_DEFAULT="quiet iommu=pt initcall_blacklist=sysfb_init amd_iommu=on drm.debug=0 kvm_amd.nested=1 kvm.ignore_msrs=1 kvm.report_ignored_msrs=0 pci=assign-busses pcie_acs_override=downstream,multifunction vfio_iommu_type1.allow_unsafe_interrupts=1"
其中必須添加的:
-
iommu=pt
設(shè)置iommu為直通模式pass through -
initcall_blacklist=sysfb_init
屏蔽掉pve7.2的一個(gè)bug -
pcie_acs_override=downstream,multifunction
iommu分組補(bǔ)丁
其他參數(shù)之前直通存在問(wèn)題,修改的一些配置,具體含義未詳細(xì)了解,去掉是否有影響本人未做嘗試。
然后執(zhí)行update-grub
更新grub
2. 添加驅(qū)動(dòng)黑名單
修改或新增配置文件/etc/modprobe.d/blacklist.conf
, 添加內(nèi)容:
blacklist amdgpu
blacklist snd_hda_intel
3. 添加加載模塊
修改或新增配置文件/etc/modules
, 添加內(nèi)容:
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
4. 獲取核顯id并綁定核顯設(shè)備
執(zhí)行命令:
root@nas:/# lspci -D -nnk | grep VGA
0000:07:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [1002:1638] (rev c9)
也可以直接執(zhí)行此命令
lspci -D -nnk
找到包含VGA Controller的設(shè)備,記下其IOMMU分組和設(shè)備id
請(qǐng)記下命令顯示的最前面的數(shù)字序號(hào)為IOMMU分組 0000:07:00.0
;后面中括弧中1002:1638
為設(shè)備id
修改或新增配置文件/etc/modprobe.d/vfio.conf
, 添加內(nèi)容:
options vfio-pci ids=1002:1638
options vfio-pci disable_idle_d3=1
其中
1002:1638
為核顯設(shè)備id,如果已經(jīng)存在其他直通設(shè)備,請(qǐng)使用,
進(jìn)行分隔填寫(xiě)多個(gè),如:options vfio-pci ids=14c3:7961,1002:1638
執(zhí)行命令: update-initramfs -u -k all
重啟機(jī)器:reboot
3. 提取vbios
1. 從主板官網(wǎng)下載對(duì)應(yīng)主板的BIOS驅(qū)動(dòng)
圖片是我的主板BIOS下載頁(yè)面,請(qǐng)自己找到自己主板對(duì)應(yīng)型號(hào)和版本的BIOS驅(qū)動(dòng)文件并下載到本地。
2. 下載UBU工具提取vbios
源連接:https://winraid.level1techs.com/t/tool-guide-news-uefi-bios-updater-ubu/30357
打開(kāi)網(wǎng)頁(yè),點(diǎn)擊下圖中未知即可打開(kāi)下載UBU頁(yè)面,下載速度比較慢
這是百度網(wǎng)盤(pán)地址:
鏈接:https://pan.baidu.com/s/1CRqLtH9chTNpaaT2EuA1kg?pwd=q6vq
提取碼:q6vq
3. 提取vbios
- 第一步:解壓UBU工具:
- 第二步:解壓BIOS文件:
將剛才下載的主板BIOS文件解壓出來(lái): - 第三步:復(fù)制BIOS文件到UBU目錄中:
如上圖,主板BIOS文件中TUF-GAMING-B550-PLUS-WIFI-II-ASUS-2803.CAP
為BIOS文件,而不是.exe文件! 其他主板BIOS文件中可能不會(huì)待.exe文件。 - 第四步:運(yùn)行
UBU.bat
文件,上圖中紅框下方的文件!并等待其處理完畢。 - 第五步:提取vbios
依次選擇:2
Video OnBoard ->S
Share files -> 等待其復(fù)制完畢。->0
退出 ->0
退出 ->1
rename。
此時(shí)UBU目錄中會(huì)多出來(lái)一個(gè)Extracted
文件夾,依次進(jìn)入Extracted\VBIOS\017.010.000.029.000000
文件夾中,文件vbios_1638.dat
就是我們需要的vbios文件,請(qǐng)復(fù)制出來(lái)進(jìn)行保存,后面會(huì)使用到。
上面文件僅是同主板同CPU時(shí)的文件,其他主板或CPU文件名稱(chēng)可能不同!??!
如果不同請(qǐng)參考文件Files\AMD\VBIOS\_List_vbios.txt
中所列,找到對(duì)應(yīng)文件。
- 第六步:上傳vbios到pve主機(jī)上
通過(guò)命令或者軟件上傳vbios_1638.dat
文件到PVE主機(jī)的/usr/share/kvm
目錄中
4. 創(chuàng)建windows10虛擬機(jī)并配置核顯直通
我用的鏡像文件,可以不使用這個(gè),windows鏡像可以隨便用
這是百度網(wǎng)盤(pán)地址:
鏈接:https://pan.baidu.com/s/1CRqLtH9chTNpaaT2EuA1kg?pwd=q6vq
提取碼:q6vq
1. 創(chuàng)建win10虛擬機(jī)
-
ISO鏡像選擇
win10的iso
,類(lèi)別和版本選擇windows10
-
機(jī)型選擇
q35
; BIOS 選擇SeaBIOS
-
磁盤(pán)選擇
SATA
, 至少給50G
吧。 -
CPU類(lèi)別選擇
host
, 核心數(shù)根據(jù)需要選擇,我這里選擇6核 -
網(wǎng)絡(luò)模型選擇
E100
或者VirtIO
都行吧,看個(gè)人。記得勾選斷開(kāi)
,是為了先斷網(wǎng)進(jìn)行設(shè)置,之后記得要取消掉這個(gè) -
手動(dòng)安裝windows10,這里略過(guò)詳細(xì)步驟,不清楚請(qǐng)百度!
由于windows的iso一般缺少virtio的驅(qū)動(dòng),所以可能會(huì)有硬件無(wú)法識(shí)別的問(wèn)題,這里提供vitrio的驅(qū)動(dòng)包,請(qǐng)手動(dòng)上傳并導(dǎo)入到win10虛擬機(jī)中,然后手動(dòng)安裝驅(qū)動(dòng),不會(huì)操作的請(qǐng)百度!
- 進(jìn)入win10以后設(shè)置禁止windows自動(dòng)更新:
設(shè)置-更新和安全中設(shè)置暫停更新 - 設(shè)置打開(kāi)遠(yuǎn)程桌面連接,安裝網(wǎng)卡驅(qū)動(dòng)等,然后關(guān)閉計(jì)算機(jī)。關(guān)掉剛剛的網(wǎng)卡默認(rèn)斷開(kāi)選項(xiàng)!!
- 設(shè)置核顯直通windows:
選擇添加
->PCI設(shè)備
-> 選擇剛剛記錄的核顯id我這里為0000:07:00.0
勾選主GPU
和PCI-Express
- 設(shè)置顯卡vbios配置
使用ssh連接pve主機(jī)(不是windows,是pve主機(jī)?。?,編輯/etc/pve/qemu-server/101.conf
(其中101是虛擬機(jī)id,根據(jù)你創(chuàng)建windows虛擬機(jī)時(shí)提供的id為準(zhǔn)?。。?
- 在
cpu: host
后面添加,hidden=1
- 在
hostpci0: 0000:07:00.0,pcie=1,x-vga=1
后面添加,romfile=vbios_1638.dat
(其中vbios_1638.dat為之前上傳的vbios文件名稱(chēng))
- 回到pve管理頁(yè)面,重啟windows虛擬機(jī),等待啟動(dòng)完成后,通過(guò)遠(yuǎn)程桌面連接到虛擬機(jī)。
- 通過(guò)瀏覽器,到amd官網(wǎng)下載5600g對(duì)應(yīng)的驅(qū)動(dòng)。
https://www.amd.com/zh-hans/support/previous-drivers/apu/amd-ryzen-processors/amd-ryzen-5-5000-g-series-desktop-processors-radeon-graphics/amd-ryzen-5-5600g
這是5600g驅(qū)動(dòng)頁(yè)面,其他cpu請(qǐng)下載對(duì)應(yīng)驅(qū)動(dòng)!??!文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-439002.html
- 在虛擬機(jī)windows10中安裝此驅(qū)動(dòng),安裝完成后,關(guān)閉計(jì)算機(jī)。
- 在pve管理頁(yè)面修改windows虛擬機(jī)設(shè)置,選擇顯示為
none
- 重啟windows虛擬機(jī),查看gpu等信息
3. 結(jié)果展示
虛擬機(jī)windows中安裝jellyfin,并開(kāi)啟amd硬解碼,流暢播放4k視頻,占用率不到50%(CPU占用是掃描文件占用的。)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-439002.html
4. 注意事項(xiàng)
1. windows系統(tǒng)長(zhǎng)時(shí)間開(kāi)啟的話,記得禁用掉自動(dòng)休眠,自動(dòng)休眠后PCI設(shè)備喚醒有問(wèn)題導(dǎo)致無(wú)法使用,只能重啟PVE解決。
2. 其他待補(bǔ)充
到了這里,關(guān)于PVE使用AMD CPU 5600G 核顯直通的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!