[TRACKING] PPD v TLP for AMD Ryzen 7040

Hello everyone,
I’m not sure if this is the right place to share this, but I ran into the following issue this morning after unlocking my computer:

[173930.599003] amd_iommu_report_page_fault: 99238 callbacks suppressed
[173930.599009] amdgpu 0000:c1:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0005 address=0xfffe9240000 flags=0x0000]
[173930.599023] amdgpu 0000:c1:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0005 address=0xfffe9241000 flags=0x0000]
[173930.599033] amdgpu 0000:c1:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0005 address=0xfffe9242000 flags=0x0000]
[173930.599042] amdgpu 0000:c1:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0005 address=0xfffe9243000 flags=0x0000]
[173930.599051] amdgpu 0000:c1:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0005 address=0xfffe9244000 flags=0x0000]
[173930.599059] amdgpu 0000:c1:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0005 address=0xfffe9245000 flags=0x0000]
[173930.599068] amdgpu 0000:c1:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0005 address=0xfffe9246000 flags=0x0000]
[173930.599077] amdgpu 0000:c1:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0005 address=0xfffe9247000 flags=0x0000]
[173930.599086] amdgpu 0000:c1:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0005 address=0xfffe9248000 flags=0x0000]
[173930.599094] amdgpu 0000:c1:00.0: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0005 address=0xfffe9254000 flags=0x0000]

I’m not 100% sure this is related to TLP but I think so.

I’m currently using TLP with the following configuration : https://github.com/negrel/dotfiles/blob/master/hosts/frameworkstation/cfg/laptop.nix#L15

NOTE: I’m not seeking for support, just sharing my experience with TLP

1 Like

@negrel Known issue; turn Uma game optimised on in your bios.

This seems to have resolved for me entirely with newer kernels. But depending on how old

your distro/kernel is you may also need to add

STILL Broken in Current 6.7rc series - so you’ll definitely need this too

amdgpu.sg_display=0

To your kernel command line

To disable scatter gather support

1 Like

@jwp I’m trying with uma game optimised. thanks!

1 Like

Hey guys, I’ve been running TLP 1.6.1 on F39 KDE for the past day and saw my idle power drop to 3W (from 7W), with 5W with 5 firefox tabs (9W with stock PPD) and 9W while watching 1080p 60 video on youtube (14-16W PPD). N=1 and 24 hours only so YMMV.

1 Like

Sub 4W idle is achievable without TLP with recent kernels and udev rules alone.

3 Likes

Do you think that’s the superior option? I haven’t done any tuning with TLP so it could get better again

1 Like

Yes - due to integrations with DE and Distro tooling.

1 Like

Is there a list somewhere?

I’m running kernel 6.6.3 with PPD on Tumbleweed, battery’s still crap :pensive:

1 Like

Hi everyone! I’m experiencing really poor power consumption on my Framework 13 with a 7840U. I normally idle about 10W. If I get everything optimal (idle, lowest brightness possible, no wifi/bt, no expansion cards), it goes down to about 6.5W which is worse than most people here report (<4W). I am running Debian Testing (Kernel 6.5, amd_pstate=active, powersave governor) with TLP on KDE. Do you have any suggestions?

One hint is that amdgpu_pm_info reports 5-6W GPU consumption all the time… Is that GPU power or total SoC package power? It seems like a lot.

1 Like

It’s supposed to be package power.

But yeah 5-6w package power doing nothing seems like quite a lot.

Do you have any video decoding going on?

Currently there seems to be an issue with the hw decoder using way too much power to do its job.

1 Like

I also have this if I’m reading amdgpu_top right, as it shows GPU Power at 5-6W at idle (my total idle from battop is 7-8W). I’m running Endeavouros (arch) with no real modifications.

1 Like

I was getting around 6w “idle” until I switched to a hardware-accelerated terminal program. So my idle state wasn’t very idle; I had been using BlackBox and it was hitting my CPU pretty hard just to draw numbers on the screen. Kitty is way better in my experience.

If you watch “cpupower monitor” for a bit, what freq/c-states are you seeing?

Are you using generic kernel or OEM? I have better results with OEM.

1 Like

