@nrp I ran the exe yes. How can I check/confirm the settings of the power modes?
@Jean-Marc_Le_Roux I think you are running into PL2 settings still being high, allowing short bursts of higher power than the PL1 limit which can cause the fan to turn on.
I saw another post on the forum Project SBC Power Tool App (TDP Control - Windows 10)
You could try setting PL1 and PL2 to the same low value and see if you can achieve your quest of silence. Note that setting these lower will limit the max frequency of the CPU.
On linux you can set this using the RAPL power limit directly.
Another note is that fan cooled systems will try to decouple the heat transfer from the CPU to the case, to allow the hot air to be forced out without causing high touch temperatures. But fanless designs will physically couple the heat sources to the case using heat spreaders, graphite pads, etc. So if you wanted to improve your ability to run the system without a fan and void your warranty you might be able to improve the coupling of the CPU heatsink to the case.
This is what I get on Fedora 34:
$ sudo cat /sys/class/powercap/intel-rapl:0/constraint_0_power_limit_uw
200000000
$ sudo cat /sys/class/powercap/intel-rapl:0/constraint_1_power_limit_uw
64000000
$ sudo cat /sys/class/powercap/intel-rapl:0/constraint_2_power_limit_uw
121000000
@Kieran_Levin are those the expected values? Iāll try to check it out in Windows using the softare you suggested. Are those values the ones supposed to be affected by the āPower Modeā in Windows?
Still interested in any tips on how to do similar āpower plan managementā for Linux. Iāve found that running Zoom when docked, for example, causes the fan to be continuously quite loud. Is there reason to expect that the cooling would be less effective when the laptop lid is closed and the laptop is docked using a vertical laptop stand?
@Jean-Marc_Le_Roux those are the values that will unlimit the CPU, and the power limit will be controlled by the EC.
The CPU will take the lesser of whatever setting the EC PECI and MSR settings are for this.
The EC will reduce the turbo power limits if you have low battery or smaller AC adapter attached.
You can reduce constraint_0 to something like 10000000 (10W PL1)
and constraint_1 to 15000000 (15W PL2 Burst)
And you should see the system run much cooler and a bit slower.
Thatās a lot of acronyms Iām going to have to understand xD
Still, Iām using auto-cpufreq and so far power management on Linux is really good. The laptop is a lot quieter than on Windows.
I can second that. Iāll be in line myself.
@Jean-Marc_Le_Roux Sorry for all the acronyms.
The CPU will limit its power envelope to the minimum of the setting from either the operating system or the embedded controller.
The RAPL interface in linux is the OS interface to this, but the embedded controller has a separate way to also set the power limits.
The embedded controller will set the power limits to whatever the maximum is allowed by the battery and charger, and further reduction in power can be achieved by changing the settings from the OS.
In windows this is done by the DPTF driver, and in linux there are various frameworks to manage this as well, or you can just set values directly using /sys interfaces.
I looked around and found a possible method in terms of getting undervolting capabilities back, this is a similar method to unlock my XPS 15 which required extracting and nodding the boot loader. This guide is used on laptops with insyde bios so I am going to attempt it later on.
@Kieran_Levin just started digging around about the frame work laptop and I see people already using my software, thanks for recommending!
Think thereās a bug in BIOS 3.08 (alpha) regarding PL1 and PL2 configured via intel-rapl.
When BIOS has a 74% charge limit, plugged into a 90w USB-PD adapter, AND the battery is already charged up to 74%, the EC seems to be resetting / overriding the manually set constraint 0 and constraint 1 power limit uw.
This behaviour has been observed on Ubuntu 22.04 LTS, TLP disabled, thermald disabled, powertop disabled, battery at 74%, plugged in. The constraints power limit would get reset every 15 seconds or so (or maybe 30 seconds?).
However, the moment I unplug the USB-PD, I no longer see my manually set constraints get cleared / reset anymore (or at least, doesnāt get cleared / reset as frequently?).
Just checking, is this different than the behavior you saw with 3.07 BIOS?
Iāll need to flash back to 3.07 and get back to you on this. Ubuntu 22.04 LTS wasnāt released when I was already flashed to 3.08 alpha. (And I was on a different distro / kernel when it was on 3.07)
@nrp, it is also happening on 3.07.
Did additional testing: It seems to clear / reset the manual constraints when thereās a change in battery charge level / charge state / power state (e.g. plugging / unplugging USB PD).
Issue replication environment details:
BIOS 3.07 and 3.08
Battery charge level limit (set from BIOS menu): 74
OS: Ubuntu 22.04 LTS with all updates as of 2022/05/26 8:00AM PST
Kernel: 5.15.0-33-generic
Runlevel: 1 (to minimize background complexity, if any)
Battery current charge level: Held at 74%
Explicitly Stopped tlp, thermald and powertop services
Commands used to set constraints power limits:
- rapl-set -c 0 -l 28000000; rapl-set -c 1 -l 60000000
Then:
- watch -n 1 rapl-info
Youāll see that the new limits are shown initiallyā¦but then cleared out / reset after some time.
One other thing I noticed is that with the charge limit specified, the laptop seems to āflip flopā between ācharging / not chargingā when the battery is at 74% (some kind of trickle charge / discharge cycles).
Update: Momentary peak load / power consumption seems to be related. If power draw by the system is high (beyond what the PD can provide), the battery charge level would dip ever so slightly, triggering the system back into a āchargingā stateā¦this in turn seems to clear / reset the constraint settings.