ThinkPad P1 Gen 5 – excessive heat/power use during suspend (s2idle) on openSUSE Slowroll
I would be grateful for help diagnosing a suspend problem on my Lenovo
ThinkPad P1 Gen 5. I am not yet claiming this is a BIOS bug: I would
particularly like to know whether I have a Linux/openSUSE configuration
problem, a device preventing S0ix low-power idle, or a firmware issue.
The problem
The laptop will suspend and resume, but while supposedly asleep it can
remain distinctly warm and appears not to enter a satisfactorily
low-power state. This has happened even when the laptop is standing
alone, not merely when connected to the dock.
This is important in practical use because I travel with the machine. At
present I do not regard it as safe to suspend it and put it into a bag,
so I am shutting it down instead.
There have also been some troublesome docked boot/resume episodes: on
several occasions the machine reached the Lenovo stage and then a dark
screen/cursor rather than the normal login/desktop. Unplugging the dock
and, on some occasions, hard power-cycling was needed to recover. I do
not know whether this is directly related to the suspend problem.
Hardware
- Lenovo ThinkPad P1 Gen 5
- Lenovo machine type/model:
21DDS0L800(type 21DD) - Intel Core i7-12800H
- Intel Iris Xe integrated graphics
- NVIDIA RTX A2000 Laptop GPU 8 GB
- USB-C/Thunderbolt multi-port dock (FeelTEK), normally carrying
external displays, keyboard/mouse and Realtek RTL8153 Ethernet
Operating system
- openSUSE Slowroll
- KDE Plasma
- Current working session: X11
- Kernel observed during this investigation:
7.1.8-1.0.8.sr20260802-default
I had previously used Wayland, but changed to X11 during
troubleshooting/stability work. Suspend/resume has been tested under X11
and can function in the sense that the machine sleeps and subsequently
resumes; the remaining problem is the heat/power consumption while
asleep.
Sleep mode available
The machine reports:
cat /sys/power/mem_sleep
Result:
[s2idle]
Thus Linux is being offered only s2idle; there is no deep/S3 choice
exposed here.
Earlier journal output also reported that low-power S0 idle is used by
default, with entries such as:
PM: suspend entry (s2idle)
...
PM: suspend exit
So the question is not simply whether systemctl suspend is being
invoked. It is whether the machine is actually reaching and remaining in
a sufficiently deep S0ix state during s2idle.
Firmware
Current BIOS:
N3JET48W (1.32)
Embedded Controller:
1.15 (N3JHT28W)
The BIOS was updated to 1.32 during this investigation, but the
excessive warmth during sleep remained.
Lenovo has since released BIOS 1.33 (N3JET49W, package N3JUJ27W). I
checked Lenovo’s release notes rather than assuming that it was a sleep
fix. Lenovo lists security changes, a Diagnostics module update, and
Intel Management Engine capsule-recovery behaviour, but explicitly lists
“Problem fixes: Nothing.” The Embedded Controller remains at 1.15.
There is therefore no documented indication that 1.33 addresses
suspend/S0ix/thermal behaviour.
At the time checked, fwupdmgr get-updates reported the System Firmware
as already at the latest version available through the configured LVFS
metadata, so 1.33 was not yet being offered to this machine by fwupd. I
prefer to use the Linux/LVFS firmware route rather than Lenovo’s Windows
.exe.
Relevant observations from earlier suspend logs
During previous investigation, the logs showed repeated s2idle
suspend/resume activity and device events involving
PCIe/Thunderbolt/xHCI. Observations included rapid/spontaneous wake
activity and messages involving device disconnect/re-enumeration,
Card not present, PME/spurious-interrupt messages and an AER burst
(including a “callbacks suppressed” message).
Because the dock contains USB/Thunderbolt devices, that initially made
the dock an obvious suspect. However, the laptop has also remained warm
during sleep when standing alone, so I do not think the problem can be
attributed simply to leaving the dock attached.
NVIDIA suspend/resume services have also appeared to complete in the
logs; I have not established that the NVIDIA GPU is the culprit.
What is established, and what is not
What I think we have established:
- The machine supports/exposes
s2idleonly;/sys/power/mem_sleep
shows[s2idle]. - Suspend and resume can complete successfully.
- The laptop can nevertheless remain unacceptably warm while
suspended. - This is not confined to use on the dock.
- Updating to BIOS 1.32 did not solve it.
- Lenovo’s published notes for BIOS 1.33 do not document a sleep/S0ix
fix.
What I have not established is the root cause. In particular, I do
not know whether:
- a device or driver is repeatedly waking the machine during s2idle;
- the system is failing to achieve the expected S0ix residency;
- an openSUSE/kernel/power-management configuration is wrong;
- the NVIDIA/Thunderbolt/USB stack is involved;
- or the Lenovo firmware/ACPI implementation is responsible.
I would rather diagnose this than force an unsupported sleep mode with
kernel parameters.
Help requested
Could somebody familiar with openSUSE on modern Intel ThinkPads suggest
the most useful next diagnostic steps?
In particular, I would like to determine:
- whether the machine is actually attaining S0ix low-power residency
during a controlled suspend; - which devices, if any, are causing wakeups;
- whether there are known P1 Gen 5 / Alder Lake / NVIDIA issues
relevant to this; - and whether my openSUSE configuration is missing anything required
for proper s2idle operation.
I am happy to run terminal commands and post the resulting logs. I would
prefer to proceed methodically rather than change several
power-management settings at once.
Thanks for any guidance.
Budge.