欢迎光临散文网 会员登陆 & 注册

amd全系列7940 7840 5500等unraid核显直通简单教程

2023-09-17 03:28 作者:bili_29515820169  | 我要投稿

前言:

2023年9月10的时候我发过下面这篇文章:

amd全系列7940 7840 5500等pve核显直通简单教程(不定制ovmf了

和2023年7月31的时候我发过下面这篇文章:

amd全系列7940 7840 5500 等bios和核显vbios提取并 核显直通win10教程 出bios启动画面

(以下简称上面两篇教程为以前的教程)

想了下,unraid和pve既然同源kvm,很多思路也参考了unraid的一些教程,不也把unraid核显直通教程也做了算了


先废话几句:

amd核显直通win10可以直接参考这个教程。今天我就写简单点,细节之处可以看上面我以前的教程。我这里还是以 天宝wtr 5500u 举例。5500u在unraid下睿频完美,虚拟机跑分美丽。

因我的5500u使用todesk远程我老是觉得有点卡顿,突然有一天我测了虚拟机的cpu-z,发现多核跑不了1000分,然后我就把pve,unraid,esxi全部测试了一圈,这里有必要废话一下三个平台虚拟机跑分效果,以免你也是amd cpu,也遇上这个问题:

pve跑分2082
unraid跑分3259
esxi跑分3688

5500u受限于pve的只要核显直通他就睿频不上去,我从多核跑分1000--1300--2087再也优化不动了(具体就是上amd_pstate调速器,怎么优化这个跑分明显都不正常),unraid直接3259(而且还能核显直通),esxi直接3688(但是不能核显直通)。建议直接选择unraid作为5500u的底层系统。如果你是amd更高版本的核显u,请一定测一下虚拟win的cpu-z跑分和物理win下跑分对比是否正常,不正常就是睿频调频问题!!!!郑重提醒amd用户要注意测一下!!!估计是核显直通功率分配原因吧。

目前我发现Pve即使你换成amd_pstate调频,可以最高4.06ghz全核睿频的,但是一开win虚拟机带核显直通,他就掉频率到基础频率2.1ghz,你只要把win虚拟机关了,又全部最高睿频4.06ghz了。这是个bug,pve下无法解决。


untaid可以很方便设置睿频

unraid如果你在这个插件(Tips and Tweaks 插件)中设置不超频。cpu-z撑死也只有跑1800-2000之间哈。安装不安装这个插件都不影响跑分的。


正文开始:

适用于所有bios没有csm选项的机器,unraid只能采用ovmf+q35进行虚拟机核显直通。支持amd核显cpu全系列。


第一部分:准备工作


1、unraid环境。这个随意版本(我用的最新版Version: 6.12.4,你的不要太旧)。请确认你的amd主机bios默认已经开了虚拟化svm, iommu等,没开需要自己手动打开一下。

unraid需要有个阵列才能开虚拟机,以及保存硬盘开机后启动这些设置,这个你自己弄好就是。最终确保VMS那打开没错误就行。安装unraid,配置存储池,格式化硬盘,设置硬盘开机使用,以及如何开ssh,使用什么unraid,如何授权等这些问题你解决就是,这里不再叙述。


2、提取物理机bios和核显vbios,得到AMDGopDriver.rom和vbios_1002_xxxx.bin这两个文件


这个可以详细参考我以前的教程,这里我只简略描述一下


2.1 下载你机器的bios,如果找不到bios哪儿下载,那就用AMI bios这个软件提取


2.2 使用ubu处理bios,导出AMDGopDriver.efi 


UBU 1.79.17下载地址:https://pan.baidu.com/s/1pD7NqJoOThQawJw59NyTHQ 提取码: ivwk


2.3 使用edk2-BaseTools-win32-master工具 把AMDGopDriver.efi 转为AMDGopDriver.rom


edk2-BaseTools-win32-master下载地址 


https://github.com/tianocore/edk2-BaseTools-win32


 之间打包下载他的zip就是了,他没有Releases


然后解压,进入他的目录后用cmd或者powershell在里面输入下面命令:


.\EfiRom.exe -f 0x1002 -i 0xffff -e D:\下载\AMDGopDriver.efi


使用这个命令进行转换,1002是amd生厂商标识。-i 0xffff这个是产品id,这个随便四位十六进制都行(不需要写具体对应显卡编号哈),你就会得到AMDGopDriver.rom


2.4 使用xi4oyu的源代码 编译后导出vbios文件


https://forum.proxmox.com/threads/have-anyone-susscesfully-passthroughed-the-igpu-amd-radeon-680m-to-vm.119178/


中#11楼 xi4oyu的代码 或者以前的教程中我贴的源码 


然后运行这三行就出来vbios

nano vbios.c 

gcc vbios.c -o vbios

./vbios运行就出来你想要的核显vbios文件了


这个你不想编译可以直接pve群去群共享下载直接运行就是,qq群号:904754537(1群已满),102166071(请加2群),我不是群主哈

我5500u运行该编译出来的vbios文件,导出的vbios文件名为vbios_1002_164c.bin,你的类似vbios_1002_xxxx.bin这个名字,xxxx为具体显卡id哈。


准备工作结束,你得到了AMDGopDriver.rom和vbios_1002_xxxx.bin这两个文件,请把他们两个用winscp(或者命令)拷贝到比如 /mnt/disk1 这个目录(这个你随意)

开ssh在Settings->ManagementAccess 的Use SSH: yes中开启


第二部分:正式操作

1、虚拟机设置设置如下属性:

SETTINGS→VM Manager→ADVANCED VIEW

(中文版:设置→虚拟机管理器,然后点一下右边的高级视图)

PCIe ACS override: Muti function 或者Both 都可以

VFIO allow unsafe interrupts: Yes


2、准备好win安装光盘iso并上传比如下面目录 /mnt/user/isos

3、强制核显和hdmi声卡为vfio-pci.设备

前往TOOLS→System Devices

(中文版:工具→系统设备)

核显和hdmi声卡设备勾上,然后绑定

4、请重启一下unraid(这个必做一下)


5、新建win10虚拟机


对于里面配置,注意以下几点:

ovmf+q35

安装iso优先级为1,硬盘为2

要加载2个rom

图形化操作完成以后,需要用winscp进入/etc/libvirt/qemu这个目录

对Windows 10.xml(根据你的情况决定是哪一个文件)进行修改根据 <rom file='/mnt/disk1/vbios_1002_164c.bin'/>类似

在第二个pci设备</source>后面加这样一行

<rom file='/mnt/disk1/AMDGopDriver.rom'/>

然后保存。如果你后面图形化修改过虚拟机配置,这一行<rom file='/mnt/disk1/AMDGopDriver.rom'/>会被删掉的,只有你重新加入一下。

20231005更新:鉴于多个rom在unraid平台使用太麻烦,我找到了多个rom 多个efi合并转换成1个rom的方法,具体请看下面这篇文章

就这样一行命令简单合并转化出来1个rom,unraid图形化设置界面显卡那就选择这个5500u.rom就是了。如果不能直通,你把-f -i 后面编号改为真实编号比如:-f 0x1002 -i 0x164c


这里我贴一下我的所有配置内容,大家可以参考


6、启动虚拟机并安装win10系统


7、安装完成系统以后,安装网卡驱动,核显驱动,并打reset bug补丁

如果你选了virtIO,光驱里面安装下驱动就是

核显的驱动可以windows更新打,也可以官网下载安装

贴一个核显直通后的效果图


打补丁(不完美解决amd gpu passthrough rest bug问题)

下载RadeonResetBugFixService这个软件0.17版本,下载地址:https://github.com/inga-lovinde/RadeonResetBugFix/releases

下载解压放在c盘根目录,cmd管理员模式下运行RadeonResetBugFixService.exe install

等服务安装完成后,就可以随便关闭win10虚拟机了,就可以正常开机win10虚拟机了。 

建议除了启动虚拟机在unraid的web操作点开启,其他重启、关机的操作在虚拟机win10里面去操作(不要在unraid web上操作)。 


8、完工

贴一个双烤画面




第三部分:后记

1、2个rom合并为1个rom加载给核显,这个留给网友实现。应该不难!!!!!这个已经实现更新在本文中了!!!

2、unraid反虚拟化检测玩游戏,这个也留给网友自我折腾,应该也不难!!!!!



amd全系列7940 7840 5500等unraid核显直通简单教程的评论 (共 条)

分享到微博请遵守国家法律