启动时冻结并出现错误“fb:从 EFI VGA 切换到 radeondrmfb”

启动时冻结并出现错误“fb:从 EFI VGA 切换到 radeondrmfb”

我会先说我一直在寻找解决方案,而我发现的最接近的东西是线程在提出不同的要求

背景:我有一台出问题的 MacBook Pro 1,1,我正在尝试使用 Linux 进行一些 C++ 开发工作,让它重获新生。 Eclipse 是我选择的 IDE(主要是这样我可以与家里的其他计算机保持一致),所以我需要某种 X/a-GUI。我已经使用 i686 版本完成了 Debian (Jessie) 的简单安装,系统非常稳定。但是,系统在启动时冻结并显示以下错误消息:

fb: switching to radeondrmfb from EFI VGA

Think Different 中找到的修复方法是将其添加nomodeset为启动选项。这让我进入了系统,它还算可用,但我确信还可以更好。有关设置的一些信息:

  • Debian (Jessie) 构建
  • 我尝试重新编译 3.x 内核以查看它是否是较新的 4.x 内核中的内容,但问题仍然存在
  • 使用最新的 rEFInd 引导进入系统
  • lspci -nnkVGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] RV530/M56-P [Mobility Radeon X1600] [1002:71c5]我的显卡的报告

这个问题听起来类似于其一,也没有答案。自从我使用 Linux 以来已经几乎整整十年了(如果不是更久的话)(想想 PowerPC 处于领先地位时的 2.2.x 系列内核),所以其中一些东西对我来说非常非常新。所以一些高层次的问题。

  • nomodeset 到底是什么?它有什么作用?我发现的最接近的答案是 nomodeset 告诉(较新的)Linux 内核不要对显卡执行任何繁重的工作——大概这是因为视频驱动程序已移入内核?我不确定这有多准确。
  • 我可以尝试其他内核选项吗?我找不到详尽的选项列表 - 有些是特定于发行版的,有些是引导加载程序的,等等。
  • 如果我可以使用 nomodeset 作为内核提示符启动系统,是否有办法在事后加载 Radeon 驱动程序?
  • 除此之外,我是否可以不以某种方式配置 X 以使用硬件视频渲染与软件视频渲染?我设想启动到纯文本模式,然后更新 X 中的一些配置选项,然后启动 X。

答案1

因此,模式设置是一个系统,其中内核更改图形模式,而不是 X 服务器。这是 X 服务器(或其他显示系统)不必以 root 身份运行所需的第一步,并且大多数现代硬件的驱动程序使用模式设置来进行图形设置更改。

但问题是,为了使模式设置发挥作用,硬件需要具备正常运行所需的一切。对于某些AMD GPU,这意味着内核需要将固件上传到GPU;否则屏幕无法再更新。请注意,这仅有的导致屏幕冻结;这不是车祸。因此,如果您的系统是服务器,则可以忽略这一点;但对于台式机或笔记本电脑来说,这显然不是很好。

由于相关固件不是免费软件按照 Debian 的定义,它无法打包到 Debian 的“主”存储库中。然而,这并不意味着它根本没有被包装。只是打包到non-free存储库中, 反而。这也意味着安装程序无法提供它。

要解决此问题,您需要做的就是:

  • 使用nomodeset(或 ssh 进入机器)启动
  • 通过在已经存在的某些行上编辑/etc/apt/sources.list和添加contrib non-free后启用非自由存储库main
  • 运行 apt-get update
  • 安装该firmware-amd-graphics软件包,现在将从 中提取该软件包non-free
  • 重新启动(这次不使用nomodeset)来激活固件。

编辑:自 2023 年 6 月 10 日发布的 Debian 12 起,所有非自由固件已从“非自由”部分移至“非自由固件”部分,并且该部分的内容现已随官方安装程序映像。因此,如果您安装了 Debian 12(或更高版本,如果适用),这应该不再是问题,因为安装程序应该已经为您提供了所需的固件。

如果无论如何都没有安装,那么上述说明仍然有效,唯一的例外是您应该启用该non-free-firmware部分,而不是该non-free部分。

对于旧版本的 Debian,上述说明仍然有效。

答案2

我想我知道这一点:主要问题是你没有适合 radeon 的固件。要解决这个问题,您需要重新配置&&重建内核。

选项A:将radeon加载为模块1.检查debian是否有安装固件包。如果有,请安装它。 2.重建内核,在menuconfig期间,(设备驱动程序),dri [yes],radeon [模块]

选项 B: 1.将 radeon 固件构建到内核中。

更详细的信息,

1.查看gentoo维基:https://wiki.gentoo.org/wiki/Radeon 检查 blfs 维基:2。http://www.linuxfromscratch.org/blfs/view/systemd/x/x7driver.html#xorg-ati-driver

相关内容