Wake from sleep results in black screen / unresponsive system

Currently unable to use sleep because of this. Unplugging the power cable and reboot is needed.

Here's my inxi:

 ╰─λ garuda-inxi
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en_GB:en_US:fi",
        LC_ALL = (unset),
        LC_ADDRESS = "fi_FI.UTF-8",
        LC_NAME = "fi_FI.UTF-8",
        LC_MONETARY = "fi_FI.UTF-8",
        LC_PAPER = "fi_FI.UTF-8",
        LC_IDENTIFICATION = "fi_FI.UTF-8",
        LC_TELEPHONE = "fi_FI.UTF-8",
        LC_MEASUREMENT = "fi_FI.UTF-8",
        LC_CTYPE = "fi_FI.UTF-8",
        LC_TIME = "fi_FI.UTF-8",
        LC_COLLATE = "fi_FI.UTF-8",
        LC_NUMERIC = "fi_FI.UTF-8",
        LANG = "en_FI.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
System:
  Kernel: 6.3.2-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.1.1
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=33b92acc-eae1-4daf-86a1-a400c31bc857 rw [email protected]
    splash intel_iommu=on rd.udev.log_priority=3 vt.global_cursor_default=0
    systemd.unified_cgroup_hierarchy=1 loglevel=3 ibt=off
  Desktop: KDE Plasma v: 5.27.5 tk: Qt v: 5.15.9 wm: kwin_wayland vt: 2
    dm: SDDM Distro: Garuda Linux base: Arch Linux
Machine:
  Type: Desktop Mobo: ASRock model: B550M-ITX/ac serial: <superuser required>
    UEFI: American Megatrends LLC. v: P2.10 date: 10/20/2022
Battery:
  Device-1: hidpp_battery_0 model: Logitech MX Keys WirelessMX W
    serial: <filter> charge: 55% (should be ignored) rechargeable: yes
    status: discharging
