侧边栏壁纸
博主头像
火腾

行动起来,活在当下

  • 累计撰写 7 篇文章
  • 累计创建 9 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录
NAS

在 PVE 上为飞牛NAS 直通 AMD 核显指南

温馨提示:
本文最后更新于2025-07-22,若内容或图片失效,请留言反馈。 本文章权益归属火腾(www.firedance.cn),转载请注明来源于火腾(www.firedance.cn)。

适配平台:MinisForum HX90(Renoir/Cezanne 架构)
虚拟化平台:Proxmox VE 8.x
核显型号:AMD Cezanne Radeon Vega 系列核显
用途:给虚拟机 FnOS 提供硬件加速转码能力(如 Jellyfin、Emby、飞牛影视)


🌟 为什么要核显直通?

在家用服务器(如飞牛NAS)上,硬件加速对于媒体转码、视频处理尤为重要。直通 AMD 的核显到虚拟机,可以让例如 Jellyfin 实现硬解转码,大大降低 CPU 占用,提升体验和能效。


🧱 一、环境准备

✅ 确认支持 VT-d / IOMMU

进入主板 BIOS:

  • 打开 SVM Mode(AMD)

  • 开启 IOMMU 或 AMD-Vi


🔧 二、PVE 设置 IOMMU 及直通功能

编辑 GRUB 启动参数:

nano /etc/default/grub

修改这一行:

GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt video=efifb:off"

保存后更新 GRUB:

update-grub 

加载内核模块:

编辑 /etc/modules

vfio vfio_pci vfio_virqfd vfio_iommu_type1 vendor-reset 

📦 三、安装 vendor-reset(AMD 显卡常见问题 fix)

某些 AMD 显卡(尤其是 APU)不支持多次 reset,导致虚拟机重启后 GPU 失效。

PVE 主机 中运行:

apt update apt install dkms git build-essential git clone https://github.com/gnif/vendor-reset cd vendor-reset make make install modprobe vendor-reset 

加入启动自动加载(如上添加到 /etc/modules


🎮 四、下载并指定 AMD 核显的 VBIOS

直通核显通常需要指定 ROM 文件,否则 VM 无法初始化。

下载 ROM:

你可以参考社区提供的 ROM,如来自:

示例使用文件:amd3k-7k.rom

放置到:

/usr/share/kvm/amd3k-7k.rom


🖥️ 五、编辑虚拟机配置文件

假设虚拟机 ID 为 102,编辑配置文件:

nano /etc/pve/qemu-server/102.conf

machine: q35 

cpu: host,kvm=on 

hostpci0: 04:00.0,pcie=1,x-vga=1,romfile=amd3k-7k.rom 

04:00.0 是你核显的 PCI 地址,请根据你的实际 lspci 输出调整。


🧪 六、启动虚拟机并验证

启动虚拟机,进入后运行:

sudo dmesg | grep amdgpu lsmod | grep amdgpu vainfo

你应能看到 GPU 成功加载,无报错,如:

amdgpu 0000:01:00.0: amdgpu: Fetched VBIOS from ROM BAR amdgpu: ATOM BIOS: 113-RENOIR-026

如果你看到:

Fatal error during GPU init

检查是否 ROM 不匹配、IOMMU 未启用、或 vendor-reset 未生效。


🎉 成功效果

  • FnOS 成功识别 AMD 核显

  • vainfo 能输出 VCN 支持情况

  • Jellyfin 开启 VAAPI,转码硬解码流畅

  • 虚拟机重启后 GPU 正常工作,不死机、不黑屏


🧠 总结

核显直通在 AMD 平台上的确比 Intel 更折腾,但通过:

  • IOMMU 正确启用

  • vendor-reset 支持

  • 自定义 VBIOS ROM
    你也能让核显稳定运行在虚拟机中,为飞牛NAS 提供出色的视频硬解能力。


微信截图_20250710180236-phJg.png

如果你在配置中遇到类似 Unable to locate BIOS ROMamdgpu reset failed,可以留言交流或通过社区 ROM 文件解决。

0

评论区