PVE使用AMD CPU 5600G 核显直通 您所在的位置:网站首页 2200g核显驱动装完就黑屏 PVE使用AMD CPU 5600G 核显直通

PVE使用AMD CPU 5600G 核显直通

2023-06-16 16:38| 来源: 网络整理| 查看: 265

参考:小破站大神教程 【PVE7 AMD 5700G 核显直通 (iGPU Passthrough)】 https://www.bilibili.com/video/BV11d4y1G7Nk?share_source=copy_web&vd_source=e5f19273decf1e2e712bb024a8e24e75

1. 环境介绍

下面是我成功直通5600g的硬件及软件版本,其他硬件或其他版本软件可能存在其他未知问题,请谨慎操作! 是否能够直通成功和主板有一定关系,源视频使用的是ASRock B550 Phantom Gaming-ITX/ax主板成功直通,其他主板可能直通失败!

1. 硬件相关 主板:华硕 TUF GAMING B550M-PLUS WIFI IICPU: AMD 5600GBIOS版本: 0305独立显卡:无! 2. 软件相关 PVE版本:7.2-7Linux内核版本: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配置, 修改系统配置, 提取vbios, 设置直通核显, 安装核显驱动, 直通核显成功。

1. 修改主板BIOS配置 开启VT SVM设置 开启IOMMU(AUTO就可用所以没有修改,AUTO或者enable均可) 开启IOMMU 开启CSM 开启CSM 2. 修改PVE系统配置

请先安装相同版本的PVE系统,其他版本如果存在问题请自行查找。 安装过程比较简单,具体方法请自行百度

1. 修改grub启动参数:

修改文件 /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 设置iommu为直通模式pass throughinitcall_blacklist=sysfb_init 屏蔽掉pve7.2的一个bugpcie_acs_override=downstream,multifunction iommu分组补丁 其他参数之前直通存在问题,修改的一些配置,具体含义未详细了解,去掉是否有影响本人未做尝试。

然后执行update-grub 更新grub

2. 添加驱动黑名单

修改或新增配置文件/etc/modprobe.d/blacklist.conf, 添加内容:

blacklist amdgpu blacklist snd_hda_intel 3. 添加加载模块

修改或新增配置文件/etc/modules, 添加内容:

vfio vfio_iommu_type1 vfio_pci vfio_virqfd 4. 获取核显id并绑定核显设备

执行命令:

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)

也可以直接执行此命令lspci -D -nnk找到包含VGA Controller的设备,记下其IOMMU分组和设备id

请记下命令显示的最前面的数字序号为IOMMU分组 0000:07:00.0;后面中括弧中1002:1638为设备id

修改或新增配置文件/etc/modprobe.d/vfio.conf, 添加内容:

options vfio-pci ids=1002:1638 options vfio-pci disable_idle_d3=1

其中1002:1638为核显设备id,如果已经存在其他直通设备,请使用 , 进行分隔填写多个,如: options vfio-pci ids=14c3:7961,1002:1638

执行命令: update-initramfs -u -k all 重启机器:reboot

3. 提取vbios 1. 从主板官网下载对应主板的BIOS驱动

图片是我的主板BIOS下载页面,请自己找到自己主板对应型号和版本的BIOS驱动文件并下载到本地。 驱动下载

2. 下载UBU工具提取vbios

源连接:https://winraid.level1techs.com/t/tool-guide-news-uefi-bios-updater-ubu/30357 打开网页,点击下图中未知即可打开下载UBU页面,下载速度比较慢

UBU下载引导 这是百度网盘地址: 链接:https://pan.baidu.com/s/1CRqLtH9chTNpaaT2EuA1kg?pwd=q6vq 提取码:q6vq

