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).
Thanks
- rotopenguin ( @rotopenguin@infosec.pub ) English8•9 months ago
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.
I check that C2 the only one has value when on battery.
Others are zero. Hmmm…
- rikonium ( @rikonium@discuss.tchncs.de ) English4•9 months ago
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.
Thinkpad still has it? T14?
On dell I already check it, they don’t have it sadly.
- rikonium ( @rikonium@discuss.tchncs.de ) English2•8 months ago
You’d have to check, my personal X1 Extreme Gen 4 has the toggle but my new work T14 Gen 3 does not.
- FarLine99 ( @FarLine99@lemm.ee ) English3•9 months ago
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.
- rotopenguin ( @rotopenguin@infosec.pub ) English2•9 months ago
Yeah. MS has stopped using S3 since Win8, so Bios vendors and OEMs have been letting it atrophy.
- yum13241 ( @yum13241@lemm.ee ) 1•9 months ago
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?
- rotopenguin ( @rotopenguin@infosec.pub ) English2•9 months ago
The Nintendo 3DS, like most Nintendo systems, had the hardware for several generations of older systems in it. It had the full GBA hardware, and it could fully play almost all GBA titles. Nintendo gave away a few GBA titles as a “super secret squirrel fan club” promotion, but never sold any on the 3DS. They threw away a lot of possible game sales, but why?
They’ll never say, but the most obvious failing is that the 3DS could not sleep while a GBA game was active. You can close your bivalve console, and instead of it going to sleep the game just keeps on going. That was an unacceptably inconsistent and bad experience for a kid-friendly console.
Nintendo, who controls the firmware, the OS, who validates every game, WHO DESIGNED OR SPEC’D EVERY SINGLE CHIP IN THEIR BOM, simply could not figure out sleep. And they lost a medium-sized fortune in BC game sales over that.
Maybe sleep is just a hard problem?
- yum13241 ( @yum13241@lemm.ee ) 1•9 months ago
They didn’t care for GBA games enough.
- d3Xt3r ( @d3Xt3r@lemmy.nz ) 3•9 months ago
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.
- ReversalHatchery ( @ReversalHatchery@beehaw.org ) 1•9 months ago
How do you set that up? Please don’t say it’s a BIOS setting.
- d3Xt3r ( @d3Xt3r@lemmy.nz ) 5•9 months ago
Nah, it’s a systemd setting. You need to edit
/etc/systemd/logind.conf
and changeHandleLidSwitch=
toHandleLidSwitch=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’m not familiar with gnome, is there any option on gnome for it? I never seen it.
- d3Xt3r ( @d3Xt3r@lemmy.nz ) 1•9 months ago