Blank screen after resume on AMD Ryzen 7

Hello

I have a legion 5 since july 2023 and honestly I regret the amd cpu/gpu, I have (like a lot of peoples) a lot of issue with that even if I found it to be better along the updates.

I have an issue I didn’t find on other threads (at least not exactly the same).
I’m not sure either its related to the gpu.

When I wake up from suspend (deep sleep not s2idle), sometimes, I got a black screen after it turn on the backlight (normally it show the login screen of gdm).

The majority of times (sometimes I can’t) I can login ssh and restart gdm and everything back to normal (except the fact I lost my session ).

I tried looking at the log but the only error I see related to gpu or gdm is this one :

déc. 08 13:33:54 asgard gdm[807]: GLib: Source ID 82 was not found when attempting to remove it

here my inxi

System:
  Kernel: 6.6.3-1-MANJARO arch: x86_64 bits: 64 compiler: gcc
    v: 13.2.1 clocksource: hpet available: acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.6-x86_64
    root=UUID=ad6062ba-ce58-45f5-b085-cd65f60d63ee rw quiet splash
    apparmor=1 security=apparmor btusb.enable_autosuspend=n
    udev.log_priority=3 acpi=copy_dsdt
    amdgpu.ppfeaturemask=0xfff7ffff
    resume=UUID=f40a723e-7c2b-48cc-b3db-a08be0a0e15
  Desktop: GNOME v: 45.1 tk: GTK v: 3.24.38 wm: gnome-shell dm:
    1: GDM v: 45.0.1 2: LightDM v: 1.32.0 note: stopped
    Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Laptop System: LENOVO product: 82WM v: Legion Pro 5 16ARX8
    serial: <superuser required> Chassis: type: 10
    v: Legion Pro 5 16ARX8 serial: <superuser required>
  Mobo: LENOVO model: LNVNB161216 v: NO DPK
    serial: <superuser required> UEFI: LENOVO v: LPCN44WW
    date: 06/28/2023
Battery:
  ID-1: BAT0 charge: 65.1 Wh (93.9%) condition: 69.3/80.0 Wh (86.6%)
    power: 23.0 W volts: 16.7 min: 15.4 model: BYD L22B4PC0
    type: Li-poly serial: <filter> status: discharging cycles: 28
  Device-1: hidpp_battery_0 model: Logitech MX Master 3S
    serial: <filter> charge: 90% rechargeable: yes status: discharging
