Laptop waking (or at least heating) when lid closed

Greetings.

I’m having problems with suspending my laptop. There are a few other threads open that mention something like this, but none of them seem quite the same as what’s happening for me, so I’d appreciate any help that you can give!

System Details

Before describing the problem let me give details on the system so you have context:

inxi -Fxz:

System:
  Kernel: 7.0.5-2-cachyos arch: x86_64 bits: 64 compiler: gcc v: 16.1.1
  Desktop: KDE Plasma v: 6.6.5 Distro: CachyOS base: Arch Linux
Machine:
  Type: Laptop System: LENOVO product: 20Y3005CUS v: ThinkPad P1 Gen 4i
    serial: <superuser required>
  Mobo: LENOVO model: 20Y3005CUS v: SDK0J40697 WIN
    serial: <superuser required> Firmware: UEFI vendor: LENOVO
    v: N40ET52W (1.34 ) date: 12/08/2025
Battery:
  ID-1: BAT0 charge: 64.2 Wh (100%) condition: 64.2/90.1 Wh (71.2%)
    volts: 17.17 min: 15.52 model: SMP 5B11B79217 status: full
CPU:
  Info: 8-core model: 11th Gen Intel Core i7-11800H bits: 64 type: MT MCP
    arch: Tiger Lake rev: 1 cache: L1: 640 KiB L2: 10 MiB L3: 24 MiB
  Speed (MHz): avg: 1625 min/max: 800/4600 cores: 1: 1625 2: 1625 3: 1625
    4: 1625 5: 1625 6: 1625 7: 1625 8: 1625 9: 1625 10: 1625 11: 1625 12: 1625
    13: 1625 14: 1625 15: 1625 16: 1625 bogomips: 73728
  Flags-basic: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics:
  Device-1: Intel TigerLake-H GT1 [UHD Graphics] vendor: Lenovo driver: i915
    v: kernel arch: Xe bus-ID: 00:02.0
  Device-2: NVIDIA GA107GLM [RTX A2000 Mobile] vendor: Lenovo driver: nvidia
    v: 595.71.05 arch: Ampere bus-ID: 01:00.0
  Device-3: Luxvisions Innotech Integrated RGB Camera driver: uvcvideo
    type: USB bus-ID: 3-8:3
  Display: wayland server: X.org v: 1.21.1.22 with: Xwayland v: 24.1.11
    compositor: kwin_wayland driver: X: loaded: nvidia unloaded: modesetting
    gpu: i915 resolution: 3840x2400~60Hz
  API: EGL v: 1.5 drivers: iris,nvidia,nvidia-drm,swrast platforms:
    active: gbm,wayland,x11,surfaceless,device inactive: N/A
  API: OpenGL v: 4.6.0 compat-v: 4.6 vendor: intel mesa v: 26.1.0-arch2.1
    glx-v: 1.4 direct-render: yes renderer: Mesa Intel UHD Graphics (TGL GT1)
  API: Vulkan v: 1.4.350 drivers: intel,nvidia surfaces: N/A devices: 2
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
    de: kscreen-console,kscreen-doctor gpu: nvidia-settings,nvidia-smi
    wl: nwg-displays,wayland-info x11: xdpyinfo, xprop, xrandr
Audio:
  Device-1: Intel Tiger Lake-H HD Audio vendor: Lenovo
    driver: sof-audio-pci-intel-tgl bus-ID: 00:1f.3
  Device-2: NVIDIA GA107 High Definition Audio vendor: Lenovo
    driver: snd_hda_intel v: kernel bus-ID: 01:00.1
  API: ALSA v: k7.0.5-2-cachyos status: kernel-api
  Server-1: sndiod v: N/A status: off
  Server-2: JACK v: 1.9.22 status: off
  Server-3: PipeWire v: 1.6.4 status: active
Network:
  Device-1: Intel Wi-Fi 6E AX210/AX1675 2x2 [Typhoon Peak] driver: iwlwifi
    v: kernel bus-ID: 09:00.0
  IF: wlan0 state: up mac: <filter>
  IF-ID-1: br-f75d5079ec36 state: down mac: <filter>
  IF-ID-2: docker0 state: down mac: <filter>
  IF-ID-3: virbr0 state: down mac: <filter>
