tweak set governor - Android Q&A, Help & Troubleshooting

i try to change cpu governor with init.d script like this
Code:
#!/system/bin/sh
#start logging.
(
echo "logging started on `date`"
echo "Salty tweak success loaded.:)"
chmod 777 /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "conservative" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
chmod 777 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo "1008000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
chmod 777 /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo "245760" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
#finish logging.
) 2>&1 | tee /data/salty.log
but cpu not changed even i has reboot my device
it has to ecexute manualy by open that with rootexplorer or script manager
how to make that script run automaticly every device rebooting???
what i have to do???
i using kernel with init.d suport and conservative governor scale on it

Related

[Need help on shell script]

Can anyone tell me how to add lines in one file by another bash file?
I make a script to change governors and frequency but I need to make the setting set on boot (But I dun want use 3rd party app like SetCPU).
So I need to add these lines to init.d folder's file :
Code:
#!/system/bin/bash (and i add line but this is by default?)
echo "interactiveX" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor (if the next time i chg setting , will this line be deleted or there will be another line with new setting?)
echo "800000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo "245670" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
so what command should i use to add these line ?
Code:
#!/system/bin/sh
an0nym0us_ said:
Code:
#!/system/bin/sh
Click to expand...
Click to collapse
thanks for your reply but i dont really understand...
those '800000' , '245670' and 'interactiveX' are just some example
i mean i want to write this:
echo "800000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
in init.d folder's file by other file
this file is in /system/bin
so i can access and chg my cpu setting by typing 'cpuclock'
there for i need a command to add line to init.d in order to set on boot
Code:
echo " Change CPU Governor Profile "
echo ""
echo ""
echo " Current Governor: "
echo "$CUR_GOV"
echo ""
$sleep
echo " Available Governors: "
echo "$AVAIL_GOV"
echo ""
$sleep
echo " Insert your desired governor: "
echo -n " Your Governor: ";read GOV
echo $GOV > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
[COLOR="Red"][so now i change my current governor,but the governor will be reset to default(ondemand) after next reboot]
[all i want is , while echoing current governor , i need to add one line to init.d there too , but i don know how :(][/COLOR]
echo " Complete "
echo ""
$sleep
echo -e " Current Governor: "
echo ""
echo ""
$sleep
echo -n " Press Enter Key To Continue... ";
read enterKey
opt=0;;
asd

[Q] init.d overclock script

Is this what an overclock init.d script should look like?
And how would you know if it worked?
#!/system/bin/sh
echo 245760 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 1000000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo "performance" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governer
echo "sio" > /sys/block/mmcblk0/queue/scheduler;
If no one can tell me if I'm in the right direction or not is there a way to see if the script is working in the init.d?
If I use this:
cat > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
it still shows the default and not what I put it too.
Do I have to edit the kernel before making a script?
How can this be done properly?
The kernel needs to support overclocking before anything, if you're confident with kernel development then do that and try an o/c app from the market before using a script.
sinkster©

What Init.d and Build.prop tweaks do you Recommend?

For those of you who like to do additional tweaks to your phone, what init.d and build.prop tweaks do you use? I've noticed some of them try to override crpalmer and Zarboz's kernel settings so I removed them. Also, I've read that some of these tweaks don't help at all.
So what tweaks do you recommend, if any, that play well with the DNA and with custom kernels?
Currently I have speedscript in my init.d folder but I noticed no benefit or detriment so I may just remove it. I also reduced the WiFi scan interval in the build.prop. I would like to add more tweaks since I can't leave well enough alone.
I'm looking for speed and battery improvements which can he a fine balancing act. I also want to increase the scroll speed as wel as change the autobrightness settings so it's more biased to lower brightness. I'm not sure if those could be achieved with init.d or build.prop tweaks.
#Render graphics with GPU&CPU
debug.composition.type=cpu
debug.composition.type=gpu
#For Faster Startups Disable Boot Animation
debug.sb.nobootanimation=1<<< faster
[QOUTE]Many build.prop tweaks set this value to 300, but it seems this is a bad idea. As Google points out, Android maxes out at 60fps. The default value is already allow for a possible max_events_per_sec of 90. Even if you allow for 300 max_events_per_sec, you’ll only ever see 60 of these events in any given second. Therefore, any value much higher than 90 is unlikely to have any noticeable impact on your experience in general. Additionally, setting this value too high can starve other UI events that need to get processed, viz. touch inputs. You’re not likely to feel like your device is running very smoothly when it is busy processing thousands of scroll events instead of responding immediately to you clicking to try and open a link or an app. There may be some specific scenarios where increasing this value does appear to improve system feedback, but changing this value for all UI events across the board will likely cause more problems than it will solve.[/QOUTE]
# faster Scrolling
ro.max.fling_velocity=12000
ro.min.fling_velocity=8000
# improve voice call clarity
ro.ril.enable.amr.wideband=1
# disable error checking
ro.kernel.android.checkjni=0
ro.kernel.checkjni=0
# faster youtube?
ro.ril.hep=0
# Faster boot
persist.sys.shutdown.mode=hibernate
# does not need to be on if not a dev
persist.android.strictmode=0
# disable USB debugging icon from status bar
persist.adb.notify=0
# Qualcomm display settings
debug.qctwa.statusbar=1
debug.qctwa.preservebuf=1
com.qc.hardware=true
# BATTERY SAVING-----------------
ro.ril.disable.power.collapse=1
ro.mot.eri.losalert.delay=1000 #smooths out network disconnects. breakes tethering in CM7.
ro.config.nocheckin=1 #disable sending usage data to google
# sleep modes
pm.sleep_mode=3<<< thats my personal mode used
#usage:
#pm.sleep_mode=0 -> collapse suspend
#pm.sleep_mode=1 -> collapse (will totally power off the cpu)
#pm.sleep_mode=2 -> sleep (cpu is still on, but put into low power mode (registers are still saved)
#pm.sleep_mode=3 -> slow Clock and Wait for Interrupt (lowered frequency and voltage)
#pm.sleep_mode=4 -> wait for interrupt (no change in cpu clock or voltage)
# locks launcher in memory (not recommended on low RAM devices)
#ro.HOME_APP_ADJ=1
check some of thoses out and maybe that will help in what your looking for
internet speed tweaks
Code:
echo "0" > /proc/sys/net/ipv4/tcp_timestamps;
echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse;
echo "1" > /proc/sys/net/ipv4/tcp_sack;
echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle;
echo "1" > /proc/sys/net/ipv4/tcp_window_scaling;
echo "5" > /proc/sys/net/ipv4/tcp_keepalive_probes;
echo "30" > /proc/sys/net/ipv4/tcp_keepalive_intvl;
echo "30" > /proc/sys/net/ipv4/tcp_fin_timeout;
echo "404480" > /proc/sys/net/core/wmem_max;
echo "404480" > /proc/sys/net/core/rmem_max;
echo "256960" > /proc/sys/net/core/rmem_default;
echo "256960" > /proc/sys/net/core/wmem_default;
echo "4096,16384,404480" > /proc/sys/net/ipv4/tcp_wmem;
echo "4096,87380,404480" > /proc/sys/net/ipv4/tcp_rmem;
vm management tweaks
Code:
echo "4096" > /proc/sys/vm/min_free_kbytes
echo "0" > /proc/sys/vm/oom_kill_allocating_task;
echo "0" > /proc/sys/vm/panic_on_oom;
echo "0" > /proc/sys/vm/laptop_mode;
echo "0" > /proc/sys/vm/swappiness
echo "50" > /proc/sys/vm/vfs_cache_pressure
echo "90" > /proc/sys/vm/dirty_ratio
echo "70" > /proc/sys/vm/dirty_background_ratio
misc kernel tweaks
Code:
echo "8" > /proc/sys/vm/page-cluster;
echo "64000" > /proc/sys/kernel/msgmni;
echo "64000" > /proc/sys/kernel/msgmax;
echo "10" > /proc/sys/fs/lease-break-time;
echo "500,512000,64,2048" > /proc/sys/kernel/sem;
5. battery tweaks
Code:
echo "500" > /proc/sys/vm/dirty_expire_centisecs
echo "1000" > /proc/sys/vm/dirty_writeback_centisecs
6. EXT4 tweaks (greatly increase I/O)
(needs /system, /cache, /data partitions formatted to EXT4)
removes journalism
Code:
tune2fs -o journal_data_writeback /block/path/to/system
tune2fs -O ^has_journal /block/path/to/system
tune2fs -o journal_data_writeback /block/path/to/cache
tune2fs -O ^has_journal /block/path/to/cache
tune2fs -o journal_data_writeback /block/path/to/data
tune2fs -O ^has_journal /block/path/to/data
b) perfect mount options
Code:
busybox mount -o remount,noatime,noauto_da_alloc,nodiratime,barrier =0,nobh /system
busybox mount -o remount,noatime,noauto_da_alloc,nosuid,nodev,nodir atime,barrier=0,nobh /data
busybox mount -o remount,noatime,noauto_da_alloc,nosuid,nodev,nodir atime,barrier=0,nobh /cache
Flags blocks as non-rotational and increases cache size
Code:
LOOP=`ls -d /sys/block/loop*`;
RAM=`ls -d /sys/block/ram*`;
MMC=`ls -d /sys/block/mmc*`;
for j in $LOOP $RAM
do
echo "0" > $j/queue/rotational;
echo "2048" > $j/queue/read_ahead_kb;
done
microSD card speed tweak
Code:
echo "2048" > /sys/devices/virtual/bdi/179:0/read_ahead_kb;
Defrags database files
Code:
for i in \
`find /data -iname "*.db"`
do \
sqlite3 $i 'VACUUM;';
done
Auto change governor and I/O Scheduler
a) I/O Scheduler (Best: MTD devices - VR; EMMC devices - SIO) - needs kernel with these
Code:
echo "vr" > /sys/block/mmcblk0/queue/scheduler
or
echo "sio" > /sys/block/mmcblk0/queue/scheduler
b) Governor (Best: Minmax > SavagedZen > Smoothass > Smartass > Interactive) - needs kernel with these
Code:
echo "governor-name-here" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Move dalvik-cache to cache partition to free up data partition space <<< do this only if room is availble
Code:
CACHESIZE=$(df -k /cache | tail -n1 | tr -s ' ' | cut -d ' ' -f2)
if [ $CACHESIZE -gt 80000 ]
then
echo "Large cache detected, moving dalvik-cache to /cache"
if [ ! -d /cache/dalvik-cache ]
then
busybox rm -rf /cache/dalvik-cache /data/dalvik-cache
mkdir /cache/dalvik-cache /data/dalvik-cache
fi
busybox chown 1000:1000 /cache/dalvik-cache
busybox chmod 0771 /cache/dalvik-cache
# bind mount dalvik-cache so we can still boot without the sdcard
busybox mount -o bind /cache/dalvik-cache /data/dalvik-cache
busybox chown 1000:1000 /data/dalvik-cache
busybox chmod 0771 /data/dalvik-cache
else
echo "Small cache detected, dalvik-cache will remain on /data"
fi
Disable normalize sleeper
Code:
mount -t debugfs none /sys/kernel/debug
echo NO_NORMALIZED_SLEEPER > /sys/kernel/debug/sched_features
there does those 2 posts help you out orange
---------- Post added at 08:52 AM ---------- Previous post was at 08:51 AM ----------
also some of these are just examples so just modify for your needs cool?
---------- Post added at 08:54 AM ---------- Previous post was at 08:52 AM ----------
autobrightness you need to decompile framework-res.apk

Underclocking app for SD 625

What good app you preffer for underclocking SD625? I want an app thar can underclock and if posible undervolt CPU and turn off some cpu cores. I have RR 5.8.5 with Electrablue 7 kernel.
If you are after an app, then Kernel Adiutor should do some of what you want.
However, if you want full manual control, then you can run commands from a root terminal, or use a script - eg
Code:
# reduce max freq to 1.68ghz
echo "1689600" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
# reduce cores running foreground operations
echo "0-3" > /dev/cpuset/foreground/cpus # default=0-6
echo "0-3" > /dev/cpuset/foreground/boost/cpus # default=0-6
# reduce cores running background operations
echo "0" > /dev/cpuset/background/cpus # default=0-1
echo "0-1" > /dev/cpuset/system-background/cpus # default=0-3
# turn off the last 4 cores
echo "0" > /sys/devices/system/cpu/cpu7/online
echo "0" > /sys/devices/system/cpu/cpu6/online
echo "0" > /sys/devices/system/cpu/cpu5/online
echo "0" > /sys/devices/system/cpu/cpu4/online
DarthJabba9 said:
If you are after an app, then Kernel Adiutor should do some of what you want.
However, if you want full manual control, then you can run commands from a root terminal, or use a script - eg
Code:
# reduce max freq to 1.68ghz
echo "1689600" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
# reduce cores running foreground operations
echo "0-3" > /dev/cpuset/foreground/cpus # default=0-6
echo "0-3" > /dev/cpuset/foreground/boost/cpus # default=0-6
# reduce cores running background operations
echo "0" > /dev/cpuset/background/cpus # default=0-1
echo "0-1" > /dev/cpuset/system-background/cpus # default=0-3
# turn off the last 4 cores
echo "0" > /sys/devices/system/cpu/cpu7/online
echo "0" > /sys/devices/system/cpu/cpu6/online
echo "0" > /sys/devices/system/cpu/cpu5/online
echo "0" > /sys/devices/system/cpu/cpu4/online
Click to expand...
Click to collapse
Very nice commands, these remain after reboot?
Do you know the command for checking current cpu speed and current number of cores online? Or better, one command to show all running cores with their speed.
nikkky said:
Very nice commands, these remain after reboot?
Do you know the command for checking current cpu speed and current number of cores online? Or better, one command to show all running cores with their speed.
Click to expand...
Click to collapse
The commands are not persistent. If you want them to be applied automatically after reboots, you need to put them in a script that is executed via init.d (see https://forum.xda-developers.com/re...o-initd-ad-blocking-bad-audio-videos-t3626661).
To see the values, simply run "cat" on each of the files being written to in the above examples - eg
Code:
cat /sys/devices/system/cpu/cpu7/online
DarthJabba9 said:
The commands are not persistent. If you want them to be applied automatically after reboots, you need to put them in a script that is executed via init.d (see https://forum.xda-developers.com/re...o-initd-ad-blocking-bad-audio-videos-t3626661).
To see the values, simply run "cat" on each of the files being written to in the above examples - eg
Code:
cat /sys/devices/system/cpu/cpu7/online
Click to expand...
Click to collapse
Do you know the command for changing governors?
nikkky said:
Do you know the command for changing governors?
Click to expand...
Click to collapse
Unfortunately, no.
DarthJabba9 said:
If you are after an app, then Kernel Adiutor should do some of what you want.
However, if you want full manual control, then you can run commands from a root terminal, or use a script - eg
Code:
# reduce max freq to 1.68ghz
echo "1689600" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
# reduce cores running foreground operations
echo "0-3" > /dev/cpuset/foreground/cpus # default=0-6
echo "0-3" > /dev/cpuset/foreground/boost/cpus # default=0-6
# reduce cores running background operations
echo "0" > /dev/cpuset/background/cpus # default=0-1
echo "0-1" > /dev/cpuset/system-background/cpus # default=0-3
# turn off the last 4 cores
echo "0" > /sys/devices/system/cpu/cpu7/online
echo "0" > /sys/devices/system/cpu/cpu6/online
echo "0" > /sys/devices/system/cpu/cpu5/online
echo "0" > /sys/devices/system/cpu/cpu4/online
Click to expand...
Click to collapse
When I try for example echo "0" > /sys/devices/system/cpu/cpu6/online I got permission denied. I used Material Terminal app.
Edit:
It worked by tiping su before, to convert $ to # for becoming root.
nikkky said:
Edit:
It worked by tiping su before, to convert $ to # for becoming root.
Click to expand...
Click to collapse
Yes. Running the "su" command is what converts your terminal session into a root terminal session

Sparrow_AW2.0 enabling all cores + GPU boost

Hello, I decided to publish some guide + scripts I already use for a while, which allows you to use all CPU cores and boost GPU performance.
Battery consumption using this configuration surprisingly does not change much or even did not change at all, with default as well with new config my watch stays alive for ~32h with daily usage.
Some theory:
Sparrow is sold with Qualcomm Snapdragon 400 1.2GHz, which is 4 core CPU. ASUS AW2.0 official kernel though supports only 600MHz and 787MHz, as Asus probably thinks this is good balance between battery life and performance.
GPU is Adreno 302/305, which is capable running up to 450MHz, which is also supported by ASUS AW2.0 kernel.
Where is the catch?
During boot there are all four CPU cores enabled, however there is post-init script, disabling two of those and setting frequency as fixed 738MHz with performance governor (no frequency scaling). GPU is set to fix 200MHz:
/system/bin/init.asus.post_boot.sh
Code:
#!/system/bin/sh
PATH=/system/bin
cd /sys
echo 4 > module/lpm_levels/enable_low_power/l2
echo 1 > module/msm_pm/modes/cpu0/power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu1/power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu2/power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu3/power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu0/power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu1/power_collapse/idle_enabled
#Put all other cores offline
echo 0 > devices/system/cpu/cpu2/online
echo 0 > devices/system/cpu/cpu3/online
governor="performance"
scaling_min_freq="787200"
if [[ `grep "oem_perf_change" /proc/cmdline` ]];then
if [[ `grep "oem_perf_on" /proc/cmdline` ]];then
oem_perf_stats="1"
else
oem_perf_stats="0"
fi
echo -n $oem_perf_stats > /factory/oem_perf_stats
fi
echo $governor > devices/system/cpu/cpu0/cpufreq/scaling_governor
echo $governor > devices/system/cpu/cpu1/cpufreq/scaling_governor
#below ondemand parameters can be tuned
echo 50000 > devices/system/cpu/cpufreq/ondemand/sampling_rate
echo 90 > devices/system/cpu/cpufreq/ondemand/up_threshold
echo 1 > devices/system/cpu/cpufreq/ondemand/io_is_busy
echo 2 > devices/system/cpu/cpufreq/ondemand/sampling_down_factor
echo 10 > devices/system/cpu/cpufreq/ondemand/down_differential
echo 70 > devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core
echo 10 > devices/system/cpu/cpufreq/ondemand/down_differential_multi_core
echo 787200 > devices/system/cpu/cpufreq/ondemand/optimal_freq
echo 300000 > devices/system/cpu/cpufreq/ondemand/sync_freq
echo 80 > devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load
echo $scaling_min_freq > devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo $scaling_min_freq > devices/system/cpu/cpu1/cpufreq/scaling_min_freq
echo 787200 > devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 787200 > devices/system/cpu/cpu1/cpufreq/scaling_max_freq
#Below entries are to set the GPU frequency and DCVS governor
echo 200000000 > class/kgsl/kgsl-3d0/devfreq/max_freq
echo 200000000 > class/kgsl/kgsl-3d0/devfreq/min_freq
echo performance > class/kgsl/kgsl-3d0/devfreq/governor
chown -h system devices/system/cpu/cpu[0-1]/cpufreq/scaling_max_freq
chown -h system devices/system/cpu/cpu[0-1]/cpufreq/scaling_min_freq
chown -h root.system devices/system/cpu/cpu[1-3]/online
chmod 664 devices/system/cpu/cpu[1-3]/online
It is indeed required just to alter this script and you can enable all 4 cores with "ondemand" governor, scaling 600-738MHz and GPU scaling 200-450MHz using "msm-adreno-tz" governor:
(and this requires root of course)
Code:
#!/system/bin/sh
PATH=/system/bin
cd /sys
echo 4 > module/lpm_levels/enable_low_power/l2
echo 1 > module/msm_pm/modes/cpu0/power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu1/power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu2/power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu3/power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu0/power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu1/power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu2/power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu3/power_collapse/idle_enabled
governor="ondemand"
scaling_min_freq="600000"
if [[ `grep "oem_perf_change" /proc/cmdline` ]];then
if [[ `grep "oem_perf_on" /proc/cmdline` ]];then
oem_perf_stats="1"
else
oem_perf_stats="0"
fi
echo -n $oem_perf_stats > /factory/oem_perf_stats
fi
echo $governor > devices/system/cpu/cpu0/cpufreq/scaling_governor
echo $governor > devices/system/cpu/cpu1/cpufreq/scaling_governor
echo $governor > devices/system/cpu/cpu2/cpufreq/scaling_governor
echo $governor > devices/system/cpu/cpu3/cpufreq/scaling_governor
#below ondemand parameters can be tuned
echo 50000 > devices/system/cpu/cpufreq/ondemand/sampling_rate
echo 90 > devices/system/cpu/cpufreq/ondemand/up_threshold
echo 1 > devices/system/cpu/cpufreq/ondemand/io_is_busy
echo 2 > devices/system/cpu/cpufreq/ondemand/sampling_down_factor
echo 10 > devices/system/cpu/cpufreq/ondemand/down_differential
echo 70 > devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core
echo 10 > devices/system/cpu/cpufreq/ondemand/down_differential_multi_core
echo 787200 > devices/system/cpu/cpufreq/ondemand/optimal_freq
echo 300000 > devices/system/cpu/cpufreq/ondemand/sync_freq
echo 80 > devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load
echo $scaling_min_freq > devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo $scaling_min_freq > devices/system/cpu/cpu1/cpufreq/scaling_min_freq
echo $scaling_min_freq > devices/system/cpu/cpu2/cpufreq/scaling_min_freq
echo $scaling_min_freq > devices/system/cpu/cpu3/cpufreq/scaling_min_freq
echo 787200 > devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 787200 > devices/system/cpu/cpu1/cpufreq/scaling_max_freq
echo 787200 > devices/system/cpu/cpu2/cpufreq/scaling_max_freq
echo 787200 > devices/system/cpu/cpu3/cpufreq/scaling_max_freq
#Below entries are to set the GPU frequency and DCVS governor
echo 450000000 > class/kgsl/kgsl-3d0/devfreq/max_freq
echo 200000000 > class/kgsl/kgsl-3d0/devfreq/min_freq
echo msm-adreno-tz > class/kgsl/kgsl-3d0/devfreq/governor
chown -h system devices/system/cpu/cpu[0-3]/cpufreq/scaling_max_freq
chown -h system devices/system/cpu/cpu[0-3]/cpufreq/scaling_min_freq
chown -h root.system devices/system/cpu/cpu[0-3]/online
chmod 664 devices/system/cpu/cpu[0-3]/online
(both files also attached to this post)
To exchange files in your watch, you can easily use following bash script in linux:
First push desired file into sdcard and go to ADB shell:
Code:
adb push init.asus.post_boot.sh /sdcard/
adb shell
In ADB shell remount system to RW, replace the file and fix privileges, than remount system back to RO:
Code:
su
mount -o rw,remount /system
mv /sdcard/init.asus.post_boot.sh /system/bin/
chown root:shell /system/bin/init.asus.post_boot.sh
chmod 755 /system/bin/init.asus.post_boot.sh
mount -o ro,remount /system
Update 2018/09/05:
In case you want to experiment, I'm also sending "full_power" script, setting all cores to max frequency and performance governor. There should be no issues, except probably less battery life. Just test yourself, how battery life is affected if it is affected at all. Just unpack the zip file, rename the sh script from init.asus.post_boot_full_power.sh to init.asus.post_boot.sh. Rest of the procedure is still the same.
Without kernel sources, this is probably the maximum performance you can get from the watch. Obtaining kernel sources we might get up still twice of current maximum, as the HW is there, but locked on kernel level.
I just swapped the files and I'll give this a try over the next few days. It would be awesome to destroy lag without needing a kernel tweak app to make it happen. You are the man!
Update: I followed your directions, then I wiped cache and dalvik in TWRP. I have only used the watch for a few minutes with this tweak and it is noticeably faster/smoother already. Text messages display lightning fast after being received on the phone. I'm currently on WiFi in my office. The times I notice most lag on my watch is when I'm on 4G, have music playing, and get a call. The phone may ring for 5-10 seconds before the watch displays. I'm excited to see how helpful this tweak is under those conditions. I'll know later today and keep you posted.
I have not experienced any Bluetooth lag since enabling this. This is a must have mod. Thanks for this!
Glad to hear that @CVertigo1. This is just simple SW enablement of things already present in kernel, so even no cache cleans are required. You can play with it on the go even without watch restart.
Amazing will be getting some kernel with much more CPU freq. steps, like 300-768 or even to 1.2GHz (yes, our chip is capable doing so, it is just not enabled in kernel). With proper governor battery will be still ok, resting CPU most of the time in low clocks. It is pity we have great HW, but it is taken out from us with stock kernel.
It would be nice if Asus would upload the kernel source for AW2.0.
CVertigo1 said:
It would be nice if Asus would upload the kernel source for AW2.0.
Click to expand...
Click to collapse
Well we do have latest kernel source
https://www.asus.com/us/ZenWatch/ASUS_ZenWatch_2_WI501Q/HelpDesk_Download/
Or directly here:
http://dlcdnet.asus.com/pub/ASUS/Wearable/ASUS_WI501Q/ASUS_WI501Q-5.2003.1603.10-kernel-src.zip
We just need some handy guy able to compile it and add more governors and frequencies. That is something what overlapping my skills.
That is the latest kernel source for 1.5. They have not released their source for 2.0, nor any firmware for 2.0. I have contacted Asus about it multiple times and none of their reps have any idea what I'm talking about.
CVertigo1 said:
That is the latest kernel source for 1.5. They have not released their source for 2.0, nor any firmware for 2.0. I have contacted Asus about it multiple times and none of their reps have any idea what I'm talking about.
Click to expand...
Click to collapse
Ah, I see I thought 2017/05/12 stated as a release day was after AW20 concluding this had to be the new one. Pity.
Maybe they'll release it eventually...at an Asus speed, like next year.
please help me(rom Sparrow_7.1.1_Debloat ROM ):
adb shell
sparrow:/ $ su
Permission denied
htduy11 said:
please help me(rom Sparrow_7.1.1_Debloat ROM ):
adb shell
sparrow:/ $ su
Permission denied
Click to expand...
Click to collapse
Hi there, you are missing super user in your ROM. Did you installed SuperSU and Busybox thru TWRP after flashing the ROM?
Do this in TWRP, not Android.
'the command can be used in adb in windows or are different? watch must be in recovery or bootloader? wrote a step by step for noob guide please
You must boot in the TWRP recovery. You need the ADB drivers installed on your computer and is easier to use your computer for this.
mastermoon said:
'the command can be used in adb in windows or are different? watch must be in recovery or bootloader? wrote a step by step for noob guide please
Click to expand...
Click to collapse
Actually it is quite simple, what you need:
* in case you use Windows, you need drivers for android (not needed with Linux)
* working ADB
* rooted watch
Then just connect normally booted watch and in command line (Windows) or terminal (Linux), execute:
Code:
adb push init.asus.post_boot.sh /sdcard/
adb shell
Second command above will enter adb shell, when you are in, just copy paste and execute following:
Code:
su
mount -o rw,remount /system
mv /sdcard/init.asus.post_boot.sh /system/bin/
chown root:shell /system/bin/init.asus.post_boot.sh
chmod 755 /system/bin/init.asus.post_boot.sh
mount -o ro,remount /system
LeeonLee said:
Actually it is quite simple, what you need:
* in case you use Windows, you need drivers for android (not needed with Linux)
* working ADB
* rooted watch
Then just connect normally booted watch and in command line (Windows) or terminal (Linux), execute:
Code:
adb push init.asus.post_boot.sh /sdcard/
adb shell
Second command above will enter adb shell, when you are in, just copy paste and execute following:
Code:
su
mount -o rw,remount /system
mv /sdcard/init.asus.post_boot.sh /system/bin/
chown root:shell /system/bin/init.asus.post_boot.sh
chmod 755 /system/bin/init.asus.post_boot.sh
mount -o ro,remount /system
Click to expand...
Click to collapse
yeah worked perfectly... after 9 month the zenwatch is back on my wrist....
---------- Post added at 05:31 PM ---------- Previous post was at 05:29 PM ----------
LeeonLee said:
Actually it is quite simple, what you need:
* in case you use Windows, you need drivers for android (not needed with Linux)
* working ADB
* rooted watch
Then just connect normally booted watch and in command line (Windows) or terminal (Linux), execute:
Code:
adb push init.asus.post_boot.sh /sdcard/
adb shell
Second command above will enter adb shell, when you are in, just copy paste and execute following:
Code:
su
mount -o rw,remount /system
mv /sdcard/init.asus.post_boot.sh /system/bin/
chown root:shell /system/bin/init.asus.post_boot.sh
chmod 755 /system/bin/init.asus.post_boot.sh
mount -o ro,remount /system
Click to expand...
Click to collapse
worked perfectly.... after 9 months zenwatch is back on my wrist
Hey guys,
do i need to do it every time i booted up ?
And can i messure this Overclocking anywhere ?
Greetings
Namelocked said:
Hey guys,
do i need to do it every time i booted up ?
And can i messure this Overclocking anywhere ?
Greetings
Click to expand...
Click to collapse
Hi, this is permanent solution. To revert you need to replace the file with original one.
I am also not aware of any reliable Wear benchmark, but you can see HW info using e.g. AIDA64 for Wear.
LeeonLee said:
Hi, this is permanent solution. To revert you need to replace the file with original one.
I am also not aware of any reliable Wear benchmark, but you can see HW info using e.g. AIDA64 for Wear.
Click to expand...
Click to collapse
I dont even find the AIDA64 for my smartwatch :/ ?
how can i check core, cpu speed etc... aida64 isn't compatible .. tnx..

Categories

Resources