当前位置: 首页 > 分享发现 > 天钡WTR PRO 5825U PVE虚拟机设置核显(GPU)直通

天钡WTR PRO 5825U PVE虚拟机设置核显(GPU)直通

发布于:2025-3-24 分享发现 0条评论 287 views
本站提供Linux服务器运维,自动化脚本编写等服务,如有需要请联系博主微信:xiaozme

在前几篇文章中,我们已经介绍了天钡WTR PRO 5825U的开箱BIOS设置以及硬盘直通等教程。本文将继续探讨天钡WTR PRO 5825U在PVE虚拟机中的显卡直通设置,这是整个过程中最具挑战性的一环。经过xiaoz两天的反复尝试,最终成功实现了这一配置。

dfe8a19976cc6e3d.png

注意:此教程不适合新手,同时可能存在一定风险,请务必备份重要数据后再操作,相关风险由读者自行承担!!!

环境准备

  • 硬件:天钡WTR PRO 5825U
  • PVE版本:8.3.0
  • 虚拟机操作系统:OpenMediaVault 7.x

注意,不同PVE版本步骤有所不同,PVE 8.x版本已经简化了显卡直通的流程,所以此教程仅适合PVE 8.x版本的用户!

设置BIOS

先参考教程:天钡WTR PRO 5825U BIOS设置:来电自启与硬件直通配置IOMMU参数启用。

创建虚拟机

PVE在创建虚拟机的时候,某些设置参数需要特别注意,否则可能无法完成显卡直通。

在【PVE虚拟机 - 系统】选项中,请务必按照以下参数配置:

  • 机型:q35
  • BIOS:OVMF
  • 勾选:添加 EFI 磁盘
  • 勾选:添加TPM

d26b42d64024449c.png

在【PVE虚拟机 - CPU】选项中,类别建议选择host以获得更好的性能。

746f6e61154bfb9e.png

其它没有什么注意的,根据自身情况分配内存、磁盘等即可。

安装虚拟机系统

xiaoz使用的OpenMediaVault 7.x虚拟机系统,根据指引通过控制台正常完成操作系统安装即可。

调整虚拟机BIOS

OpenMediaVault安装完毕后会无法启动,原因是找不到引导。这时候我们需要下载天钡WTR PRO 5825U的引导固件,并使用对应的固件才能启动。

下载后将固件放到PVE的/usr/share/kvm目录下,或者直接进入这个目录下载固件也可以。

# 进入PVE固件目录
cd /usr/share/kvm
# 下载固件
wget https://soft.xiaoz.org/source/WTR_PRO_5825U/5825.rom

然后将虚拟机完全关闭,并找到虚拟机配置文件/etc/pve/qemu-server/VMID.conf(VMID是你虚拟机ID编号),然后添加以下内容:

romfile=5825.rom

然后开启虚拟机,开启后在控制台按ESC进入虚拟机的BIOS模式,依次进入 【Device Manager > Secure Boot Configuration > Attempt Secure Boot】,取消勾选Attempt Secure Boot,F10保存后,回到BIOS初始界面后选择RESET重启,这样就可以正常进入操作系统了。

设置虚拟机核显(GPU)直通

修改引导配置

在PVE中编辑/etc/default/grub这个文件,找到GRUB_CMDLINE_LINUX这一行,添加amd_iommu=on参数值,如下图。

6740d6e8e3b69458.png

更新 GRUB 并重启宿主机:

update-grub
reboot

验证

输入下面的命令验证 IOMMU 是否已启用:

dmesg | grep -e DMAR -e IOMMU

将输出结果复制给AI判断IOMMU是否启用成功。

490789616996478f.png

继续验证 IOMMU 中断重映射是否已启用,输入下面的命令:

dmesg | grep 'remapping'

可以看到类似:AMD-Vi: Interrupt remapping enabled这样的结果,说明是ok的。

98404e409740982f.png

阻止宿主机加载 GPU 的默认驱动

输入下面的命令:

echo "blacklist amdgpu" >> /etc/modprobe.d/blacklist.conf
echo "blacklist radeon" >> /etc/modprobe.d/blacklist.conf

修改虚拟机设置

输入命令lspci |grep VGA找到GPU的ID编号,比如下面的04:00.0就是GPU编号,复制并记录下来。

2ba5009ac2359fc8.png

继续找到虚拟机配置文件/etc/pve/qemu-server/VMID.conf(VMID是你虚拟机ID编号),将:

romfile=5825.rom

修改为:

hostpci0: 04:00.0,pcie=1,x-vga=1,romfile=5825.rom
  • hostpci0:这个0,可以是任意没有使用的数字
  • 04:00.0对应你GPU编号
  • pcie=1:启用 PCI Express(PCIe)功能。
  • x-vga=1:启用 X-VGA 功能,允许虚拟机将 GPU 用作主显示设备。

然后在PVE WEB控制台继续编辑虚拟机配置,将【硬件 - 显示】那里设置为

94f9e6f475c76564.png

最后停止虚拟机并重新启动。

验证

虚拟机重新启动成功后,可以输入下面的命令来检查GPU加载和内核信息:

# 检查GPU是否加载
lsmod | grep amdgpu
# 检查内核信息
dmesg | grep amdgpu

可以将结果复制给AI解读。

同时检查ls /dev/dri/renderD128这个文件是否存在,如果不存在,大概率没成功。

继续安装radeontop这个工具,该工具可以查看系统的AMD GPU使用情况。

apt install radeontop

尝试将Jellyfin开启硬件解码,播放视频并使用radeontop工具监控GPU情况,可以看到下面的截图。

b59068bbb2b05d6c.png

Graphics pipe:表示 GPU 图形处理单元的繁忙程度。18.33%表示GPU图形管线有18.33%的占用率。说明GPU正在工作中。

228M / 2023M VRAM 11.29%:

  • 228M: 当前使用的显存(VRAM)大小。
  • 2023M: 显存的总大小。
  • 11.29%: 显存的占用率。

1.25G / 1.33G Memory Clock 94.01%:

  • 1.25G: 当前的显存频率。
  • 1.33G: 显存的最大频率。
  • 94.01%: 显存频率的占用率。

总结

  1. BIOS开启IOMMU
  2. PVE引导里面启用IOMMU(未测试PVE8这个是否是必须)
  3. 创建虚拟机的时候注意机型为q35, BIOS:OVMF,添加EFI磁盘和勾选TPM
  4. 注意修改虚拟机的:/etc/pve/qemu-server/VMID.conf,添加5825.rom引导固件
  5. 虚拟机的BIOS需要将Attempt Secure Boot取消勾选,否则无法启动
  6. 找到AMD GPU ID,然后再次修改 /etc/pve/qemu-server/VMID.conf 添加直通
  7. 使用radeontop监控GPU情况

以上内容仅适用于天钡WTR PRO 5825U PVE8系统,其他硬件可能无法使用。此文部分内容参考了:


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注