Public bug reported:

Ubuntu release: Ubuntu 26.04 LTS
Kernel: 7.0.0-30-generic (7.0.0-30.30)
NVIDIA driver: 595.84 open
Desktop: GNOME 50.1 / Mutter 50.1, Wayland
Hardware: Lenovo 82YA (Legion Y7000P IRH8), BIOS M2CN40WW
GPU: NVIDIA AD107M GeForce RTX 4060 Laptop GPU [10de:28e0]
USB controller: Intel Raptor Lake-P Thunderbolt 4 xHCI [8086:a71e]
Display topology: internal eDP and external HDMI are both driven by nvidia-drm.

Expected result:
After resuming from suspend, both displays should turn on and the GNOME lock 
screen should be usable.

Actual result:
With the firmware/default S3 deep sleep mode, resume repeatedly leaves the 
internal eDP panel black. The external HDMI monitor shows only the desktop 
wallpaper, without a usable lock/login UI. The graphical session is 
unresponsive and a forced reboot is eventually required.

Reproduction:
1. Use the kernel-supported deep mode (before the workaround, 
/sys/power/mem_sleep showed: s2idle [deep]).
2. Run GNOME Wayland with the internal eDP panel and an external HDMI monitor 
connected.
3. Suspend the system and wake it once.
4. Wait at least 40 seconds.

Relevant evidence from the failed boot:
- PM: suspend entry (deep)
- On every deep resume:
  xhci_hcd 0000:00:0d.0: xHC error in resume, USBSTS 0x401, Reinit
  usb usb1: root hub lost power or was reset
  usb usb2: root hub lost power or was reset
- The kernel returned from sleep, but systemd-suspend.service completed about 
25.5 seconds later while the NVIDIA resume/VT/VRAM path was running.
- A later failed display restore logged:
  meta_monitor_manager_get_logical_monitor_from_number: assertion '(unsigned 
int) number < g_list_length (manager->logical_monitors)' failed
- There were no NVIDIA Xid or "GPU has fallen off the bus" messages.

A/B workaround verification:
I changed only the memory sleep mode to s2idle using systemd 
MemorySleepMode=s2idle. The same machine then resumed successfully:
- PM: suspend entry (s2idle)
- systemd-suspend.service finished in about 3.2 seconds after wake
- no xHCI USBSTS 0x401 error
- no Mutter logical monitor assertion
- eDP, HDMI and the Wayland session were all active

The workaround is now:
  /etc/systemd/sleep.conf.d/60-local-s2idle.conf
  [Sleep]
  MemorySleepMode=s2idle

This suggests a regression or compatibility problem in the S3/deep
platform resume path involving the Intel xHCI controller, NVIDIA display
restore, and the subsequent Mutter multi-monitor reconstruction. Please
advise whether additional deep-mode diagnostics are needed.

Possibly related, but not assumed to be duplicates:
- https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2054570
- https://github.com/NVIDIA/open-gpu-kernel-modules/issues/1264

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: nvidia resolute resume suspend wayland xhci

** Attachment added: "Sanitized Apport report (network identifiers, user paths, 
and unrelated device serials removed)"
   
https://bugs.launchpad.net/bugs/2164645/+attachment/5993910/+files/legion-s3-resume-sanitized.apport

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2164645

Title:
  [Lenovo 82YA][NVIDIA RTX 4060] S3 deep resume leaves internal display
  black and external display wallpaper-only; s2idle works

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2164645/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to