История изменений
Исправление Jeronimo, (текущая версия) :
#!/bin/sh
on_ac() {
sleep 3
#pcie_aspm
tee /sys/module/pcie_aspm/parameters/policy <<< performance
#cpu
# tee /sys/devices/system/cpu/smt/control <<< off
# tee /sys/devices/system/cpu/cpufreq/boost <<< 1
tee /sys/devices/system/cpu/cpufreq/policy*/scaling_governor <<< performance
tee /sys/devices/system/cpu/cpufreq/policy*/energy_performance_preference <<< performance
tee /sys/devices/system/cpu/cpufreq/policy*/scaling_min_freq <<< 600000
# tee /sys/devices/system/cpu/cpufreq/policy*/scaling_max_freq <<< 4400000
#disk_powersave
# tee /sys/module/ahci/parameters/mobile_lpm_policy <<< -1
#Fn_lock_HUAWEI
# tee /sys/devices/platform/huawei-wmi/fn_lock_state <<< 0
#i2c_powersave
# tee /sys/bus/i2c/devices/*/device/power/control <<< auto
#usb_powersave
tee /sys/bus/usb/devices/*/power/control <<< auto
#pci_powersave
tee /sys/bus/pci/devices/*/power/control <<< auto
#wakeups
# tee /sys/class/net/*/device/power/wakeup <<< disabled
# tee /sys/bus/*/devices/*/power/wakeup <<< disabled
tee /sys/module/snd_hda_intel/parameters/power_save <<< 0
# tee /sys/class/rtc/rtc0/device/power/wakeup <<< enabled
#brightness
# tee /sys/class/drm/card1-eDP-1/intel_backlight/brightness <<< 18500
# tee /sys/class/drm/card1-eDP-1/amdgpu/panel_power_savings <<< 0
#RYZEN_power
# ryzenadj -a 38000 -b 38000 -c 35000 -g 58000 -j 15000 -k 96000 -l 20000 --apu-skin-temp=95 -f 95 --max-performance
# ryzenadj --max-performance
# amdctl -p0 -v56 -m
# amdctl -p1 -v100 -m
# amdctl -p2 -v108 -m
x86_energy_perf_policy -epb 0
tee /sys/class/powercap/intel-rapl-mmio/intel-rapl-mmio:0/constraint_0_power_limit_uw <<< 40000000
tee /sys/class/powercap/intel-rapl-mmio/intel-rapl-mmio:0/constraint_1_power_limit_uw <<< 51000000
tee /sys/class/powercap/intel-rapl-mmio/intel-rapl-mmio:0/constraint_2_power_limit_uw <<< 100000000
tee /sys/class/powercap/intel-rapl:0/constraint_0_power_limit_uw <<< 40000000
tee /sys/class/powercap/intel-rapl:0/constraint_1_power_limit_uw <<< 51000000
tee /sys/class/powercap/intel-rapl:0/constraint_2_power_limit_uw <<< 100000000
tee /sys/class/drm/card1/gt_max_freq_mhz <<< 1300
#Video
# tee /sys/class/drm/card*/device/power_dpm_force_performance_level <<< auto
}
on_battery() {
sleep 3
#pcie_aspm
tee /sys/module/pcie_aspm/parameters/policy <<< powersupersave
#cpu
# tee /sys/devices/system/cpu/smt/control <<< off
# tee /sys/devices/system/cpu/cpufreq/boost <<< 0
tee /sys/devices/system/cpu/cpufreq/policy*/scaling_governor <<< powersave
tee /sys/devices/system/cpu/cpufreq/policy*/energy_performance_preference <<< power
# cpupower frequency-set -d 400MHz
tee /sys/devices/system/cpu/cpufreq/policy*/scaling_min_freq <<< 400000
# tee /sys/devices/system/cpu/cpufreq/policy*/scaling_max_freq <<< 1900000
#disk_powersave
# tee /sys/module/ahci/parameters/mobile_lpm_policy <<< 3
#Fn_lock_HUAWEI
# tee /sys/devices/platform/huawei-wmi/fn_lock_state <<< 0
#i2c_powersave
# tee /sys/bus/i2c/devices/*/device/power/control <<< auto
#usb_powersave
tee /sys/bus/usb/devices/*/power/control <<< auto
#pci_powersave
tee /sys/bus/pci/devices/*/power/control <<< auto
#wakeups
# tee /sys/class/net/*/device/power/wakeup <<< disabled
# tee /sys/bus/*/devices/*/power/wakeup <<< disabled
# tee /sys/class/rtc/rtc0/device/power/wakeup <<< enabled
tee /sys/module/snd_hda_intel/parameters/power_save <<< 1
#brightness
# tee /sys/class/drm/card1-eDP-1/intel_backlight/brightness <<< 1600
# tee /sys/class/drm/card1-eDP-1/amdgpu/panel_power_savings <<< 4
#RYZEN_power
# ryzenadj -a 8000 -b 8000 -c 4000 -g 12000 -j 3000 -k 15000 -l 5000 --apu-skin-temp=36 -f 70 --power-saving
# ryzenadj --power-saving
# amdctl -p0 -v88 -m
# amdctl -p1 -v112 -m
# amdctl -p2 -v124 -m
x86_energy_perf_policy -epb 15
tee /sys/class/powercap/intel-rapl-mmio/intel-rapl-mmio:0/constraint_0_power_limit_uw <<< 10000000
tee /sys/class/powercap/intel-rapl-mmio/intel-rapl-mmio:0/constraint_1_power_limit_uw <<< 12000000
tee /sys/class/powercap/intel-rapl-mmio/intel-rapl-mmio:0/constraint_2_power_limit_uw <<< 15000000
tee /sys/class/powercap/intel-rapl:0/constraint_0_power_limit_uw <<< 10000000
tee /sys/class/powercap/intel-rapl:0/constraint_1_power_limit_uw <<< 12000000
tee /sys/class/powercap/intel-rapl:0/constraint_2_power_limit_uw <<< 15000000
tee /sys/class/drm/card1/gt_max_freq_mhz <<< 950
#Video
# tee /sys/class/drm/card*/device/power_dpm_force_performance_level <<< low
}
guess() {
# if cat /sys/class/power_supply/ACAD/online | grep 0 > /dev/null 2>&1
if grep -q 0 /sys/class/power_supply/AC/online
then
on_battery
else
on_ac
fi
}
case "$1" in
true)
on_battery
;;
false)
on_ac
;;
*)
guess
;;
esac
exit 0
Исходная версия Jeronimo, :
#!/bin/sh
# Скрипт управления энергопотреблением (powersave)
on_ac() {
sleep 3
# CPU Performance
tee /sys/devices/system/cpu/cpufreq/policy*/scaling_governor <<< performance
tee /sys/devices/system/cpu/cpufreq/policy*/energy_performance_preference <<< performance
tee /sys/devices/system/cpu/cpufreq/policy*/scaling_min_freq <<< 600000
# Intel RAPL Limits: 40W / 51W / 100W
x86_energy_perf_policy -epb 0
tee /sys/class/powercap/intel-rapl-mmio/intel-rapl-mmio:0/constraint_0_power_limit_uw <<< 40000000
tee /sys/class/powercap/intel-rapl-mmio/intel-rapl-mmio:0/constraint_1_power_limit_uw <<< 51000000
tee /sys/class/powercap/intel-rapl:0/constraint_0_power_limit_uw <<< 40000000
tee /sys/class/powercap/intel-rapl:0/constraint_1_power_limit_uw <<< 51000000
tee /sys/class/drm/card1/gt_max_freq_mhz <<< 1300
# USB/PCI Auto
tee /sys/bus/usb/devices/*/power/control <<< auto
tee /sys/bus/pci/devices/*/power/control <<< auto
}
on_battery() {
sleep 3
# CPU Powersave
tee /sys/devices/system/cpu/cpufreq/policy*/scaling_governor <<< powersave
tee /sys/devices/system/cpu/cpufreq/policy*/energy_performance_preference <<< power
tee /sys/devices/system/cpu/cpufreq/policy*/scaling_min_freq <<< 400000
# Intel RAPL Limits: 10W / 12W / 15W
x86_energy_perf_policy -epb 15
tee /sys/class/powercap/intel-rapl-mmio/intel-rapl-mmio:0/constraint_0_power_limit_uw <<< 10000000
tee /sys/class/powercap/intel-rapl-mmio/intel-rapl-mmio:0/constraint_1_power_limit_uw <<< 12000000
tee /sys/class/powercap/intel-rapl:0/constraint_0_power_limit_uw <<< 10000000
tee /sys/class/powercap/intel-rapl:0/constraint_1_power_limit_uw <<< 12000000
tee /sys/class/drm/card1/gt_max_freq_mhz <<< 950
# USB/PCI Auto
tee /sys/bus/usb/devices/*/power/control <<< auto
tee /sys/bus/pci/devices/*/power/control <<< auto
}
guess() {
if grep -q 0 /sys/class/power_supply/AC/online; then
on_battery
else
on_ac
fi
}
case "$1" in
true) on_battery ;;
false) on_ac ;;
*) guess ;;
esac
exit 0