How to disable S0ix and enable S3 Sleep on Ubuntu 22.04 on Dell Latitude 3410
Hello. I just want to ask, I already tried search many resources, but I still can't find a way to reduce battery drain while sleep on Ubuntu on Dell laptop.
I seen that it use S0ix, the new standard that many manufacturer use but when sleep it drains a lot battery, in just 6 hours the battery gone 0.
Any help is appreciated. This is company laptop and it requires me use ubuntu (I don't like it but I don't have options to changes OS/distro).
Do a "cat /sys/kernel/debug/pmc_core/package_cstate_show". You probably have figures for C2 and C3, and C6-C10 states are all zero. C10 is the golden S0ix state that you need for modern sleep.
I have a 13th gen intel Zenbook, and I spent a month fighting the same. My problem was that the bios setting for Intel VMD/Raid cockblocked sleep. If you have any bios options to disable that, or set storage to a more legacy mode, try it.
Check with powertop that runtime power manage is enabled for devices (tunables are "Good").
It looks like it has a RTL8111H for Ethernet, which is known to be problematic with sleep. My machines don't go below C3 due runtime power management being disabled for Ethernet, but enabling it causes it to fail to come out of suspend correctly.
I'm sure you tried but the definitive option would be a BIOS switch to change it. Sometimes is says S3, sometimes it says Linux sleep (like my personal ThinkPad)
But if you don't have that toggle at all, the firmware probably dumped S3 entirely - especially if it's a relatively new machine and you'll have to lean much more on Hibernate like my new work ThinkPad.
I would investigate whether an older BIOS version still has the S3 toggle since some BIOS updates have removed S3 I believe but a search of forums would probably turn up enough complaints to hit your radar.
Why not just set your laptop to automatically hibernate after it's been in a suspended state for x seconds? That way your system will fully power off after it's been suspended for a while, which would save even more battery compared to S3. With the speed of NVMe drives, resuming from hibernation only takes a couple of seconds on most modern systems.
Nah, it's a systemd setting. You need to edit /etc/systemd/logind.conf and change HandleLidSwitch= to HandleLidSwitch=suspend-then-hibernate, and the create or edit /etc/systemd/sleep.conf to change the timeout value:
[Sleep]
HibernateDelaySec=900
With the above, the system will automatically hibernate after 15 minutes of sleep.
Note that if you're using a full-fledged DE or a third-party power profile manager, you may need to disable any lid-close actions in there (if it doesn't have the suspend-then-hibernate option) so that systemd can handle it properly.
I remember that on new generations of Intel chips there is no support for S3 at the chipset level, which means that the operating system physically cannot enter the laptop into this mode. On Windows S0ix is better optimized, that's all. Linux has problems with this.
MAYBE because they WANT your battery to be EMPTY in the morning so it HAS to go through MORE charge cycles, leading to your battery DYING earlier, so you have to buy a new battery, which means getting a new laptop. COINCIDENCE?