Skip to content
On this page

๐Ÿ”‹ Synchronizing with Power Profiles โ€‹

You can synchronize CoolerControl Modes with your system's power profile using tuned (and, on some distros, tuned-ppd). The idea is simple: when the power profile switches (e.g., Performance/Balanced/Power Saver), call the cctv CLI to activate the matching CoolerControl Mode (e.g., Performance/ Balanced/Quiet).

Prerequisites โ€‹

  • Install CoolerControl and cctv.
  • Install tuned (and tuned-ppd if your distro connects power-profiles-daemon to tuned events). Fedora enables this by default; on openSUSE or Arch-based systems you may need to install/enable it explicitly.

You can hook into the active tuned profile and call cctv whenever tuned starts the profile (or when the profile changes). Below is a script change example you can customize:

bash
#!/usr/bin/env bash

. /usr/lib/tuned/functions

start() {
    scxctl switch --mode=powersave || true

    # Switch CoolerControl Mode to match the current power profile.
    # Example mapping: Power Saver -> Quiet
    cctv --activate-mode Quiet || true
    return 0
}

stop() {
    return 0
}

process $@

Notes โ€‹

  • If you use powerprofilesctl, you can also write a single script that detects the current profile and maps it to a Mode (e.g., via a case statement) rather than creating separate hooks per profile.

For more background, see the SUSE tuned hooks documentation:
https://documentation.suse.com/sles/15-SP6/html/SLES-all/cha-tuning-tuned.html#sec-tuning-tuned-profile-hooks

More details are available in this GitLab Issue.

Released under the GPLv3+ License.