2.4 KiB
Power Management
veilor-os ships a 3-mode power profile system backed by tuned.
Profiles
| Profile | Governor | EPP | Boost | ASUS TTP | Use |
|---|---|---|---|---|---|
veilor-powersave |
powersave | power | off | 2 (silent) | max battery |
veilor-balanced |
powersave | balance_performance | on | 1 (mid) | on the go |
veilor-performance |
performance | performance | on | 0 (full) | plugged in |
ASUS TTP (throttle_thermal_policy) only applies to ASUS laptops with
asus-nb-wmi. On other hardware those writes are silently skipped.
Switching
veilor-power save # max battery (aliases: powersave, s)
veilor-power mid # balanced (aliases: balanced, b)
veilor-power perf # performance (aliases: performance, p)
veilor-power # status: profile, governor, EPP, boost, freq
veilor-power calls tuned-adm via a NOPASSWD sudoers drop-in
locked to veilor-* profiles only (/etc/sudoers.d/veilor-power).
Auto-switch on AC plug/unplug
/etc/udev/rules.d/90-veilor-ac-switch.rules:
SUBSYSTEM=="power_supply", ATTR{online}=="0", RUN+="/usr/bin/tuned-adm profile veilor-powersave"
SUBSYSTEM=="power_supply", ATTR{online}=="1", RUN+="/usr/bin/tuned-adm profile veilor-performance"
Override anytime with veilor-power mid.
Battery longevity
/etc/udev/rules.d/91-veilor-battery-threshold.rules caps charge at
80% on supported hardware. Adjust by editing the rule or:
echo 100 | sudo tee /sys/class/power_supply/BAT0/charge_control_end_threshold
What each profile actually does
/etc/tuned/profiles/veilor-<profile>/script.sh writes:
/sys/devices/system/cpu/cpufreq/boost/sys/devices/platform/asus-nb-wmi/throttle_thermal_policy(ASUS only)/sys/bus/pci/devices/*/power/control(NVMe autosuspend)/sys/class/drm/card*/device/power_dpm_force_performance_level(AMD iGPU)usb_autosuspendenable/disable
All writes are guarded with [ -w ... ] so non-applicable hardware
silently no-ops.
Persistence
tuned.service starts at boot and loads the last active profile from
/var/lib/tuned/save.conf. No GRUB params needed.
Caveat: platform_profile vs throttle_thermal_policy
On some ASUS laptops the platform_profile sysfs key maps to TTP in
non-obvious order (e.g. quiet→TTP2, balanced→TTP0,
performance→TTP1). veilor profiles write TTP directly and never
touch platform_profile to avoid the second-write override race.