PowerTOP Release Notes

May 11, 2026 · View on GitHub

v2.16-rc3

User-visible enhancements and changes

New tunables

The following sysfs tunables have been added (sourced from the clr-power-tweaks curated list):

Tunablesysfs pathSuggested value
VM dirty ratio/proc/sys/vm/dirty_ratio50
Transparent hugepage scan sleep/sys/kernel/mm/transparent_hugepage/khugepaged/scan_sleep_millisecs30000
Framebuffer cursor blink/sys/devices/virtual/graphics/fbcon/cursor_blink0
KSM sleep interval/sys/kernel/mm/ksm/sleep_millisecs4000
KSM batch size/sys/kernel/mm/ksm/pages_to_scan1000
Autogroup scheduling/proc/sys/kernel/sched_autogroup_enabled0
Intel P-state minimum performance/sys/devices/system/cpu/intel_pstate/min_perf_pct50
Network default qdisc/proc/sys/net/core/default_qdiscfq
Intel ITMT (Turbo Boost Max 3.0)/proc/sys/kernel/sched_itmt_enabled1
Intel energy performance bias/sys/devices/system/cpu/cpu*/power/energy_perf_biasbalance-performance
Intel energy performance preference/sys/devices/system/cpu/cpufreq/policy*/energy_performance_preferencebalance_performance
Intel Xe GPU power profile/sys/class/drm/card*/device/tile*/gt*/freq0/power_profilepower_saving
Enable Audio codec power management/sys/module/snd_hda_intel/parameters/power_save1

Wildcard sysfs paths (e.g. cpu*) are now handled natively — PowerTOP applies the tunable to all matching sysfs files and reports Good only when all of them are already at the suggested value.

Display / UI

  • GPU tab (Intel Xe): progress bar scale now always shows the true maximum value right-aligned, suppressing any overlapping tick label
  • GPU tab: frequency bars now start at 0 instead of the hardware minimum, giving a correct visual baseline
  • GPU tab: replaced > / < policy markers with a four-segment colour bar (bold green = floor, green = active, yellow = headroom, dim = beyond policy)
  • GPU tab: C0/C6 idle bars merged into a single two-colour bar (red = busy/C0, bright green = idle/C6) since C0 is derived from C6
  • GPU tab: active xe power profile displayed on the Power Overview section
  • Show "Preparing to take measurements" message during the initial one-second measurement so the screen is no longer blank at startup
  • Vertical scrollbar added to tab content panes
  • Scroll-down capped at content extent to prevent over-scrolling
  • Terminal resize (KEY_RESIZE / SIGWINCH) now handled correctly while PowerTOP is running
  • Notification system redesigned to use the status bar instead of overlaying content
  • Tab bar and bottom line now correctly fill the full terminal width

Reports

  • HTML and CSV output: fixed escaping and i18n issues
  • Markdown report output format added (--output=file.md)

Correctness / stability fixes

  • Fixed three memory leaks found by Valgrind (power meters, tuning window, wakeup tab window)
  • Fixed double-free in devfreq cleanup
  • Fixed sysfs residency overflow in Intel GPU reporting
  • Fixed RAPL division-by-zero and improved error handling
  • Fixed Bluetooth byte-counter logic and removed deprecated tooling
  • Added near-zero division guards for AHCI, ALSA, and RAPL power calculations
  • Fixed --batch mode numeric safety and i18n issues
  • Fixed halfdelay timeout clamping to valid ncurses range

Translations

  • 17 previously missing source files added to translation coverage
  • All .po files regenerated; format-specifier changes (%s{}) applied mechanically across all 11 languages

New command-line options

  • --once: take a single measurement and exit
  • --auto-tune-dump: run auto-tune and dump results without interactive display

Thanks

We thank the following external contributors who submitted patches for this release:

  • Anthony Ruhier
  • George Burgess IV
  • Jaroslav Škarvada
  • Johannes Truschnigg
  • Pascal Nasahl
  • Renat Sabitov
  • rottenpants466
  • Simon Howard
  • Steven Rostedt
  • Zentaro Kavanagh