我会先说我一直在寻找解决方案,而我发现的最接近的东西是这线程在提出不同的要求。
背景:我有一台出问题的 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 -nnk
VGA 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