Command: daemon

The daemon mode runs intel-undervolt as a persistent background process. This is necessary for advanced features and for ensuring your settings are consistently applied.

Synopsis

sudo intel-undervolt daemon

Description

While intel-undervolt apply is a one-time operation, some systems may have their MSR settings reset by the BIOS or the Embedded Controller (EC) during operation. The daemon mode counteracts this by periodically re-applying your settings.

Its primary functions are:

  1. Settings Persistence: Periodically re-applies undervolt, power, and tjoffset settings as configured in /etc/intel-undervolt.conf under the daemon directive.
  2. Dynamic HWP Switching: Continuously monitors system load or power usage to dynamically switch the HWP Energy-Performance Preference hint, as configured with the hwphint directive.

This mode is intended to be managed by a system service, such as intel-undervolt-loop.service for systemd.

Configuration

The daemon's behavior is controlled by three directives in /etc/intel-undervolt.conf:

  • interval: Sets how often, in milliseconds, the daemon wakes up to perform its checks and actions.
  • hwphint: Defines the rules for dynamic HWP hint switching.
  • daemon: Specifies which settings (undervolt, power, tjoffset) should be re-applied at each interval.

Reloading Configuration

The daemon can reload its configuration without being restarted. This is done by sending the SIGUSR1 signal to the process.

# Find the Process ID (PID) of intel-undervolt
pidof intel-undervolt

# Send the signal (replace PID with the actual process ID)
sudo kill -USR1 <PID>

The systemd intel-undervolt-loop.service simplifies this:

sudo systemctl reload intel-undervolt-loop.service

Upon receiving the signal, the daemon will print a "Reloading configuration" message to its output (viewable via journalctl) and start using the new settings from /etc/intel-undervolt.conf.