You are not logged in.
Hello everyone!
I am currently facing a problem regarding my Intel i9-13900HX CPU: it seems to underperform under ArchLinux, especially when comparing it with a Windows 10 PE installation (Medicat, to be exact).
To demonstrate it, I am using silver.urih.com with Google Chrome. This is a simple CPU benchmarking tool available online that you can try out for yourself, if you're interested.
Here are the average results that I've obtained:
- ArchLinux gets around P50000, with performance mode set from GNOME with the help of the power-profile-daemons package.
- Windows gets around P94000, with the performance profile set in Control Panel > Power Profiles.
I have tried a lot of things, but was unable to fix this rather frustrating issue:
- Disable intel_pstate and use acpi_cpufreq instead
- Specify an ACPI OSI string ("Windows 2022" in my case, since it was the original OS preinstalled on it) -- as a standalone kernel argument or prefixed with acpi_osi=!
- Disable ACPI altogether
- Alter the MSR registers as shown here to tune up the turbo ratio limits
- Install and enable thermald
- Install and enable tlp
- Install and use intel-undervolt, but the software fails to write to MSR registers
The only thing which I didn't test is to try out another distro to see if it affects ArchLinux only.
I know this is not a thermal throttling issue, as my CPU stays cool (60°C) under load -- in fact, my fan doesn't spin up at all under ArchLinux when the CPU shows 100% usage on System Monitor.
My installation is pretty basic: systemd + linux + gnome + wayland + intel/nvidia + prime.
For completeness, here's also the output of i7z when the CPU is idle:
Cpu speed from cpuinfo 2418.00Mhz
cpuinfo might be wrong if cpufreq is enabled. To guess correctly try estimating via tsc
Linux's inbuilt cpu_khz code emulated now
True Frequency (without accounting Turbo) 2419 MHz
CPU Multiplier 24x || Bus clock frequency (BCLK) 100.79 MHz
Socket [0] - [physical cores=24, logical cores=32, max online cores ever=24]
TURBO ENABLED on 24 Cores, Hyper Threading ON
Max Frequency without considering Turbo 2519.79 MHz (100.79 x [25])
Max TURBO Multiplier (if Enabled) with 1/2/3/4/5/6 Cores is 54x/54x/52x/52x/50x/50x
Real Current Frequency 1731.91 MHz [100.79 x 17.18] (Max of below)
Core [core-id] :Actual Freq (Mult.) C0% Halt(C1)% C3 % C6 % C7 % Temp VCore
Core 1 [0]: 1116.22 (11.07x) 1.43 5.13 0 12.1 82.1 46 0.7494
Core 2 [2]: 1199.51 (11.90x) 1 0 0 1 99.1 42 0.7494
Core 3 [4]: 1322.95 (13.13x) 6.87 23.2 0 10.4 62.6 46 0.7445
Core 4 [6]: 1382.89 (13.72x) 1 2.32 0 2.1 95.1 45 0.7494
Core 5 [8]: 1215.81 (12.06x) 1 1.36 0 3.19 95 45 0.7494
Core 6 [10]: 1512.21 (15.00x) 1.76 3.31 0 4.87 90.7 42 0.7494
Core 7 [12]: 1299.46 (12.89x) 2.82 21.1 0 27.2 50.3 43 0.7445
Core 8 [14]: 1260.19 (12.50x) 3.48 4.44 0 16.7 77 40 0.7494
Core 9 [16]: 1222.48 (12.13x) 1.02 1.27 0 98.2 0 46 0.7445
Core 10 [17]: 1109.00 (11.00x) 2.37 3.23 0 95.7 0 46 0.7445
Core 11 [18]: 1454.39 (14.43x) 2.55 3.35 0 95.1 0 46 0.7445
Core 12 [19]: 1511.82 (15.00x) 1 0.705 0 99.2 0 46 0.7494
Core 13 [20]: 966.96 (9.59x) 1 0.58 0 99.4 0 48 0.7594
Core 14 [21]: 1178.97 (11.70x) 1 0.969 0 99 0 48 0.7494
Core 15 [22]: 1180.54 (11.71x) 1 0.871 0 99.1 0 48 0.7445
Core 16 [23]: 1193.03 (11.84x) 1 0.894 0 99.1 0 48 0.7445
Core 17 [24]: 975.09 (9.67x) 1 1.31 0 98.7 0 48 0.7445
Core 18 [25]: 1268.79 (12.59x) 5.28 7.66 0 89.6 0 48 0.7441
Core 19 [26]: 1731.91 (17.18x) 1 1.12 0 98.5 0 48 0.7441
Core 20 [27]: 1196.99 (11.88x) 1 2.71 0 97.3 0 48 0.7490
Core 21 [28]: 1069.46 (10.61x) 1 0.301 0 99.7 0 46 0.7490
Core 22 [29]: 1277.57 (12.68x) 1 1.47 0 98.5 0 46 0.7490
Core 23 [30]: 1167.25 (11.58x) 1 2.71 0 97.3 0 46 0.7490
Core 24 [31]: 1246.33 (12.37x) 1 0.805 0 99.2 0 46 0.7490
And here's the same output when the benchmarking tool is running:
Cpu speed from cpuinfo 2419.00Mhz
cpuinfo might be wrong if cpufreq is enabled. To guess correctly try estimating via tsc
Linux's inbuilt cpu_khz code emulated now
True Frequency (without accounting Turbo) 2418 MHz
CPU Multiplier 24x || Bus clock frequency (BCLK) 100.75 MHz
Socket [0] - [physical cores=24, logical cores=32, max online cores ever=24]
TURBO ENABLED on 24 Cores, Hyper Threading ON
Max Frequency without considering Turbo 2518.75 MHz (100.75 x [25])
Max TURBO Multiplier (if Enabled) with 1/2/3/4/5/6 Cores is 54x/54x/52x/52x/50x/50x
Real Current Frequency 2239.21 MHz [100.75 x 22.23] (Max of below)
Core [core-id] :Actual Freq (Mult.) C0% Halt(C1)% C3 % C6 % C7 % Temp VCore
Core 1 [0]: 2233.57 (22.17x) 74.6 31.1 0 0 0 60 0.7949
Core 2 [2]: 2235.35 (22.19x) 85.8 20.7 0 0 0 58 0.7866
Core 3 [4]: 2238.83 (22.22x) 90.8 16 0 0 0 61 0.7866
Core 4 [6]: 2237.20 (22.21x) 95.1 12 0 0 0 59 0.7866
Core 5 [8]: 2239.21 (22.23x) 97.7 9.55 0 0 0 61 0.7866
Core 6 [10]: 2238.87 (22.22x) 98.9 8.45 0 0 0 57 0.7866
Core 7 [12]: 2237.80 (22.21x) 97.7 9.58 0 0 0 59 0.7866
Core 8 [14]: 2238.25 (22.22x) 98.9 8.48 0 0 0 57 0.7866
Core 9 [16]: 1941.93 (19.27x) 100 19.7 0 0 0 60 0.7866
Core 10 [17]: 1941.94 (19.27x) 100 19.7 0 0 0 60 0.7866
Core 11 [18]: 1941.95 (19.27x) 100 19.7 0 0 0 60 0.7866
Core 12 [19]: 1941.86 (19.27x) 99.9 19.8 0 0 0 60 0.7866
Core 13 [20]: 1941.97 (19.28x) 100 19.7 0 0 0 59 0.7866
Core 14 [21]: 1941.98 (19.28x) 100 19.7 0 0 0 59 0.7866
Core 15 [22]: 1941.88 (19.27x) 100 19.8 0 0 0 59 0.7866
Core 16 [23]: 1942.01 (19.28x) 100 19.8 0 0 0 59 0.7866
Core 17 [24]: 1970.18 (19.56x) 99.9 18.6 0 0 0 61 0.7866
Core 18 [25]: 1970.18 (19.56x) 99.9 18.6 0 0 0 61 0.7866
Core 19 [26]: 1970.20 (19.56x) 99.9 18.6 0 0 0 61 0.7866
Core 20 [27]: 1970.18 (19.56x) 99.9 18.6 0 0 0 61 0.7866
Core 21 [28]: 1970.47 (19.56x) 99.3 18.1 0 1 0 58 0.7866
Core 22 [29]: 1970.34 (19.56x) 99.6 17.9 0 1 0 58 0.7866
Core 23 [30]: 1970.25 (19.56x) 99.8 17.7 0 1 0 58 0.7866
Core 24 [31]: 1970.17 (19.56x) 100 18.6 0 0 0 58 0.7866
One thing that intrigues me about is that those C1% readings have quite high values even though we're having ~100% on C0 on (almost) all cores. Why is that so?
My laptop is an HP Omen 17 ck2000nf, and the hardware specs/details are available here) -- but you can also ask me to run commands if you need :]
Anyways, thanks for your time reading all of this -- I wish you a great day! :]
Offline
could be kernel related, which kernel are you running? what error did you get while trying to modify MSR registers?
you can try to set power limit in the intel-rapl driver, try this while connected to AC power:
echo 157000000 | sudo tee /sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/constraint_0_power_limit_uw
echo 28000000 | sudo tee /sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/constraint_0_time_window_us
echo 157000000 | sudo tee /sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/constraint_1_power_limit_uw
echo 2440 | sudo tee /sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/constraint_1_time_window_us
echo 157000000 | sudo tee /sys/devices/virtual/powercap/intel-rapl-mmio/intel-rapl-mmio:0/constraint_0_power_limit_uw
echo 28000000 | sudo tee /sys/devices/virtual/powercap/intel-rapl-mmio/intel-rapl-mmio:0/constraint_0_time_window_us
echo 157000000 | sudo tee /sys/devices/virtual/powercap/intel-rapl-mmio/intel-rapl-mmio:0/constraint_1_power_limit_uw
echo 2440 | sudo tee /sys/devices/virtual/powercap/intel-rapl-mmio/intel-rapl-mmio:0/constraint_1_time_window_us
you can put the commands in a simple script for convenience... (the values will be reset on the next boot)
if this lets your cpu run at max power then, you probably want this
EDIT:
use at own caution, i'm not responsible for damaged hardware. the values will let your cpu run at max (supported) power under load and your cpu should get throttled at 95° Celsius.
Last edited by espritlibre (2023-11-15 20:40:01)
Offline
could be there kernel related, which kernel are you running?
I'm running on the latest Linux kernel:
Linux alexis-pc 6.6.1-arch1-1 #1 SMP PREEMPT_DYNAMIC Wed, 08 Nov 2023 16:05:38 +0000 x86_64 GNU/Linux
what error did you get while trying to modify MSR registers?
I used both intel-undervolt (after modifing the associated config file @ /etc/intel-undervolt.conf) and undervolt (as is), and here's what I get:
# undervolt -vvvv
vendor_id GenuineIntel is not supported
cpu 0 msr C0010061 path /dev/cpu/0/msr
Read msr register: Input/output error
Failed reading msr register. Is the msr module loaded?
# intel-undervolt apply
CPU (0): Values do not equal
GPU (1): -0.00 mV
CPU Cache (2): Values do not equal
System Agent (3): -0.00 mV
Analog I/O (4): -0.00 mV
you can try to set power limit in the intel-rapl driver, try this while connected to AC power:
This did not improve the performance, I still get the same score on silver.urih.com.
Here's also i7z under load with your settings applied:
Cpu speed from cpuinfo 2419.00Mhz
cpuinfo might be wrong if cpufreq is enabled. To guess correctly try estimating via tsc
Linux's inbuilt cpu_khz code emulated now
True Frequency (without accounting Turbo) 2419 MHz
CPU Multiplier 24x || Bus clock frequency (BCLK) 100.79 MHz
Socket [0] - [physical cores=24, logical cores=32, max online cores ever=24]
TURBO ENABLED on 24 Cores, Hyper Threading ON
Max Frequency without considering Turbo 2519.79 MHz (100.79 x [25])
Max TURBO Multiplier (if Enabled) with 1/2/3/4/5/6 Cores is 54x/54x/52x/52x/50x/50x
Real Current Frequency 2271.08 MHz [100.79 x 22.53] (Max of below)
Core [core-id] :Actual Freq (Mult.) C0% Halt(C1)% C3 % C6 % C7 % Temp VCore
Core 1 [0]: 2271.08 (22.53x) 74.9 29.7 0 0 0 59 0.7858
Core 2 [2]: 2270.10 (22.52x) 82.4 22.7 0 0 0 58 0.7858
Core 3 [4]: 2269.24 (22.51x) 87.4 18 0 0 0 59 0.7858
Core 4 [6]: 2268.81 (22.51x) 89.6 15 0 1 0 59 0.7858
Core 5 [8]: 2266.83 (22.49x) 90.7 14 0 1 0 61 0.7932
Core 6 [10]: 2267.36 (22.50x) 93.7 12.2 0 0 0 58 0.7932
Core 7 [12]: 2269.33 (22.52x) 94.4 11.5 0 0 0 58 0.7932
Core 8 [14]: 2270.27 (22.52x) 94.8 10.1 0 1 0 57 0.7932
Core 9 [16]: 1970.53 (19.55x) 99.9 18.7 0 0 0 60 0.7932
Core 10 [17]: 1970.63 (19.55x) 99.8 18.7 0 0 0 60 0.7932
Core 11 [18]: 1970.59 (19.55x) 99.9 18.6 0 0 0 60 0.7932
Core 12 [19]: 1970.61 (19.55x) 99.9 18.6 0 0 0 60 0.7932
Core 13 [20]: 1970.49 (19.55x) 99.7 18.8 0 0 0 59 0.7932
Core 14 [21]: 1970.44 (19.55x) 99.5 17.9 0 1 0 59 0.7932
Core 15 [22]: 1970.67 (19.55x) 99.9 18.6 0 0 0 59 0.7932
Core 16 [23]: 1970.57 (19.55x) 99.6 17.9 0 1 0 59 0.7932
Core 17 [24]: 1957.52 (19.42x) 99.7 18.3 0 1 0 60 0.7932
Core 18 [25]: 1957.52 (19.42x) 99.8 18.3 0 1 0 60 0.7932
Core 19 [26]: 1957.68 (19.42x) 99.8 18.2 0 1 0 60 0.7924
Core 20 [27]: 1957.52 (19.42x) 99.8 18.2 0 1 0 60 0.7924
Core 21 [28]: 1957.59 (19.42x) 99.1 19.8 0 0 0 58 0.7921
Core 22 [29]: 1957.39 (19.42x) 99.5 18.5 0 1 0 58 0.7921
Core 23 [30]: 1957.61 (19.42x) 99.7 19.3 0 0 0 58 0.7921
Core 24 [31]: 1957.49 (19.42x) 99.6 18.4 0 1 0 59 0.7921
I've also tried installing throttled & starting the service, but it seems that the program does not support my CPU:
# systemctl start throttled.service
# systemctl status throttled.service
nov. 15 21:42:06 alexis-pc systemd[1]: Started Stop Intel throttling.
nov. 15 21:42:06 alexis-pc throttled.py[11380]: [E] Your CPU model is not supported.
nov. 15 21:42:06 alexis-pc throttled.py[11380]: Please open a new issue (https://github.com/erpalma/throttled/issues) specifying:
nov. 15 21:42:06 alexis-pc throttled.py[11380]: - model name
nov. 15 21:42:06 alexis-pc throttled.py[11380]: - cpu family
nov. 15 21:42:06 alexis-pc throttled.py[11380]: - model
nov. 15 21:42:06 alexis-pc throttled.py[11380]: - stepping
nov. 15 21:42:06 alexis-pc throttled.py[11380]: from /proc/cpuinfo.
nov. 15 21:42:06 alexis-pc systemd[1]: throttled.service: Main process exited, code=exited, status=1/FAILURE
nov. 15 21:42:06 alexis-pc systemd[1]: throttled.service: Failed with result 'exit-code'.
Sorry for the rather long response, but hopefully this answers all of your interrogations. :]
Offline
whats the output of:
lsmod | grep msr
cat /sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/constraint_1_power_limit_uw
cat /sys/devices/virtual/powercap/intel-rapl-mmio/intel-rapl-mmio:0/constraint_0_power_limit_uw
Last edited by espritlibre (2023-11-15 20:49:48)
Offline
Here's the output of the commands that you've provided me:
# lsmod | grep msr
intel_rapl_msr 20480 0
intel_rapl_common 40960 2 intel_rapl_msr,processor_thermal_rapl
# cat /sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/constraint_1_power_limit_uw
157000000
# cat /sys/devices/virtual/powercap/intel-rapl-mmio/intel-rapl-mmio:0/constraint_0_power_limit_uw
157000000
I believe you're interrogating how much Watts my CPU can pull from power, right?
Last edited by mysterious.fox (2023-11-15 20:55:55)
Offline
sudo modprobe msr
Offline
This doesn't seem to have changed anything -- I believe "msr" is just some kind of alias to the actual driver that is determined by the hardware that you have.
# modprobe msr
# lsmod | grep msr
intel_rapl_msr 20480 0
intel_rapl_common 40960 2 intel_rapl_msr,processor_thermal_rapl
There's also nothing really interesting in my dmesg log, although I'm still posting it here if that can help.
Last edited by mysterious.fox (2023-11-15 21:03:08)
Offline
I believe you're interrogating how much Watts my CPU can pull from power, right?
yes, the value "157000000" are 157 watts which your cpu can pull max. on all my laptops the default kernel values have been too low and throttled.
This doesn't seem to have changed anything -- I believe "msr" is just some kind of alias to the actual driver that is determined by the hardware that you have.
it's not an alias, it's the kernel modules name. it should be loaded by default actually, i have no clue why it's not loading for you. the msr module is built-in arch kernel. tried rebooting?
i'm out of ideas otherwise.
EDIT:
have you undone everything that didn't work for you?
Last edited by espritlibre (2023-11-15 21:17:51)
Offline
it's not an alias, it's the kernel modules name. it should be loaded by default actually, i have no clue why it's not loading for you. the msr module is built-in arch kernel. tried rebooting?
Alright, learned something today! :]
I did reboot, but again that specific module is not loaded, and doesn't want to load apparently..
have you undone everything that didn't work for you?
For each method I've tried, I made sure to uninstall anything that was necessary for the previous method to be tested, to prevent conflicts as noted in the wiki.
Offline
in your output of the undervolt tool complained about msr not being loaded. i haven't used this tool myself so i can't say anything about it... but i can say for sure undervolting is locked on recent intel cpus and theres no easy way unlocking it. so the tool won't work for you anyway.
i'd make sure that you cpu isn't throttled via firmware, maybe there's even a setting for it.
good luck
Offline
i'd make sure that you cpu isn't throttled via firmware, maybe there's even a setting for it.
I've looked at all of the UEFI options that my laptop provides me, even "hidden" advanced ones but there's no real option that would control that.
Thanks for your time digging through the problem, I appreciate it!
Offline
I've been browsing through the kernel mailing list and found this article which describes the exact same issue as reported, here's the link: https://bugzilla.kernel.org/show_bug.cgi?id=217976
I will try out the proposed workarounds this evening. If there's one that works for me, I'll post it here so that we avoid the dead-link doom :]
Offline
Hi there, I'm the writer of https://bugzilla.kernel.org/show_bug.cgi?id=217976.
If you are using the intel p_states driver, and you should, you will not see this file:
/sys/devices/system/cpu/cpufreq/policy0/bios_limit
If, however you disable p_states, just for testing, and use cpufreq, then this file appears, and it might contain the limit your kernel listens to when setting CPU allowed frequencies.
So, use p_states, it's made by intel and much more responsive and smart than cpufreq.
Don't try to switch off ACPI, the rest of your laptop heavily depends on it.
I have not tried the msr stuff, so nothing in that direction has been modified.
```
[evert@Evert ~]$ lsmod | grep msr
intel_rapl_msr 20480 0
intel_rapl_common 40960 2 intel_rapl_msr,processor_thermal_rapl
[evert@Evert ~]$ cat /sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/constraint_1_power_limit_uw
162000000
[evert@Evert ~]$ cat /sys/devices/virtual/powercap/intel-rapl-mmio/intel-rapl-mmio:0/constraint_0_power_limit_uw
135000000
```
Where are these values from and how are they set? ( I guess I have some googling to do now, thanks )
Following this link:
https://www.thinkwiki.org/wiki/Problem_ … cy_scaling
I discovered that you can turn off throttling, like so:
```
echo 1 | sudo tee /sys/module/processor/parameters/ignore_ppc
```
Then, I can set the proper frequency ranges for my CPU with cpupower:
```
sudo cpupower -c 0-15 frequency-set -d 2.2GHz -u 5.4GHz
sudo cpupower -c 16-31 frequency-set -d 1.6GHz -u 3.9GHz
sudo cpupower -c all frequency-set -g performance
sudo cpupower -c all set --perf-bias 0
```
With those set, I was able to outrun Windows on the same hardware in Geekbench. However, CPU temps would flash from 60 to 100 in one sample and make me quite nervous. Which is why I recommend running p_states, as it is much quicker at throttling than cpufreq.
Anyways, I typically back off a little on the CPU frequencies, and disable turbo, so these are the values I run at now, which gives me about 80 percent of the performance that I see in windows, and the laptop runs more quietly and temps are not so wild:
```
echo 1 | tee /sys/module/processor/parameters/ignore_ppc
cpupower -c 0-15 frequency-set -d 0.8GHz -u 4.8GHz
cpupower -c 16-31 frequency-set -d 0.8GHz -u 3.9GHz
cpupower -c all frequency-set -g powersave
cpupower -c all set --perf-bias 15
```
Offline
Using s-gui (Amazing software, btw) I can see that this laptop can briefly draw 215W, and can coast at about 200W indefinitely when stress testing the whole CPU. I can also run just one thread at 5.2GHz indefinitely, but then it does not use that much power.
However, from the intel-rapl stuff above it seems that the values are set way below what this laptop needs for full performance.
So, how are these values set, who determines what those values should be?
Last edited by evorster (2023-11-17 05:47:17)
Offline
Digging a little further, raplcap from AUR is shining a little light on this subject.
It is currently telling me that my CPU is not supported, but I have submitted an issue with the project on Github. Let's see where this leads us.
Offline
I discovered that you can turn off throttling, like so:
```
echo 1 | sudo tee /sys/module/processor/parameters/ignore_ppc
```Then, I can set the proper frequency ranges for my CPU with cpupower:
```
sudo cpupower -c 0-15 frequency-set -d 2.2GHz -u 5.4GHz
sudo cpupower -c 16-31 frequency-set -d 1.6GHz -u 3.9GHz
sudo cpupower -c all frequency-set -g performance
sudo cpupower -c all set --perf-bias 0
```With those set, I was able to outrun Windows on the same hardware in Geekbench. However, CPU temps would flash from 60 to 100 in one sample and make me quite nervous. Which is why I recommend running p_states, as it is much quicker at throttling than cpufreq.
Anyways, I typically back off a little on the CPU frequencies, and disable turbo, so these are the values I run at now, which gives me about 80 percent of the performance that I see in windows, and the laptop runs more quietly and temps are not so wild:
```
echo 1 | tee /sys/module/processor/parameters/ignore_ppc
cpupower -c 0-15 frequency-set -d 0.8GHz -u 4.8GHz
cpupower -c 16-31 frequency-set -d 0.8GHz -u 3.9GHz
cpupower -c all frequency-set -g powersave
cpupower -c all set --perf-bias 15
On my side, executing those commands do not alter the performance of my processor. I am starting to suspect the "Battery Optimizer" option that's enabled in my UEFI firmware setup utility. I'll disable that and see if this makes a difference.
Using rapl-info, it seems that I have overall very different readings:
# rapl-info
Zone 0
name: package-0
enabled: 1
max_energy_range_uj: 262143328850
energy_uj: 4187241050
Constraint 0
name: long_term
power_limit_uw: 130000000
time_window_us: 55967744
max_power_uw: 55000000
Constraint 1
name: short_term
power_limit_uw: 130000000
time_window_us: 2440
max_power_uw: 0
Constraint 2
name: peak_power
power_limit_uw: 200000000
max_power_uw: 0
Subzone 0
name: core
enabled: 0
max_energy_range_uj: 262143328850
energy_uj: 1169645443
Constraint 0
name: long_term
power_limit_uw: 0
time_window_us: 976
Subzone 1
name: uncore
enabled: 0
max_energy_range_uj: 262143328850
energy_uj: 101058029
Constraint 0
name: long_term
power_limit_uw: 0
time_window_us: 976
The ACPI tables tied to the UEFI firmware probably have an influence on those values though.
Using s-gui (Amazing software, btw) I can see that this laptop can briefly draw 215W, and can coast at about 200W indefinitely when stress testing the whole CPU
I was unable to find the software on AUR or Google. Do you have a specific package name or link that I could access to test it out on my side?
Digging a little further, raplcap from AUR is shining a little light on this subject.
It is currently telling me that my CPU is not supported, but I have submitted an issue with the project on Github. Let's see where this leads us.
Nice -- if you can provide a link to the issue that you've opened, that'd be perfect!
Offline
The source of my slow performance seems to be that the kernel believes that my CPU can draw a maximum of <50W. Under load, this is what I get with turbostat:
# turbostat --quiet --interval 1 --cpu 0-31 --show "PkgWatt","Busy%","Core","CoreTmp"
Core Busy% CoreTmp PkgWatt
- 97.22 58 48.24
0 70.10 58 47.80
0 97.42
4 84.38 54
4 98.21
8 92.53 56
8 98.65
12 95.34 54
12 98.42
16 95.77 58
16 98.97
20 98.50 53
20 98.67
24 97.70 56
24 97.35
28 95.34 53
28 98.93
32 99.72 55
33 99.71 55
34 99.74 55
35 99.72 55
36 99.70 57
37 99.74 57
38 99.73 57
39 99.55 57
40 99.76 55
41 99.74 55
42 99.75 55
43 99.74 55
44 99.52 55
45 99.72 55
46 99.54 55
47 99.72 55
I already tried to alter PL1 (power limit 1) and PL2 (power limit 2) criterias through setPL.sh to set them to the correct values (both at least at 137W), but to no avail -- both with intel_pstate=disable and without it.
I'll continue to search in that direction and see if I can find anything good.
Offline
Quick update, it seems that the Omen Gaming Center program on Windows controls how much TDP my CPU can draw. It bypasses Intel's XTU utility, and in fact makes it pretty much unusable when OGC is installed.
This is really problematic because you thus have to run the Omen Gaming Center program to get proper CPU performance. This is really bad.
I'm still trying to find a solution to this, because I don't want to give up running Windows 11 anytime soon on my laptop.
-- EDIT: I was able ONCE to reach 100W under load. I randomly fiddled with some sysfs files (min_perf_pct, max_perf_pct) regarding intel_pstate, so I have no idea how to reproduce it agian. Will keep this updated.
Last edited by mysterious.fox (2023-11-19 22:36:35)
Offline
Another update: I was able to patch hp-wmi to support my board -- there are also other fan/power related issues, follow up is available here: https://bugzilla.kernel.org/show_bug.cgi?id=218188
Offline
I have an Asus ROG Strix Scar 16 with a i9 13980HX. Gets 98,693 on silver.urih.com. Under load turbostat shows CPU draw up to 175 watts on my machine. Do you have the machine plugged in to AC outlet via the power brick that came with the laptop?
I am running Kernel 6.5.0. What version of thermald are you using? I'm on 2.5.2. Notice in thermald notes that 2.5.2 is the minimum you should use with raptor lake to be safe: https://github.com/intel/thermal_daemon … README.txt
Offline