Thanks for the feedback! We’ll take that into account as we look at potential future driver and BIOS updates. Perhaps we need a “Silent” profile that is below the current “Better Battery” (which is not really the right name anyway) when plugged in.
Running R23 multi-core on AC power at about 29°C ambient I averaged 85-88°C at 28W on the CPU Package.
Fan was certainly running (is there a way to get RPM readout?) but with a fairly broadband noise profile with no annoying tonality. Noise level sounds acceptable to me for a heavy load.
When using “Better Battery” the CPU package power goes up to 28W+ and the temp goes up to 100C.
@nrp As far as I can tell - I least when plugged in - the “power mode” (best battery vs best performance) makes 0 difference in W, freq or temp.
So I’ve created the following power plans:
- A “Quiet” power plan with Processor power management set to 80%.
- Pretty quiet.
- <70C in Cinebench r23 (HWiNFO logs: https://cloud.jmlx.io/s/39kgqqnj3SW7fFb)
- I can even do some gaming (Cyberpunk 2077)
- A “Silent” power plan with Processor power management set to 50%.
- Very quiet.
- <58C in Cinebench r23 (HWiNFO logs: https://cloud.jmlx.io/s/cpm29FQJA4ppx3y)
- But big FPS drop in-game.
For those using Windows, there’s a setting in the advanced power plan menu which toggles between active CPU cooling and passive (meaning disabling fans). My settings are in French, but it roughly translates to System Cooling Strategy.
Any specific recommendations?
Could you confirm if you have the Driver Bundle installed? While Better vs Best Performance are somewhat similar, Better Battery should end up quite a bit lower power.
@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.