Bluetooth:
  Device-1: Intel AX210 Bluetooth driver: btusb v: 0.8 type: USB
    bus-ID: 3-14:5
  Report: btmgmt ID: hci0 rfk-id: 1 state: up address: <filter> bt-v: 5.4
    lmp-v: 13
Drives:
  Local Storage: total: 953.87 GiB used: 936.89 GiB (98.2%)
  ID-1: /dev/nvme0n1 vendor: Samsung model: MZVL21T0HCLR-00BL7
    size: 953.87 GiB temp: 38.9 C
Partition:
  ID-1: / size: 951.87 GiB used: 935.48 GiB (98.3%) fs: btrfs
    dev: /dev/nvme0n1p2
  ID-2: /boot size: 2 GiB used: 1.4 GiB (70.4%) fs: vfat dev: /dev/nvme0n1p1
  ID-3: /home size: 951.87 GiB used: 935.48 GiB (98.3%) fs: btrfs
    dev: /dev/nvme0n1p2
  ID-4: /var/log size: 951.87 GiB used: 935.48 GiB (98.3%) fs: btrfs
    dev: /dev/nvme0n1p2
  ID-5: /var/tmp size: 951.87 GiB used: 935.48 GiB (98.3%) fs: btrfs
    dev: /dev/nvme0n1p2
Swap:
  ID-1: swap-1 type: zram size: 31.06 GiB used: 4.97 GiB (16.0%)
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 66.0 C mobo: N/A
  Fan Speeds (rpm): fan-1: 2593 fan-2: 2499
Info:
  Memory: total: 32 GiB note: est. available: 31.06 GiB used: 15.7 GiB (50.6%)
  Processes: 443 Uptime: 12h 47m Init: systemd
  Packages: 2332 Compilers: clang: 22.1.5 gcc: 16.1.1 Shell: fish v: 4.7.1
    inxi: 3.3.40

I am also using the plasmalogin manager, since that will be relevant.

The Problem

I notice the problem when I shut my laptop lid (presumably suspending), put the laptop in my backpack to go to work, and when I get to work my laptop is a million degrees. Presumably it has triggered a wakeup at some point, even with the lid closed, and in the confines of my backpack it doesn’t do well. However, this does not happen every time. I haven’t yet been able to isolate the factors that trigger it.