CPU:
  Info: model: AMD Ryzen 7 7745HX with Radeon Graphics bits: 64
    type: MT MCP arch: Zen 4 gen: 5 level: v4 note: check built: 2022+
    process: TSMC n5 (5nm) family: 0x19 (25) model-id: 0x61 (97)
    stepping: 2 microcode: 0xA601203
  Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
    L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 8 MiB desc: 8x1024 KiB
    L3: 32 MiB desc: 1x32 MiB
  Speed (MHz): avg: 825 high: 3896 min/max: 400/5151 scaling:
    driver: amd-pstate-epp governor: powersave cores: 1: 400 2: 400
    3: 400 4: 400 5: 400 6: 400 7: 400 8: 400 9: 400 10: 400 11: 400
    12: 400 13: 3896 14: 400 15: 3718 16: 400 bogomips: 115031
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a
    ssse3 svm
  Vulnerabilities:
  Type: gather_data_sampling status: Not affected
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: retbleed status: Not affected
  Type: spec_rstack_overflow status: Vulnerable: Safe RET, no
    microcode
  Type: spec_store_bypass mitigation: Speculative Store Bypass
    disabled via prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user
    pointer sanitization
  Type: spectre_v2 mitigation: Enhanced / Automatic IBRS, IBPB:
    conditional, STIBP: always-on, RSB filling, PBRSB-eIBRS: Not
    affected
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: NVIDIA AD106M [GeForce RTX 4070 Max-Q / Mobile]
    vendor: Lenovo driver: nvidia v: 545.29.06
    alternate: nouveau,nvidia_drm non-free: 545.xx+
    status: current (as of 2023-11) arch: Lovelace code: AD1xx
    process: TSMC n4 (5nm) built: 2022+ pcie: gen: 3 speed: 8 GT/s
    lanes: 8 link-max: gen: 4 speed: 16 GT/s ports: active: none
    empty: DP-1, DP-2, HDMI-A-1, eDP-2 bus-ID: 01:00.0
    chip-ID: 10de:2860 class-ID: 0300
  Device-2: AMD Raphael vendor: Lenovo 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: eDP-1
    empty: none bus-ID: 08:00.0 chip-ID: 1002:164e class-ID: 0300
    temp: 39.0 C
  Device-3: Luxvisions Innotech Integrated Camera driver: uvcvideo
    type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0
    bus-ID: 3-2.4:3 chip-ID: 30c9:00ac class-ID: fe01 serial: <filter>
  Display: x11 server: X.org v: 1.21.1.9 with: Xwayland v: 23.2.2
    compositor: gnome-shell driver: X: loaded: modesetting,nvidia
    dri: radeonsi gpu: amdgpu display-ID: :0 screens: 1
  Screen-1: 0 s-res: 2560x1600 s-size: <missing: xdpyinfo>
  Monitor-1: eDP-1 model: BOE Display 0x0b11 serial: <filter>
    built: 2022 res: 2560x1600 dpi: 188 gamma: 1.2
    size: 345x215mm (13.58x8.46") diag: 407mm (16") ratio: 16:10
    modes: max: 2560x1600 min: 640x480
  API: EGL v: 1.5 hw: drv: nvidia drv: amd radeonsi platforms:
    device: 0 drv: nvidia device: 1 drv: radeonsi device: 3 drv: swrast
    surfaceless: drv: nvidia x11: drv: radeonsi
    inactive: gbm,wayland,device-2
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: amd mesa
    v: 23.1.9-manjaro1.1 glx-v: 1.4 direct-render: yes renderer: AMD
    Radeon Graphics (raphael_mendocino LLVM 16.0.6 DRM 3.54
    6.6.3-1-MANJARO) device-ID: 1002:164e memory: 1.95 GiB unified: no
Audio:
  Device-1: NVIDIA driver: snd_hda_intel v: kernel pcie: gen: 3
    speed: 8 GT/s lanes: 8 link-max: gen: 4 speed: 16 GT/s
    bus-ID: 01:00.1 chip-ID: 10de:22bd class-ID: 0403
  Device-2: AMD ACP/ACP3X/ACP6x Audio Coprocessor vendor: Lenovo
    driver: snd_rpl_pci_acp6x v: kernel alternate: snd_pci_acp3x,
    snd_rn_pci_acp3x, snd_pci_acp5x, snd_pci_acp6x, snd_acp_pci,
    snd_pci_ps, snd_sof_amd_renoir, snd_sof_amd_rembrandt,
    snd_sof_amd_vangogh pcie: gen: 4 speed: 16 GT/s lanes: 16
    bus-ID: 08:00.5 chip-ID: 1022:15e2 class-ID: 0480
  Device-3: AMD Family 17h/19h HD Audio vendor: Lenovo
    driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s
    lanes: 16 bus-ID: 08:00.6 chip-ID: 1022:15e3 class-ID: 0403
  API: ALSA v: k6.6.3-1-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,alsamixergui,amixer
  Server-1: JACK v: 1.9.22 status: off tools: N/A
  Server-2: PipeWire v: 1.0.0 status: active with:
    1: pipewire-media-session status: active 2: pipewire-alsa
    type: plugin tools: pw-cat,pw-cli
  Server-3: PulseAudio v: 16.1 status: active
    tools: pacat,pactl,pamixer,pavucontrol
Network:
  Device-1: MEDIATEK MT7922 802.11ax PCI Express Wireless Network
    Adapter vendor: Lenovo driver: mt7921e v: kernel pcie: gen: 2
    speed: 5 GT/s lanes: 1 bus-ID: 04:00.0 chip-ID: 14c3:0616
    class-ID: 0280
  IF: wlp4s0 state: up mac: <filter>
  Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Lenovo driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 port: 2000 bus-ID: 07:00.0 chip-ID: 10ec:8168
    class-ID: 0200
  IF: enp7s0 state: down mac: <filter>
  IF-ID-1: br-3f79bb2a939c state: down mac: <filter>
  IF-ID-2: br-80258d0e7d1d state: up speed: 10000 Mbps
    duplex: unknown mac: <filter>
  IF-ID-3: br-95e805673acb state: up speed: 10000 Mbps
    duplex: unknown mac: <filter>
  IF-ID-4: docker0 state: down mac: <filter>
  IF-ID-5: veth50c04cb state: up speed: 10000 Mbps duplex: full
    mac: <filter>
  IF-ID-6: vethc9322cf state: up speed: 10000 Mbps duplex: full
    mac: <filter>
  IF-ID-7: vethe8d7aad state: up speed: 10000 Mbps duplex: full
    mac: <filter>
