Oh thanks! That’s what I used before. I don’t know how I missed it still exists. One draw-back is in the “rate” tab it’s rather difficult to see the actual discharge rate over suspended periods.
My experiment last night showed a significant difference despite having the newer SN750 firmware…
s2idle without the “nvme.noacpi=1” parameter: 4%/hour
s2idle with the “nvme.noacpi=1” parameter: 2.7%/hour
deep sleep: 2.7%/hour
The s2idle tests were running the Linux 5.17.9 kernel, and I had three USB-A cards and one USB-C card installed. The deep sleep test was running the Linux 5.14.10 kernel.
I assume rev is the firmware revision, but I don’t know for sure.
I did not take awesome metrics with and without nvme.acpi, but I believe having this on cuts s2idle standby drain by 60-80%. I’ll try to get to doing some more specific metrics.
On Slackware Linux here with powertop (i5 11th gen, 32GB RAM). I have 2 USB-C and 2 USB-A currently installed, and 4.5 hrs to 7.5 hrs (I am yet to test the full 10 hours 20 minutes that it shows me).
However I only see a marginal/negligble increase in battery life on stand by with “nvme.noacpi=1”.
I’m using “Vitals” Gnome extension, resuming from s2idle I can briefly see the drain rate during that time (above the dropdown box in the panel) but I calculate it from the total “Energy (now)” before sleep and after.
Sleep mode, whatever is OOTB with the Ubuntu 22.04 LTS. No change there.
Mind you, I seem to see two different drain rates on my system…even with no hardware changes, nor software configuration changes. The only thing that changed is how many times the system has been placed into suspend since it first powered up.
On the first suspend, it was draining maybe 1-1.5% an hour… However, on subsequent suspend, it was draining like 4% an hour.
I would guess that it is s2idle. If you already know the following, skip it. If not, you can check what you currently have in place by running cat /sys/power/mem_sleep. If you want to set it to deep, add “mem_sleep_default=deep” to the grub config and update grub.
Thanks for pointing this out. I’ll take another look after my sleep test.
I feel that someone might want to write a script that collects and shows what/which battery related optimization is active / inactive. Something like what the Get-SpeculationControlSettings cmdlet (on Windows) would do…to summarize a system’s spectre fixes.
Isn’t that what the acpi_osi='!Windows 2020' kernel command line option helps for? Mind you: some quoting is required to protect the ! and some tools rely on quotes in the grub configuration as well. For instance, Fedora uses /etc/default/grub where GRUB_CMDLINE_LINUX_DEFAULT has its value delimited by "...". A tool like “grub-customizer” messes up the quotes. I think the '...' delimiters are valid too, but I’m happy to be corrected.