Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save nonkronk/59f96e7e941d30735c2e101cfba4f1fe to your computer and use it in GitHub Desktop.
Save nonkronk/59f96e7e941d30735c2e101cfba4f1fe to your computer and use it in GitHub Desktop.
Enable C6 Support for AMD Ryzen 5950x on Unraid with CoreFreq

Enable C6 Support for AMD Ryzen 5950x on Unraid with CoreFreq

Requirements

  • Install CoreFreq via remote url plugin: unraid-corefreq

  • Go to settings > CoreFreq and run the pre test. *proceed to the next steps if it's successful

  • Create a file /boot/config/modprobe.d/corefreqk.conf with the following content:

    options corefreqk Register_ClockSource=1 Register_CPU_Freq=1 Register_Governor=1 Register_CPU_Idle=1 PkgCStateLimit=6
    
  • Go to boot devices and add following boot argument:

    amd_pstate.shared_mem=0 amd_pstate=disable nmi_watchdog=0 modprobe.blacklist=k10temp,acpi_cpufreq,rapl,intel_rapl_msr,intel_rapl_common,sp5100_tco,wmi,eeepc_wmi,asus_wmi idle=halt tsc=unstable nowatchdog
    
  • Reboot and go to BIOS and set the following settings: (ASRock B450 Pro4 as reference)

    Global C-state Control: Enabled
    Power Supply Idle Control: Low Current Idle
    CPPC: Enabled
    CPPC Preferred Cores: Enabled
    
  • run corefreq-cli and go to settings and then make sure CPU-IDLE, CPU-FREQ, GOVERNOR and CLOCKSOURCE are enabled.

  • Go to kernel data (k) and set Idle Limit to C6

  • Optional: Set the CPU governor to powersave with this command:

    # Powersave all cores
    echo "powersave" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
    # Powersave specific cores
    echo "powersave" | sudo tee /sys/devices/system/cpu/cpu{0..7}/cpufreq/scaling_governor; echo "powersave" | sudo tee /sys/devices/system/cpu/cpu{16..23}/cpufreq/scaling_governor
    # Performance specific cores
    echo "performance" | sudo tee /sys/devices/system/cpu/cpu{8..15}/cpufreq/scaling_governor; echo "performance" | sudo tee /sys/devices/system/cpu/cpu{24..31}/cpufreq/scaling_governor
  • CTRL+Z to exit and keep it running

Power Consumption

AMD Ryzen 9 5950x with C6 enabled consumes around 20-30W at idle running HASS OS VM and bunch of containers.

https://i.imgur.com/qsZAEjZ.jpg

Enable C6 Support for AMD Ryzen 5950x on Unraid with CoreFreq

Requirements

  • Install CoreFreq via remote url plugin: unraid-corefreq

  • Go to settings > CoreFreq and run the pre test. *proceed to the next steps if it's successful

  • Create a file /boot/config/modprobe.d/corefreqk.conf with the following content:

    options corefreqk Register_ClockSource=1 Register_CPU_Freq=1 Register_Governor=1 Register_CPU_Idle=1 PkgCStateLimit=6
    
  • Go to boot devices and add following boot argument:

    amd_pstate.shared_mem=0 amd_pstate=disable nmi_watchdog=0 modprobe.blacklist=k10temp,acpi_cpufreq,rapl,intel_rapl_msr,intel_rapl_common,sp5100_tco,wmi,eeepc_wmi,asus_wmi idle=halt tsc=unstable nowatchdog
    
  • Reboot and go to BIOS and set the following settings: (ASRock B450 Pro4 as reference)

    Global C-state Control: Enabled
    Power Supply Idle Control: Low Current Idle
    CPPC: Enabled
    CPPC Preferred Cores: Enabled
    
  • run corefreq-cli and go to settings and then make sure CPU-IDLE, CPU-FREQ, GOVERNOR and CLOCKSOURCE are enabled.

  • Go to kernel data (k) and set Idle Limit to C6

  • Optional: Set the CPU governor to powersave with this command:

    # Powersave all cores
    echo "powersave" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
    # Powersave specific cores
    echo "powersave" | sudo tee /sys/devices/system/cpu/cpu{0..7}/cpufreq/scaling_governor; echo "powersave" | sudo tee /sys/devices/system/cpu/cpu{16..23}/cpufreq/scaling_governor
    # Performance specific cores
    echo "performance" | sudo tee /sys/devices/system/cpu/cpu{8..15}/cpufreq/scaling_governor; echo "performance" | sudo tee /sys/devices/system/cpu/cpu{24..31}/cpufreq/scaling_governor

Power Consumption

AMD Ryzen 9 5950x with C6 enabled consumes around 20-30W at idle running HASS OS VM and bunch of containers.

https://i.imgur.com/qsZAEjZ.jpg

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment