Of course, the moment I post the thread, I start finding the information I need! I’ll start answering my own question in the thread, and maybe it will help someone else.
Platform differences for power
CPU differences
- Core Ultra Series 1 processors have LPE, E, and P cores. Low power modes are very low power, but higher-power modes can be higher. Start at 28W TDP.
- Ryzen 7000 series have a TDP starting at 15W, but otherwise no special sauce.
- Ryzen AI series have a TDP starting at 15W, and Zen 5c cores that may be less power-hungry.
Linux kernel/software differences
- Intel: kernel supposedly aware of LPE cores for scheduling.
- AMD:
- Ryzen 7000 series: no special per-core optimization, but platform has been around long enough to be somewhat optimized.
- Ryzen AI series: not enough recent optimizations, but may get them in the future.
- I think that AMD’s own software tools, in particular the AMD pstate driver, do not allow you to control core behavior.
Linux tools
CLI tools:
- Intel: the intel-lpmd daemon can optimize active idle power?
- AMD: RyzenAdj can adjust power targets in granular ways! It even supports Krackan point now. (found in this recent forum post, but I now remember I’ve seen it elsewhere)
Haven’t found Linux-compatible GUI tools yet.
Other thoughts
Intel is apparently bringing a power slider of some kind for Panther Lake, their upcoming platform… may not be relevant for Framework for now.
In 6.17, AMD is bringing their Hardware Feedback Interface to provide better classification and dynamic rankings around heterogeneous core processors. Affects processors with mixed Zen 4c or 5c cores. Not sure if it affects power use.
Conclusion
If I understand correctly, it’s easy for Intel mobile processors to be in their low-power state. However, I don’t know how to force that state and have conservative power ramp-up when on battery.
RyzenAdj makes AMD platforms more interesting for power adjustment. One tool? Yes please! That might be what I go with.