我希望得到你的帮助。我有一台 HP Omen 16 笔记本电脑 (16-c0012dx),配备 AMD Ryzen 7 和 AMD Radeon RX 6600M 专用显卡,我在那里安装了 Ubuntu 22.04 LTS。
AMD Ryzen 有一个集成显卡,我相信如果我不玩游戏的话它一直在正常使用;据我所知,HDMI 端口与专用显卡相连,而问题就出在这里。
如果我使用第二个显示器/监视器来扩展桌面,它可以工作,但如果我手动锁定屏幕或系统因不活动而自动锁定它,系统将关闭会话,当我解锁屏幕时就像我再次开始会话一样,我打开的所有应用程序都关闭了,这就是我默认使用 Wyland 的时候。
如果我使用 Xorg 而不是 Wyland,情况会更糟,因为第二个显示器可以工作一段时间,但之后它会冻结并保持黑色,就像断开连接一样,直到我重新启动系统,所以无法使用。
我相信这不是 Wayland、Xorg 甚至 Gnome 的问题,而是 AMD Radeon 驱动程序的一个错误;由于 AMDGPU 驱动程序是开源的,并且已经包含在 Linux 内核中,因此我不需要像 NVidia 那样安装它。
我尝试手动安装 AMD Radeaon 驱动程序,从这里下载适用于 Ubuntu 22.04 的 deb 包: https://www.amd.com/en/support/linux-drivers
sudo apt install ./amdgpu-install_22.20.50200-1_all.deb
之后,我使用以下命令安装了 All-Open 用例:amdgpu-install -y --usecase=graphics
我使用了官方文档: https://amdgpu-install.readthedocs.io/en/latest/install-installing.html
我重启了系统并再次尝试,但问题仍然存在。您知道如何解决吗?或者我必须等到 Ubuntu 内核更新带来错误修复。
更新
答案1
我在装有 Radeon 6600M 显卡的 Omen 笔记本电脑上遇到了同样的问题,运行的是 Ubuntu 22.04.1 LTS
root@starcastle:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: jammy
驱动程序(amdgpu-install_22.20.50205-1_all.deb)通过命令安装
# amdgpu-install -y --usecase=graphics
之前我在使用 Ubuntu 20.04 LTS 时,我曾写信给 AMD[电子邮件保护],他们回答我说
您提供给我们的驱动程序链接(https://www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux-21-40-2) 仅支持 Rx 6600 台式机显卡,而由于您有 Rx 6600M 移动 GPU,因此该显卡驱动程序不支持您的笔记本电脑。
如果您的笔记本电脑确实支持 Ubuntu 22.04,那么您可以使用 Linux OS 内置驱动程序。
我认为较新的驱动程序 22-20https://www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux-22-20仅支持 Rx 6600 台式机显卡(不支持 Rx 6600m)。您应该考虑安装xserver-xorg-video-amdgpu包,可能包含正确的驱动程序,但我对该包有同样的问题。
答案2
我没有答案,但有潜在的根本原因。我有同款 Omen 笔记本电脑,一直在努力解决间歇性启动问题。使用 GRUB 中的“nomodeset”标志允许我持续启动,但这会禁用高级图形功能,因此这不是一个合适的解决方案。经过几周的科学和在线研究,我终于想到了一个主意,并检查了“lspci”以查看集成 Ryzen 5800H 图形控制器和 6600M 的代号。它们分别称为“Cezanne”和“Navi 23”。我检查了“amdgpu”内核模块的内容并发现其中任何一个设备的二进制文件都没有被包含。
因此,看起来内核缺少我们特定图形控制器的驱动程序。:(
我还没有找到安装它们的来源/程序。如果我找到了,我会在这里发帖。
更新
因此,根据 linux-hardware.org 的说法,塞尚和纳维 23没问题。我使用“hw-probe”进行了探测,两个 GPU 都报告正常工作。但是,我确实在火山信息在我的 Kubuntu 22.10 安装中,5800H 集成 GPU 无法正确识别,只是说未知。我启动了 20.04.5 实时 USB 安装程序并执行了相同的操作。没有火山信息日志在那里。做更多的科学研究,20.04.5 每次都能顺利启动。
我升级到 22.04.1 实时 USB 安装程序,并再次执行“硬件探测”。尝试了几次才让它正常启动,就像我的 22.10 安装一样。这一次,火山信息那里的 log 声称可以识别两个 GPU,但是都识别不正确。
我查看了两个 USB 安装程序中的内核版本,它们都是 5.15,但 20.04.5 中包含的内核版本实际上略有不同。更新比 22.04.1 安装程序更早。但是由于 20.04.5 到目前为止 100% 的时间都能正确启动,所以我认为这不再是内核模块信息了。在我尝试过的所有版本中(20.04.5+),HW ID 都显示正常,而且由于 linux-hardware.org 有几份关于驱动程序方面工作的报告,我想我可以排除这种可能性。没有火山信息在 20.04.5 中,并且 Vulkan 在每个出现故障的地方都错误识别了至少一个 GPU,我认为这里肯定存在一些相关问题。更多研究和更新即将推出……
答案3
我有一台非常相似(或可能完全相同)的笔记本电脑,HP Omen 16,也存在类似的问题(HDMI 连接的显示器屏幕损坏)。我使用 Mate/X11。
当我在笔记本电脑主显示屏上运行图形程序时,一切都运行良好,但当我在连接到 HDMI 端口的显示器上运行图形程序时,屏幕可能会损坏和冻结,并出现棋盘状伪影。有趣的是:从损坏的 HDMI 屏幕拖到笔记本电脑主屏幕的窗口仍然正常运行。
所以对我来说,问题看起来是这样的:笔记本电脑的主显示器连接到集成显卡(Cezanne),HDMI 连接到专用显卡(Navi 23)。因此,当使用 HDMI 显示器时,数据必须从 iGPU 传输到 dGPU,而后者有时会在此过程中挂起。
在寻找解决方案时我偶然发现了以下讨论:
https://gitlab.freedesktop.org/drm/amd/-/issues/1974
和这个:
https://h30434.www3.hp.com/t5/Gaming-Notebooks/HP-OMEN-16-Black-artifacts/td-p/8343419/page/7
这两个帖子的结论是,Navi 卡的电源管理在某种程度上处理不正确。在第二个帖子中,可以找到 github 存储库的链接:
https://github.com/kb2288/amd-gpu
我编译了该程序,它看起来有帮助,但目前我正在使用更简单的解决方案。我运行:
DRI_PRIME=1 glxgear
即使窗口最小化,它也会保持 dGPU 处于唤醒状态。
从此以后就再也没有挂断过。