GNOME 42 Mutter Lands 修复使用旧的“Radeon”图形驱动程序
GNOME 42 Mutter Lands 修复使用旧的“Radeon”图形驱动程序
最近有关于使用 GNOME Shell 42 的错误报告,无论是 Ubuntu 22.04 还是 Fedora (Silverblue) 36 Beta,在使用 Radeon DRM/KMS 内核驱动程序时出现崩溃或空白屏幕。较旧的 Radeon DRM 驱动程序适用于 GCN 1.2 之前的图形处理器(GCN 1.0/1.1 上的那些切换到使用带有可选模块参数的 AMDGPU 内核驱动程序),而现在 Mutter 已经解决了这个问题。
旧版 Radeon DRM 驱动程序上出现的启动崩溃或空白屏幕现在应该使用最新的 Git 代码修复,并且也可以解决问题。这只是在使用较旧的 Radeon DRM 驱动程序而不是较新的 AMDGPU DRM/KMS 内核驱动程序时。
问题原来是 Mutter 试图使用 KMS 缓冲区修改器,即使 Radeon 内核驱动程序不支持它们 (DRM_CAP_ADDFB2_MODIFIERS)。
Mutter 之前使用带有 udev 规则的黑名单禁用了 Radeon 驱动程序的 KMS 修改器,但后来(意外地?)在清除 Nouveau 和 AMDGPU 规则后放弃了修改器 udev 黑名单。上周合并的修复实际上是检查 DRM_CAP_ADDFB2_MODIFIERS 功能并在未公开该上限时禁用 KMS 修饰符的使用,从而避免特定于驱动程序的黑名单/白名单。
用于较旧 AMD/ATI GPU 的 Radeon DRM 驱动程序不支持 KMS 修饰符。现在 GNOME 将正确检查该功能以避免出现问题。
所以反过来,这个修复已经被合并,应该会让旧的 ATI/AMD Radeon 显卡对 GNOME 42 感到满意。
如果你在 GNOME 上遇到启动时崩溃或 Radeon 内核驱动程序出现黑屏问题,也可以使用一种解决方法正在使用MUTTER_DEBUG_USE_KMS_MODIFIERS=0环境变量手动禁用修饰符。