[TRACKING] PPD v TLP for AMD Ryzen 7040

Sooo, i am reading this thread again and again but as someone not very experienced in the power saving side i am not entirely able to get actionable bullet points out of it. I tried to randomly screw around and for now i did:

  • disable ppd
  • installed tlp and used the settings someone postet somewhere up here
  • added the amd_pstate kernel parameter

i have no clue if what i did did anything useful. Especially the pstate stuff seems to rely on additional settings i havent done anyway?

furthermore, i have clicked around a bit in powertop and it says all good except “VM writeback timeout” and “autosuspend for usb device hdmi expension card [framekwork]” which i can use with enter and turn “good” but only for the current startup.

While i am writing this i am at 11.8 Watt drawn which seems a bit much when there is nothing going on except a passive firefox and a console with powertop. So i guess i am doing it wrong?

So kind people, what is your collective conclusion so far?

3 Likes

I haven’t done extensive testing as others on here have, but I think the single biggest positive change to my power draw was swapping out to the 6.5 OEM kernel. This kernel has AMD_pstate configured as default.

I thought TLP was making a big difference but I changed back to PPD a few days ago and my idle seems about the same, around 4w.

console with powertop

What console application are you using? I’d been monitoring my draw with BlackBox, which is apparently really poorly optimized as the application seemed to be causing a 4-5 watt draw simply rendering characters! I changed to the Kitty terminal which uses hardware accel and it made a huge difference.

1 Like

“Konsole”, the KDE one. I am on kernel 6.6.4 I didn’t even realize that the pstate is on per default, so i could just have not added the kernel parameter? I guess the console application is quite relevant for blinking cursor stuff, i dimly remember some story of vscode devouring plenty of power for that effect alone.

Also, when i say “only powertop in a console” i off course mean “a full blown KDE desktop environment with all the panel stuff constantly displaying data and 5% display brightness”

2 Likes

Yeah it was really bad, I really couldn’t stand how slow it is, so now I’ll just be sticking to the optimizations recommended here :grin: feels a lot better though it consumes a little bit more power.

Well that’s how much it idles on Windows w/ the dGPU turned off, on Linux it’s 8W(wish I could get it to 6W like windows haha) but I’ve double checked and GPU really is off on Linux too at 8W.

If it actually consumes less power in you super limp mode means it is also doing less. You may need to have a look at your background tasks or something. the 5w pl puts even the more efficient 7480u way outside it’s best efficiency so it’s probably even worse on a less efficient bin of a previous generation.

You could also try a frequency cap instead

1 Like

Since the other one stalled I submitted this to PPD.

Here’s a COPR for Fedora 39:
https://copr.fedorainfracloud.org/coprs/mariolimonciello/power-profiles-daemon/

Here’s a PPA for Ubuntu:
https://launchpad.net/~superm1/+archive/ubuntu/ppd/+packages

29 Likes

Hi @1115, glad things have improved and are more responsive. It may be worth trying powertop --calibrate and once that’s finished see what it reports as the biggest draw.

After looking at that, powertop --auto-tune may also be worthwhile. If you’re happy with the results of that, you could add it to your start-up scripts or via udev for when on battery.

Looking at powertop output and the FW13 with mediatek wifi, I’ve tested turning power management off, which improves performance but also increases reported draw by ~1W.

Based on these specs for your laptop, I would also try a lower refresh rate to see if that resolves the dropped frames (start at 60Hz and then go up from there).

Otherwise, for graphic performance, you may wish to look at folks with the same or similar laptop/cpu to see what kernel flags are in use for the gpu? Or try the proprietary AMD graphic drivers. I have to use them on a desktop for DaVinci Resolve and they have been improving.

This thread regarding gpu firmware may also be worth looking into based on the dropped frames you’re (not) seeing.

Here’s to further efficiency gains!

1 Like

@Mario_Limonciello Thanks for putting up that MR, I tested it and reported in the MR (hopefully the bump/results help!) Hopefully this gets merged, it makes a huge difference in power draw and will allow for great power saving without needing to configure/manage something like TLP.

2 Likes

Great work on this!

For those not interested in reviewing the code, the updates (and available pkgs) tie power-profiles and amdpstate back together.

For instance, calling:
powerprofilesctl set power-saver
also sets the amdpstate performance preference to: power

Likewise with setting performance or balanced.

I wrote a bash script to do this for me but am grateful it’s fixed.

Thanks @Mario_Limonciello!

2 Likes

I have upgraded to Ubuntu 22.04d OEM 6.5 kernel. Also installed @Mario_Limonciello PPD PPA.

The upgrade broke the OEM c kernel notification & grub edit script which insisted on sticking with OEM 6.1 rather than 6.5 kernels, but I got through that.

With just these two changes, plus powertop --autotune my power consumption has dropped quite a bit, now baseline in the 4-5 W range. Web surfing has not exceeded 7W so far.

After several hours of use, powertop reports 94% in C3 overall.

Nice work.

6 Likes

I also tried this approach, and it works fine. I had to stop Dropbox and Mattermost to get down to 5W, but 5W with gnome-power-statistics as only running app with WiFi ON and Bluetooth off on brightness level 2 (if 1 is the lowest) works.

Governor “Balanced” works best, full performance if needed and low power consumption otherwise. No need to switch the governor that you use when on power or on battery. :grinning:

I was running sudo powertop --calibrate once (takes a few minutes, don’t touch your laptop while it is running). And I added this service:

sudo nano /etc/systemd/system/powertop.service

with the content:

[Unit]
Description=Powertop tunings

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/powertop --auto-tune

[Install]
WantedBy=multi-user.target

and then enabled and started the service with

sudo systemctl enable powertop.service
sudo systemctl start powertop.service

as explained here: Powertop - ArchWiki

Watch out, the path to the powertop executable on Ubuntu Linux is different from ArchLinux.

4 Likes

Also positive feedback from here, @Mario_Limonciello. Installing your linked ppd package on Fedora 39 brings down my power consumption from ~9W on idle (medium screen brightness, wifi on, nothing running) to consistently ~4.3W on power-save and around 5.3W on balanced or performance modes.

Let’s hope this gets merged upstream soon! :slight_smile:

3 Likes

Very much hoping this gets merged soon. On Solus and not yet knowledgeable enough to package this up myself.

I stand corrected, even below that - I was just a little impatient :smiley:

2 Likes

Could you share how to install Mario’s version of PDD please ? I’m still not used to Fedora yet…
Thanks

Sure @Aurelien_D it’s quite easy:

1 Like

To make it a bit easier for Fedora I’ve published it to a COPR as well:
https://copr.fedorainfracloud.org/coprs/mariolimonciello/power-profiles-daemon/

To install from here:

sudo dnf copr enable mariolimonciello/power-profiles-daemon
sudo dnf update
12 Likes

What branch or commit did you build from specifically? I want to make a PKGBUILD for this for arch (haven’t ever submitted anything to the AUR before, but I imagine there are enough arch/amd framework 13 users to make this worth it)

4 Likes

It’s 0.13 with merge request 127, 128, and 129 added as patches.

Here’s the git for it.

I hope that someone will review them upstream so you can just do regular git snapshots from upstream.

3 Likes

@herodot @Mario_Limonciello Thank you Guys !