0

How can I activate the screen if it doesn't turn on after resuming from the S3 deep sleep state (suspend to RAM)?

The test for suspending to RAM appears to be successful.

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

The device seems suspending.

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

The power LED turns off. I can resume it by pressing a key. The device powers on, but the screen remains unresponsive.

I am able to type commands in the terminal and also hear system sounds.

# dmesg > log.txt
# reboot

Here are the dmesg messages recorded from the moment I initiated the suspension to RAM until right before I rebooted.

[  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

Additional information about the system:

$ 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

There is no such issue on Ubuntu or Fedora. But I can reproduce it there too by adding nomodeset to the kernel boot parameters. The issue persists on Trisquel and Guix systems both running blob-free kernels. So, I conclude that the issue is a consequence of a fallback mechanism when the kernel does not load firmware for AMD GPU with Ryzen 5 4500U. I suspect that it depends on the installed UEFI firmware capabilities but I am not sure how to investigate it.

Considering that I have access to the terminal after the system wakes from sleep, could I simply reset the display from the command line somehow?

2
  • This has probably been reported gitlab.freedesktop.org/drm/amd/-/issues if not, file a new bug report. Commented Jul 2, 2023 at 11:33
  • @ArtemS.Tashkinov, thak you for the suggestion. I am unsure whether the AMD driver is used at all when the AMD firmware is absent. Commented Jul 4, 2023 at 8:43

0

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.