3. 提取vbios 第一步:解压UBU工具: 解压UBU后第二步:解压BIOS文件: 将刚才下载的主板BIOS文件解压出来: 解压后的主板BIOS文件第三步:复制BIOS文件到UBU目录中: 如上图,主板BIOS文件中TUF-GAMING-B550-PLUS-WIFI-II-ASUS-2803.CAP为BIOS文件,而不是.exe文件! 其他主板BIOS文件中可能不会待.exe文件。 复制BIOS文件后第四步:运行UBU.bat文件,上图中红框下方的文件!并等待其处理完毕。 运行完毕截图第五步:提取vbios 依次选择: 2 Video OnBoard -> S Share files -> 等待其复制完毕。-> 0退出 -> 0 退出 -> 1 rename。 此时UBU目录中会多出来一个Extracted文件夹,依次进入Extracted\VBIOS\017.010.000.029.000000文件夹中,文件vbios_1638.dat就是我们需要的vbios文件,请复制出来进行保存,后面会使用到。 vbios文件路径

上面文件仅是同主板同CPU时的文件,其他主板或CPU文件名称可能不同!!! 如果不同请参考文件 Files\AMD\VBIOS\_List_vbios.txt中所列,找到对应文件。 vbios文件列表

第六步:上传vbios到pve主机上 通过命令或者软件上传vbios_1638.dat文件到PVE主机的/usr/share/kvm目录中 上传vbios后 4. 创建windows10虚拟机并配置核显直通

我用的镜像文件,可以不使用这个,windows镜像可以随便用 这是百度网盘地址: 链接:https://pan.baidu.com/s/1CRqLtH9chTNpaaT2EuA1kg?pwd=q6vq 提取码:q6vq

1. 创建win10虚拟机

ISO镜像选择win10的iso,类别和版本选择windows10 虚拟机操作系统设置

机型选择q35; BIOS 选择 SeaBIOS 虚拟机系统设置

磁盘选择SATA, 至少给50G吧。 虚拟机磁盘设置

CPU类别选择host, 核心数根据需要选择,我这里选择6核 虚拟机CPU设置

网络模型选择E100或者VirtIO都行吧,看个人。记得勾选断开,是为了先断网进行设置,之后记得要取消掉这个 虚拟机网络设置

手动安装windows10,这里略过详细步骤,不清楚请百度!

由于windows的iso一般缺少virtio的驱动,所以可能会有硬件无法识别的问题,这里提供vitrio的驱动包,请手动上传并导入到win10虚拟机中,然后手动安装驱动,不会操作的请百度!

进入win10以后设置禁止windows自动更新: 设置-更新和安全中设置暂停更新 暂停更新 禁止自动下载设置打开远程桌面连接,安装网卡驱动等,然后关闭计算机。关掉刚刚的网卡默认断开选项!!设置核显直通windows: 选择添加 -> PCI设备 -> 选择刚刚记录的核显id我这里为0000:07:00.0 添加核显pci设备 勾选 主GPU和PCI-Express pci设备配置设置显卡vbios配置 使用ssh连接pve主机(不是windows,是pve主机!),编辑/etc/pve/qemu-server/101.conf(其中101是虚拟机id,根据你创建windows虚拟机时提供的id为准!!!) 在cpu: host后面添加,hidden=1在hostpci0: 0000:07:00.0,pcie=1,x-vga=1后面添加,romfile=vbios_1638.dat(其中vbios_1638.dat为之前上传的vbios文件名称) 修改虚拟机配置 回到pve管理页面,重启windows虚拟机,等待启动完成后,通过远程桌面连接到虚拟机。通过浏览器,到amd官网下载5600g对应的驱动。

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驱动页面,其他cpu请下载对应驱动!!!

在虚拟机windows10中安装此驱动,安装完成后,关闭计算机。在pve管理页面修改windows虚拟机设置,选择显示为none 显示设置为none重启windows虚拟机,查看gpu等信息 直通结果 3. 结果展示

虚拟机windows中安装jellyfin,并开启amd硬解码,流畅播放4k视频,占用率不到50%(CPU占用是扫描文件占用的。) jellyfin播放测试

4. 注意事项 1. windows系统长时间开启的话,记得禁用掉自动休眠,自动休眠后PCI设备唤醒有问题导致无法使用,只能重启PVE解决。 2. 其他待补充


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有