CPU:
  Info: model: AMD Ryzen 7 5700G with Radeon Graphics bits: 64 type: MT MCP
    arch: Zen 3 gen: 4 level: v3 note: check built: 2021-22
    process: TSMC n7 (7nm) family: 0x19 (25) model-id: 0x50 (80) stepping: 0
    microcode: 0xA50000D
  Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
    L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 4 MiB desc: 8x512 KiB
    L3: 16 MiB desc: 1x16 MiB
  Speed (MHz): avg: 1463 high: 1700 min/max: 1400/4672 boost: enabled
    scaling: driver: acpi-cpufreq governor: ondemand cores: 1: 1498 2: 1400
    3: 1400 4: 1697 5: 1413 6: 1400 7: 1400 8: 1700 9: 1400 10: 1400 11: 1400
    12: 1400 13: 1700 14: 1400 15: 1400 16: 1400 bogomips: 121374
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities: <filter>
Graphics:
  Device-1: AMD Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] vendor: Sapphire
    driver: amdgpu v: kernel arch: RDNA-2 code: Navi-2x process: TSMC n7 (7nm)
    built: 2020-22 pcie: gen: 4 speed: 16 GT/s lanes: 16 ports: active: none
    off: DP-3 empty: DP-1,DP-2,HDMI-A-1 bus-ID: 03:00.0 chip-ID: 1002:73bf
    class-ID: 0300
  Device-2: AMD Cezanne [Radeon Vega Series / Radeon Mobile Series]
    driver: amdgpu v: kernel arch: GCN-5 code: Vega process: GF 14nm
    built: 2017-20 pcie: gen: 3 speed: 8 GT/s lanes: 16 link-max: gen: 4
    speed: 16 GT/s ports: active: HDMI-A-2 empty: DP-4,DP-5 bus-ID: 09:00.0
    chip-ID: 1002:1638 class-ID: 0300 temp: 30.0 C
  Display: wayland server: X.org v: 1.21.1.8 with: Xwayland v: 23.1.1
    compositor: kwin_wayland driver: X: loaded: amdgpu
    unloaded: modesetting,radeon alternate: fbdev,vesa dri: radeonsi
    gpu: amdgpu display-ID: 0
  Monitor-1: DP-3 model: BenQ EX3501R serial: <filter> built: 2019
    res: 3440x1440 dpi: 107 gamma: 1.2 size: 819x346mm (32.24x13.62")
    diag: 889mm (35") modes: max: 3440x1440 min: 720x400
  Monitor-2: HDMI-A-2 model: BenQ EX3501R serial: <filter> built: 2019
    res: 3440x1440 dpi: 107 gamma: 1.2 size: 819x346mm (32.24x13.62")
    diag: 889mm (35") modes: max: 3440x1440 min: 720x400
  API: OpenGL v: 4.6 Mesa 23.0.3 renderer: AMD Radeon Graphics (renoir LLVM
    15.0.7 DRM 3.52 6.3.2-zen1-1-zen) direct-render: Yes
Audio:
  Device-1: AMD Navi 21/23 HDMI/DP Audio driver: snd_hda_intel v: kernel pcie:
    gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 03:00.1 chip-ID: 1002:ab28
    class-ID: 0403
  Device-2: AMD Renoir Radeon High Definition Audio driver: snd_hda_intel
    v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16 link-max: gen: 4
    speed: 16 GT/s bus-ID: 09:00.1 chip-ID: 1002:1637 class-ID: 0403
  Device-3: AMD Family 17h/19h HD Audio vendor: ASRock driver: snd_hda_intel
    v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16 link-max: gen: 4
    speed: 16 GT/s bus-ID: 09:00.6 chip-ID: 1022:15e3 class-ID: 0403
  Device-4: SteelSeries ApS Arctis Pro Wireless
    driver: hid-generic,snd-usb-audio,usbhid type: USB rev: 1.1 speed: 12 Mb/s
    lanes: 1 mode: 1.1 bus-ID: 3-2.3:4 chip-ID: 1038:1297 class-ID: 0300
  API: ALSA v: k6.3.2-zen1-1-zen status: kernel-api with: aoss
    type: oss-emulator tools: N/A
  Server-1: JACK v: 1.9.22 status: off tools: N/A
  Server-2: PipeWire v: 0.3.70 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: ASRock driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1
    port: e000 bus-ID: 06:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp6s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Device-2: Intel Dual Band Wireless-AC 3168NGW [Stone Peak] driver: iwlwifi
    v: kernel modules: wl pcie: gen: 1 speed: 2.5 GT/s lanes: 1 bus-ID: 07:00.0
    chip-ID: 8086:24fb class-ID: 0280
  IF: wlp7s0 state: down mac: <filter>
  IF-ID-1: virbr0 state: down mac: <filter>
Bluetooth:
  Device-1: Intel Wireless-AC 3168 Bluetooth driver: btusb v: 0.8 type: USB
    rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-9:8 chip-ID: 8087:0aa7
    class-ID: e001
  Report: bt-adapter ID: hci0 rfk-id: 1 state: down
    bt-service: enabled,running rfk-block: hardware: no software: no
    address: <filter>
Drives:
  Local Storage: total: 2.67 TiB used: 2.42 TiB (90.7%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: A-Data model: SX8200PNP
    size: 476.94 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: R0906I temp: 36.9 C
    scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD 850 EVO 250GB
    size: 232.89 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: 2B6Q scheme: GPT
  ID-3: /dev/sdb maj-min: 8:16 vendor: Samsung model: SSD 840 PRO Series
    size: 119.24 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: 6B0Q scheme: GPT
  ID-4: /dev/sdc maj-min: 8:32 vendor: A-Data model: SU800 size: 1.86 TiB
    block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s tech: SSD
    serial: <filter> fw-rev: 7A
Partition:
  ID-1: / raw-size: 39.26 GiB size: 39.26 GiB (100.00%)
    used: 33.56 GiB (85.5%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-2: /boot/efi raw-size: 512 MiB size: 511 MiB (99.80%)
    used: 576 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 437.18 GiB size: 437.18 GiB (100.00%)
    used: 420.66 GiB (96.2%) fs: btrfs dev: /dev/nvme0n1p3 maj-min: 259:3
  ID-4: /var/log raw-size: 39.26 GiB size: 39.26 GiB (100.00%)
    used: 33.56 GiB (85.5%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-5: /var/tmp raw-size: 39.26 GiB size: 39.26 GiB (100.00%)
    used: 33.56 GiB (85.5%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: zram size: 30.72 GiB used: 12.5 MiB (0.0%)
    priority: 100 dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 33.5 C mobo: N/A
  Fan Speeds (RPM): fan-1: 873 fan-2: 3994 fan-3: 1250 fan-4: 0 fan-5: 0
  GPU: device: amdgpu temp: 41.0 C mem: 42.0 C fan: 0 watts: 6.00
    device: amdgpu temp: 31.0 C
Info:
  Processes: 485 Uptime: 5m wakeups: 2 Memory: available: 30.72 GiB
  used: 7.33 GiB (23.8%) Init: systemd v: 253 default: graphical
  tool: systemctl Compilers: gcc: 13.1.1 clang: 15.0.7 Packages: pm: pacman
  pkgs: 2319 libs: 614 tools: pamac,paru pm: rpm pkgs: 0 pm: appimage pkgs: 0
  Shell: Zsh v: 5.9 running-in: konsole inxi: 3.3.27
Garuda (2.6.16-1):
  System install date:     2021-05-05
  Last full system update: 2023-05-15
  Is partially upgraded:   No
  Relevant software:       timeshift(custom) NetworkManager mkinitcpio
  Windows dual boot:       No/Undetected
  Failed units:            fancontrol.service preload.service samba.service

I've tried both Wayland and Xorg. I've also tried the LTS kernel. No difference.

You can try switching to the s2idle suspend mode. Add the following to your kernel parameter line in Garuda Boot Manager and click Apply (or add in /etc/default/grub, followed by sudo update-grub):

mem_sleep_default=s2idle

It is considered a less efficient suspend mode from an energy-use perspective, but in general that is more problematic for laptops that are being run on the battery.

1 Like

I'll give this a try, thanks for the suggestion!

Edit: on the first try setting the s2idle mode worked. But on the second attempt it didn't, when I let the machine settle for a while. Thanks anyway.

I didn't have the same problem a few days ago while I was still using an Intel CPU. Maybe that is the problem? Ryzen doesn't support sleep? Or maybe it's an issue with the Ryzen APU not sending resume signal via HDMI?

Might this be related? I don't think so (it sounds to me more something related to some updated firmware), anyway you could try investigating...

2 Likes

As far as I know that's only about making apps faster. Shouldn't have anything to do with this issue, right?

check your motherboard BIOS/UEFI settings to ensure your available suspend modes are set to correctly match your chosen level in the OS.
it could be that the mobo is using a deeper hardware sleep mode than you are setting in software.

if you are using S2/S3 'power-on suspend' mode in the OS as the maximum sleep level, set the mobo to match.

6 Likes

My mobo is the AsRock B550M-ITX/ac. Quite sure I've set the motherboard power settings correctly.

Just a thought, I used to have intel iGPU + NVidia dGPU setup. Then switched to AMD dGPU. And as of late, to full AMD iGPU + AMD dGPU. Maybe there is some ACPI setting/module causing this issue since I'm no longer using intel.

Note to B550M-ITX owners: You have to enable "enable ps2 wake S4/S5 wake" in the BIOS. Also removed any sleep/power-related kernel parameters and rebuilt the initramfs.

Now the machine seems to be waking up properly.

Marking this solved.

1 Like

We need more details.

1 Like

glad i could help.
this kinda hardware related stuff is where my exp in building rigs comes in handy =-)

Basically undid what BluishHumility suggested above. S3 wasn't the issue, it was S4/S5.

So... PC didn't properly wake this morning after being suspended overnight. But it did wake when I rebooted it, then suspended for a minute and woke it. This is confusing. Maybe the BIOS setting wasn't the issue after all or something else is affecting the performance. Back to the drawing board I go.

Edit: So... after testing things a couple of times back and forth, it seems like the wake from suspend gets borked whenever I bind and unbind my dGPU to a virtual machine! And, this might be related to the issue, I got a Steam error about X not being able to load after I unbind the dGPU from guest OS and reload kwin. Interesting... I'm using Wayland, and everything works fine after unbinding, except waking from suspend, which seems to freeze the system in addition to display not showing anything.