刚整了个家用 pve 服务器, 5950x+rx6400, 记录一下 a 卡显卡直通碰到的坑

2022-06-25 07:25:45 +08:00
 zx900930

主板是 MSI MEG x570 unify, 升了最新的 BIOS

这是因为最新的 BIOS 为了支持 Win11, 自动把 TPM 给打开了, 去 BIOS 里关闭 TPM

如果默认开了 Safe Boot, 也要关掉(有 work around 可以开着 Safe Boot 进行后面的安装可是太麻烦, 建议直接关掉.

顺便 Resizable BAR 会导致 windows 虚拟机显卡代码 43, 所以最好也关掉.

当然 IOMMU 和 AMD-V 是必开的这就不用多说了.

宿主机 pve 7.2

解决办法用 debug 模式安装, 在出错后 ctrl+c 中断, 并执行以下命令

$ chmod 1777 /tmp 
$ Xorg -configure   
$ mv /xorg.conf.new /etc/X11/xorg.conf
$ nano /etc/X11/xorg.conf # 把所有 Driver "amdgpu" 替换成 "fbdev" 会有多个设备, 全都要改. 
$ startx

就可以正常打开安装 GUI 进行安装

这个简单, 只需要更新一下包就行, 最新的 mesa 驱动里就有最新的 amd 显卡支援

# 先更新软件包
sudo apt update && apt upgrade -y

# 再更新 pciid 数据库
update-pciids

虚拟机是 debian 11

然后按步就搬显卡直通给虚拟机(这个网上教程一大堆,我只写新 A 卡需要注意的地方)

[drm:psp_sw_init [amdgpu]] *ERROR* Failed to load psp firmware!

需要更新 firmware

# 先进到 home
cd ~ 

# 创建一个文件夹来放固件
mkdir fw

# 下载最新固件
git clone   git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git fw

# 再确认一下下载的固件是否正常
ls fw

# 确认没问题就可以更新固件了
rsync -avh fw/amdgpu/* /lib/firmware/amdgpu/

也可以添加 backports 源并更新 firmware-amd-graphics 但是不保证能解决问题

如果你要使用 xorg, 启动还是会报错:

[     5.485] (EE) open /dev/fb0: No such file or directory
[     5.485] vesa: Ignoring device with a bound kernel driver
[     5.485] (EE) Screen 0 deleted because of no matching config section.
[     5.485] (II) UnloadModule: "modesetting"
[     5.485] (EE) Screen 0 deleted because of no matching config section.
[     5.485] (II) UnloadModule: "fbdev"
[     5.485] (II) UnloadSubModule: "fbdevhw"
[     5.485] (EE) Screen 0 deleted because of no matching config section.
[     5.485] (II) UnloadModule: "vesa"
[     5.485] (EE) Device(s) detected, but none match those in the config file.
[     5.485] (EE)
Fatal server error:
[     5.485] (EE) no screens found(EE)
[     5.485] (EE)

这是因为 xorg 会去找不同的驱动 需要强制让 xorg 使用 amdgpu 驱动

#修改 xorg 配置文件
nano /etc/X11/xorg.conf

#强制使用 amdgpu 驱动
Section "Device"
     Identifier "Device0"
     Driver     "amdgpu"
EndSection

再重启, dmesg | grep -i amdgpu 显示正常初始化, xorg 日志显示

(II) AMDGPU(0): Setting screen physical size to 381 x 238

正常加载问题解决

主要都是驱动和固件的问题, 还有 rx6400 这显卡是完全没有 Encoding 的, 只适合拿来输出图像, 不适合用来做影音服务器, 属于性价比巨低的亮机卡.(我主要是拿来跑一个需要 3d 渲染的小项目, 6400 也够了)

6660 次点击
所在节点    Linux
23 条回复
hanssx
2022-07-25 10:49:30 +08:00
@zx900930 感谢老哥,你说的这个软件 ThinLinc ,我在 V 站搜了下,就 2 个相关帖子,这玩意儿有啥优势吗。
zx900930
2022-07-25 16:49:59 +08:00
@hanssx 就是性能好, 支持硬件加速, 企业解决方案, 可以理解为以 linux 为第一目标系统的 Parsec, 缺点就是收费吧.
不然的话一般维护使用其实 VNC 或者 VNC 衍生的就够用了.
hanssx
2022-08-23 17:08:58 +08:00
@zx900930 请教一下这个 ThinLinc ,我装好之后,在 Windows 上面连接使用,发现确实快一些,但是仍然没有启用 GPU ,如何才能启用呢,装一个 VirtualGL 吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/862061

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX