#!/bin/bash cpubase=/sys/devices/system/cpu gov=cpufreq/scaling_governor adb root adb wait-for-device thermal=$(adb shell "getprop persist.service.thermal") echo "thermal status: $thermal" if [ $thermal -eq 1 ] then echo "Trying to setprop persist.service.thermal 0 and reboot" adb shell "setprop persist.service.thermal 0" adb reboot adb wait-for-device thermal=$(adb shell "getprop persist.service.thermal") if [ $thermal -eq 1 ] then echo "thermal property is still 1. Abort." exit -1 fi echo "Successfully setup persist.service.thermal to 0" fi adb shell stop perfprod # cores # 1833000 1750000 1666000 1583000 1500000 1416000 1333000 1250000 # 1166000 1083000 1000000 916000 833000 750000 666000 583000 500000 cpu=0 S=1166000 while [ $((cpu < 3)) -eq 1 ]; do echo "Setting cpu ${cpu} & $(($cpu + 1)) cluster to $S hz" # cpu0/online doesn't exist, because you can't turned it off, so ignore results of this command adb shell "echo 1 > $cpubase/cpu${cpu}/online" &> /dev/null adb shell "echo userspace > $cpubase/cpu${cpu}/$gov" adb shell "echo $S > $cpubase/cpu${cpu}/cpufreq/scaling_max_freq" adb shell "echo $S > $cpubase/cpu${cpu}/cpufreq/scaling_min_freq" adb shell "echo $S > $cpubase/cpu${cpu}/cpufreq/scaling_setspeed" cpu=$(($cpu + 2)) done #/sys/class/devfreq/dfrgx/available_frequencies is empty, so set to min echo "performance mode, 457 MHz" adb shell "echo performance > /sys/class/devfreq/dfrgx/governor" adb shell "echo 457000 > /sys/class/devfreq/dfrgx/min_freq" adb shell "echo 457000 > /sys/class/devfreq/dfrgx/max_freq"