[Linux] Battery drain when laptop is in sleep

I received my Batch 3 DIY FW16 7840HS on 8th March, but did not get to use it because of exams, except for installing openSuSe Tumbleweed on it, until now. I don’t remember the exact battery level, but when I last shut it down on 12th March, it had at least 60% battery remaining but today the battery was completely dead when I wanted to turn it on.

I had the following expansion cards:
Slot 1: USB-C
Slot 2: DisplayPort (2nd Gen)
Slot 3: Audio
Slot 4: USB-C
Slot 5: USB-C
Slot 6: USB-A

SSD: SK Hynix Gold P31 2TB
RAM: Kingston FURY Impact 64GB (32GB x 2)

I was wondering if someone else noticed how much battery does their FW16 lose after it is powered down?

Edited: Drain seems to be only in sleep mode, not when powered down.

I left my FW 16 alone and shutdown for a few days, the battery was right where I left it when I came back.

I’ve had that issue on other laptops in the past, the culprit was usually a bios setting that enabled the usb ports to stay on.

So far as I know, it shouldn’t lose any, if it is completely powered down. There is a known problem with the battery draining in sleep mode though, were you using that instead of completely shutting it off?

I am almost sure it was completely powered down. I am doing another test today to know exactly how much, if any, the battery loses over time after shutdown.

I am afraid of some port combination or BIOS setting being the culprit.

I did 2 tests. One with powered down for 3 days and one with sleep in openSuSe.

With powered down, it lost 1% only, which could just be booting up variance.
While in sleep mode with lid closed as well, it lost more than 51% in 3 days. I can’t know exactly because after 3 days it was completely dead.

Is there any way to reduce this drain? At the moment there is some regression bug with power-profiles-daemon in openSuSe so it is not enabled. I will test it again when it is fixed.

Check the slots match framework recommends. If they don’t, move them around.

If they do, run https://gitlab.freedesktop.org/drm/amd/-/blob/master/scripts/amd_s2idle.py looking for any advice it offers.