我刚买了一台“HP 15s-eq1510sa 15.6" AMD Ryzen 5”笔记本电脑;显然我的第一项工作是在 Windows 上安装 Ubuntu Studio,一切都很顺利,直到我合上盖子,当我重新打开它时,我只看到黑屏,这种情况似乎 80% 的时间都会发生,但如果我幸运的话,屏幕会显示一秒钟的垃圾,然后正常工作并显示登录屏幕。我看到有人提到这是 Nvidia 显卡的问题,但我的笔记本电脑有 AMD Radeon。提前谢谢 :-)
注意:我想我可能已经找到答案了!系统默认使用 5.11.0.18 内核,我通过 Grub 将其切换为 5.11.0.16,问题似乎解决了!我会把这个问题留在这里一天左右,以确保万无一失 :-)
编辑:不,它正在工作,因为我已经将它插入电源(当我关闭盖子时它会关闭屏幕),当盖子用电池关闭时它被设置为暂停,正如我刚刚发现的那样,唤醒时屏幕仍然空白。
eric@eric-linuxbox:~$ lspci
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Root Complex
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Renoir IOMMU
00:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge
00:02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge
00:02.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge
00:02.4 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge
00:08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge
00:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir Internal PCIe GPP Bridge to Bus
00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 51)
00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 51)
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 0
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 1
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 2
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 3
00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 4
00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 5
00:18.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 6
00:18.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 7
01:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8821CE 802.11ac PCIe Wireless Network Adapter
02:00.0 Non-Volatile memory controller: KIOXIA Corporation Device 0001
03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Renoir (rev c3)
03:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Device 1637
03:00.2 Encryption controller: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) Platform Security Processor
03:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Renoir USB 3.1
03:00.4 USB controller: Advanced Micro Devices, Inc. [AMD] Renoir USB 3.1
03:00.5 Multimedia controller: Advanced Micro Devices, Inc. [AMD] Raven/Raven2/FireFlight/Renoir Audio Processor (rev 01)
03:00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) HD Audio Controller
答案1
不幸的是,只安装 5.14-rc5(如HaoSama 写道) 对我来说还不够,但这是必要的。还需要更新 DSDT。要执行此操作,请运行:
- 创建工作目录
mkdir -p /tmp/acpi; cd /tmp/acpi/
- 将所有 ACPI 文件转储到最近创建的目录中
sudo acpidump -b
- 并反编译DSDT:
iasl -e *.dat -d dsdt.dat
- 启用 S3 状态。
4.1.dsdt.dsl
用文本编辑器打开查找和替换
Name (XS3, Package (0x04)
{
0x03,
Zero,
Zero,
Zero
})
和
Name (_S3, Package (0x04)
{
0x03,
Zero,
Zero,
Zero
})
4.2. 还找到以 开头的行DefinitionBlock
并增加 OEM 版本(在我的情况下0x01072009
):
DefinitionBlock ("", "DSDT", 2, "HPQOEM", "8707 ", 0x01072009)
通过替换
DefinitionBlock ("", "DSDT", 2, "HPQOEM", "8707 ", 0x01072010)
- 编译最终的 DSDT
iasl -ve -tc dsdt.dsl
- 创建 cpio 文件
mkdir -p kernel/firmware/acpi
cp dsdt.aml kernel/firmware/acpi
find kernel | cpio -H newc --create > acpi_override
sudo cp acpi_override /boot
- 更新 GRUB:
/etc/default/grub
用文本编辑器打开并附加到键值GRUB_CMDLINE_LINUX_DEFAULT
mem_sleep_default=deep
。例如,我的行是GRUB_CMDLINE_LINUX_DEFAULT="splash resume=UUID=ddd96d19-0c4e-4523-86ff-033cffb11d58 mem_sleep_default=deep"
然后,添加下面的行GRUB_EARLY_INITRD_LINUX_CUSTOM="acpi_override"
。最后运行
sudo update-grub
我的笔记本电脑是 HP 15s-eq1xxx,Ryzen 3 4300U。我已经为我的笔记本电脑调整了解决方案描述在这里。
您可以通过以下方式检查 S3 系统状态是否可用
sudo dmesg | grep -i acpi | grep supports
答案2
我有 HP 15s-eq2040au、Ryzen 5500u,使用的是 Arch,我认为内核 5.11 存在这个问题。直到 5.12,你都可以添加补丁
1. 补丁
#/etc/modprobe.d/options.conf
amdgpu dpm=0
这是一个糟糕的修复,因为它只是禁用了 gpu 上的电源管理,并且它仍然在挂起状态下运行。
2. 更好的修复
后来的内核解决了这个问题,您可以采用较新版本的内核并避免 gpu 问题,我已经检查过 5.13 和 5.14-rc3。
然而,我仍然遇到了 IOMMU 的另一个问题,这导致我的 SSD 变为只读,并且 systemd 甚至无法记录内容。设置
iommu=soft
启动期间的这个内核参数解决了这个问题。您应该能够在 grub 中执行此操作,这是一个 systemd-boot 配置。
title Arch Linux (distro)
linux /vmlinuz-linux
initrd /amd-ucode.img
initrd /initramfs-linux.img
options root="LABEL=root" rw splash iommu=soft
请告诉我这是否对你有用。
答案3
首先,检查/var/log/Xorg.*.log
你是否看到
(II) systemd-logind: got pause for
然后尝试这个解决方法:
sudo systemctl set-default multi-user.target
重新启动,进入文本控制台模式,登录,尝试
lsmod
确认amdgpu
已列出
startx
和平。所以这是一个系统问题,我找不到任何日志可供进一步调查。