Almost certainly related, but not yet totally sure how:

  • Every so often after my computer automatically goes to sleep (when leaving it idle for a while) it just won’t wake back up (after pressing keys, moving mouse, clicking, etc). Sometimes when this happens shutting the lid and opening it again will wake it. This almost never happens after the laptop goes nuclear in my backpack.
  • Every so often upon waking, the idle screen (where you type the password) is frozen. It shows the background+clock but won’t bring up the password form. In these cases I can switch TTY but if I run plasmalogin from there it does not work (since I suppose it’s already running elsewhere. In at least one case when this happened, plugging into an external monitor via HDMI brought up the password form on the external monitor, and once logged back in both my internal screen and the external monitor were fine.
  • Last night (and this is the first time I’d noticed this) when I suspended with systemctl suspend the suspend failed (the screen went black for a little time, with a blinking cursor in top-left corner, then after a while the screen turned back on again – not even the login screen, just whatever was open when calling suspend). I captured the output of journalctl during one of these cycles, pasted below.
  • After rebooting, suspend seemed to work again, but lo and behold, journalctl still captures many of the same errors as before! This is confusing…

Log Details

Here is the output of journalctl bracketing a time when I tried suspending but it failed: May 14 21:54:43 cachyos-steven systemd-logind[979]: The system will suspend now! - Pastebin.com

Thank you for any help you can give!

May 14 21:54:48 cachyos-steven systemd[1]: Starting System Suspend...

May 14 21:54:48 cachyos-steven systemd-sleep[57909]: User sessions remain unfrozen on explicit request ($SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=0).

May 14 21:54:48 cachyos-steven systemd-sleep[57909]: This is not recommended, and might result in unexpected behavior, particularly

May 14 21:54:48 cachyos-steven systemd-sleep[57909]: in suspend-then-hibernate operations or setups with encrypted home directories. 

Have a look at the following thread from a user with similar issue:

and their solution here.

Research a bit before implementing on your end.

I can also recommend this chapter: Power management/Wakeup triggers - ArchWiki
This helped me solve sleep issues on my desktop: I feel like I am missing something simple with sleep ( Sleep issues ) - #15 by Adrodoc

Thank you both for the suggestions!

I can confirm that I had SYSTEMD_SLEEP_FREEZE_USER_SESSION=false in my /usr/lib/systemd/system/systemd-suspend.service.d/10-nvidia-no-freeze-session.conf, as reported in the issue here. This causes warnings in the journal. In that thread, someone comments that this setting was required “at one point” for NVIDIA cards (according to this issue) but has “been solved for 11 months”. However they do not give a link proving that this has been solved for NVIDIA drivers, and since this setting was set by default for me, I was worried about flipping it.

In any case, I did switch it to true, rebooted, and tried systemctl suspend again. There was no visible sign that anything wrong happened, other than perhaps that after the screen went black, it would not wake up again for a little while (after I pressed keys). Eventually (maybe 30 seconds later) it did wakeup, and I was able to login just fine.

However, the journal still shows several errors, especially: systemd-sleep[7660]: Failed to put system to sleep. System resumed again: Device or resource busy. It does not show the warning about `SYSTEMD_SLEEP_FREEZE_USER_SESSION`anymore, but that doesn’t seem to have fixed the other issues.

The problem is, because the behaviour is not so bad right now, it’s hard to know if the errors being shown in the journal are really problems, or just noise. However, I don’t want to have to wait til I carry my laptop somewhere and it heats up again to be able to fix this.

Assuming that didn’t fix it, I here are some other things perhaps worth noting:

  • I did try setting all wakeup devices to disabled similar to @Adrodoc’s suggestion. It did not change anything.
  • The following errors appear in the journal in around the time I suspended:
May 15 20:10:22 cachyos-steven kwin_wayland[3253]: Atomic modeset test failed! Permission denied
May 15 20:10:22 cachyos-steven kwin_wayland[3253]: Applying output configuration failed!
May 15 20:10:22 cachyos-steven NetworkManager[942]: <info>  [1778868622.7569] device (p2p-dev-wlan0): state change: unmanaged -> unavailable (reason 'managed', managed-type: 'external')
May 15 20:10:22 cachyos-steven NetworkManager[942]: <warn>  [1778868622.7570] device (p2p-dev-wlan0): error setting IPv4 forwarding to '1': Resource temporarily unavailable
May 15 20:10:22 cachyos-steven org_kde_powerdevil[3967]: [  4008][412.484644] (ldbus_handle_message)Received dbus signal PrepareForSleep(false=resume)
May 15 20:10:22 cachyos-steven NetworkManager[942]: <info>  [1778868622.7575] manager: NetworkManager state is now CONNECTED_LOCAL
May 15 20:10:22 cachyos-steven kwin_wayland_wrapper[3882]: Key repeat discarded, Wayland compositor doesn't seem to be processing events fast enough!
May 15 20:10:22 cachyos-steven org_kde_powerdevil[3967]: [  4160][412.511310] (ldbus_pause_if_recent_return_from_sleep)Pausing for 473
May 15 20:10:22 cachyos-steven kwin_wayland[3253]: Failed to open drm node: "/dev/dri/card2"
May 15 20:10:22 cachyos-steven kwin_wayland[3253]: drmModeListLessees() failed: Permission denied
May 15 20:10:22 cachyos-steven kwin_wayland[3253]: Atomic modeset test failed! Permission denied
May 15 20:10:22 cachyos-steven kwin_wayland[3253]: Applying output configuration failed!
May 15 20:10:22 cachyos-steven kwin_wayland[3253]: Atomic modeset test failed! Permission denied
May 15 20:10:22 cachyos-steven kwin_wayland[3253]: Applying output configuration failed!
May 15 20:10:22 cachyos-steven kwin_wayland[3253]: drmModeListLessees() failed: Permission denied
May 15 20:10:22 cachyos-steven kwin_wayland[3253]: Atomic modeset test failed! Permission denied
May 15 20:10:22 cachyos-steven kwin_wayland[3253]: Applying output configuration failed!

I’m not sure if that could be of any help?

I’m having the same issue with my HP victus, supposedly it is an issue with the Nvidia power management, the laptop is always hot when i close the lid since the fans are not spinning. I tried everything with Gemini, told me to change power management settings, nothing worked, the only work around i could find is shutting down the laptop