Bluetooth:
  Device-1: Foxconn / Hon Hai Wireless_Device driver: btusb v: 0.8
    type: USB rev: 2.1 speed: 480 Mb/s lanes: 1 mode: 2.0
    bus-ID: 5-1.1:3 chip-ID: 0489:e0d8 class-ID: e001 serial: <filter>
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter>
    bt-v: 5.2 lmp-v: 11 status: discoverable: no pairing: no
    class-ID: 6c010c
Drives:
  Local Storage: total: 953.87 GiB used: 507.45 GiB (53.2%)
  SMART Message: Required tool smartctl not installed. Check
    --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung
    model: MZVL21T0HCLR-00BL2 size: 953.87 GiB block-size:
    physical: 512 B logical: 512 B speed: 63.2 Gb/s lanes: 4 tech: SSD
    serial: <filter> fw-rev: CL1QGXA7 temp: 39.9 C scheme: GPT
Partition:
  ID-1: / raw-size: 531.49 GiB size: 522.08 GiB (98.23%)
    used: 439.17 GiB (84.1%) fs: ext4 dev: /dev/nvme0n1p5 maj-min: 259:5
  ID-2: /boot/efi raw-size: 500 MiB size: 499 MiB (99.80%)
    used: 91.7 MiB (18.4%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default)
    zswap: yes compressor: zstd max-pool: 20%
  ID-1: swap-1 type: partition size: 31.25 GiB used: 0 KiB (0.0%)
    priority: -2 dev: /dev/nvme0n1p4 maj-min: 259:4
Sensors:
  System Temperatures: cpu: 44.4 C mobo: 42.0 C gpu: amdgpu
    temp: 40.0 C
  Fan Speeds (rpm): N/A
Info:
  Processes: 411 Uptime: 5m wakeups: 0 Memory: total: 32 GiB
  note: est. available: 29.06 GiB used: 4.88 GiB (16.8%) Init: systemd
  v: 254 default: graphical tool: systemctl Compilers: gcc: 13.2.1
  alt: 12 clang: 16.0.6 Packages: pm: pacman pkgs: 1704 libs: 416
  tools: gnome-software,pamac,trizen pm: flatpak pkgs: 0 Shell: Zsh
  v: 5.9 running-in: gnome-terminal inxi: 3.3.31

If someone have a clue where I could start digging

Hi @eephyne,

Yeah, my resume woes were fixed by something, somewhere in this:

https://wiki.archlinux.org/title/Power_management/Suspend_and_hibernate

Edit:

Also make sure to use an LTS kernel.

I have a lts kernel.
I watched the page and I can’t change anything in the list:

  • no intel cpu
  • no module neither kms hook in mkinitcpio.conf
  • no RuntimeWatchdogSec timer
  • already on amdgpu module

Well, then I’ll probably not be the one to help you.

Just for giggles, try version 6.1 as that’s the only one where my wake-up works 100%.

I’ll try it (I saw using an old kernel can solve this) but the fact that old kernel made way worse everyday usage with amdpgu is not helping here :frowning:

It might not be. But that’s all I can think of at the moment.

1 Like

You might check whether a mkinitcpio.conf.pacnew file exists. If it does, then you may need to merge it with mkinitcpio.conf (the kms hook might be needed). Also, pay particular attention to the order of hooks in the array. Naurally, reboot after any modification.

no pacnew file and hooks are like this : HOOKS=“base udev autodetect modconf block keyboard keymap consolefont plymouth filesystems resume fsck”

There is some ongoing discussion here Mkinitcpio.conf correct hooks and syntax which might be informative.