Cannot suspend GTX3060 Laptop

TL;DR After closing my laptop lid and reopening it, the laptop freezes.

The screen shows this when I open it. The longer the lid remains closed, the more times these four lines are repeated. Exact same message, nothing changes except the time stamp at the beginning.

[11282.178642) PM: Some devices failed to suspend, or early wake event detected
[11285.420596] nvidia 0000:01:00.0: PM: pc1_pm_suspend () : nv_pmops_suspend+0xo/o×30 [nvidial returns -5
[11285.420795]. nvidia 0000:01:00.0: PM: dpm_run_callback(): pci_pm_suspend+ox0/Ox1b0 returns -5
(11285.420809] nvidia 0000:01:00,0: PM: falled to suspend async: error -5

I have:
DELL XPS 17 w/Intel & Nvidia GTX3060
5.19.0-29-generic
Ubuntu 22.10

My GPU is working fine, I finally managed to fine-tune it and it is delivering high FPS in several programs. I also have CUDA installed.

systemctl | grep nvidia output:

  sys-bus-pci-drivers-nvidia.device               loaded active plugged   /sys/bus/pci/drivers/nvidia
  nvidia-persistenced.service                     loaded active running   NVIDIA Persistence Daemon
  nvidia-powerd.service                           loaded active running   nvidia-powerd service

systemctl status nvidia-powerd output:

  ● nvidia-powerd.service - nvidia-powerd service
       Loaded: loaded (/lib/systemd/system/nvidia-powerd.service; enabled; preset: enabled)
       Active: active (running) since Sun 2023-02-26 15:22:42 +08; 1h 36min ago
     Main PID: 1192 (nvidia-powerd)
        Tasks: 3 (limit: 18790)
       Memory: 30.2M
          CPU: 1min 1.823s
       CGroup: /system.slice/nvidia-powerd.service
               └─1192 /usr/bin/nvidia-powerd

  Feb 26 15:22:42 alex-XPS-17-9710 systemd[1]: Starting nvidia-powerd service...
  Feb 26 15:22:42 alex-XPS-17-9710 /usr/bin/nvidia-powerd[1192]: nvidia-powerd version:1.0(buil>
  Feb 26 15:22:42 alex-XPS-17-9710 /usr/bin/nvidia-powerd[1192]: Dbus Connection is established
  Feb 26 15:22:42 alex-XPS-17-9710 systemd[1]: Started nvidia-powerd service.

nvidia-smi output:

  +-----------------------------------------------------------------------------+
  | NVIDIA-SMI 525.85.12    Driver Version: 525.85.12    CUDA Version: 12.0     |
  |-------------------------------+----------------------+----------------------+
  | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
  | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
  |                               |                      |               MIG M. |
  |===============================+======================+======================|
  |   0  NVIDIA GeForce ...  On   | 00000000:01:00.0 Off |                  N/A |
  | N/A   50C    P8    10W /  60W |    376MiB /  6144MiB |      0%      Default |
  |                               |                      |                  N/A |
  +-------------------------------+----------------------+----------------------+
                                                                               
  +-----------------------------------------------------------------------------+
  | Processes:                                                                  |
  |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
  |        ID   ID                                                   Usage      |
  |=============================================================================|
  |    0   N/A  N/A      2413      G   /usr/lib/xorg/Xorg                189MiB |
  |    0   N/A  N/A      2630      G   /usr/bin/gnome-shell               43MiB |
  |    0   N/A  N/A      3506      G   ...874833159661528172,131072      140MiB |
  +-----------------------------------------------------------------------------+

inxi -Gxxx output:

  Graphics:
    Device-1: Intel TigerLake-H GT1 [UHD Graphics] vendor: Dell driver: i915
      v: kernel arch: Gen-12.1 ports: active: eDP-1 empty: DP-1, DP-2, DP-3, DP-4
      bus-ID: 00:02.0 chip-ID: 8086:9a60 class-ID: 0300
    Device-2: NVIDIA GA106M [GeForce RTX 3060 Mobile / Max-Q] vendor: Dell
      driver: nvidia v: 525.85.12 arch: Ampere pcie: speed: 2.5 GT/s lanes: 8
      ports: active: none empty: DP-5, DP-6, DP-7, DP-8 bus-ID: 01:00.0
      chip-ID: 10de:2520 class-ID: 0300
    Device-3: Microdia Integrated_Webcam_HD type: USB driver: uvcvideo
      bus-ID: 3-11:3 chip-ID: 0c45:6a11 class-ID: 0e02
    Display: x11 server: X.Org v: 1.21.1.4 with: Xwayland v: 22.1.3
      compositor: gnome-shell v: 43.1 driver: X: loaded: modesetting,nvidia
      gpu: i915 display-ID: :1 screens: 1
    Screen-1: 0 s-res: 1920x1200 s-dpi: 102 s-size: 480x300mm (18.90x11.81")
      s-diag: 566mm (22.28")
    Monitor-1: eDP-1 mapped: eDP-1-1 model: Sharp 0x1518 res: 1920x1200
      hz: 60 dpi: 133 size: 366x229mm (14.41x9.02") diag: 432mm (17")
      modes: 1920x1200
    OpenGL: renderer: NVIDIA GeForce RTX 3060 Laptop GPU/PCIe/SSE2 v: 4.6.0
      NVIDIA 525.85.12 direct render: Yes

cat /proc/driver/nvidia/gpus/0000:01:00.0/power output:

  Runtime D3 status:          Enabled (fine-grained)
  Video Memory:               Active

  GPU Hardware Support:
   Video Memory Self Refresh: Supported
   Video Memory Off:          Supported

I’ve done hours of research, and most of the information out there is outdated. The most recent one does not address my problem.

Can anyone help, please?

Thanks,
Alex

Please check for a bios update first.
Please run nvidia-bug-report.sh as root and attach the resulting nvidia-bug-report.log.gz file to your post.
BTW, nvidia-powerd has nothing to do with suspend/resume, it’s just the dynamic boost controller.

Thanks, attached is the output of the script.
nvidia-bug-report.log.gz (406.1 KB)

EDIT: By the way, the bios is in its latest version.

You have the module option NVreg_PreserveVideoMemoryAllocations enabled but the systemd units nvidia-suspend.service nvidia-hibernate.service nvidia-resume.service are not installed. How did you install the driver? Please either make sure the systemd units are installed and enabled ot unset the module option.

I’ve been searching for those *.service packages but haven’t found them. They are not in /usr/share/doc/nvidia-driver-525/

I understand that once I have them I install them this way:

TMP_PATH=/var/tmp
TMPL_PATH=/usr/share/doc/nvidia-driver-525/

echo "options nvidia NVreg_PreserveVideoMemoryAllocations=1 NVreg_TemporaryFilePath=${TMP_PATH}" | sudo tee /etc/modprobe.d/nvidia-power-management.conf 

sudo install --mode 644 "${TMPL_PATH}/nvidia-suspend.service" /etc/systemd/system
sudo install --mode 644 "${TMPL_PATH}/nvidia-hibernate.service" /etc/systemd/system
sudo install --mode 644 "${TMPL_PATH}/nvidia-resume.service" /etc/systemd/system
sudo install "${TMPL_PATH}/nvidia" /lib/systemd/system-sleep
sudo install "${TMPL_PATH}/nvidia-sleep.sh" /usr/bin

sudo systemctl enable nvidia-suspend.service
sudo systemctl enable nvidia-hibernate.service
sudo systemctl enable nvidia-resume.service

I don’t want to reinstall my drivers since I’m afraid it will screw up my whole so far working nvidia configuration, which I struggled somewhat to achieve, since it is not officially supported by ubuntu on Dell (as opposed to the Dell XPS 13).

Can you share with me where I can find these? Otherwise, I can create a VM, install ubuntu and the 525 nvidia drivers and see if they are installed there.

What do you suggest?

Depends on how you installed the driver, from Ubuntu repo?

Yes

The systemd units should be in the package nvidia-kernel-common, please check if it’s installed and possibly reinstall it.

Same problem, on desktop RTX 3060 Ti (driver 525.85.05).

cat /etc/modprobe.d/nvidia-power-management.conf 
options nvidia NVreg_PreserveVideoMemoryAllocations=1 NVreg_TemporaryFilePath=/tmp
[    9.559331] PM: Image successfully loaded
[    9.559335] printk: Suspending console(s) (use no_console_suspend to debug)
[    9.559742] serial 00:04: disabled
[    9.559776] NVRM: GPU 0000:05:00.0: PreserveVideoMemoryAllocations module parameter is set. System Power Management attempted without driver procfs suspend interface. Please refer to the 'Configuring Power Management Support' section in the driver README.
[    9.559779] nvidia 0000:05:00.0: PM: pci_pm_freeze(): nv_pmops_freeze+0x0/0x20 [nvidia] returns -5
[    9.559978] nvidia 0000:05:00.0: PM: dpm_run_callback(): pci_pm_freeze+0x0/0xc0 returns -5
[    9.559982] nvidia 0000:05:00.0: PM: failed to quiesce async: error -5
[    9.702016] serial 00:04: activated
[    9.739084] nvme nvme0: 16/0/0 default/read/poll queues
[    9.757732] PM: hibernation: Failed to load image, recovering.
[    9.797882] PM: hibernation: Basic memory bitmaps freed
[    9.797884] OOM killer enabled.
[    9.797889] Restarting tasks ... done.
[    9.798190] PM: hibernation: resume failed (-5)
uname -a
Linux pc 5.19.15-xanmod1 #0~20221012.git85103f7 SMP Wed Oct 12 15:04:07 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

I don’t know why the systemd units are missing on your systems, or did you add and install the driver from the cuda repo? That doesn’t include it.

OK, I went ahead and installed a fresh Ubuntu 22.04 and enabled the Nvidia drivers (not the open source) in Additional Drivers. No luck, they are not in nvidia-kernel-common or anywhere else.

Then I reinstalled ubuntu but this time I downloaded the drivers from nvidia (the NVIDIA-xyz.sh file), ran the file and no files, anywhere.

Is there anywhere else I can get them or download from?

[SOLVED]
I managed to find the service files and ran a script that installs them. After rebooting, suspend now works! I am attaching a zip file with the files below.

I created a tmpl folder in my /usr/share/doc/nvidia-driver-525 (change 525 for 515 or whatever driver you have).

Extract the files from the zip file attached and copy all of them except setup-nvdia-suspend.sh to the tmpl folder you just created.

Edit the setup-nvdia-suspend.sh and change the driver version in the line

TMPL_PATH=/usr/share/doc/nvidia-driver-525/tmpl/

Finally, run as root

sudo ./setup-nvdia-suspend.sh 

I hope this helps anyone else with a similar problem. Thanks, generix for your patience and support!

nvidia-services-install.zip (3.0 KB)

3 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.