Many laptops these days only implement s2idle and no proper s3 support which is the main culprit. My lenovo only does a day (at best) in s2idle under linux (windows is worse), when I switched it to s3 it does about 4 days as expected for the amd cpu. Fortunately this has a switch in the bios (which says windows won't work afterwards which is cow manure). You get the added benefit that windows can't phone home when you close the lid.
Same for mine, there's even a long thread about it in Lenovo's forum (T14 gen1).
I still think 4 days is not really great compared to my previous MacBook that could sleep for weeks.
Battery life is bad overall for this, at least on the sister T14s gen1. Is it the same experience for you and what tweaks have you made to increase battery life?
According to this thread we might never get AMD pstate driver working.
I enabled the pstate driver yesterday for my T14s gen3 (AMD). It almost doubled my battery life, the fan never spins anymore and it's very very quiet and cool now. You need to specifically enable it in Linux kernel, this is how I did it:
Yes battery life is awful since day 1. I initially thought I had a faulty device or something. Apart from that the machine is great, it's really a shame.
I tried a lot of various things mentioned in the forum, updated the BIOS, tested plenty of various configurations, to no avail.
It's a bit crazy that it's been so long and it's still a major pain point for me on Linux. Apart from that, I really enjoy the machine. Not really an issue when it's plugged in at home, but annoying on the go...
I think the idea is that Windows will occasionally not wake up properly, leaving the user to “choke it out” (power button for 5 sec to force a hard shut down, power button to power up). Sorry if you had any unsaved work.
Personally, Hibernate works great, doesn’t require any battery life to sustain it, and always comes back with state intact, so it’s my go to.
Extremely false: hibernate is way slower. Sleep happens within a second and awakes within a second. Hibernate requires writing all your memory to disk; if you have, say, 15GB of memory in use and a disk that can read and write at 1 GB/sec (far from the fastest, but also extremely far from the slowest), that’s fifteen seconds. For many (probably most) people’s realistic situations, hibernate will take over a minute.
(Heh, my own laptop takes 4–8 minutes to hibernate if its CPU is slowed to 400 MHz to minimise power consumption, which incidentally happens automatically when it’s almost down to 0% battery power, shortly after which it triggers a suspend-then-hibernate, and the extra time that makes it take it brings it perilously close to running out of power before it finishes. Not certain why limiting the CPU has such a massive effect, but I’ve compared it when manually inducing similar circumstances by giving the CPU an impossibly low power envelope with `ryzenadj --stapm-limit 100 --fast-limit 100 --slow-limit 100`, which limits all cores to 400 MHz, and yeah, that makes hibernate slow.)