Hi @harryjph, this does seem high. I’ve found NoteBookCheck’s results repeatable for other laptops and would expect for you to see a similar 4-6.8W idle.

Are you disabling wifi or simply not connected? Is autosuspend enabled for usb devices?

Have you looked at powertop or a similar tool to evaluate what may be consuming power?

What does top show in terms of processes keeping your cpu active?

Which kernel are you running?

While observing idle power consumption is helpful to ensure parasitic drain has been resolved, it doesn’t provide much insight into usable run times.

If that is of interest to you, I encourage applying the testing methodology I defined above. Sharing your results here may also help others in the community test & tune their systems.

My observation is this often reads within 0.5W as powerstat or powertop during light use and about 3-5W lower at max use, so I’m thinking it approximates total pkg power. This is based on running a benchmark showing 30-42W. GPU load was 0-1%.

Hope this helps!

1 Like

Additional Observations Part Deux

  • Use case: streaming video.

Watching Netflix with & without hw accel in Firefox. It looks like hw accel is advantageous as the gpu uses less power than cpu based rendering (thx AMD :wink: ).

Fedora is already using pipewire. Migrating Ubuntu to that seemed good for an avg power reduction of 0.5-1W. Streaming for 85 mins took 17% @ 6.6W avg. Est endurance is over 8 hrs.

Config: PPD power-saver, EPP balance_power, usb autosuspend, pipewire, FF hw accel

  • Use case: benchmarking.
    Running Furmark windowed at 1280 x 1024 and openssl RSA4096 concurrently. Maxes gpu & cpu load. 35 mins took 25% @ 23.6W avg. Est endurance 2:20.
    Config: PPD balanced, EPP balance_power, usb autosuspend

  • Currently using 6.5.0-1008-oem kernel. Looking at updates in 6.6, interested in retesting consumption. Also considering @David_Markey’s 6.7 kernel with fixups as @jwp has mentioned or running Fedora rawhide or Ubuntu mainline for additional testing.

  • Use case: large file downloads.
    powertop showed as much as 6.2W draw from the wifi card. Over time 5g throughput would taper off by as much as 50%. 2.4g was consistent, albeit expectedly slower. Seemed unaffected by status of power management via iwconfig

2 Likes

Yeah there we go, the hw acceleration uses way too much power at this point.

2 Likes

My observations in comparative testing showed the opposite.

This was quantifiable to an avg of ~1W more efficient than disabling hw accel over >10% battery usage.

Note: I would restart FF between disabling/enabling this.

1 Like

HW acceeleration using too much power does not mean cpu decoding uses less (though it does at 720p and barely at 1080p 30). Hw acceleration works and can handle 8k 60 without problems.

Hardware decoding a 720p 30 video on the framework uses about 4-4.5W above idle an 1080p 60 uses about 7.5 above idle. That is way more than it should (hell my 8th gen intel uses about half for the same videos). Especially with people reporting barely 1w above idle for 720 on windows.

3 Likes

Interesting read, thanks for the link.

These are higher than I observed for Netflix on Firefox, which looks to be streamed in vp09 format, however due to DRM passes through the WideVineCdm plugin. I’ll test again to double-check resolution and framerate.

What are your observations for both scenarios?

1 Like

Which scenarios?

The video part of my testing battery is 720p 30fps youtube video in firefox, 4k 60fps youtube in firefox and 720 30 and 4k 60 in kodi from local disk but firefox and kodi are within half a watt there (and h264, h265, vp9 and av1 don’t seem to make a significant difference, neither does bit-rate, at least in the hw accelerated case, with software decoding it makes a big difference).

My conclusion is something is wrong with the hw acceleration drivers, the decoders work fine and do decode whatever I thow at it but they use way too much power doing so. The windows numbers indicate the hardware is fine. If I’d got 1W over idle for 720p decoding on linux I’d be over the moon, other than the hw decoder the power consumption looks relatively fine and the performance per watt is freaking amazing.

3 Likes

I’m on Ryzen 6000 series and not yet using a framework but I also wish this would get even just relatively close to windows, on Linux it consumes about 17w(no config except auto-cpufreq) yet on windows it only consumes 8w