Blame

f70d3e deseven 2025-06-12 13:30:10
1
# C-States
2
3
### Problem
4
When running Linux, especially older 6.x kernels, you might find that the CPU doesn't use C-states below C1, constantly running on higher frequences and eating power.
5
6
### Solution
7
For some reason I couldn't make it work with either `acpi_cpufreq` or `amd_pstate`, but [CoreFreq](https://github.com/cyring/CoreFreq) turned out to be a perfect solution once again.
8
9
Assuming that you already have it installed and working (otherwise check [[this guide|Guides/Hardware-Monitoring]] first):
10
11
```bash
12
# /etc/kernel/cmdline
13
... initcall_blacklist=acpi_cpufreq_init nmi_watchdog=0 idle=halt amd_pstate=disable tsc=unstable nowatchdog
14
```
15
16
```bash
17
# /etc/modprobe.d/blacklist.conf
18
k10temp
19
acpi_cpufreq
20
```
21
22
```bash
23
# /etc/modprobe.d/corefreqk.conf
24
options corefreqk Register_ClockSource=1 Register_CPU_Freq=1 Register_Governor=1 Register_CPU_Idle=1 Override_SubCstate="1,1,1,1,1,1,0,0"
25
```
26
27
Don't forget to do `update-initramfs -u -k all` after changing kernel's cmdline.