![PureOS 不加载 (AMD) 图形固件](https://linux22.com/image/163353/PureOS%20%E4%B8%8D%E5%8A%A0%E8%BD%BD%20(AMD)%20%E5%9B%BE%E5%BD%A2%E5%9B%BA%E4%BB%B6.png)
HP Envy X360,启用传统启动,禁用安全启动,在所有驱动器上使用 GPT
Ryzen 5 2500U 和 Radeon Vega Mobile (Raven Ridge APU)
启动全新安装的 PureOS 9.0 会导致黑屏,并带有闪烁的下划线(类似于 POST 期间看到的情况)。它与 Debian 10 一起安装在我的 SSD 上;这靴子很好。我尝试使用不同的引导加载程序选项重新安装多次(在 MBR 上、PureOS 分区上安装引导加载程序,根本没有引导加载程序,由 Debian 分区的 GRUB 接管)。
我能够在正常启动期间以及恢复模式下进入 tty 控制台。我用它查了一下dmesg
,/var/log/boot.log
但发现没有任何用处。实时安装程序映像确实具有功能齐全的 Gnome shell。有趣的是,我使用同一台笔记本电脑将 PureOS 安装到另一个 USB 驱动器上,并且 GUI 在安装后完美运行(甚至 3D 图形和亮度设置)。
我尝试通过克隆工作 USB 安装并将其恢复到 SSD 上的分区来复制此问题,但遇到了相同的黑屏问题。我确信启动过程的低级部分导致了这种情况,因为每当我通过 SSD 上的引导加载程序启动已安装的 USB 映像时,GRUB 都会抱怨
Error: you must load a kernel first. Press any key to continue...
一旦我按下 Enter 键,它就会启动并显示 Debian 徽标(而不是 PureOS),然后正确输入 Gnome shell 登录。
AMD 网站不提供 Linux 上的 Vega mobile 驱动程序下载。相反,它是由内核提供的,而不仅仅是 vanilla Linux,GNU linux-libre 也随固件一起提供,因为实时安装映像可以按预期工作,并且如果它安装到外部 USB 上也是如此。
我将SSD 的 PureOS 分区上的grub.cfg
、 和fstab
与正在运行的 USB 安装上的分区进行了比较,但找不到任何可能阻止启动时加载固件的内容。我希望我已经说得足够清楚了。我正在接受更改systemd
选项、发布系统日志等请求。任何帮助表示赞赏!
答案1
6个多月后,我想通了!最终继续进行:
https://cdimage.debian.org/cdimage/unofficial/non-free/
并导航到firmware/testing/current/firmware.zip
(测试,因为PureOS是基于Debian测试的,并且存档扩展名并不重要,您也可以将firmware.tar.gz
其下载到与 相同的目录中firmware.zip
)
此后,必须将其提取并插入到全新安装的 PureOS 中。然后你必须启动系统,打开 TTY: ++ Ctrl,登录,找到包含该包的文件夹,然后运行AltF3
sudo apt install ./firmware-amd-graphics*.deb
(*
可以替换为发布版本,或者可以使用 bash 自动完成命令Tab)。
接下来,重新启动,操作系统现在可以加载 GPU 固件,从而加载开放的图形驱动程序。
应该注意的是,该固件既不符合 Debian DFSG,也不符合 GNU 对自由软件的定义,但是大多数高于 ~2013 的 GPU 都需要此固件才能实现 3D 功能。