Real-world battery life experience FW13 AMD

This is somewhat consistent with what I see. about 8-9W in video playback. A very cool 4-5W when writing some code and doing stuff that isn’t using the video decoders.

Unfortunately, the issues with power saving and efficiency seem to be mostly on the side of the GPU and this is even consistent with desktop AMD chips. For reference, I had a Vega56, which didn’t really have much in it’s design in the way of power saving beyond being quite power efficient for it’s time, it managed 15W idle on Linux and about 10W idle on Windows. Which drastically lower than my current 6800 XT idling at 35-40W on Linux (no Windows metric, didn’t look at it).

The issues have more to do with GPU device drivers than anything but it’s not impossible some firmware improvements could be needed too.

3 Likes

Just checking:

  1. Any storage expansions? Those tend to draw power regardless.
  2. Did you set PPD into “balanced” mode (and are you running v0.21+)?

But yeah, I’m guessing the “few video calls” are rapidly draining power. I take video calls on a separate device.

2 Likes
  1. No
  2. Not sure, will check

Running Arch Linux on my FW13 AMD, limiting battery to 80%, I get an estimated 8h battery life remaining when just reading blogs/news, and coding or similar in some terminals. Video playback is much rougher, if 1080p video on youtube then it’s closer to 20W usage, with or without hardware acceleration (I’ve tried back and forth after each update to check). I remember reading somewhere that there is a need to slightly re-architect how the amdgpu driver and display compositors manage the available “hardware planes” in order to avoid expensive pixel buffer copies back and forth (after decode before display). Who knows when that will shake out.

More disappointing to me is the poor battery life while suspended. It’s like 24 hours. I’ve never been a fan of hibernate, and never needed it before, but I may have to just accept it …

3 Likes

We’ve read the same issue :wink:

For those interested to track it, it’s here:

2 Likes

If you only get 24h of sleep, something is seriously wrong, you should get a lot more (I get close to a week). Please try the s2idle script from @Mario_Limonciello and see if it reports any errors:

1 Like

I have just usb-c cards in the back and usb-a cards in the front. (I could take those out I guess, but this is the recommended placement for them.) Nothing plugged in and no hardware that didn’t come directly from framework.

I ran the s2idle script back in November, all green checks. The script has been updated a lot over the past months, so I just ran it again, and as expected all pre-checks are green … but it apparently doesn’t reach “hardware sleep”? Thanks for the tip, I’ll have to re-investigate …

(… but it’s always had 1 to 2 days of suspend battery life, across 3 firmware versions and like 3 kernel releases, I do have the absolute latest linux kernel and firmware for ssd and graphics and everything, and I’ve never heard of anyone getting longer than 1-2 days suspend with this model …)

I have the same arrangement. My Framework also isn’t holding it’s battery well in sleep. I’ve been using hibernation on it if I want to keep my session. Otherwise, I just shutdown the machine entirely.

My machine definitely doesn’t hold charge whilst suspended with the recommended Fedora power profiles. I now just have to power it down every time I’m finished using it. Not ideal but also quite annoying.

While my laptop doesn’t hold charge well in suspend, it does in hibernate, which you can enable in fedora. The only problem I have is that wifi no longer works after hibernate comes back. I’m still hoping for an update that will fix the wifi issue.

@GastonGR and @Shijikori: Please also run the script I linked above if you have problems with sleep-battery-drain. The AMD Framework is definitely capable of doing week-ish sleep on battery for me (I haven’t done exact measurements, but it’s been on sleep for multiple days without running out of battery). If it doesn’t for you, there is probably a configuration error somewhere, and the script has a lot of checks and hints of what might be wrong. If you still have problem after running the script, you can probably ask in the other thread, Mario is usually very kind in giving people additional hints.

The power profiles are for when the laptop is awake, not when sleeping.

1 Like

Currently impossible as freedesktop gitlab is migrating. I have setup everything I found on the Arch Wiki page following all related guidance and notices. To my memory, the battery in suspend wasn’t too bad but it was only capable of 3 days, not a week.
The MediaTek chip is extremely annoying, especially with the issues it has on wake up from suspend and wake up from hibernate. Changing the NetworkManager backend to iw can help but that doesn’t make it that much more reliable.
Using the power saving power profile allows pretty good battery without video decode.

Little update, I lost about 3 to 5% charge over night left on suspend. Which I’d consider pretty alright. Over night being around 6 hours.

1 Like

Here’s a temporary mirror for now:
superm1/amd-s2idle (github.com)

Nothing to report. All checks are good. If I have one suggestion it would be to maybe list your dependencies. It’s quite annoying to run the script multiple times to iron out the dependencies one by one.

Indeed, thanks. After running the script again and fixing my issue (apparently problematic kernel boot arg I added for another purpose), it looks like my FW13 AMD can last a good 5 days (120+ hours) suspended; much better.

1 Like

Can you suggest what you had to install? It’s supposed to find and try to install them for you for Deb/rpm/arch.

python-systemd, python-udev, iasl and python-distro… those I am sure of, the rest I do not recall. I also noticed it tried to install some packages with pip which caused it to fail to install dependencies since you can’t install python packages system wide with pip on Arch. Unless you really want to.

Specifically, it needs python-distro to detect the host operating system. Without it, it’ll fall back on installing with pip.

Ah yeah; I remembered having to install python-distro by hand when I tried it on Arch. The tough thing is python-distro isn’t really needed unless you’re missing the others. But maybe it should just be made into a hard requirement.