Configuration Guide

The intel-undervolt tool is configured via a single file located at /etc/intel-undervolt.conf. This page details all the available configuration directives.

The file uses a simple command value1 value2 ... syntax.

enable - Elogind Triggers

This option controls whether the elogind sleep script is active.

  • Syntax: enable [yes/no]
  • Description: If set to yes, the elogind script will run intel-undervolt apply --trigger when the system resumes from sleep. If set to no, the script will do nothing. This is only relevant if you have enabled elogind support during installation.
  • Default: no
enable yes

undervolt - CPU Voltage Offset

Applies a negative voltage offset to a specific CPU voltage plane.

  • Syntax: undervolt index 'display_name' value
  • Parameters:
    • index: An integer representing the voltage plane (0-4 are typically used).
    • 'display_name': A descriptive name in quotes (used for readability, not by the tool).
    • value: The undervolt value in millivolts (mV). Should be zero or negative.
  • Common Indexes:
    • 0: CPU Core
    • 1: Intel GPU
    • 2: CPU Cache
    • 3: System Agent
    • 4: Analog I/O
# Undervolt CPU Cache by 50.5 mV
undervolt 2 'CPU Cache' -50.50

power - Power Limits

Alters the long-term (PL1) and short-term (PL2) power limits for a specific power domain.

  • Syntax: power domain short_term_value long_term_value
  • Parameters:
    • domain: The power domain. Currently, only package is supported.
    • short_term_value / long_term_value: The power limit value with an optional time window and enabled/disabled state.
  • Value Format: POWER[/TIME][:enabled|:disabled]
    • POWER: Power limit in Watts (integer).
    • TIME: (Optional) Time window in seconds (float). If omitted, the hardware default is used.
    • :enabled / :disabled: (Optional) Explicitly enable or disable the limit.
# Set PL2 to 45W (default time) and PL1 to 35W (default time)
power package 45 35

# Set PL2 to 45W for 2ms and PL1 to 35W for 28 seconds
power package 45/0.002 35/28

# Disable PL2 and enable PL1
power package 45:disabled 35:enabled

tjoffset - Temperature Offset

Alters the critical temperature offset (TjMax). The CPU will begin thermal throttling at TjMax + offset.

  • Syntax: tjoffset value
  • Description: The value is subtracted from the CPU's default max temperature. For a CPU with a TjMax of 100°C, tjoffset -15 will set the new throttle point to 85°C.
  • Parameters:
    • value: A negative integer representing the offset in degrees Celsius.
# Set the thermal throttle point 20°C lower than the default
tjoffset -20

hwphint - HWP Preference Switch

Configures dynamic switching of the Energy vs. Performance Preference hint for Hardware P-States (HWP). This feature is only active when running in daemon mode.

  • Syntax: hwphint mode algorithm load_hint normal_hint
  • Modes:
    • switch: The default mode. The tool will switch between load_hint and normal_hint based on the algorithm's result and the current hint.
    • force: The tool will always enforce either load_hint or normal_hint based on the algorithm, ignoring any externally set hint.
  • Hints: Common values include performance, balance_performance, default, balance_power, power.
  • Algorithms:
    1. load algorithm: Triggers based on CPU utilization.
      • Format: load:capture:threshold
      • capture: single (highest single core usage) or multi (total usage of all cores).
      • threshold: A float from 0.0 to 1.0 representing the usage percentage.
    2. power algorithm: Triggers based on RAPL power consumption.
      • Format: power:domain:op:value[:logic:domain:op:value...]
      • domain: A RAPL power domain (e.g., core, uncore, package). Check with intel-undervolt measure.
      • op: gt (greater than) or lt (less than).
      • value: Power in Watts (float).
      • logic: (Optional) and or or to chain multiple conditions.
# Force 'performance' hint if single-core CPU usage > 80%, else 'balance_performance'
hwphint force load:single:0.8 performance balance_performance

# Switch to 'performance' if core power > 8W AND uncore power < 3W, else 'balance_performance'
hwphint switch power:core:gt:8:and:uncore:lt:3 performance balance_performance

interval - Daemon Update Interval

Sets the update interval for the daemon mode.

  • Syntax: interval milliseconds
  • Description: Specifies how often the daemon should check conditions (for hwphint) and re-apply settings (for configured daemon actions).
  • Parameters:
    • milliseconds: The interval in milliseconds (integer).
# Run daemon checks every 5 seconds
interval 5000

daemon - Daemon Actions

Specifies which settings the daemon should periodically re-apply.

  • Syntax: daemon action[:option]
  • Actions:
    • undervolt: Re-apply undervolt settings.
    • power: Re-apply power limit settings.
    • tjoffset: Re-apply temperature offset settings.
  • Options:
    • once: If specified, the action is only performed on the daemon's first run and not on subsequent intervals.
# On daemon start, apply undervolt settings once.
daemon undervolt:once

# Every interval, re-apply power and tjoffset settings.
daemon power
daemon tjoffset