For y’all that aren’t reaching C9/C10 and have PSR enabled:
- Check that CPU usage is around ~0% and no process is consuming excess in something like
top
- important: ensure the screen can be static, meaning nothing is moving, changing, flashing, etc. on the display. How PSR works is if nothing needs to be updated on the display, no new info needs to be sent to the display. So, the display engine in the CPU can be turned off, allowing C9/C10.
As an example: I had a low battery alert styling in Waybar. At 15%, the color of a small rectangle in my tray would constantly transition linearly between red and white. That simple action constantly updated the display, preventing the CPU from reaching C9/C10 and causing increased idle power consumption.
Here’s some interesting info from Intel, for 11th Gen. Under 11th Generation Intel® Core™ Processor Family
(for U-series, not Desktop) > Documents
> Datasheet, Volume 1
Table 3-5: Some criteria to reach C9/C10:
Table 3-6: With up to a resolution of 5210x3200@60Hz, and PSR enabled, the CPU can reach C10.
Table 3-7: Seems like the USB4 controller plays a part in reaching C10 as well, so maybe check your USB devices. I can confirm my laptop reaches C10 with the HDMI Expansion Card plugged in, as well as in performance
governor.
This has happened to me a few times
Er, 5.14 is needed on Fedora to fix the PSR micro-stutter issue. PSR can still be enabled in the recent earlier kernels which allow reaching C9/C10 (can personally confirm).
Echoing this as well – ~2.6%/hr seems to be about what I’m getting on Fedora 34 which is much higher than it could be. I plan on using suspend-then-hibernate (similar to Windows) for better standby life. Some Linux hibernation info here, and the ongoing Windows discussion here, for comparison. Will report back once I dive into this!
From what I’ve gathered:
If this is S0 suspend (s2idle
in /sys/power/mem_sleep
), which should be S0ix on 11th Gen, being able to reach C10 plays a role in better standby battery life, so ensure that’s happening.
If this is S3 suspend (deep
in /sys/power/mem_sleep
), well, according to this System76 engineer:
It was discovered, deep in one of the Intel documents, that TigerLake-U no longer officially supported S3 suspend.
so maybe that’s why S3 suspend seems subpar, FWIW.