找到显示器无法从深度睡眠中恢复的解决方法

找到显示器无法从深度睡眠中恢复的解决方法

如果从 S3 深度睡眠状态(挂起到 RAM)恢复后屏幕没有打开,如何激活屏幕?

挂起到 RAM 的测试似乎成功了。

# echo core > /sys/power/pm_test
# echo mem > /sys/power/state

该设备似乎已暂停。

# echo none > /sys/power/pm_test
# echo mem > /sys/power/state

电源 LED 熄灭。我可以通过按一个键来恢复它。设备已开机,但屏幕仍然没有响应。

我可以在终端中输入命令,还可以听到系统声音。

# dmesg > log.txt
# reboot

以下是dmesg从我启动 RAM 暂停直到重新启动之前记录的消息。

[  986.764160] PM: suspend entry (deep)
[  986.775044] Filesystems sync: 0.010 seconds
[  986.790717] rfkill: input handler enabled
[  986.791783] Freezing user space processes
[  986.793695] Freezing user space processes completed (elapsed 0.001 seconds)
[  986.793700] OOM killer disabled.
[  986.793702] Freezing remaining freezable tasks
[  986.794847] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
[  986.794880] printk: Suspending console(s) (use no_console_suspend to debug)
[  986.909707] ACPI: EC: interrupt blocked
[  986.946292] ACPI: PM: Preparing to enter system sleep state S3
[  986.946831] ACPI: EC: event blocked
[  986.946833] ACPI: EC: EC stopped
[  986.946834] ACPI: PM: Saving platform NVS memory
[  986.947201] Disabling non-boot CPUs ...
[  986.949337] smpboot: CPU 1 is now offline
[  986.952353] smpboot: CPU 2 is now offline
[  986.955071] smpboot: CPU 3 is now offline
[  986.957565] smpboot: CPU 4 is now offline
[  986.960071] smpboot: CPU 5 is now offline
[  986.960279] ACPI: PM: Low-level resume complete
[  986.960279] ACPI: EC: EC started
[  986.960279] ACPI: PM: Restoring platform NVS memory
[  986.960279] AMD-Vi: Virtual APIC enabled
[  986.960279] AMD-Vi: Virtual APIC enabled
[  986.960279] LVT offset 0 assigned for vector 0x400
[  986.960279] Enabling non-boot CPUs ...
[  986.960279] x86: Booting SMP configuration:
[  986.960279] smpboot: Booting Node 0 Processor 1 APIC 0x1
[  986.961196] ACPI: \_SB_.PLTF.C001: Found 3 idle states
[  986.961203] ACPI: FW issue: working around C-state latencies out of order
[  986.961407] CPU1 is up
[  986.961423] smpboot: Booting Node 0 Processor 2 APIC 0x2
[  986.961697] ACPI: \_SB_.PLTF.C002: Found 3 idle states
[  986.961703] ACPI: FW issue: working around C-state latencies out of order
[  986.961897] CPU2 is up
[  986.961919] smpboot: Booting Node 0 Processor 3 APIC 0x4
[  986.962448] ACPI: \_SB_.PLTF.C003: Found 3 idle states
[  986.962460] ACPI: FW issue: working around C-state latencies out of order
[  986.962924] CPU3 is up
[  986.962943] smpboot: Booting Node 0 Processor 4 APIC 0x5
[  986.963563] ACPI: \_SB_.PLTF.C004: Found 3 idle states
[  986.963580] ACPI: FW issue: working around C-state latencies out of order
[  986.964123] CPU4 is up
[  986.964137] smpboot: Booting Node 0 Processor 5 APIC 0x6
[  986.964691] ACPI: \_SB_.PLTF.C005: Found 3 idle states
[  986.964708] ACPI: FW issue: working around C-state latencies out of order
[  986.965199] CPU5 is up
[  986.966014] ACPI: PM: Waking up from system sleep state S3
[  986.966512] ACPI: EC: interrupt unblocked
[  986.968633] ACPI: EC: event unblocked
[  986.968812] pci 0000:00:00.2: can't derive routing for PCI INT A
[  986.968818] pci 0000:00:00.2: PCI INT A: no GSI
[  986.992288] nvme nvme0: Shutdown timeout set to 8 seconds
[  987.112414] nvme nvme0: 12/0/0 default/read/poll queues
[  987.214103] OOM killer enabled.
[  987.214107] Restarting tasks ... done.
[  987.216294] random: crng reseeded on system resumption
[  987.216901] PM: suspend exit
[  987.280708] ata1: SATA link down (SStatus 0 SControl 300)
[  987.281085] ata2: SATA link down (SStatus 0 SControl 300)
[  987.402492] rfkill: input handler disabled
[  991.340829] acpi AMDI0010:03: Already enumerated
[  996.400591] acpi AMDI0010:03: Already enumerated

有关系统的附加信息:

$ uname -rvm
6.3.10-gnu #1 SMP PREEMPT_DYNAMIC 1 x86_64
$ lspci -s 0000:00:00.2
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne IOMMU
$ lspci -k -s 02:00.0
02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Renoir (rev c3)
    Subsystem: Acer Incorporated [ALI] Device 142b
    Kernel modules: amdgpu
$ shepherd --version | grep shepherd
shepherd (GNU Shepherd) 0.10.1

Ubuntu 或 Fedora 上不存在此问题。但我也可以通过添加nomodeset到内核启动参数来重现它。该问题在运行无 blob 内核的 Trisquel 和 Guix 系统上仍然存在。因此,我得出的结论是,当内核未加载 Ryzen 5 4500U 的 AMD GPU 固件时,该问题是回退机制造成的。我怀疑这取决于安装的 UEFI 固件功能,但我不确定如何调查它。

考虑到我可以在系统从睡眠状态唤醒后访问终端,我可以简单地从命令行重置显示吗?

相关内容