Amd ryzen 5 5500u power efficiency

hi i am having ryzen 5 5500u laptop
share your power saving tips for ryzen laptops
i tried amd-pstate and the frequency 400mhz to 4000mhz even on battery


1 Like

Welcome to Garuda’s forum @jothi-prasath,
Right now I am using linux-cachyos as my kernel with amd_pstate_epp drivers from cachyos repos, you can use linux-bore(just a name change) as well, available in our repos.
I use the powersave profile, you can change it from corectrl.

You could also use linux-xanmod with amd-pstate drivers and the on-demand profile.

And I am using performance tweaks from Garuda assistant app,
You could use powersave tweaks to really lower the CPU’s max frequency.

i enabled amd-pstate-epp in linux-bore on powersave governor the cpu clocks locked at 400mhz which is really laggy

GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet mitigations=off amd-pstate=passive"

Welcome :slight_smile:

When I drive my car in first gear it also only manages 60 km/h (38 mph) instead of the limited 250 km/h (155 mph) in sixth gear :smiley:

(Only on the Autobahn, direction Berlin or Holland) :slight_smile:

The issue is amd_pstate_epp is not enabled by default for the linux-bore.

With a new patch-set it works like this:

You need to add these parameters to the kernel parameters in the /etc/default/grub file:

I) amd-pstate=active

amd_pstate=legacy_cppc for epp

amd_pstate=legacy_cppc for amd-pstate

III) Nothing for acpi

i.e. it is set to acpi-cpufreq drivers as default cpu frequency scaling drivers instead
of amd_pstate_epp.


i enabled it by amd-pstate=active but the available governors are powersave and performance
And i am not able to control the frequency using cpupower or tlp

Check you cpu scaling drivers drivers by running the command:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver

in the terminal.

You also need to add:

amd_pstate=legacy_cppc too

after editing the /etc/default/grub file, update grub and reboot.

yeah i put both parameters in the grub

~ -> cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver                                                                             0s
1 Like
cpu MHz         : 4031.087
cpu MHz         : 4029.763
cpu MHz         : 1730.582
cpu MHz         : 1436.495
cpu MHz         : 1402.485
cpu MHz         : 1397.295
cpu MHz         : 400.000
cpu MHz         : 400.000
cpu MHz         : 400.000
cpu MHz         : 400.000
cpu MHz         : 400.000
cpu MHz         : 400.000

in powersave governor

1 Like

Everything is looking great

is that normal

Yup, epp brings down the cpu frequency to 400Mhz when idle, and throttles the cpu whenever needed.
You don’t need to control anything now, it’s being automatically done with epp.

You could achieve the same with linux-xanmod(and-pstate drivers) with on-demand profiles

1 Like

but it consumes bit more power right
what is the best scaling_driver for better battery backup

I added something to my previous post

Check amd-pstate with linux-bore itself by changing the kernel parameters.

Does it provide more power profiles than amd_pstate_epp?

powersave with amd-pstate would be bit laggy as it lowers down the max cpu freq itself.

powersave and performance profiles (powersave is perceived to be better, it may be placebo) both are kind of similar in amd_pstate_epp.

amd-pstate gives you more options and control with more profiles, whereas amd_pstate_epp doesn’t.

So the ideal, configs are
amd-pstate with on-demand
amd_pstate_epp with powersave

I ran tests with both configs and amd-pstate gave better battery by a couple of mins(marginal difference) with similar work loads. But that was kernel 5.19.
This could have changed with kernel 6.0.

You can check out my tests in the thread:

amd_pstate_epp is supposed to be the successor of amd-pstate, but I suppose it’s still in development.

1 Like

thanks dude but this kernel (5.19.13.arch1-1) amd-pstate works great for me
it uses only around 2.5W (cat /sys/class/power_supply/BAT0/power_now)
even at powersave governor the clocks are at between around 400mhz to 1000mhz
and the temps also below 40*c
and the estimated reaming time was around 12hrs (acpi -b)

1 Like

I checked your GitHub profile and found this issue you had posted:

I checked this:

lscpu | grep cppc
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd cppc arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca

Our CPU does seem to provide CPPC MSR.

So, just adding this to kernel parameters would suffice


This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.