Related
Does anyone know how to delete ziggy's tweak? I have root explorer installed but dont know where to look to find those files.
Thanks
What do the tweaks even do??
Sent from my Htc Evo 4g
Go on system folder then etc folder then init.d folder then 90 screen scale and 90 sys delete
I actually hacked the tweak to completely sleep and run 998mhz when screen is tapped here's the tweak script its excellent!!!
#!/system/bin/bash
Max & Min to 12800
AWAKE_GOVERNOR="interactive"
AWAKE_GOVERNOR_FREQENCY_MAX="998000"
AWAKE_GOVERNOR_FREQENCY_MIN="245000"
SLEEP_GOVERNOR="ondemand"
SLEEP_GOVERNOR_FREQENCY_MAX="128000"
SLEEP_GOVERNOR_FREQENCY_MIN="128000"
(while [ 1 ]
do
AWAKE=`cat /sys/power/wait_for_fb_wake`
if [ $AWAKE = "awake" ]; then
echo $AWAKE_GOVERNOR > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo $AWAKE_GOVERNOR_FREQENCY_MAX > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo $AWAKE_GOVERNOR_FREQENCY_MIN > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
AWAKE=
fi
SLEEPING=`cat /sys/power/wait_for_fb_sleep`
if [ $SLEEPING = "sleeping" ]; then
echo $SLEEP_GOVERNOR > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo $SLEEP_GOVERNOR_FREQENCY_MAX > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo $SLEEP_GOVERNOR_FREQENCY_MIN > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
SLEEPING=
fi
done &)
THANKS
thanks a lot cornell. I think im gonna try your script.
No doubt I barely get battery drain on it because I only clocks up when I'm making screen touches
hello i trying to ODEX my MIUIv4 (ICS 4.0.4) but i had some troubles:
there is my script for odexing:
Code:
#/sbin/sh
D=/data
E=/sddata
S=/system
SD=/sdcard
bbcmd="busybox"
bbcat="$bbcmd cat"
bbgrep="$bbcmd grep"
bbsed="$bbcmd sed"
SYSTARGET="/system"
OPTTEMP="/tmp"
$bbcmd chmod 777 $OPTTEMP/{busybox,dexopt_wrapper,zip,zipalign}
mount -o rw /system
mount -o rw /data
mount -o rw /cache
local zip="$OPTTEMP/zip"
local zipalign="$OPTTEMP/zipalign"
local dexopt_wrapper="$OPTTEMP/dexopt_wrapper"
local bootclpath="/system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/filterfw.jar"
# change to system/framework and process EVERY jar IN ORDER OF BOOTCLASSPATH!
cd /system/framework
indir=$(pwd)
for filename in \
core.jar core-junit.jar miui-framework.jar bouncycastle.jar ext.jar framework.jar android.policy.jar services.jar apache-xml.jar filterfw.jar \
am.jar ime.jar android.test.runner.jar input.jar javax.obex.jar monkey.jar pm.jar svc.jar bmgr.jar com.android.location.provider.jar com.android.future.usb.accessory.jar com.google.android.maps.jar com.google.android.media.effects.jar com.google.widevine.software.drm.jar
do
name=${filename%.jar}
$bbcmd cp -f $filename $OPTTEMP/$filename
$dexopt_wrapper $filename $name.odex $bootclpath > /dev/null 2>&1
if [ $? -eq 0 ]
then
$zip -d $filename classes.dex > /dev/null 2>&1
$bbcmd cp -f $name.odex $OPTTEMP/$name.odex
echo "$filename - done."
else
$bbcmd rm *.odex
$bbcmd cp -f $OPTTEMP/*.jar $indir/
echo "Framework file $filename failled. Cannot Complete."
echo "System has been restored."
return 1;
fi
done
$zipalign 4 framework-res.apk framework-res.apk.align > /dev/null 2>&1
$bbcmd mv -f framework-res.apk.align framework-res.apk
$zipalign 4 framework-miui-res.apk framework-miui-res.align > /dev/null 2>&1
$bbcmd mv -f framework-miui-res.align framework-miui-res.apk
cd /system/app
indir=$(pwd)
# Process apks from system/app that are normally odexed
for filename in *.apk
do
name=${filename%.apk}
$dexopt_wrapper $filename $name.odex $bootclpath > /dev/null 2>&1
if [ $? -eq 0 ]
then
$zip -d $filename classes.dex > /dev/null 2>&1
$zipalign 4 $filename $filename.align > /dev/null 2>&1
$bbcmd mv -f $filename.align $filename
echo "$filename - done."
fi
done
$bbcmd find /system/framework -type f -exec chmod 644 {} \;
$bbcmd find /system/app -type f -exec chmod 644 {} \;
[ -d /cache/dalvik-cache ] && $bbcmd rm -rf /cache/dalvik-cache/*
[ -d /data/dalvik-cache ] && $bbcmd rm -rf /data/dalvik-cache/*
return 0;
and i had errors in android.policy, framework, services .odex files
Added a big list of disable/enable android.permissions
Cleaned up Op.
Made information more concise and easier on the eyes.
read_ahead_kb:
Code:
#
for i in /sys/devices/virtual/bdi/*/read_ahead_kb
do
echo "(AnyMultipleOf 128)" > $i
done
inode_readahead_blks
Code:
#
for i in /sys/fs/ext4/*/inode_*
do
echo "VAR" > $i
done
You won't find more simple scripting SETTING=VALUE...
Code:
write='busybox sysctl -w /sys/devices/system/cpu'
i=$write/cpufreq/conservative
j=$write/cpu0/cpufreq
$j/scaling_governor=conservative
$j/scaling_max_freq=1200000
$jscaling_min_freq=25000
$i/sampling_rate=25000
$i/up_threshold=40
$i/down_threshold=50
$i/freq_step=5
$i/sampling_down_factor=2
|
Code:
\( An Ondemand example \)
write='busybox sysctl -w /sys/devices/cpu'
i=$write/cpufreq/ondemand
j=$write/cpu0/cpufreq
$j/scaling_governor=ondemand
$j/scaling_min_freq=25000
$j/scaling_max_freq=1400000
$i/sampling_rate=50000
$i/up_threshold=65
$i/powersave_bias=10
$i/sampling_down_factor=3
$i/down_differential=30
$i/freq_step=65
|
Code:
\( Pegasus example \)
write='busybox sysctl -w /sys/devices/system/cpu'
i=$write/cpufreq/pegasusq
j=$write/cpu0/cpufreq
$j/scaling_governor=pegasusq
$j/scaling_min_freq=25000
$j/scaling_max_freq=1400000
$i/pegasusq/up_threshold=80
$i/pegasusq/up_threshold_at_min_freq=65
$i/pegasusq/sampling_down_factor=5
$i/pegasusq/down_differential=5
$i/pegasusq/freq_step=60
$i/freq_for_responsiveness=500000
$i/pegasusq/cpu_up_rate=10
$i/pegasusq/cpu_down_rate=20
$i/pegasusq/hotplug_freq_1_1=500000
$i/pegasusq/hotplug_freq_2_0=200000
$i/pegasusq/hotplug_rq_1_1=300
$i/pegasusq/hotplug_rq_2_0=350
$i/pegasusq/ignore_nice_load=0
$i/pegasusq/io_is_busy=1
$i/pegasusq/max_cpu_lock=0
$i/pegasusq/hotplug_lock=0
|
|
simple shell for speed and memory management
Code:
\( You can virtually write any setting \)\
ext4=`busybox sysctl -w /sys/fs/ext4/mmcblk0`
lmk=`busybox sysctl -w /sys/module/lowmemorykiller/parameters`
$ext4\p10/inode_readahead_blks=128
$ext4\p9/inode_readahead_blks=128
$ext4\p7/inode_readahead_blks=256
$ext4\p12/inode_readahead_blks=64
$ext4\p10/inode_goal=16
$ext4\p9/inode_goal=16
$ext4\p7/inode_goal=16
$ext4\p12/inode_goal=16
busybox sysctl -w /proc/1/oom_adj=-17
$lmk/adj=0,2,-4,8,12,15
$lmk/minfree=1024,3072,5120,12288,17408,24566
Screen state script that turns on and off both cpus
For now, this Post will be home to I/O tweaks
Queue settings unknown to most that
Code:
for i in /sys/block/*/*/force*
do
echo "0" > $i
echo 0 > /sys/block/mmcblk0/mmcblk0p1/ro
echo 0 > /sys/block/mmcblk0/mmcblk0p10/ro
echo 0 > /sys/block/mmcblk0/mmcblk0p11/ro
echo 0 > /sys/block/mmcblk0/mmcblk0p12/ro
echo 0 > /sys/block/mmcblk0/mmcblk0p2/ro
echo 0 > /sys/block/mmcblk0/mmcblk0p3/ro
echo 0 > /sys/block/mmcblk0/mmcblk0p4/ro
echo 0 > /sys/block/mmcblk0/mmcblk0p5/ro
echo 0 > /sys/block/mmcblk0/mmcblk0p6/ro
echo 0 > /sys/block/mmcblk0/mmcblk0p7/ro
echo 0 > /sys/block/mmcblk0/mmcblk0p8/ro
echo 0 > /sys/block/mmcblk0/mmcblk0p9/ro
Now you`re ready to adjust stuff...
Code:
for i in /sys/devices/virtual/block/*/queue
do
echo "sio" > $i/scheduler
echo "4096" > $i/minimum_io_size
echo "1" > $i/add_random
echo "4096" > $i/discard_granularity
echo "1" > /discard_zeroes_data
echo "1" > $i/discard_max_bytes
echo "1024" > $i/optimal_io_size
done
|or
for i in /sys/devices/virtual/block/*/queue
do
echo "deadline" > $i/scheduler
echo "2048" > $i/minimum_io_size
echo "1" > $i/add_random
echo "0" > $i/discard_max_bytes
echo "0" > $i/discard_granularity
echo "1" > /discard_zeroes_data
echo "128" > $i/optimal_io_size
done
I have so many variations and these ftmp dont have parameters so Ill let you get creative on those.
Sys Call
Valid keys for /etc/sysctl.conf
I meant for this list to be the OP.. but alas.. i was 11000 or so character to heavy.. lol
A gift ( not all sysctl calls are adjustable and this list is raw. there will be one or two no goes ..)
( wow, I hadn't realized there was near 800 settings in here.... )
ICS SYSCALL MASTER KEY
Alright, I know that most of you will already know how to use a sysctl.conf, but there are probably a couple
things that you didn't know about sysctl, so I may as well start with the obvious...
Code:
\\the following is the easiest way to use sysctl.conf, it is ideally done at init but is equally as easy to use from termemu\\
#/system/bin/sh \\ for init.d \\
sysctl -p \\ from terminal emulator you would have first signed it as usr \\
Now for one you may not now
I'm sure you've seen it used on each command.. (something like 'busybox sysctl -e -w vm.ridin_dirty=example)
*note in sysctl, -(e) is to skip displaying key (e)rrors and keep reading; -n is umber errors i believe; -w is (w)rite; the -p above is (p)rint sysclt.conf
Code:
\\ this is a nice little trick, there are over around 30 kb of keys,,what to do?? \\
su \\ or #/system/bin/sh if in a script \\
sysctl -p /etc/where/ever/your/2nd/sysctl/is
sysctl -p /or/your/5th
sysctl -p $0 <\\ or call your working script itself.\\>
<\\next is the command to create master list from your own device\\>
[B]sysctl -A > /data/log/MasterSysctl.txt[/B]
<\\and this next one,,, well this next is just priceless.. how's this for difficult syntax\\>
sysctl -w /proc/1/oom_adj=-17 <\\yes,, I mean..it...\\>
sysctl -w /sys/devices/virtual/block/loop1/queue/scheduler=easiest_way_to_apply_any_setting_you_arent_sure_of
Some working examples coming soon.
CpuFreq slash Governor settings
Similar but more refined and for a PEGASUS SETUP
Customize it all...
This is an advanced example made simple.. This one will set (between 6) governor and its settings, max and min freq, readahead kb in all of BDI, and inode readahead blks in each mmcblk.
And its 2.2* kb. And you only need to edit the subs if you wamt...
{no mem management or screenstate, but I just had a 4.5 hour screen on cycle at 1.4 max and scoring 4600+ on quadrants...}
Code:
#!/system/bin/sh
chmod 0644 /sys/block/*/queue/*
mount -o remount,rw / /
mount -o remount.rw /system /system
governor=pegasusq
max_freq=1400000
min_freq=50000
inode_readahead=128
read_ahead_kb=3840
cpu=/sys/devices/system/cpu/cpu0/cpufreq
echo "$min_freq" > $cpu/scaling_min_freq
echo "$max_freq" > $cpu/scaling_max_freq
for i in /sys/block/*/*/force_ro
do
echo "0" > $i
done
for i in /sys/class/bdi/*/read*
do
echo "$read_ahead_kb" > $i
done
for i in /sys/fs/ext4/*/inode_*
do
echo "$inode_readahead" > $i
done
for i in $cpu/scaling_governor
do
echo "$governor" > $i
done
for i in /sys/devices/system/cpu/cpufreq
do
active=`cat $cpu/scaling_governor`
Begin_ondemand
echo "40000" > $i/ondemand/sampling_rate
echo "70" > $i/ondemand/up_threshold
echo "15" > $i/ondemand/powersave_bias
echo "70" > $i/ondemand/freq_step
echo "3" > $i/ondemand/sampling_down_factor
Begin_smartassv2
echo "800000" > $i/smartass/awake_ideal_freq
echo "200000" > $i/smartass/sleep_ideal_freq
echo "800000" > $i/smartass/sleep_wakeup_freq
echo "75" > $i/smartass/max_cpu_load
echo "45" > $i/smartass/min_cpu_load
echo "0" > $i/smartass/ramp_up_step
echo "0" > $i/smartass/ramp_down_step
echo "24000" > $i/smartass/up_rate_us
echo "99000" > $i/smartass/down_rate_us
Begin_interactive
echo "80" > $i/interactive/go_hispeed_load
echo "40000" > $i/interactive/min_sample_time
echo "20000" > $i/interactive/timer_rate
#Begin_pegasusq
echo "80" > $i/pegasusq/up_threshold
echo "65" > $i/pegasusq/up_threshold_at_min_freq
echo "5" > $i/pegasusq/sampling_down_factor
echo "5" > $i/pegasusq/down_differential
echo "60" > $i/pegasusq/freq_step
echo "400000" > $i/freq_for_responsiveness
echo "10" > $i/pegasusq/cpu_up_rate
echo "20" > $i/pegasusq/cpu_down_rate
echo "400000" > $i/pegasusq/hotplug_freq_1_1
echo "300000" > $i/pegasusq/hotplug_freq_2_0
echo "300" > $i/pegasusq/hotplug_rq_1_1
echo "350" > $i/pegasusq/hotplug_rq_2_0
echo "0" > $i/pegasusq/ignore_nice_load
echo "1" > $i/pegasusq/io_is_busy
echo "0" > $i/pegasusq/max_cpu_lock
echo "0" > $i/pegasusq/hotplug_lock
#Begin_lulzactive
echo "60" > $i/lulzactive/inc_cpu_load
echo "4" > $i/lulzactive/pump_up_step
echo "1" > $i/lulzactive/pump_down_step
echo "10000" > $i/lulzactive/up_sample_time
echo "70000" > $i/lulzactive/down_sample_time
echo "5" > $i/lulzactive/screen_off_min_step
#Begin_conservative
echo "55" > $i/conservative/up_threshold
echo "25000" > $i/conservative/sampling_rate
echo "3" > $i/conservative/sampling_down_factor
echo "40" > $i/conservative/down_threshold
echo "5" > $i/conservative/freq_step
done
exit 0
Odex all data apps
http://forum.xda-developers.com/showthread.php?p=32305612
Here's a link to a post with a Flashable busybox (with extra-goodies)
PhAkEer said:
a place where one can come to copy/plaste sections
Click to expand...
Click to collapse
I know how to copy, but what is this plaste you speak of?
anyways, this looks promising for adding some more scripts in one spot for all.
Sent from my SPH-D710 using Tapatalk
Click here for custom mods for your E4GT
Prove it
PhAkEer said:
Prove it
Click to expand...
Click to collapse
Edited in a quote before you edited :screwy: haha
Sent from my SPH-D710 using Tapatalk
Click here for custom mods for your E4GT
What is a script? And what do all those fancy thingy things you posted do? Oh, and I spilled grape juice all over my phone. Its still dripping out of it. Why do you think it won't turn on? Also, can you come help me pick my nose?
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
How did this thread sneak in on me bro? A little sly-of-hand action there huh.... hook 'em in placebo and create another thread... then mention nonchalantly in placebo thread to check your other thread for the latest.Lol
Looking forward to seeing where this one leads.. nice work man!
Sent from my SPH-D710 using Xparent Blue Tapatalk 2
blackcanopy said:
How did this thread sneak in on me bro? A little sly-of-hand action there huh.... hook 'em in placebo and create another thread... then mention nonchalantly in placebo thread to check your other thread for the latest.Lol
Looking forward to seeing where this one leads.. nice work man!
Sent from my SPH-D710 using Xparent Blue Tapatalk 2
Click to expand...
Click to collapse
Come one now, brah. You know exactly where this goes....
(this leads to me being in your backpack after a while.. and...
to my ultimate goal.... I sleep.. for at least 6 hours at once...)
Anybody want a script to odex data/apps??
Wrote it this morning.
Just need dexopt-wrapper and then execute this.. no reboot, apps keep their classes.dex for the future as well...
Code:
#!/system/bin/sh
J=/system/framework
A=/data/app
W=/system/xbin/dexopt-wrapper
mount -o remount,rw /system /system
mount -o remount,rw /data /data
rm -f $A/*.odex
for i in $A/*
do
name=`basename $i .apk`
$W $A/$name.apk $A/$name.odex $J/core.jar:$J/core-junit.jar:$J/bouncycastle.jar:$J/ext.jar:$J/framework.jar:$J/framework2.jar:$J/android.policy.jar:$J/services.jar:$J/apache-xml.jar
chmod 0644 $A/$name.odex
done
echo $i
sleep 2
exit 0
( and telling me if this stuff does or does not work is NOT off topic ftr )
Haven't even had time to look at this to see what it does...
Found it in an unnamed folder in a backup..
If anybodies knows who's work this is please say so..
I'm only posting it to get it off of my work pc.. I'll look into it later.
Code:
#!/system/bin/sh
#
#
readdebug() {
DUAL_CORE_DEBUG=`cat /system/etc/dual_core/debug`
DUAL_CORE_DEBUG=${DUAL_CORE_DEBUG:=0}
}
log() {
if [ "$DUAL_CORE_DEBUG" = "1" ] ; then
echo "$(date): [email protected]" >> /devlog/dual_core
fi
}
logcpu() {
if [ "$DUAL_CORE_DEBUG" = "1" ] ; then
local NOW_FREQ=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq`
local NOW=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq`
log "CPU[0]: scaling_max_freq=$NOW"
local NOW_ONLINE=`cat /sys/devices/system/cpu/cpu1/online`
log "CPU[1]: online=$NOW_ONLINE"
if [ -f /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq ] ; then
local NOW=`cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq`
log "CPU[1]: scaling_max_freq=$NOW"
fi
fi
}
init_dc_fs() {
sysrw
touch /devlog/dual_core ; chmod 777 /devlog/dual_core
touch /system/etc/dual_core/debug ; chmod 777 /system/etc/dual_core/debug
touch /system/etc/dual_core/sleep_frequency ; chmod 777 /system/etc/dual_core/sleep_frequency
touch /system/etc/dual_core/disable_sleep_freq ; chmod 777 /system/etc/dual_core/disable_sleep_freq
sysro
}
waitforwakeup() {
log "waitforwakeup{" ; logcpu
AWAKE=`cat /sys/power/wait_for_fb_wake`
if [ "$AWAKE" = "awake" ] ; then
CPU0_FREQ_AWAKE=${CPU0_FREQ_AWAKE:="$CPU0_FREQ_BOOT"}
log "Awake triggered... old awake is: $CPU0_FREQ_AWAKE"
log "CPU[1] try set online"
chmod 644 /sys/devices/system/cpu/cpu1/online
echo "1" > /sys/devices/system/cpu/cpu1/online
chmod 444 /sys/devices/system/cpu/cpu1/online
log "CPU[1] online"
if [ "$DISABLE_SLEEP" = "1" ] || [ "$OC_DAEMON" = "1" ] ; then
log "sleep cpu0 frequency mod disabled"
else
log "waking up from earlier sleep.. set to old awake frequency = $CPU0_FREQ_AWAKE"
echo "$CPU0_FREQ_AWAKE" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
fi
sleep 1
echo "$CPU0_FREQ_AWAKE" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
chmod 644 /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
chmod 444 /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
log "}wakeup" ; logcpu
fi
}
waitforsleep() {
log "waitforsleep{" ; logcpu
SLEEPING=`cat /sys/power/wait_for_fb_sleep`
if [ "$SLEEPING" = "sleeping" ] ; then
log "Sleep triggered..."
sleep_cpu0
log "CPU[1]: try set offline"
chmod 644 /sys/devices/system/cpu/cpu1/online
echo "0" > /sys/devices/system/cpu/cpu1/online
chmod 444 /sys/devices/system/cpu/cpu1/online
log "CPU[1]: offline"
fi
log "}waitforsleep" ; logcpu
}
sleep_cpu0() {
CPU0_FREQ_AWAKE=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq`
log "Sleeping, remember awake frequency: $CPU0_FREQ_AWAKE"
DISABLE_SLEEP=`cat /system/etc/dual_core/disable_sleep_freq`
if [ "$DISABLE_SLEEP" = "1" ] || [ "$OC_DAEMON" = "1" ] ; then
log "DISABLE_SLEEP=1 or OCD detected"
else
if [ -e /system/etc/dual_core/sleep_frequency ] ; then
SLEEP_FREQUENCY=`cat /system/etc/dual_core/sleep_frequency`
log "sleep_frequency setting found, using $SLEEP_FREQUENCY instead of $CPU0_FREQ_AWAKE"
fi
SLEEP_FREQUENCY=${SLEEP_FREQUENCY:=DEFAULT_SLEEP_FREQUENCY}
echo "$SLEEP_FREQUENCY" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
log "Set cpu0 frequency to $SLEEP_FREQUENCY"
fi
}
DEFAULT_SLEEP_FREQUENCY=192000
init_dc_fs
DUAL_CORE_DEBUG="1"
log "Starting..."; logcpu
if [ -f /system/etc/virtuous_oc/wake_max_freq ] ; then
OC_DAEMON=1
log "OC Daemon found."
fi
DISABLE_SLEEP=`cat /system/etc/dual_core/disable_sleep_freq`
CPU0_FREQ_BOOT=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq`
STATE=`cat /sys/power/state_onchg`
if [ "$STATE" = "chgoff" ] ; then
log "device is asleep, scaling down"
sleep_cpu0
fi
DUAL_CORE_DEBUG="0"
(while : ; do
waitforwakeup
readdebug
waitforsleep
readdebug
done &)
at a glance it looks like an extremely over complicated screenstate script....
PhAkEer said:
Haven't even had time to look at this to see what it does...
Found it in an unnamed folder in a backup..
If anybodies knows who's work this is please say so..
I'm only posting it to get it off of my work pc.. I'll look into it later.
Code:
#!/system/bin/sh
#
#
readdebug() {
DUAL_CORE_DEBUG=`cat /system/etc/dual_core/debug`
DUAL_CORE_DEBUG=${DUAL_CORE_DEBUG:=0}
}
log() {
if [ "$DUAL_CORE_DEBUG" = "1" ] ; then
echo "$(date): [email protected]" >> /devlog/dual_core
fi
}
logcpu() {
if [ "$DUAL_CORE_DEBUG" = "1" ] ; then
local NOW_FREQ=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq`
local NOW=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq`
log "CPU[0]: scaling_max_freq=$NOW"
local NOW_ONLINE=`cat /sys/devices/system/cpu/cpu1/online`
log "CPU[1]: online=$NOW_ONLINE"
if [ -f /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq ] ; then
local NOW=`cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq`
log "CPU[1]: scaling_max_freq=$NOW"
fi
fi
}
init_dc_fs() {
sysrw
touch /devlog/dual_core ; chmod 777 /devlog/dual_core
touch /system/etc/dual_core/debug ; chmod 777 /system/etc/dual_core/debug
touch /system/etc/dual_core/sleep_frequency ; chmod 777 /system/etc/dual_core/sleep_frequency
touch /system/etc/dual_core/disable_sleep_freq ; chmod 777 /system/etc/dual_core/disable_sleep_freq
sysro
}
waitforwakeup() {
log "waitforwakeup{" ; logcpu
AWAKE=`cat /sys/power/wait_for_fb_wake`
if [ "$AWAKE" = "awake" ] ; then
CPU0_FREQ_AWAKE=${CPU0_FREQ_AWAKE:="$CPU0_FREQ_BOOT"}
log "Awake triggered... old awake is: $CPU0_FREQ_AWAKE"
log "CPU[1] try set online"
chmod 644 /sys/devices/system/cpu/cpu1/online
echo "1" > /sys/devices/system/cpu/cpu1/online
chmod 444 /sys/devices/system/cpu/cpu1/online
log "CPU[1] online"
if [ "$DISABLE_SLEEP" = "1" ] || [ "$OC_DAEMON" = "1" ] ; then
log "sleep cpu0 frequency mod disabled"
else
log "waking up from earlier sleep.. set to old awake frequency = $CPU0_FREQ_AWAKE"
echo "$CPU0_FREQ_AWAKE" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
fi
sleep 1
echo "$CPU0_FREQ_AWAKE" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
chmod 644 /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
chmod 444 /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
log "}wakeup" ; logcpu
fi
}
waitforsleep() {
log "waitforsleep{" ; logcpu
SLEEPING=`cat /sys/power/wait_for_fb_sleep`
if [ "$SLEEPING" = "sleeping" ] ; then
log "Sleep triggered..."
sleep_cpu0
log "CPU[1]: try set offline"
chmod 644 /sys/devices/system/cpu/cpu1/online
echo "0" > /sys/devices/system/cpu/cpu1/online
chmod 444 /sys/devices/system/cpu/cpu1/online
log "CPU[1]: offline"
fi
log "}waitforsleep" ; logcpu
}
sleep_cpu0() {
CPU0_FREQ_AWAKE=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq`
log "Sleeping, remember awake frequency: $CPU0_FREQ_AWAKE"
DISABLE_SLEEP=`cat /system/etc/dual_core/disable_sleep_freq`
if [ "$DISABLE_SLEEP" = "1" ] || [ "$OC_DAEMON" = "1" ] ; then
log "DISABLE_SLEEP=1 or OCD detected"
else
if [ -e /system/etc/dual_core/sleep_frequency ] ; then
SLEEP_FREQUENCY=`cat /system/etc/dual_core/sleep_frequency`
log "sleep_frequency setting found, using $SLEEP_FREQUENCY instead of $CPU0_FREQ_AWAKE"
fi
SLEEP_FREQUENCY=${SLEEP_FREQUENCY:=DEFAULT_SLEEP_FREQUENCY}
echo "$SLEEP_FREQUENCY" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
log "Set cpu0 frequency to $SLEEP_FREQUENCY"
fi
}
DEFAULT_SLEEP_FREQUENCY=192000
init_dc_fs
DUAL_CORE_DEBUG="1"
log "Starting..."; logcpu
if [ -f /system/etc/virtuous_oc/wake_max_freq ] ; then
OC_DAEMON=1
log "OC Daemon found."
fi
DISABLE_SLEEP=`cat /system/etc/dual_core/disable_sleep_freq`
CPU0_FREQ_BOOT=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq`
STATE=`cat /sys/power/state_onchg`
if [ "$STATE" = "chgoff" ] ; then
log "device is asleep, scaling down"
sleep_cpu0
fi
DUAL_CORE_DEBUG="0"
(while : ; do
waitforwakeup
readdebug
waitforsleep
readdebug
done &)
at a glance it looks like an extremely over complicated screenstate script....
Click to expand...
Click to collapse
You might be right! It kinda looks like the script from the CPU sleep thread from here http://forum.xda-developers.com/showthread.php?t=1739457
Sent from my SPH-D710 using Tapatalk 2
Customizable Pegasus.
As is I'm getting something I'd recognize as a score in quad on jb... I thought the day would never come....
Code:
#!/system/bin/sh
# SETUP FOR PEGASUS
# I/O Settings
scheduler=deadline
read_ahead=3072
inode_blks=64
inode_goal=8
# CPU Freq Settings
min_freq=200
max_freq=1200
up_thresh=80
sampling=40000
sampling_factor=3
down_diff=5
freq_step=60
response_freq=500000
up_rate=20
down_rate=30
freq_1_1=400000
freq_2_0=300000
rq_1_1=400
rq_2_0=350
ignore_nice=0
io_is_busy=0
cpu_lock=0
lockR=0
# Stream settings
max_mb_scan=0
min_mb_scan=0
mb_stream_req=0
max_writeback_bump=32
req_order2=0
prealloc_mb=768
# Here we go again...lol
set -x
exec > /data/log/Pegasus.log 2>&1
/system/bin/sh
for j in $(/system/xbin/busybox mount | /system/xbin/busybox grep ext4 | /system/xbin/busybox cut -d " " -f3)
do
sync
/system/xbin/busybox mount -o remount,noatime,barrier=0,commit=5 $j
done
mount -o remount,noatime,nobh,nodiratime,nodelalloc,noauto_da_alloc,barrier=0 /system /system
mount -o remount,noatime,nobh,nodiratime,nodelalloc,noauto_da_alloc,barrier=0,commit=0 /cache /cache
mount -o remount,noatime,nodiratime,delalloc,noauto_da_alloc,barrier=0,commit=0 /data /data
for i in /sys/fs/ext4/*
do
echo "$max_mb_scan" > $i/mb_max_to_scan
echo "$min_mb_scan" > $i/mb_min_to_scan
echo "$inode_blks" > $i/inode_readahead_blks
echo "$inode_goal" > $i/inode_goal
echo "$mb_stream_req" > $i/mb_stream_req
echo "$max_writeback_bump" > $i/max_writeback_mb_bump
echo "$preaoc_mb" > $i/mb_group_prealloc
echo "$req_order2" > $i/mb_order2_req
done
echo "pegasusq" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
for i in /sys/devices/system/cpu/cpufreq/pegasusq
do
echo "$up_thresh" > $i/up_threshold
echo "$sampling" > $i/sampling_rate
echo "$sampling_factor" > $i/sampling_down_factor
echo "$down_diff" > $i/down_differential
echo "$freq_step" > $i/freq_step
echo "$up_rate" > $i/cpu_up_rate
echo "$down_rate" > $i/cpu_down_rate
echo "$freq_1_1" > $i/hotplug_freq_1_1
echo "$freq_2_0" > $i/hotplug_freq_2_0
echo "$rq_1_1" > $i/hotplug_rq_1_1
echo "$rq_2_0" > $i/hotplug_rq_2_0
echo "$ignore_nice" > $i/ignore_nice_load
echo "$io_is_busy" > $i/io_is_busy
echo "$cpu_lock" > $i/max_cpu_lock
done
for i in /sys/devices/virtual/bdi/*/read_ahead_kb
do
echo "$read_ahead" > $i
done
for i in /sys/class/block/*/queue
do
echo "$scheduler" > $i/scheduler
echo "$read_ahead" > $i/read_ahead_kb
done
case "$min_freq" in
*)
i=/sys/devices/system/cpu/cpu0/cpufreq
;;
25)
echo "25000" > $i/scaling_min_freq
;;
50)
echo "50000" > $i/scaling_min_freq
;;
100)
echo "100000" > $i/scaling_min_freq
;;
200)
echo "200000" > $i/scaling_min_freq
;;
300)
echo "300000" > $i/scaling_min_freq
;;
400)
echo "400000" > $i/scaling_min_freq
;;
500)
echo "500000" > $i/scaling_min_freq
;;
esac;
case "$max_freq" in
800)
echo "800000" > $cpu/scaling_max_freq
;;
900)
echo "900000" > $cpu/scaling_max_freq
;;
1000)
echo "1000000" > $cpu/scaling_max_freq
;;
1100)
echo "1100000" > $cpu/scaling_max_freq
;;
1200)
echo "1200000" > $cpu/scaling_max_freq
;;
1300)
echo "1300000" > $cpu/scaling_max_freq
;;
1400)
echo "1400000" > $cpu/scaling_max_freq
;;
1600)
echo "1600000" > $cpu/scaling_max_freq
;;
esac;
Nice to see this in the development section :thumbup:
-TeaM VeNuM Like A Boss
MiguelHogue said:
Nice to see this in the development section :thumbup:
-TeaM VeNuM Like A Boss
Click to expand...
Click to collapse
It isn't so such much for something to develop, I mainly just wanted the resources available the Tw themers and the like.
The parameters for the section said dev/mod/hack so I'm sure it fits in there somewhere.. I need to start getting some material in here though. . ... watch this...
EEECCCCCCHOOOO
khoeoeoeoe
ohohohohhh
See...
This one is a WIP so pay attention
Dual cpu screenstate script.. simple stuff
the way I have this setup it setup it will call powersave when screen is off. This is only practical if it calls another governor when the screen comes back on, so change it from "sh /data/local/pegasus" to "sh wherever you have a gov script" or to
"echo govofchoice > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"
Code:
#!/system/bin/sh
#
#
sleep 1m
while [[ "awake" = $AWAKE ]]
do
AWAKE=`cat /sys/power/wait_for_fb_wake`
if [ "awake" = $AWAKE ]
then
echo "1" > /sys/devices/system/cpu/cpu1/online
echo "1" > /sys/devices/system/cpu/cpu0/online
sh /data/local/Pegasus
fi
sleep 2
ASLEEP=`cat /sys/power/wait_for_fb_sleep`
if [ "sleeping" = $ASLEEP ]
then
echo "0" > /sys/devices/system/cpu/cpu1/online
echo "0" > /sys/devices/system/cpu/cpu0/online
echo "powersave" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
fi
sleep 2
done
exit 0
PhAkEer said:
Anybody want a script to odex data/apps??
Wrote it this morning.
Just need dexopt-wrapper and then execute this.. no reboot, apps keep their classes.dex for the future as well...
Code:
#!/system/bin/sh
J=/system/framework
A=/data/app
W=/system/xbin/dexopt-wrapper
mount -o remount,rw /system /system
mount -o remount,rw /data /data
rm -f $A/*.odex
for i in $A/*
do
name=`basename $i .apk`
$W $A/$name.apk $A/$name.odex $J/core.jar:$J/core-junit.jar:$J/bouncycastle.jar:$J/ext.jar:$J/framework.jar:$J/framework2.jar:$J/android.policy.jar:$J/services.jar:$J/apache-xml.jar
chmod 0644 $A/$name.odex
done
echo $i
sleep 2
exit 0
( and telling me if this stuff does or does not work is NOT off topic ftr )
Click to expand...
Click to collapse
Where do we get a copy of dexopt-wrapper? I downloaded the odex station that has it in the zip you had somewhere, but I get status7 error when flashing it.
Sent from my SPH-D710 using Xparent Blue Tapatalk 2
Just extract the wrapper to xbin and youre gtg
Warning: hideous sig acomin..
Need a change of pace?
Odexing Data with a simple script
or
Change your boot splash-screen in two steps
Hi. I wrote this script after coming across the "screenstate_scaling" by florian.schaefer & "battery tweak" by [email protected] scripts. This goes quite a bit further than those were intended to do. So, I figure I would share with the community. What this script allows you to do is set certain parameters based on a number of factors, i.e. screen off, screen on, current charge state, and battery percentages. It's also very easy to add things in depending on what you want to do. The script is actually quite powerful in what it can do given the right scenario.
This is what I use in my ROM, custom, and stock kernels.
In its current form, it is set to do the folowing:
Version: Custom Kernel with msm-dcvs and intellidemand governors: If the kernel you're using has neither of these available, you must modify and fine tune the script to your liking.
-When phone is charging and the screen turns on:
--Set minimum CPU speed to 486MHz (between 96 and 486MHz the voltage is the same, so why not have it run at the highest?)
--Set the CPU governor to OnDemand
--Set slightly aggressive and performanced based parameters to the OnDemand governor
--Set the CPU Speed to 1.99 GHz
--Turn off dual core managing (mpdecision) and keep the second core online
--Set undervolt values to default
--Set first and second touch CPU speed limits to default
-When the phone is on battery power and the screen turns on and is above 85% battery life:
--Set the CPU governor to Intellidemand
--Set slightly aggressive and battery friendly parameters to the Intellidemand governor
--Set the CPU Speed to 1.67 GHz
--Turn on dual core managing (mpdecision) and lets the system manage when the second core comes on and offline.
--Set undervolt values to -25mv
--Set first touch CPU speed limits to 702MHz
Much of the settings will remain the same until the battery reaches a charge lower than 50%. However, max CPU frequency will decrease gradually to 1.13GHz.
-When the phone is on battery power and the screen turns on with a battery level below 50%:
--Set the CPU governor to msm-dcvs
--Set the CPU Speed to 1.13 GHz
-When the phone is on battery power and the screen turns on with a battery level below 25%:
--Set the CPU governor to msm-dcvs
--Set the max CPU Speed to 702MHz. This is the frequency I found best for maintaining fairly smooth experience at the same time conserving battery life as much as possible.
--Turn off dual core managing (mpdecision) and keep the second core online with a max speed of 702MHz
--Set undervolt values to -25mv
--Set first and second touch CPU speed limits to 648MHz and 486MHz respectively.
It also sets different memory management, file system based, and system tweaks when the screen is turned on and off.
-When the phone is charging and the screen turns off:
--Set the minimum CPU speed to 486MHz
--Set the CPU governor to OnDemand
--Set slightly aggressive and performanced based parameters to the OnDemand governor
--Set the CPU max Speed to 1.99 GHz
--Turn off dual core managing (mpdecision) and keep the second core online
--Set undervolt values to default
-When the phone is on battery power and the screen turns off:
--Set the minimum and max CPU speed to 486MHz
--Set the CPU governor to msm-dcvs
--Turn on dual core managing (mpdecision) and lets the system manage when the second core comes on and offline.
--Set undervolt values to -25mv
This also gives priority to the phone app so that it will be more responsive.
I will be uploading the file, not a flashable, so that you can fine tune this to your liking. Those who decide to modify settings should post their results so we can try different tihngs. You may find some settings that work much better than mine and it would benefit everyone.
Once done, you can go ahead and get this into /system/etc/init.d/ by adb or whatever means you prefer. It also needs to be chmodded to allow the system to read and execute it. I usually set things in init.d to 777 just out of habit.
Requirements:
-Kernel or ROM with init.d support.
-Busybox (with pgrep)
If you meet the requirements, continue reading for installation.
Installation:
ADB:
Open a command prompt/terminal navigate to your ADB directory (Windows users: if you have the android sdk or adb in your Environment Variables then ignore this next part)
Drag the 70cputweakMODv2 file into your directory with ADB
If you don't have the init.d folder in /system/etc, then create it by typing "adb shell" enter "cd /system/etc" enter "mkdir init.d" enter "chmod 0777 init.d" enter "exit"
Type the following: "adb remount" press enter, then "adb push 70cputweakMODv2 /system/etc/init.d/70cputweakMODv2" press enter, then "adb shell chmod 0777 /system/etc/init.d/70cputweakMODv2" press enter, then reboot your phone.
File explorer: If you're not using ADB.
Copy file to phone
Open your root explorer or es file explorer or whatever you use.
Navigate to where you copied the file
Copy the 70cputweakMODv2 script
Navigate to /system/etc/init.d/
If the folder isn't present, create a new directory with your file explorer app and set permissions to 777.
Paste the file 70cputweakMODv2 inside of init.d and set permissions to 777
Reboot your phone
Stock kernel version coming soon.
Changelog:
v1: release
v2: corrected pegasusq references to intellidemand
Script code:
Code:
#!/system/bin/sh
#
# parts taken from "screenstate_scaling" by florian.schaefer & "battery tweak" by [email protected]
# by freeza for Galaxy S fre3 ROM
AWAKE_MODE() # Screen-ON
{
# VM parameters
BTLF=`cat /sys/class/power_supply/battery/capacity`
BTST=`cat /sys/class/power_supply/battery/status`
chmod 0664 /sys/devices/system/cpu/cpu1/online
echo "1" > /sys/devices/system/cpu/cpu1/online
#chmod 0444 /sys/devices/system/cpu/cpu1/online
chmod 0644 /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
chmod 0644 /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
echo 486000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 486000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
chmod 0444 /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
chmod 0444 /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
if [ "$BTST" == "Charging" ] || [ "$BTST" == "Full" ]; then
if [ "$(pgrep mpdecision)" ]
then
stop mpdecision
chmod 0664 /sys/devices/system/cpu/cpu1/online
echo "1" > /sys/devices/system/cpu/cpu1/online
chmod 0444 /sys/devices/system/cpu/cpu1/online
fi
echo "OnDemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "OnDemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
chmod 0644 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo 1998000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo 1998000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq;
chmod 0444 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo "70" > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold;
echo "50000" > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate;
echo "2" > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor;
echo "15" > /sys/devices/system/cpu/cpufreq/ondemand/down_differential;
echo 1134000 > /sys/devices/system/cpu/cpu0/cpufreq/touch_booster_first_freq_limit;
echo 810000 > /sys/devices/system/cpu/cpu0/cpufreq/touch_booster_second_freq_limit;
echo "1350 1325 1300 1275 1250 1200 1200 1185 1185 1175 1175 1150 1150 1125 1125 1075 1075 1050 1050 1025 1025 975 975 950 950 925 925 925 925 925 " > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table;
else
if [ "$BTLF" -ge 85 ]; then
if [ -z "$(pgrep mpdecision)" ]
then
chmod 0664 /sys/devices/system/cpu/cpu1/online
echo "1" > /sys/devices/system/cpu/cpu1/online
start mpdecision
fi
echo "intellidemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "intellidemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
chmod 0644 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo 1674000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo 1674000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq;
chmod 0444 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo "90" > /sys/devices/system/cpu/cpufreq/intellidemand/up_threshold;
echo "50000" > /sys/devices/system/cpu/cpufreq/intellidemand/sampling_rate;
echo "4" > /sys/devices/system/cpu/cpufreq/intellidemand/sampling_down_factor;
echo "3" > /sys/devices/system/cpu/cpufreq/intellidemand/down_differential;
echo 810000 > /sys/devices/system/cpu/cpu0/cpufreq/touch_booster_first_freq_limit;
echo 702000 > /sys/devices/system/cpu/cpu0/cpufreq/touch_booster_second_freq_limit;
echo "1325 1300 1275 1250 1225 1175 1175 1160 1160 1150 1150 1125 1125 1100 1100 1050 1050 1025 1025 1000 1000 950 950 925 925 900 900 900 900 900 " > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table;
else
if [ "$BTLF" -ge 74 ] && [ "$BTLF" -lt 85 ]; then
if [ -z "$(pgrep mpdecision)" ]
then
chmod 0664 /sys/devices/system/cpu/cpu1/online
echo "1" > /sys/devices/system/cpu/cpu1/online
start mpdecision
fi
echo "intellidemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "intellidemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
chmod 0644 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo 1458000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo 1458000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq;
chmod 0444 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo "90" > /sys/devices/system/cpu/cpufreq/intellidemand/up_threshold;
echo "50000" > /sys/devices/system/cpu/cpufreq/intellidemand/sampling_rate;
echo "4" > /sys/devices/system/cpu/cpufreq/intellidemand/sampling_down_factor;
echo "3" > /sys/devices/system/cpu/cpufreq/intellidemand/down_differential;
echo 810000 > /sys/devices/system/cpu/cpu0/cpufreq/touch_booster_first_freq_limit;
echo 702000 > /sys/devices/system/cpu/cpu0/cpufreq/touch_booster_second_freq_limit;
echo "1325 1300 1275 1250 1225 1175 1175 1160 1160 1150 1150 1125 1125 1100 1100 1050 1050 1025 1025 1000 1000 950 950 925 925 900 900 900 900 900 " > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table;
else
if [ "$BTLF" -ge 64 ] && [ "$BTLF" -lt 74 ]; then
if [ -z "$(pgrep mpdecision)" ]
then
chmod 0664 /sys/devices/system/cpu/cpu1/online
echo "1" > /sys/devices/system/cpu/cpu1/online
start mpdecision
fi
echo "intellidemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "intellidemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
chmod 0644 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo 1350000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo 1350000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq;
chmod 0444 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo "90" > /sys/devices/system/cpu/cpufreq/intellidemand/up_threshold;
echo "50000" > /sys/devices/system/cpu/cpufreq/intellidemand/sampling_rate;
echo "4" > /sys/devices/system/cpu/cpufreq/intellidemand/sampling_down_factor;
echo "3" > /sys/devices/system/cpu/cpufreq/intellidemand/down_differential;
echo 810000 > /sys/devices/system/cpu/cpu0/cpufreq/touch_booster_first_freq_limit;
echo 702000 > /sys/devices/system/cpu/cpu0/cpufreq/touch_booster_second_freq_limit;
echo "1325 1300 1275 1250 1225 1175 1175 1160 1160 1150 1150 1125 1125 1100 1100 1050 1050 1025 1025 1000 1000 950 950 925 925 900 900 900 900 900 " > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table;
else
if [ "$BTLF" -ge 50 ] && [ "$BTLF" -lt 64 ]; then
if [ -z "$(pgrep mpdecision)" ]
then
chmod 0664 /sys/devices/system/cpu/cpu1/online
echo "1" > /sys/devices/system/cpu/cpu1/online
start mpdecision
fi
echo "intellidemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "intellidemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
chmod 0644 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo 1242000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo 1242000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq;
chmod 0444 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo "90" > /sys/devices/system/cpu/cpufreq/intellidemand/up_threshold;
echo "50000" > /sys/devices/system/cpu/cpufreq/intellidemand/sampling_rate;
echo "4" > /sys/devices/system/cpu/cpufreq/intellidemand/sampling_down_factor;
echo "3" > /sys/devices/system/cpu/cpufreq/intellidemand/down_differential;
echo 810000 > /sys/devices/system/cpu/cpu0/cpufreq/touch_booster_first_freq_limit;
echo 702000 > /sys/devices/system/cpu/cpu0/cpufreq/touch_booster_second_freq_limit;
echo "1325 1300 1275 1250 1225 1175 1175 1160 1160 1150 1150 1125 1125 1100 1100 1050 1050 1025 1025 1000 1000 950 950 925 925 900 900 900 900 900 " > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table;
else
if [ "$BTLF" -ge 40 ] && [ "$BTLF" -lt 50 ]; then
if [ -z "$(pgrep mpdecision)" ]
then
chmod 0664 /sys/devices/system/cpu/cpu1/online
echo "1" > /sys/devices/system/cpu/cpu1/online
start mpdecision
fi
echo "msm-dcvs" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "msm-dcvs" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
chmod 0644 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo 1134000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo 1134000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq;
chmod 0444 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
# echo "95" /sys/devices/system/cpu/cpufreq/ondemand/up_threshold;
# echo "120000" > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate;
# echo "1" > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor;
# echo "5" > /sys/devices/system/cpu/cpufreq/ondemand/down_differential;
echo 810000 > /sys/devices/system/cpu/cpu0/cpufreq/touch_booster_first_freq_limit;
echo 702000 > /sys/devices/system/cpu/cpu0/cpufreq/touch_booster_second_freq_limit;
echo "1325 1300 1275 1250 1225 1175 1175 1160 1160 1150 1150 1125 1125 1100 1100 1050 1050 1025 1025 1000 1000 950 950 925 925 900 900 900 900 900 " > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table;
else
if [ "$BTLF" -ge 25 ] && [ "$BTLF" -lt 40 ]; then
if [ -z "$(pgrep mpdecision)" ]
then
chmod 0664 /sys/devices/system/cpu/cpu1/online
echo "1" > /sys/devices/system/cpu/cpu1/online
start mpdecision
fi
echo "msm-dcvs" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "msm-dcvs" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
chmod 0644 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo 1026000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo 1026000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq;
chmod 0444 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
# echo "95" /sys/devices/system/cpu/cpufreq/ondemand/up_threshold;
# echo "120000" > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate;
# echo "1" > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor;
# echo "5" > /sys/devices/system/cpu/cpufreq/ondemand/down_differential;
echo 810000 > /sys/devices/system/cpu/cpu0/cpufreq/touch_booster_first_freq_limit;
echo 702000 > /sys/devices/system/cpu/cpu0/cpufreq/touch_booster_second_freq_limit;
echo "1325 1300 1275 1250 1225 1175 1175 1160 1160 1150 1150 1125 1125 1100 1100 1050 1050 1025 1025 1000 1000 950 950 925 925 900 900 900 900 900 " > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table;
else
if [ "$BTLF" -ge 0 ] && [ "$BTLF" -lt 25 ]; then
if [ "$(pgrep mpdecision)" ]
then
stop mpdecision
fi
chmod 0664 /sys/devices/system/cpu/cpu1/online
echo "1" > /sys/devices/system/cpu/cpu1/online
chmod 0444 /sys/devices/system/cpu/cpu1/online
echo "msm-dcvs" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "msm-dcvs" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
chmod 0644 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo 702000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo 702000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq;
chmod 0444 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
# echo "95" /sys/devices/system/cpu/cpufreq/ondemand/up_threshold;
# echo "120000" > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate;
# echo "1" > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor;
# echo "5" > /sys/devices/system/cpu/cpufreq/ondemand/down_differential;
echo 648000 > /sys/devices/system/cpu/cpu0/cpufreq/touch_booster_first_freq_limit;
echo 486000 > /sys/devices/system/cpu/cpu0/cpufreq/touch_booster_second_freq_limit;
echo "1325 1300 1275 1250 1225 1175 1175 1160 1160 1150 1150 1125 1125 1100 1100 1050 1050 1025 1025 1000 1000 950 950 925 925 900 900 900 900 900 " > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table;
fi
fi
fi
fi
fi
fi
fi
fi
echo -1 > /proc/sys/kernel/sched_rt_runtime_us;
echo 100000 > /proc/sys/kernel/sched_rt_period_us;
echo 95000 > /proc/sys/kernel/sched_rt_runtime_us;
echo 30 > /proc/sys/vm/swappiness;
echo 1000 > /proc/sys/vm/dirty_expire_centisecs;
echo 2000 > /proc/sys/vm/dirty_writeback_centisecs;
echo 10 > /proc/sys/vm/dirty_background_ratio;
echo 40 > /proc/sys/vm/dirty_ratio;
echo 0 > /proc/sys/vm/page-cluster;
echo "2048" > /sys/devices/virtual/bdi/179:0/read_ahead_kb;
echo "2056" > /sys/block/mmcblk0/bdi/read_ahead_kb;
echo "2056" > /sys/block/mmcblk0/queue/read_ahead_kb;
echo 0 > /proc/sys/vm/laptop_mode;
echo 300 > /proc/sys/vm/vfs_cache_pressure;
echo 8192 > /proc/sys/vm/min_free_kbytes;
}
SLEEP_MODE()# Screen-OFF
{
# VM parameters
BTSTo=`cat /sys/class/power_supply/battery/status`
chmod 0664 /sys/devices/system/cpu/cpu1/online
echo "1" > /sys/devices/system/cpu/cpu1/online
chmod 0444 /sys/devices/system/cpu/cpu1/online
chmod 0644 /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
chmod 0644 /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
echo 486000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 486000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
chmod 0444 /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
chmod 0444 /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
if [ "$BTSTo" == "Charging" ] || [ "$BTSTo" == "Full" ]; then
if [ "$(pgrep mpdecision)" ]
then
stop mpdecision
chmod 0664 /sys/devices/system/cpu/cpu1/online
echo "1" > /sys/devices/system/cpu/cpu1/online
chmod 0444 /sys/devices/system/cpu/cpu1/online
echo "OnDemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor;
echo "OnDemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor;
chmod 0644 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo 1998000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo 1998000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq;
chmod 0444 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo "70" > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold;
echo "50000" > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate;
echo "2" > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor;
echo "15" > /sys/devices/system/cpu/cpufreq/ondemand/down_differential;
echo "1350 1325 1300 1275 1250 1200 1200 1185 1185 1175 1175 1150 1150 1125 1125 1075 1075 1050 1050 1025 1025 975 975 950 950 925 925 925 925 925 " > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table;
fi
else
if [ -z "$(pgrep mpdecision)" ]
then
chmod 0664 /sys/devices/system/cpu/cpu1/online
start mpdecision
fi
echo "msm-dcvs" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor;
echo "msm-dcvs" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor;
chmod 0644 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo 486000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo 486000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq;
chmod 0444 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo "1325 1300 1275 1250 1225 1175 1175 1160 1160 1150 1150 1125 1125 1100 1100 1050 1050 1025 1025 1000 1000 950 950 925 925 900 900 900 900 900 " > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table;
fi
echo -1 > /proc/sys/kernel/sched_rt_runtime_us;
echo 1000000 > /proc/sys/kernel/sched_rt_period_us;
echo 950000 > /proc/sys/kernel/sched_rt_runtime_us;
echo 0 > /proc/sys/vm/swappiness;
echo 0 > /proc/sys/vm/dirty_expire_centisecs;
echo 0 > /proc/sys/vm/dirty_writeback_centisecs;
echo 60 > /proc/sys/vm/dirty_background_ratio;
echo 95 > /proc/sys/vm/dirty_ratio;
echo 3 > /proc/sys/vm/page-cluster;
echo "2048" > /sys/devices/virtual/bdi/179:0/read_ahead_kb;
echo "2056" > /sys/block/mmcblk0/bdi/read_ahead_kb;
echo "2056" > /sys/block/mmcblk0/queue/read_ahead_kb;
echo 5 > /proc/sys/vm/laptop_mode;
echo 10 > /proc/sys/vm/vfs_cache_pressure;
echo 2048 > /proc/sys/vm/min_free_kbytes;
}
MAX_PHONE() # remove lag when answering phone calls
{
pidphone=`pidof com.android.phone`;
if [ $pidphone ];
then
echo -17 > /proc/$pidphone/oom_adj; # exclude com.android.phone from oom-killer
renice -20 $pidphone; # set highest nice level for com.android.phone
exit;
else
sleep 1;
MAX_PHONE;
fi;
}
# Background process to check screen state
(while [ 1 ];
do
cat /sys/power/wait_for_fb_wake;
AWAKE_MODE;
cat /sys/power/wait_for_fb_sleep;
SLEEP_MODE;
done &);
# One-time process to optimize com.android.phone
(while [ 1 ];
do
sleep 10;
MAX_PHONE;
done &);
Another awesome option from freeza, much appreciated!
Sent from my SPH-L710 using xda app-developers app
Thanks Freeza.. much appreciated! If you don't mind me asking, do you know when we can possibly get and updated ROM with this baked into it? (I'm talking about the ROM you made)
Sent from my SPH-L710 using xda premium
r.suchil2 said:
Thanks Freeza.. much appreciated! If you don't mind me asking, do you know when we can possibly get and updated ROM with this baked into it? (I'm talking about the ROM you made)
Sent from my SPH-L710 using xda premium
Click to expand...
Click to collapse
Oh, it's coming
There's already a version of this in the ROM, not as full featured, but it's there.
I'll be updating with a more featured one in the coming days.
So once it's in init.d with permissions, busybox with pgrep then just reboot and the script will work? Should I uninstall ktweaker if I'm on Ktoonz kernel?
Sent from my SPH-L710 using xda app-developers app
dubs.law said:
So once it's in init.d with permissions, busybox with pgrep then just reboot and the script will work? Should I uninstall ktweaker if I'm on Ktoonz kernel?
Sent from my SPH-L710 using xda app-developers app
Click to expand...
Click to collapse
Yep, it should run just fine. A way you can check is to check by doing "adb shell" "cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_current_governor" while charging and while on battery. It should change from OnDemand to Intellidemand once the screen turns off and back on.
You don't need to uninstall ktweaker, but you might want to disable the set on boot options for cpu frequency control.
freeza said:
Yep, it should run just fine. A way you can check is to check by doing "adb shell" "cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_current_governor" while charging and while on battery. It should change from OnDemand to Intellidemand once the screen turns off and back on.
You don't need to uninstall ktweaker, but you might want to disable the set on boot options for cpu frequency control.
Click to expand...
Click to collapse
I froze ktweaker just to be sure. Also, I checked and it's definitely working. I'll report back after a couple of cycles.
Just for others reference, I'm on FreeGs3 with Ktoonz kernel.
Sent from my SPH-L710 using xda app-developers app
i renamed the qos file per ktoonez thread should i restore it backs since i wont use ktoonsitive governor but rather this script
This sounds amazing. Does it have any effect on stability though?
shadowlink217 said:
This sounds amazing. Does it have any effect on stability though?
Click to expand...
Click to collapse
If you read through his entire article he has tested at found his own most stable and smoothest options.
Sent from my SPH-L710 using xda premium
Circaflex said:
i renamed the qos file per ktoonez thread should i restore it backs since i wont use ktoonsitive governor but rather this script
Click to expand...
Click to collapse
I'm wondering the same. I haven't renamed it as of yet but am using the script with great stability.
Sent from my SPH-L710 using xda app-developers app
Any reason why this would conflict with v6 at all
And do I need to remove the other script if I'm on freezas ROM I saw a similar named one in there
Sent from my SPH-L710 using xda app-developers app
Do I just flash this in recovery? TIA
Sent from my SPH-L710 using xda premium
Circaflex said:
Any reason why this would conflict with v6 at all
And do I need to remove the other script if I'm on freezas ROM I saw a similar named one in there
Sent from my SPH-L710 using xda app-developers app
Click to expand...
Click to collapse
It won't conflict with V6 at all. However, I would remove the current one from my ROM. If you're not on a custom kernel then this won't help any.
rotnezi said:
Do I just flash this in recovery? TIA
Sent from my SPH-L710 using xda premium
Click to expand...
Click to collapse
No recovery flashable atm
So do I use scripter on my phone?
Sent from my SPH-L710 using xda premium
Push to init.d folder and set permissions and reboot but phone gets stuck on Samsung Galaxy SIII boot animation. I'm on slim rom. Trying to reinstall busybox using app in market and retry but so far no luck. :S
EDIT: Using ktoonsez 11/13 AOSP kernel
Is there any apk I can use to see if its working
rey823 said:
Is there any apk I can use to see if its working
Click to expand...
Click to collapse
system tuner from play store
I have that but I don't see it changing governors I must not have it working right I set all the permissions on both the initd folder and the file is there anything else I have to do
rey823 said:
I have that but I don't see it changing governors I must not have it working right I set all the permissions on both the initd folder and the file is there anything else I have to do
Click to expand...
Click to collapse
If you are an idiot like me remember to unzip the script before placing it in the init.d folder
Sent from my SPH-L710 using Tapatalk 2
Save much reading and go to page 61. Answers to bad battery on the HTC 10 are worked out there. It's simplifies everything. Many posts here are works in progress kind of back and forth.
Guides I used for amplify are at the bottom of page 13.
(Remember to thank me in the op if anything here helped.)
After numerous hours of research and testing . Just wanted to reveal what I found. This is made for the OP-3 which is also a snapdragon 820 chipset device.
Ive been using on my Verizon HTC 10 with zero issues so far/ Lee-droid oreo rom/Elemental X -3.02 kernel. Much copy and pasting going on, just wanted to share my find.I take no credit for any of this : other than being willing to test on my device. After flashing the final version of (AKT.V1.6/FinalZIP )through twrp/ located on next page I ticked for the Op3 OR SNAPDRAGON 820 DEVICE from a terminul emilator, then I choose "Project Zhana battery" . I used rom toolbox pro's terminal emulator. Choose whatever profile you desire but the one I picked works fine/zero lag. Our other options (as of now) are soilwork scripts made for the HTC 10 or the helix engine now that pnpmgr has been disabled.
. First link is a huge thread on profiles from AKT. Go find which ever works best for your situation.
( I'm not telling you to flash anything. I'm showing you possible routes that have been tested by me. If you do not like results simply Ruu back to stock or dirty flash rom being used to get rid of it all.)
I'm about to tell you how to get buttery smooth, lag-free performance with insanely good battery life, using an old school governor featured in practically every kernel... This tweak is applicable to every phone with any ROM or kernel--stock or custom--that provides the Interactive Governor.
Yeah, yeah... everyone promises good battery with great performance, but who actually delivers? Maybe it isn't as smooth as you want, or maybe it requires something your kernel or ROM don't support. Or maybe the battery life promises just aren't what you expected. There's always some awful compromise. Not here!
This isn't a guide to get 36 hour battery life... provided you never use your phone. That's deep sleep optimization, which is lovely and all, but what good is the phone if you can never use it?! And with the new Marshmallow Doze feature, this strategy is becoming a thing of the past. What I'm talking about is 7-14 hour screen on, actual hands-on usage times! Without compromising anything, you can get 7-8 hour screen on usage with regular, no-compromise usage habits: daytime visible screen brightness, both radios on, sync on, network location on, all the regular usage features, the whole kit and kaboodle... all smooth as a baby's butt and snappy as a Slim Jim! (Up to 14+ hours if you can stand minimum brightness and WiFi-only with a custom ROM and other stuff turned off! And this is with stock voltages and full frequency range--you'll likely get even more if you choose to optimize those as well!)
However, it should be noted that this does not apply to gaming, heavy camera use, etc. Anything that is an automatic battery killer in and of itself. There's nothing that can be done about anything that forces the phone to utilize its maximum resources all the time. But you should know that by now. Further, this guide is about optimizing the CPU as much as possible. It does not cover things like eliminating wakelocks so your phone sleeps well, removing unnecessary and battery draining stock apps, keeping your screen brightness down*, and all that stuff that's been covered in other posts ad infinitum. Those optimizations are up to you.
If you really want to know the principles of this tweaks, please go to this thread since there everything is really well explained and I know you guys just want to apply the tweak and forget about everything behind it, so just keep scrolling!
Voltages and Frequencies:
So recently I have been investigating about the Voltages of our device (since that is a really useful information to know) before that we only have the Nominal frequencies (If you don't know what I am talking about go ahead and read @soniCron thread because I won't explain it) we could develop some tweaks with that, but we were pretty much making blind shots, guessing and hoping that all will be right. Well, now that we have all this information we can optimize our tweaks even more so expect new updates and rework for the current tweaks and of course new ones.
What About Touchboost?
Since I've noticed that a lot of people was asking about Touchboost, I decided to add this little explanation from @soniCron
" Touchboost is a nifty feature in a lot of kernels (including stock on Nexus 5X) that jumps up the frequency so that you experience minimal lag. However, with all the above settings, touchboost is usually detrimental to the efficiency of the device!
We generally want to keep the CPU on the lowest possible frequency as much as possible, and touchboost interferes with that. Further, because we've set up the maximal and minimal efficient clock rates, as well as burst processing from the 2nd CPU core, we don't need touchboost!
If your kernel allows you to shut it off, try to do so and see if the responsiveness of your device is acceptable. On the OP3 (and pretty much all the devices), touchboost adds no perceptual performance gain and only hurts efficiency and battery life. If your kernel doesn't allow you to turn off touchboost, try another one.
Your battery life will thank you! "
With all that been said, you shouldn't confuse Touchboost with CPU Boost and more specifically Input boost. Both are used to boost the clock speed of our device whenever we touch the touchscreen, so we don't suffer any lags.
The difference is that Input boost can be configured and Touchboost cannot, making it a really inefficient.
MY DEVICE LAGS!!! WHY?!?!
First of all, it's a "normal" thing, as I have stated before, all these tweaks have been done for fit my usage or certain usage which is most likely not the same as yours. Because this, when the are put on a certain scenario the might stutter or lag just a bit (If you are experimenting huge lags, you have done something wrong)
And yes, this can be fixed. We have a couple of ways of fixing it:
First of all, Check If the tweaks have been applied correctly
Our first one is modifying the Input boost (not touchboost) most of our tweaks have an already established Input boost clock speeds and time, you can incise does too a bit. For example, we have 960(Mhz) for all the CPU at 40ms you could bump it up to ~1036(Mhz) and 42ms, don't modify too much this values since it will potentially increase your battery drain.
Our second tool for fixing lags is min_sample_time , my recommendation is to increase the value by 5000 each time till you no longer suffer any stutter or lag.
Try another tweak, for example;
If you are using Project X.A.N.A Battery, try using Balanced option...
Still having lag?
Get rid of unnecessary (background-)apps
Try a different IO-Scheduler
Try another profile
My phone still uses too much battery
First of all, Check If the tweaks have been applied correctly
Make sure that you have disabled touchboost.
Set brightness to a lower level.
Use a dark / black theme
Don't play games all day
Try other tweak, for example;
If you are using Project Zhana Balanced, try using Battery option...
How to install:
A flashable zip to be flashed via recovery, which installs scripts of the latest iterations of most profiles (some legacy profiles had to be eliminated for more convenience) and a master script that takes control of all the installed scripts and applies your desired profile at will as soon as you recall it via Terminal Emulator app and get guided by the on-screen instructions.
So to wrap it up:
1- Download the latest AKT_Profile_vX.x.zip file
2- Reboot into TWRP recovery and flash the .zip file
3- After you boot up the phone, leave it to settle for a minute
4- Open up your favorite Terminal Emulator app
5- Grant it superuser permissions by typing in "su" without the quotes
6- After superuser permissions are granted, type in "AKT" without the quotes (yes capitalized)
Download link for AKT
https://forum.xda-developers.com/showpost.php?p=70352820&postcount=2146
Xposed with magic information and downloads.
This is where the rubber meets the road. Amplify and greenify for Oreo!!!
https://forum.xda-developers.com/xposed/unofficial-systemless-xposed-t3388268
(Save yourself some time and jump to page 61 Finally found the answers there. Long live the HTC 10. My device is finally a beast.)
Sounds interesting - might give it a try
It's running like a totally different phone. I'm amazed almost 2 hours of screen on time and still at 70% battery. And I'm casting to my living room TV as well. Still zero lag. So phone is running tasks as well. And I'm back and forth on here. Works nicely.
mattie_49 said:
It's running like a totally different phone. I'm amazed almost 2 hours of screen on time and still at 70% battery. And I'm casting to my living room TV as well. Still zero lag. So phone is running tasks as well. And I'm back and forth on here. Works nicely.
Click to expand...
Click to collapse
Are you using stock elemental x settings or other ?
Code:
#!/system/bin/sh
#Author: Asiier
#Settings By: Asiier
#Device: One Plus 3
#Codename: Project Zhana (BT)
#Build Status: Stable
#Version: 4.2
#Last Updated: 22/01/2017
#Notes: Please give credit when using this in your work!
#TWEAKS_BEGIN
echo ""
echo --------------------------------------------------------
echo Applying 'Project Zhana (Battery variant)' v4.3
echo Advanced Kernel Settings
echo --------------------------------------------------------
sleep 0.5
echo Author: Asiier
echo Settings By: Asiier
echo "Device: One Plus 3 & SD820 Devices"
echo Codename: 'Project Zhana (BT)'
echo Build Status: Stable
echo Last Updated: 19/09/2017
echo For more information go to the XDA theard
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sleep 0.3
echo Checking Android version...
if grep -q 'ro.build.version.sdk=25' /system/build.prop; then
echo Android Nougat 7.1.X detected!
sleep 0.3
echo N detected... Applying proper settings
fi
if grep -q 'ro.build.version.sdk=24' /system/build.prop; then
echo Android Nougat 7.0.X detected!
sleep 0.3
echo N detected... Applying proper settings
fi
if grep -q 'ro.build.version.sdk=23' /system/build.prop; then
echo Android Marshmallow 6.0.1 detected!
sleep 0.3
echo MM detected... Applying proper settings
fi
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sleep 0.3
#Apply settings to LITTLE cluster
echo Applying settings to LITTLE Cluster...
sleep 0.5
#Temporarily change permissions to governor files for the LITTLE cluster to enable Interactive governor
chmod 644 /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo interactive > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
chmod 444 /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
#Grab Maximum Achievable Frequency for the LITTLE Cluster
maxfreq=$(cat "/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq")
if test "$maxfreq" -eq 1593600; then
#Temporarily change permissions to governor files for the Big cluster to set the maximum frequency to 1593MHz
echo No LITTLE Cluster Overclocking detected.
echo Applying appropriate values.
chmod 644 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 1593600 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq #Core 0 Maximum Frequency = 1593MHz
chmod 444 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
chmod 644 /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads
echo 70 480000:65 556800:75 729600:82 960000:86 1036800:2 1228800:99 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads
chmod 444 /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads
fi
if test "$maxfreq" -eq 1728000; then
#Temporarily change permissions to governor files for the Little cluster to set the maximum frequency to 1728MHz
echo LITTLE Cluster Overclocking detected.
echo Applying appropriate values.
chmod 644 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 1728000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq #Core 0 Maximum Frequency = 1728MHz
chmod 444 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
chmod 644 /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads
echo 70 480000:65 556800:75 729600:82 960000:86 1036800:2 1228800:99 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads
chmod 444 /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads
maxfreq=$(cat "/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq")
fi
if test "$maxfreq" -lt 1593600; then
#Temporarily change permissions to governor files for the Big cluster to set the maximum frequency to 1593MHz
echo LITTLE Cluster Underclocking detected!!
sleep 1
echo We recommend not to UnderClock the CPU as the tweaks already will take care of that If needed
echo The tweaks will continue getting applied but we recommend setting the CPU to Max frequency!
sleep 4
#chmod 644 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
#echo 1593600 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq #Core 0 Maximum Frequency = 1593MHz
#chmod 444 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
chmod 644 /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads
echo 70 480000:65 556800:75 729600:82 960000:86 1036800:2 1228800:99 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads
chmod 444 /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads
elif test $maxfreq -gt 1728000; then
#Temporarily change permissions to governor files for the Little cluster to set the maximum frequency to 1728MHz
echo LITTLE Cluster Overclocking detected.
sleep 1
echo This OverClock is higher than normal and only possible on Xceed Kernel
echo The tweak will continue getting applyed
echo " Althought it might no reach the maximum frequency you have setted as it haven't been made to work with frecuencies higher than 1728 Mhz "
#chmod 644 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
#echo 1728000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq #Core 0 Maximum Frequency = 1728MHz
#chmod 444 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
chmod 644 /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads
echo 70 480000:65 556800:75 729600:82 960000:86 1036800:2 1228800:99 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads
chmod 444 /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads
fi
chmod 644 /sys/devices/system/cpu/cpu0/cpufreq/interactive/*
echo 220000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_slack
echo 307200 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq
echo 100000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate
echo 0 729600:76000 960000:99000 1228800:150000 1478400:170000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay
echo 155 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load
echo 22000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/ignore_hispeed_on_notif
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/boost
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/fast_ramp_down
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/align_windows
echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/boostpulse_duration
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy
if [ -e "/sys/devices/system/cpu/cpu0/cpufreq/interactive/enable_prediction" ]; then
chmod 644 /sys/devices/system/cpu/cpu0/cpufreq/interactive/enable_prediction
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/enable_prediction
fi
sleep 0.5
#Apply settings to Big cluster
echo Applying settings to BIG Cluster
sleep 0.2
#Temporarily change permissions to governor files for the LITTLE cluster to enable Interactive governor
chmod 644 /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
echo interactive > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
chmod 444 /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
#Grab Maximum Achievable Frequency for the Big Cluster
maxfreq=$(cat "/sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_max_freq")
if test $maxfreq -eq 2150400; then
#Temporarily change permissions to governor files for the Big cluster to set the maximum frequency to 2150MHz
echo No BIG Cluster Overclocking detected.
echo Applying appropriate values.
chmod 644 /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
echo 2150400 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq #Core 2 Maximum Frequency = 2150MHz
chmod 444 /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
chmod 644 /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads
echo 65 940800:80 1036800:2 1401600:95 1824000:98 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads
chmod 444 /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads
#Set overclock max frequency compatible target_loads
elif test $maxfreq -eq 2265600; then
#Temporarily change permissions to governor files for the Big cluster to set the maximum frequency to 2265MHz
echo BIG Cluster Overclocking detected.
echo Applying appropriate values.
chmod 644 /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
echo 2265600 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq #Core 2 Maximum Frequency = 2265MHz
chmod 444 /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
chmod 644 /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads
echo 65 940800:80 1036800:2 1401600:95 1824000:98 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads
chmod 444 /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads
fi
if test $maxfreq -lt 2150400; then
#Temporarily change permissions to governor files for the Big cluster to set the maximum frequency to 1593MHz
echo BIG Cluster Underclocking detected!!
sleep 1
echo We recommend not to UnderClock the CPU as the tweaks already will take care of that If needed
echo The tweaks will continue getting applied but we recommend setting the CPU to Max frequency!
sleep 4
#chmod 644 /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
#echo 1593600 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq #Core 0 Maximum Frequency = 1593MHz
#chmod 444 /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
chmod 644 /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads
echo 65 940800:80 1036800:2 1401600:95 1824000:98 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads
chmod 444 /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads
elif test $maxfreq -gt 2265600; then
#Temporarily change permissions to governor files for the Little cluster to set the maximum frequency to 1728MHz
echo BIG Cluster Overclocking detected.
sleep 1
echo This OverClock is higher than normal and only possible on Xceed Kernel
echo The tweak will continue getting applyed
echo " Althought it might no reach the maximum frequency you have setted as it haven't been made to work with frecuencies higher than 2265600 Mhz "
sleep 4
#chmod 644 /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
#echo 1728000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq #Core 0 Maximum Frequency = 1728MHz
#chmod 444 /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
chmod 644 /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads
echo 65 940800:80 1036800:99 1401600:95 1824000:98 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads
chmod 444 /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads
fi
sleep 0.5
#Tweak Interactive Governor
chmod 644 /sys/devices/system/cpu/cpu2/cpufreq/*
echo 140000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/timer_slack
echo 1401600 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/hispeed_freq
echo 65000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/timer_rate
echo 32000 940800:85000 1248000:96000 1401600:88000 1632000:80000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/above_hispeed_delay
echo 99 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/go_hispeed_load
echo 11000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/min_sample_time
echo 0 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/max_freq_hysteresis
echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/ignore_hispeed_on_notif
echo 0 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/boost
echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/fast_ramp_down
echo 0 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/align_windows
echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/use_migration_notif
echo 0 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/use_sched_load
echo 0 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/boostpulse_duration
echo 0 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/io_is_busy
if [ -e "/sys/devices/system/cpu/cpu2/cpufreq/interactive/enable_prediction" ]; then
chmod 644 /sys/devices/system/cpu/cpu2/cpufreq/interactive/enable_prediction
echo 0 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/enable_prediction
fi
echo "=========================================="
echo Checking whether you are using a Sultanxda based ROM or not
echo "=========================================="
#Checking whether you are using a Sultanxda based ROM or not
echo Checking ROM...
sleep 0.2
echo Applying appropriate values.
if [ -e "/sys/kernel/cpu_input_boost/enabled" ]; then
echo Enabling Input Boost for the LITTLE cluster @556 MHz and for the BIG Cluster @0Mhz and Custom thermal driver of Sultanxda
chmod 644 /sys/kernel/cpu_input_boost/*
echo 1 > /sys/kernel/cpu_input_boost/enabled
echo 66 > /sys/kernel/cpu_input_boost/ib_duration_ms
echo 556800 0 > /sys/kernel/cpu_input_boost/ib_freqs
chmod 444 /sys/kernel/cpu_input_boost/*
chmod 644 /sys/kernel/msm_thermal/enabled
echo 0 > /sys/kernel/msm_thermal/enabled
chmod 444 /sys/kernel/msm_thermal/enabled
else
#Checking whether you are using a Lineage based ROM or not
echo Checking ROM...
sleep 0.2
if grep -q 'ro.build.flavor=lineage_oneplus3-userdebug' /system/build.prop; then
#Enable Input Boost for LITTLE cluster @556MHz and for BIG cluster @729MHz for 66ms
echo Lineage Based ROM detected
echo Applying appropriate values.
echo Enabling Input Boost at 556 MHz for the LITTLE cluster and at 0 MHz for the BIG Cluster
if [ -e "/sys/module/cpu_boost/parameters/input_boost_freq" ]; then
chmod 644 /sys/module/cpu_boost/parameters/input_boost_freq
echo 0:556800 1:0 2:0 3:0 > /sys/module/cpu_boost/parameters/input_boost_freq
chmod 644 /sys/module/cpu_boost/parameters/input_boost_ms
echo 55 > /sys/module/cpu_boost/parameters/input_boost_ms
else
echo "*Input Boost is not avalible for your Kernel*"
fi
if [ -e "/sys/module/cpu_boost/parameters/boost_ms" ]; then
chmod 644 /sys/module/cpu_boost/parameters/boost_ms
echo 0 > /sys/module/cpu_boost/parameters/boost_ms
else
echo "*Cpu_Boost is not avalible for your Kernel*"
fi
else
#Enable Input Boost for LITTLE cluster @729MHz and for BIG cluster @729Hz for 100ms
echo Non-Lineage ROM detected
echo Applying appropriate values.
echo Enabling Input Boost at 729 MHz for the LITTLE cluster and at 0 MHz for the BIG Cluster
if [ -e "/sys/module/cpu_boost/parameters/input_boost_freq" ]; then
chmod 644 /sys/module/cpu_boost/parameters/input_boost_freq
echo 0:729600 1:0 2:0 3:0 > /sys/module/cpu_boost/parameters/input_boost_freq
chmod 644 /sys/module/cpu_boost/parameters/input_boost_ms
echo 77 > /sys/module/cpu_boost/parameters/input_boost_ms
else
echo "*Input Boost is not avalible for your Kernel*"
fi
if [ -e "/sys/module/cpu_boost/parameters/boost_ms" ]; then
chmod 644 /sys/module/cpu_boost/parameters/boost_ms
echo 0 > /sys/module/cpu_boost/parameters/boost_ms
else
echo "*Cpu_Boost is not avalible for your Kernel*"
fi
fi
fi
sleep 0.3
echo "=========================================="
#Disable TouchBoost
echo Disabling TouchBoost
if [ -e "/sys/module/msm_performance/parameters/touchboost" ]; then
chmod 644 /sys/module/msm_performance/parameters/touchboost
echo 0 > /sys/module/msm_performance/parameters/touchboost
else
echo "*Not supported for your current Kernel*"
fi
#Disable BCL
echo Disabling BCL and Removing Perfd
if [ -e "/sys/devices/soc/soc:qcom,bcl/mode" ]; then
echo -n disable > /sys/devices/soc/soc:qcom,bcl/mode
fi
#Enable Core Control and Disable MSM Thermal Throttling allowing for longer sustained performance
echo Disabling Aggressive CPU Thermal Throttling
if [ -e "/sys/module/msm_thermal/core_control/enabled" ]; then
echo 1 > /sys/module/msm_thermal/core_control/enabled
fi
if [ -e "/sys/module/msm_thermal/parameters/enabled" ]; then
echo N > /sys/module/msm_thermal/parameters/enabled
fi
#Tweak HMP Scheduler to feed the Big cluster more tasks
sleep 0.3
#echo Tweaking HMP Scheduler for correcting BIG Cluster utilization
echo 2 > /proc/sys/kernel/sched_window_stats_policy
echo 85 > /proc/sys/kernel/sched_upmigrate
echo 62 > /proc/sys/kernel/sched_downmigrate
echo 5 > /proc/sys/kernel/sched_spill_nr_run
echo 100 > /proc/sys/kernel/sched_spill_load
echo 30 > /proc/sys/kernel/sched_init_task_load
if [ -e "/proc/sys/kernel/sched_heavy_task" ]; then
echo 65 > /proc/sys/kernel/sched_heavy_task
fi
if [ -e "/proc/sys/kernel/sched_enable_power_aware" ]; then
echo 1 > /proc/sys/kernel/sched_enable_power_aware
fi
echo 10 > /proc/sys/kernel/sched_upmigrate_min_nice
echo 4 > /proc/sys/kernel/sched_ravg_hist_size
if [ -e "/proc/sys/kernel/sched_small_wakee_task_load" ]; then
echo 7 > /proc/sys/kernel/sched_small_wakee_task_load
fi
if [ -e "/proc/sys/kernel/sched_wakeup_load_threshold" ]; then
echo 110 > /proc/sys/kernel/sched_wakeup_load_threshold
fi
if [ -e "/proc/sys/kernel/sched_small_task" ]; then
echo 7 > /proc/sys/kernel/sched_small_task
fi
if [ -e "/proc/sys/kernel/sched_big_waker_task_load" ]; then
echo 35 > /proc/sys/kernel/sched_big_waker_task_load
fi
echo 950000 > /proc/sys/kernel/sched_rt_runtime_us
echo 1000000 > /proc/sys/kernel/sched_rt_period_us
if [ -e "/proc/sys/kernel/sched_migration_fixup" ]; then
echo 1 > /proc/sys/kernel/sched_migration_fixup
fi
if [ -e "/proc/sys/kernel/sched_freq_dec_notify" ]; then
echo 410000 > /proc/sys/kernel/sched_freq_dec_notify
fi
if [ -e "/proc/sys/kernel/sched_freq_inc_notify" ]; then
echo 600000 > /proc/sys/kernel/sched_freq_inc_notify
fi
if [ -e "/proc/sys/kernel/sched_boost" ]; then
echo 0 > /proc/sys/kernel/sched_boost
fi
#Tweaks for other various Settings
sleep 0.5
echo "=========================================="
echo Tweaking other various Settings
echo ·I/O Values
if [ -d /sys/block/dm-0 ] || [ -d /sys/devices/virtual/block/dm-0 ]; then
if [ -e /sys/devices/virtual/block/dm-0/queue/scheduler ]; then
DM_PATH=/sys/devices/virtual/block/dm-0/queue
fi
if [ -e /sys/block/dm-0/queue/scheduler ]; then
DM_PATH=/sys/block/dm-0/queue
fi
string=/sys/devices/virtual/block/dm-0/queue/scheduler;
Zen_Available=false;
if $BB grep 'zen' $string; then
Zen_Available=true;
fi
if [ "$Zen_Available" == "true" ]; then
if [ -e $DM_PATH/scheduler_hard ]; then
echo zen > $DM_PATH/scheduler_hard
fi
echo zen > $DM_PATH/scheduler
sleep 2
echo 300 > $DM_PATH/iosched/sync_expire
echo 2800 > $DM_PATH/iosched/async_expire
echo 14 > $DM_PATH/iosched/fifo_batch
chmod 644 $DM_PATH/iosched/sync_expire
echo 300 > $DM_PATH/iosched/sync_expire
fi
if [ "$Zen_Available" = "false" ]; then
if grep -q 'ro.build.flavor=lineage_oneplus3-userdebug' /system/build.prop; then
echo ZEN not avalible, setting 'Noop' instead...
if [ -e $DM_PATH/scheduler_hard ]; then
echo noop > $DM_PATH/scheduler_hard
fi
echo noop > $DM_PATH/scheduler
else
echo ZEN not avalible, setting 'CFQ' instead...
if [ -e $DM_PATH/scheduler_hard ]; then
echo cfq > $DM_PATH/scheduler_hard
fi
echo cfq > $DM_PATH/scheduler
fi
fi
fi
for i in /sys/block/../devices/soc/624000.ufshc/host0/target0:0:0/0:0:0:[0-4]/block/*/queue; do
string4=$($BB readlink -f $i/scheduler | cut -d 'q' -f1 | cut -d 'k' -f2 | cut -d '/' -f2 | tr a-z A-Z)
string5=$($BB cat $i/scheduler | cut -d ']' -f1 | cut -d '[' -f2 | $BB tr a-z A-Z)
if [ "$string5" == "NOOP" ]; then
echo "Leaving $string4 block at default $string5"
echo ""
sleep 0.1
fi
if [ "$string5" != "NOOP" ]; then
echo "Changing $string4 block I/O scheduler"
if [ -e $i/scheduler_hard ]; then
echo zen > $i/scheduler_hard
fi
echo zen > $i/scheduler
echo ""
sleep 2
# Initialize string 6 to avoid reference conflicts
string6=$($BB cat $i/scheduler | cut -d ']' -f1 | cut -d '[' -f2)
if [ "$string6" == "zen" ]; then
echo 300 > $i/iosched/sync_expire
echo 2800 > $i/iosched/async_expire
echo 14 > $i/iosched/fifo_batch
chmod 644 $i/iosched/sync_expire
echo 300 > $i/iosched/sync_expire
fi
fi
done
if [ -e "$DM_PATH/iostats" ]; then
echo 0 > $DM_PATH/iostats
fi
if [ -e "$DM_PATH/rq_affinity" ]; then
echo 1 > $DM_PATH/rq_affinity
fi
if [ -e "/sys/block/dm-0/bdi/read_ahead_kb" ]; then
echo 512 > /sys/devices/virtual/block/dm-0/bdi/read_ahead_kb
fi
if [ -e "/sys/block/sda/bdi/read_ahead_kb" ]; then
echo 512 > /sys/block/sda/bdi/read_ahead_kb
fi
echo ·Memory Values
echo 0 > /proc/sys/vm/swappiness
echo 100 > /proc/sys/vm/vfs_cache_pressure
echo 80 > /proc/sys/vm/dirty_ratio
echo 20 > /proc/sys/vm/dirty_background_ratio
echo 4096 > /proc/sys/vm/min_free_kbytes
echo 100 > /proc/sys/vm/dirty_expire_centisecs
echo 250 > /proc/sys/vm/dirty_writeback_centisecs
echo 0 > /proc/sys/vm/oom_kill_allocating_task
echo 3 > /proc/sys/vm/page-cluster
if [ -e "/sys/module/lowmemorykiller/parameters/enable_adaptive_lmk" ]; then
chmod 666 /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk
chown root /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk
echo 0 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk
fi
if [ -e "/sys/module/lowmemorykiller/parameters/enable_adaptive_lmk" ]; then
echo 0 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk
else
echo ' *Adaptive LMK is not present on your Kernel* '
fi
if [ -e "/sys/module/lowmemorykiller/parameters/minfree" ]; then
echo 23939,44091,58788,73485,88182,102879 > /sys/module/lowmemorykiller/parameters/minfree
else
echo ' *LMK cannot currently be modified on your Kernel* '
fi
echo ·TCP Values
string2=/proc/sys/net/ipv4/tcp_available_congestion_control
if grep 'westwood' $string2; then
echo westwood > /proc/sys/net/ipv4/tcp_congestion_control
else
echo Westwood not avilable, using Cubic
echo cubic > /proc/sys/net/ipv4/tcp_congestion_control
fi
#Tweaking GPU
sleep 0.4
echo GPU Tweaking
echo msm-adreno-tz > /sys/devices/soc/b00000.qcom,kgsl-3d0/devfreq/b00000.qcom,kgsl-3d0/governor
if grep -q 'ro.build.version.sdk=25' /system/build.prop; then
if grep -q 'ro.build.flavor=lineage_oneplus3-userdebug' /system/build.prop; then
echo 510000000 > /sys/class/kgsl/kgsl-3d0/max_gpuclk
else
echo 560000000 > /sys/class/kgsl/kgsl-3d0/max_gpuclk
fi
fi
if grep -q 'ro.build.version.sdk=24' /system/build.prop; then
if grep -q 'ro.build.flavor=lineage_oneplus3-userdebug' /system/build.prop; then
echo 510000000 > /sys/class/kgsl/kgsl-3d0/max_gpuclk
else
echo 560000000 > /sys/class/kgsl/kgsl-3d0/max_gpuclk
fi
fi
if grep -q 'ro.build.version.sdk=23' /system/build.prop; then
if grep -q 'ro.build.flavor=lineage_oneplus3-userdebug' /system/build.prop; then
echo 560000000 > /sys/devices/soc/b00000.qcom,kgsl-3d0/devfreq/b00000.qcom,kgsl-3d0/max_freq
else
echo 560000000 > /sys/devices/soc/b00000.qcom,kgsl-3d0/devfreq/b00000.qcom,kgsl-3d0/max_freq
fi
else
if grep -q 'ro.build.flavor=lineage_oneplus3-userdebug' /system/build.prop; then
echo 510000000 > /sys/devices/soc/b00000.qcom,kgsl-3d0/devfreq/b00000.qcom,kgsl-3d0/max_freq
else
echo 560000000 > /sys/devices/soc/b00000.qcom,kgsl-3d0/devfreq/b00000.qcom,kgsl-3d0/max_freq
fi
fi
sleep 1
echo ------------------------------------------------------------
echo 'Project Zhana v4.3' Successfully Applied!
echo "Project Zhana Battery" > /data/system/current_profile
echo You may now tweak them further
echo using EXKM or Kernel Adiutor
echo ------------------------------------------------------------
echo ""
echo " Done, this will be automatically closed..."
sleep 4
#################################################
#Modded by Asiier
#Please say thanks and give proper credits if you're using this profile.
#Credits
#*soniCron *Alcolawl *RogerF81 *Patalao *Mostafa Wael *Senthil360 and all of those that have share their profiles on Nexus 5X/6P Advanced Interactive Tweaks respective threads.
Important are:
Small Cores Tweaks.
echo 70 480000:65 556800:75 729600:82 960000:86 1036800:2 1228800:99 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads
echo 220000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_slack
echo 307200 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq
echo 100000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate
echo 0 729600:76000 960000:99000 1228800:150000 1478400:170000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay
echo 155 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load
echo 22000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/ignore_hispeed_on_notif
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/boost
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/fast_ramp_down
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/align_windows
echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/boostpulse_duration
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy
if [ -e "/sys/devices/system/cpu/cpu0/cpufreq/interactive/enable_prediction" ]; then
chmod 644 /sys/devices/system/cpu/cpu0/cpufreq/interactive/enable_prediction
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/enable_prediction
fi
Big Cores Tweaks:
echo 65 940800:80 1036800:2 1401600:95 1824000:98 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads
echo 140000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/timer_slack
echo 1401600 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/hispeed_freq
echo 65000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/timer_rate
echo 32000 940800:85000 1248000:96000 1401600:88000 1632000:80000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/above_hispeed_delay
echo 99 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/go_hispeed_load
echo 11000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/min_sample_time
echo 0 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/max_freq_hysteresis
echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/ignore_hispeed_on_notif
echo 0 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/boost
echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/fast_ramp_down
echo 0 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/align_windows
echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/use_migration_notif
echo 0 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/use_sched_load
echo 0 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/boostpulse_duration
echo 0 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/io_is_busy
if [ -e "/sys/devices/system/cpu/cpu2/cpufreq/interactive/enable_prediction" ]; then
chmod 644 /sys/devices/system/cpu/cpu2/cpufreq/interactive/enable_prediction
echo 0 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/enable_prediction
fi
#Enable Input Boost for LITTLE cluster @729MHz and for BIG cluster @729Hz for 100ms
echo Non-Lineage ROM detected
echo Applying appropriate values.
echo Enabling Input Boost at 729 MHz for the LITTLE cluster and at 0 MHz for the BIG Cluster
if [ -e "/sys/module/cpu_boost/parameters/input_boost_freq" ]; then
chmod 644 /sys/module/cpu_boost/parameters/input_boost_freq
echo 0:729600 1:0 2:0 3:0 > /sys/module/cpu_boost/parameters/input_boost_freq
chmod 644 /sys/module/cpu_boost/parameters/input_boost_ms
echo 77 > /sys/module/cpu_boost/parameters/input_boost_ms
else
echo "*Input Boost is not avalible for your Kernel*"
fi
#echo Tweaking HMP Scheduler for correcting BIG Cluster utilization
echo 2 > /proc/sys/kernel/sched_window_stats_policy
echo 85 > /proc/sys/kernel/sched_upmigrate
echo 62 > /proc/sys/kernel/sched_downmigrate
echo 5 > /proc/sys/kernel/sched_spill_nr_run
echo 100 > /proc/sys/kernel/sched_spill_load
echo 30 > /proc/sys/kernel/sched_init_task_load
it prefers Zen, if not available goes to noop or CFQ
Some Memory tweaks..
cho ·Memory Values
echo 0 > /proc/sys/vm/swappiness
echo 100 > /proc/sys/vm/vfs_cache_pressure
echo 80 > /proc/sys/vm/dirty_ratio
echo 20 > /proc/sys/vm/dirty_background_ratio
echo 4096 > /proc/sys/vm/min_free_kbytes
echo 100 > /proc/sys/vm/dirty_expire_centisecs
echo 250 > /proc/sys/vm/dirty_writeback_centisecs
echo 0 > /proc/sys/vm/oom_kill_allocating_task
echo 3 > /proc/sys/vm/page-cluster
tries to set TCP to westwood if not cubic.
echo msm-adreno-tz > /sys/devices/soc/b00000.qcom,kgsl-3d0/devfreq/b00000.qcom,kgsl-3d0/governor
Oh... and the whole zip is made for SDK25 or lower so not really O compatible.
So yeah... you'd better set the values you'd want manually instead of relying on a outdated all in one wonder script.
timbohobbs said:
Are you using stock elemental x settings or other ?
Click to expand...
Click to collapse
Stock
Haldi4803 said:
Important are:
Small Cores Tweaks.
echo 70 480000:65 556800:75 729600:82 960000:86 1036800:2 1228800:99 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads
echo 220000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_slack
echo 307200 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq
echo 100000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate
echo 0 729600:76000 960000:99000 1228800:150000 1478400:170000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay
echo 155 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load
echo 22000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/ignore_hispeed_on_notif
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/boost
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/fast_ramp_down
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/align_windows
echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/boostpulse_duration
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy
if [ -e "/sys/devices/system/cpu/cpu0/cpufreq/interactive/enable_prediction" ]; then
chmod 644 /sys/devices/system/cpu/cpu0/cpufreq/interactive/enable_prediction
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/enable_prediction
fi
Big Cores Tweaks:
echo 65 940800:80 1036800:2 1401600:95 1824000:98 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads
echo 140000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/timer_slack
echo 1401600 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/hispeed_freq
echo 65000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/timer_rate
echo 32000 940800:85000 1248000:96000 1401600:88000 1632000:80000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/above_hispeed_delay
echo 99 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/go_hispeed_load
echo 11000 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/min_sample_time
echo 0 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/max_freq_hysteresis
echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/ignore_hispeed_on_notif
echo 0 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/boost
echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/fast_ramp_down
echo 0 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/align_windows
echo 1 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/use_migration_notif
echo 0 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/use_sched_load
echo 0 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/boostpulse_duration
echo 0 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/io_is_busy
if [ -e "/sys/devices/system/cpu/cpu2/cpufreq/interactive/enable_prediction" ]; then
chmod 644 /sys/devices/system/cpu/cpu2/cpufreq/interactive/enable_prediction
echo 0 > /sys/devices/system/cpu/cpu2/cpufreq/interactive/enable_prediction
fi
#Enable Input Boost for LITTLE cluster @729MHz and for BIG cluster @729Hz for 100ms
echo Non-Lineage ROM detected
echo Applying appropriate values.
echo Enabling Input Boost at 729 MHz for the LITTLE cluster and at 0 MHz for the BIG Cluster
if [ -e "/sys/module/cpu_boost/parameters/input_boost_freq" ]; then
chmod 644 /sys/module/cpu_boost/parameters/input_boost_freq
echo 0:729600 1:0 2:0 3:0 > /sys/module/cpu_boost/parameters/input_boost_freq
chmod 644 /sys/module/cpu_boost/parameters/input_boost_ms
echo 77 > /sys/module/cpu_boost/parameters/input_boost_ms
else
echo "*Input Boost is not avalible for your Kernel*"
fi
#echo Tweaking HMP Scheduler for correcting BIG Cluster utilization
echo 2 > /proc/sys/kernel/sched_window_stats_policy
echo 85 > /proc/sys/kernel/sched_upmigrate
echo 62 > /proc/sys/kernel/sched_downmigrate
echo 5 > /proc/sys/kernel/sched_spill_nr_run
echo 100 > /proc/sys/kernel/sched_spill_load
echo 30 > /proc/sys/kernel/sched_init_task_load
it prefers Zen, if not available goes to noop or CFQ
Some Memory tweaks..
cho ·Memory Values
echo 0 > /proc/sys/vm/swappiness
echo 100 > /proc/sys/vm/vfs_cache_pressure
echo 80 > /proc/sys/vm/dirty_ratio
echo 20 > /proc/sys/vm/dirty_background_ratio
echo 4096 > /proc/sys/vm/min_free_kbytes
echo 100 > /proc/sys/vm/dirty_expire_centisecs
echo 250 > /proc/sys/vm/dirty_writeback_centisecs
echo 0 > /proc/sys/vm/oom_kill_allocating_task
echo 3 > /proc/sys/vm/page-cluster
tries to set TCP to westwood if not cubic.
echo msm-adreno-tz > /sys/devices/soc/b00000.qcom,kgsl-3d0/devfreq/b00000.qcom,kgsl-3d0/governor
Oh... and the whole zip is made for SDK25 or lower so not really O compatible.
So yeah... you'd better set the values you'd want manually instead of relying on a outdated all in one wonder script.
Click to expand...
Click to collapse
That would work if I knew how to set all those values. For me though I do not.
So i was checking this out and in the FAQ thread here: https://forum.xda-developers.com/showpost.php?p=69037152&postcount=3
Near the top it mentions the HTC10 with a link that explains why it doesn't work or doesn't work as well on an HTC device, linked here: https://forum.xda-developers.com/showpost.php?p=70815496&postcount=2864
The long and short of it is I guess HTC uses there own proprietary pnp manager. But it does go on to say that someone else took the work being done with AKT and made a unified kernel tweak, linked here: https://forum.xda-developers.com/htc-10/development/advanced-interactive-governor-tweaks-t3543589 Which i guess works for anything including HTC's stock kernel.
whew........ So i guess my question first of all is are you using AKT, or are you using Soilwork: Unified kernel-tweaks?
I guess the next question is those of us using modded kernel (cleanslate and Elemental X) Do those kernels have HTC's proprietary pnp manager turned on and they are just tweaking it, or do they shut it off completely and go there own route.
If they shut it off completely then it sounds like AKT is the way to go, but if they don't are are just tweaking HTC's pnp manager, it sounds like the Soilwork tweak is the way to go.
BTW i also use Leedoird, but i'm rocking the CleanSlate kernel atm.
Void4ever
void4ever said:
So i was checking this out and in the FAQ thread here: https://forum.xda-developers.com/showpost.php?p=69037152&postcount=3
Near the top it mentions the HTC10 with a link that explains why it doesn't work or doesn't work as well on an HTC device, linked here: https://forum.xda-developers.com/showpost.php?p=70815496&postcount=2864
The long and short of it is I guess HTC uses there own proprietary pnp manager. But it does go on to say that someone else took the work being done with AKT and made a unified kernel tweak, linked here: https://forum.xda-developers.com/htc-10/development/advanced-interactive-governor-tweaks-t3543589 Which i guess works for anything including HTC's stock kernel.
whew........ So i guess my question first of all is are you using AKT, or are you using Soilwork: Unified kernel-tweaks?
I guess the next question is those of us using modded kernel (cleanslate and Elemental X) Do those kernels have HTC's proprietary pnp manager turned on and they are just tweaking it, or do they shut it off completely and go there own route.
If they shut it off completely then it sounds like AKT is the way to go, but if they don't are are just tweaking HTC's pnp manager, it sounds like the Soilwork tweak is the way to go.
BTW i also use Leedoird, but i'm rocking the CleanSlate kernel atm.
Void4ever
Click to expand...
Click to collapse
Using AKT. And enabled through terminal.And no I didn't disable pnp mgr, I'm guessing it overrides it. And soilwork won't flash. Akt is working fine for me no reboots or massive drains or wakelocks.No excessive heat either running cool as a cucumber,so until pnp is updated I chose to use this route. I'm getting better averages than I was on Nougat. 4.5 hrs on screen currently 27% battery remaining and 16 hours off charger. Try it and see what you think.
mattie_49 said:
Using AKT. And enabled through terminal.And no I didn't disable pnp mgr, I'm guessing it overrides it. And soilwork won't flash. Akt is working fine for me no reboots or massive drains or wakelocks.No excessive heat either running cool as a cucumber,so until pnp is updated I chose to use this route. I'm getting better averages than I was on Nougat. 4.5 hrs on screen currently 27% battery remaining and 16 hours off charger. Try it and see what you think.
Click to expand...
Click to collapse
Hi, do you think this would work on Nougat? I have random reboots at 40% battery left.
NickDVS said:
Hi, do you think this would work on Nougat? I have random reboots at 40% battery left.
Click to expand...
Click to collapse
I'm sure. Try and see
I've done all of this before & it only helps slightly. The drain is related to HTC's framework & it's dialer, and the only way to truly stop the drain is to use airplane mode...which kind of defeats the purpose of it being a phone.
This battery issue is non-existent with LineageOS 15.1 & AOSiP 8.1, running on Oreo firmware. Both of those ROMs work fine, but still have bugs: bottom speaker barely works & Bluetooth issues.
mattie_49 said:
Using AKT. And enabled through terminal.And no I didn't disable pnp mgr, I'm guessing it overrides it. And soilwork won't flash. Akt is working fine for me no reboots or massive drains or wakelocks.No excessive heat either running cool as a cucumber,so until pnp is updated I chose to use this route. I'm getting better averages than I was on Nougat. 4.5 hrs on screen currently 27% battery remaining and 16 hours off charger. Try it and see what you think.
Click to expand...
Click to collapse
I am o. Leedroid 5.2 with stock kernel tweaked by leedroid, can I install a stock stock kernel and what rom do you have?
Is this AKT still work after reboot? Or we must re-enable it after reboot?
fresh777 said:
Is this AKT still work after reboot? Or we must re-enable it after reboot?
Click to expand...
Click to collapse
Must use a terminal emulator. Type su enter
Then type AKT then it's self explainable, choose your profile.
mattie_49 said:
Must use a terminal emulator. Type su enter
Then type AKT then it's self explainable, choose your profile.
Click to expand...
Click to collapse
Thanks for the reply. I mean after run AKT from terminal and done. For the next reboot, i must repeat the step or not?
fresh777 said:
Thanks for the reply. I mean after run AKT from terminal and done. For the next reboot, i must repeat the step or not?
Click to expand...
Click to collapse
No. All done till you wanna change profiles if at all. Terminal will tell you what profile is active after AKT enter
mattie_49 said:
No. All done till you wanna change profiles if at all. Terminal will tell you what profile is active after AKT enter
Click to expand...
Click to collapse
Thank you. I just use this in aosip 8.1 rom. Don't see any improvement for battery life. But for hot issue, i didn't got this issue when use AKT.
Ninja X said:
I am o. Leedroid 5.2 with stock kernel tweaked by leedroid, can I install a stock stock kernel and what rom do you have?
Click to expand...
Click to collapse
the stock kernel in leedroid is not tweaked, you either have the actual stock kernel or the cleanslate kernel.
Oooh.