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
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
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
(Only on the Autobahn, direction Berlin or Holland)
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
II)amd-pstate=passive
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
amd_pstate_epp
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
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
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.
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
)
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
amd-pstate=active
This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.