Last active
January 3, 2025 16:41
-
-
Save iGlitch/be70d403ad1cfa42ac7e1d46f1b546db to your computer and use it in GitHub Desktop.
init.d script for Google Pixel for performance and battery tweaks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/system/bin/sh | |
# assuming youu have magisk, put this in /data/adb/service.d/ | |
sleep 22; | |
# Disable sysctl.conf to prevent ROM interference #1 | |
if [ -e /system/etc/sysctl.conf ]; then | |
mount -o remount,rw /system; | |
mv /system/etc/sysctl.conf /system/etc/sysctl.conf.bak; | |
mount -o remount,ro /system; | |
fi; | |
# Filesystem tweaks for better system performance; | |
busybox mount -o remount,nosuid,nodev,noatime,nodiratime -t auto /; | |
busybox mount -o remount,nosuid,nodev,noatime,nodiratime -t auto /proc; | |
busybox mount -o remount,nosuid,nodev,noatime,nodiratime -t auto /sys; | |
busybox mount -o remount,nodev,noatime,nodiratime,barrier=0,noauto_da_alloc,discard -t auto /system; | |
# Disable / stop system logging (logd) daemon; | |
stop logd | |
# Doze setup services (experimental) | |
pm disable com.google.android.gms/.update.SystemUpdateActivity | |
pm disable com.google.android.gms/.update.SystemUpdateService | |
pm disable com.google.android.gms/.update.SystemUpdateService$ActiveReceiver | |
pm disable com.google.android.gms/.update.SystemUpdateService$Receiver | |
pm disable com.google.android.gms/.update.SystemUpdateService$SecretCodeReceiver | |
pm disable com.google.android.gsf/.update.SystemUpdateActivity | |
pm disable com.google.android.gsf/.update.SystemUpdatePanoActivity | |
pm disable com.google.android.gsf/.update.SystemUpdateService | |
pm disable com.google.android.gsf/.update.SystemUpdateService$Receiver | |
pm disable com.google.android.gsf/.update.SystemUpdateService$SecretCodeReceiver | |
pm disable --user 0 com.google.android.gms/.phenotype.service.sync.PhenotypeConfigurator; | |
settings put secure location_providers_allowed ' '; | |
dumpsys deviceidle enable all; | |
dumpsys deviceidle enabled all; | |
#GMS Doze Test | |
# Stop certain services and restart it on boot (experimental) | |
if [ "$(busybox pidof com.qualcomm.qcrilmsgtunnel.QcrilMsgTunnelService | wc -l)" -eq "1" ]; then | |
busybox kill $(busybox com.qualcomm.qcrilmsgtunnel.QcrilMsgTunnelService); | |
fi; | |
if [ "$(busybox pidof com.google.android.gms.mdm.receivers.MdmDeviceAdminReceiver | wc -l)" -eq "1" ]; then | |
busybox kill $(busybox pidof com.google.android.gms.mdm.receivers.MdmDeviceAdminReceiver); | |
fi; | |
if [ "$(busybox pidof com.google.android.gms | wc -l)" -eq "1" ]; then | |
busybox kill $(busybox pidof com.google.android.gms); | |
fi; | |
if [ "$(busybox pidof com.google.android.gms.unstable | wc -l)" -eq "1" ]; then | |
busybox kill $(busybox pidof com.google.android.gms.unstable); | |
fi; | |
if [ "$(busybox pidof com.google.android.gms.persistent | wc -l)" -eq "1" ]; then | |
busybox kill $(busybox pidof com.google.android.gms.persistent); | |
fi; | |
if [ "$(busybox pidof com.google.android.gms.wearable | wc -l)" -eq "1" ]; then | |
busybox kill $(busybox pidof com.google.android.gms.wearable); | |
fi; | |
if [ "$(busybox pidof com.google.android.gms.backup.backupTransportService | wc -l)" -eq "1" ]; then | |
busybox kill $(busybox pidof com.google.android.gms.backup.backupTransportService); | |
fi; | |
if [ "$(busybox pidof com.google.android.gms.lockbox.LockboxService | wc -l)" -eq "1" ]; then | |
busybox kill $(busybox pidof com.google.android.gms.lockbox.LockboxService); | |
fi; | |
if [ "$(busybox pidof com.google.android.gms.auth.setup.devicesignals.LockScreenService | wc -l)" -eq "1" ]; then | |
busybox kill $(busybox pidof com.google.android.gms.auth.setup.devicesignals.LockScreenService); | |
fi; | |
settings put global dropbox_max_files 1; | |
settings put global hide_carrier_network_settings 0; | |
settings put system anr_debugging_mechanism 0; | |
settings put global tether_dun_required 0; | |
# Doze battery life profile; | |
settings delete global device_idle_constants; | |
settings put global device_idle_constants inactive_to=60000,sensing_to=0,locating_to=0,location_accuracy=2000,motion_inactive_to=0,idle_after_inactive_to=0,idle_pending_to=60000,max_idle_pending_to=120000,idle_pending_factor=2.0,idle_to=900000,max_idle_to=21600000,idle_factor=2.0,max_temp_app_whitelist_duration=60000,mms_temp_app_whitelist_duration=30000,sms_temp_app_whitelist_duration=20000,light_after_inactive_to=10000,light_pre_idle_to=60000,light_idle_to=180000,light_idle_factor=2.0,light_max_idle_to=900000,light_idle_maintenance_min_budget=30000,light_idle_maintenance_max_budget=60000; | |
#Enable msm_thermal and core_control | |
echo "Y" > /sys/module/msm_thermal/parameters/enabled | |
echo "1" > /sys/module/msm_thermal/core_control/enabled | |
# A customized CPUSet profile | |
echo "3" > /dev/cpuset/background/cpus | |
echo "1,3" > /dev/cpuset/camera-daemon/cpus | |
echo "0-1" > /dev/cpuset/foreground/cpus | |
echo "2" > /dev/cpuset/kernel/cpus | |
echo "2-3" > /dev/cpuset/restricted/cpus | |
echo "2-3" > /dev/cpuset/system-background/cpus | |
echo "0-3" > /dev/cpuset/top-app/cpus | |
#CPU Governor to schedutil | |
echo "schedutil" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor | |
echo "schedutil" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor | |
echo "schedutil" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor | |
echo "schedutil" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor | |
#Add some freq tweaks | |
echo "777" > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us | |
echo "0" > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/iowait_boost_enable | |
echo "777" > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us | |
#echo "1228800" > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq | |
#echo "1" > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load | |
echo "0" > /sys/devices/system/cpu/cpu0/cpufreq/schedutil/pl | |
#cpu1 | |
echo "777" > /sys/devices/system/cpu/cpu1/cpufreq/schedutil/down_rate_limit_us | |
echo "0" > /sys/devices/system/cpu/cpu1/cpufreq/schedutil/iowait_boost_enable | |
echo "777" > /sys/devices/system/cpu/cpu1/cpufreq/schedutil/up_rate_limit_us | |
#echo "1228800" > /sys/devices/system/cpu/cpu1/cpufreq/schedutil/hispeed_freq | |
#echo "1" > /sys/devices/system/cpu/cpu1/cpufreq/schedutil/hispeed_load | |
echo "0" > /sys/devices/system/cpu/cpu1/cpufreq/schedutil/pl | |
#cpu2 | |
echo "777" > /sys/devices/system/cpu/cpu2/cpufreq/schedutil/down_rate_limit_us | |
echo "0" > /sys/devices/system/cpu/cpu2/cpufreq/schedutil/iowait_boost_enable | |
echo "777" > /sys/devices/system/cpu/cpu2/cpufreq/schedutil/up_rate_limit_us | |
#echo "825600" > /sys/devices/system/cpu/cpu2/cpufreq/schedutil/hispeed_freq | |
#echo "1" > /sys/devices/system/cpu/cpu2/cpufreq/schedutil/hispeed_load | |
echo "0" > /sys/devices/system/cpu/cpu2/cpufreq/schedutil/pl | |
#cpu3 | |
echo "777" > /sys/devices/system/cpu/cpu3/cpufreq/schedutil/down_rate_limit_us | |
echo "0" > /sys/devices/system/cpu/cpu3/cpufreq/schedutil/iowait_boost_enable | |
echo "777" > /sys/devices/system/cpu/cpu3/cpufreq/schedutil/up_rate_limit_us | |
#echo "825600" > /sys/devices/system/cpu/cpu3/cpufreq/schedutil/hispeed_freq | |
#echo "1" > /sys/devices/system/cpu/cpu3/cpufreq/schedutil/hispeed_load | |
echo "0" > /sys/devices/system/cpu/cpu3/cpufreq/schedutil/pl | |
# Disable exception-trace and reduce some overhead that is caused by a certain amount and percent of kernel logging, in case your kernel of choice have it enabled; | |
echo "0" > /proc/sys/debug/exception-trace | |
# FileSystem (FS) optimized tweaks & enhancements for a improved userspace experience; | |
echo "0" > /proc/sys/fs/dir-notify-enable | |
echo "20" > /proc/sys/fs/lease-break-time | |
echo "0" > /proc/sys/kernel/hung_task_timeout_secs | |
# A couple of minor kernel entropy tweaks & enhancements for a slight UI responsivness boost; | |
echo "192" > /proc/sys/kernel/random/read_wakeup_threshold | |
echo "90" > /proc/sys/kernel/random/urandom_min_reseed_secs | |
echo "1792" > /proc/sys/kernel/random/write_wakeup_threshold | |
echo "0" > /sys/module/lpm_levels/parameters/sleep_disabled | |
# Kernel based tweaks that reduces the amount of wasted CPU cycles to maximum and gives back a huge amount of needed performance to both the system and the user; | |
echo "0" > /proc/sys/kernel/compat-log | |
echo "0" > /proc/sys/kernel/panic | |
echo "0" > /proc/sys/kernel/panic_on_oops | |
echo "0" > /proc/sys/kernel/softlockup_panic | |
echo "0" > /proc/sys/kernel/perf_cpu_time_max_percent | |
echo "0" > /proc/sys/kernel/nmi_watchdog | |
echo "5" > /proc/sys/kernel/sched_walt_init_task_load_pct | |
echo "0" > /proc/sys/kernel/sched_tunable_scaling | |
# Fully disable kernel printk console log spamming directly for less amount of useless wakeups (reduces overhead); | |
echo "0 0 0 0" > /proc/sys/kernel/printk | |
# Increase how much CPU bandwidth (CPU time) realtime scheduling processes are given for slightly improved system stability and minimized chance of system freezes & lockups; | |
echo "955000" > /proc/sys/kernel/sched_rt_runtime_us | |
# Network tweaks for slightly reduced battery consumption when being "actively" connected to a network connection; | |
echo "128" > /proc/sys/net/core/netdev_max_backlog | |
echo "0" > /proc/sys/net/core/netdev_tstamp_prequeue | |
echo "24" > /proc/sys/net/ipv4/ipfrag_time | |
echo "westwood" > /proc/sys/net/ipv4/tcp_congestion_control | |
echo "1" > /proc/sys/net/ipv4/tcp_ecn | |
echo "3" > /proc/sys/net/ipv4/tcp_fastopen | |
echo "1" > /proc/sys/net/ipv4/tcp_sack | |
echo "1" > /proc/sys/net/ipv4/tcp_fack | |
echo "0" > /proc/sys/net/ipv4/tcp_delayed_ack | |
echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse | |
echo "1" > /proc/sys/net/ipv4/tcp_dsack | |
echo "0" > /proc/sys/net/ipv4/tcp_fwmark_accept | |
echo "320" > /proc/sys/net/ipv4/tcp_keepalive_intvl | |
echo "21600" > /proc/sys/net/ipv4/tcp_keepalive_time | |
echo "1" > /proc/sys/net/ipv4/tcp_no_metrics_save | |
echo "0" > /proc/sys/net/ipv4/tcp_slow_start_after_idle | |
echo "48" > /proc/sys/net/ipv6/ip6frag_time | |
# Virtual Memory tweaks & enhancements for a massively improved balance between performance and battery life; | |
echo "1" > /proc/sys/vm/drop_caches | |
echo "11" > /proc/sys/vm/dirty_background_ratio | |
echo "400" > /proc/sys/vm/dirty_expire_centisecs | |
echo "0" > /proc/sys/vm/page-cluster | |
echo "20" > /proc/sys/vm/dirty_ratio | |
echo "0" > /proc/sys/vm/laptop_mode | |
echo "0" > /proc/sys/vm/block_dump | |
echo "1" > /proc/sys/vm/compact_memory | |
echo "3000" > /proc/sys/vm/dirty_writeback_centisecs | |
echo "0" > /proc/sys/vm/oom_dump_tasks | |
echo "0" > /proc/sys/vm/oom_kill_allocating_task | |
echo "1103" > /proc/sys/vm/stat_interval | |
echo "0" > /proc/sys/vm/panic_on_oom | |
echo "30" > /proc/sys/vm/swappiness | |
echo "94" > /proc/sys/vm/vfs_cache_pressure | |
echo '50' > /proc/sys/vm/overcommit_ratio | |
echo '24300' > /proc/sys/vm/extra_free_kbytes | |
echo '64' > /proc/sys/kernel/random/read_wakeup_threshold | |
echo '128' > /proc/sys/kernel/random/write_wakeup_threshold | |
#echo '0' > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk | |
echo '21816,29088,36360,43632,50904,65448' > /sys/module/lowmemorykiller/parameters/minfree | |
if [ -e "/sys/module/lowmemorykiller/parameters/oom_reaper" ]; then | |
echo "1" > /sys/module/lowmemorykiller/parameters/oom_reaper | |
fi; | |
echo "0" > /d/tracing/tracing_on; | |
echo "0" > /sys/module/rmnet_data/parameters/rmnet_data_log_level; | |
if [ -e /sys/kernel/debug/kgsl/kgsl-3d0/log_level_cmd ];then | |
echo "0" > /sys/kernel/debug/kgsl/kgsl-3d0/log_level_cmd; | |
echo "0" > /sys/kernel/debug/kgsl/kgsl-3d0/log_level_ctxt; | |
echo "0" > /sys/kernel/debug/kgsl/kgsl-3d0/log_level_drv; | |
echo "0" > /sys/kernel/debug/kgsl/kgsl-3d0/log_level_mem; | |
echo "0" > /sys/kernel/debug/kgsl/kgsl-3d0/log_level_pwr; | |
fi; | |
# Turn off a few additional kernel debuggers and what not for gaining a slight boost in both performance and battery life; | |
echo "Y" > /sys/module/bluetooth/parameters/disable_ertm | |
echo "Y" > /sys/module/bluetooth/parameters/disable_esco | |
echo "0" > /sys/module/dwc3/parameters/ep_addr_rxdbg_mask | |
echo "0" > /sys/module/dwc3/parameters/ep_addr_txdbg_mask | |
echo "0" > /sys/module/dwc3_msm/parameters/disable_host_mode | |
echo "0" > /sys/module/hid_apple/parameters/fnmode | |
echo "0" > /sys/module/hid/parameters/ignore_special_drivers | |
echo "N" > /sys/module/hid_magicmouse/parameters/emulate_3button | |
echo "N" > /sys/module/hid_magicmouse/parameters/emulate_scroll_wheel | |
echo "0" > /sys/module/hid_magicmouse/parameters/scroll_speed | |
echo "Y" > /sys/module/mdss_fb/parameters/backlight_dimmer | |
#echo "N" > /sys/module/otg_wakelock/parameters/enabled | |
echo "Y" > /sys/module/workqueue/parameters/power_efficient | |
echo "N" > /sys/module/sync/parameters/fsync_enabled | |
#echo "0" > /sys/module/wakelock/parameters/debug_mask | |
#echo "0" > /sys/module/userwakelock/parameters/debug_mask | |
echo "0" > /sys/module/binder/parameters/debug_mask | |
echo "0" > /sys/module/debug/parameters/enable_event_log | |
echo "0" > /sys/module/glink/parameters/debug_mask | |
echo "N" > /sys/module/ip6_tunnel/parameters/log_ecn_error | |
echo "0" /sys/module/subsystem_restart/parameters/enable_ramdumps | |
echo "0" > /sys/module/lowmemorykiller/parameters/debug_level | |
echo "0" > /sys/module/msm_show_resume_irq/parameters/debug_mask | |
echo "0" > /sys/module/msm_smd_pkt/parameters/debug_mask | |
echo "N" > /sys/module/sit/parameters/log_ecn_error | |
echo "0" > /sys/module/smp2p/parameters/debug_mask | |
echo "0" > /sys/module/usb_bam/parameters/enable_event_log | |
echo "Y" > /sys/module/printk/parameters/console_suspend | |
echo "N" > /sys/module/printk/parameters/cpu | |
echo "Y" > /sys/module/printk/parameters/ignore_loglevel | |
echo "N" > /sys/module/printk/parameters/pid | |
echo "N" > /sys/module/printk/parameters/time | |
echo "0" > /sys/module/service_locator/parameters/enable | |
echo "1" > /sys/module/subsystem_restart/parameters/disable_restart_work | |
for i in $(find /sys/ -name debug_mask); do | |
echo "0" > $i; | |
done | |
for i in $(find /sys/ -name debug_level); do | |
echo "0" > $i; | |
done | |
for i in $(find /sys/ -name edac_mc_log_ce); do | |
echo "0" > $i; | |
done | |
for i in $(find /sys/ -name edac_mc_log_ue); do | |
echo "0" > $i; | |
done | |
for i in $(find /sys/ -name enable_event_log); do | |
echo "0" > $i; | |
done | |
for i in $(find /sys/ -name log_ecn_error); do | |
echo "0" > $i; | |
done | |
for i in $(find /sys/ -name snapshot_crashdumper); do | |
echo "0" > $i; | |
done | |
# Enable CFQ group idle mode for improved scheduling effectivness by merging the IO queues in a "unified group" instead of treating them as individual IO based queues; | |
for i in /sys/devices/virtual/block/*/queue/iosched; do | |
echo "1" > $i/group_idle; | |
done; | |
# Disable CFQ low latency mode for overall increased IO based scheduling throughput and for better overall needed responsivness & performance from the system; | |
for i in /sys/devices/virtual/block/*/queue/iosched; do | |
echo "0" > $i/low_latency; | |
done; | |
# Disable gesture based vibration because it is honestly not even worth having enabled at all; | |
echo "0" > /sys/android_touch/vib_strength | |
# Wide block based tuning for reduced lag and less possible amount of general IO scheduling based overhead | |
#for i in /sys/devices/virtual/block/*/queue; do | |
# echo "0" > $i/add_random; | |
# echo "0" > $i/discard_max_bytes; | |
# echo "0" > $i/io_poll; | |
# echo "0" > $i/iostats; | |
# echo "0" > $i/nomerges; | |
# echo "32" > $i/nr_requests; | |
# echo "0" > $i/rotational; | |
# echo "1" > $i/rq_affinity; | |
#done; | |
for g in /sys/block/*/queue;do | |
echo "0" > "${g}"/add_random; | |
echo "0" > "${g}"/iostats; | |
echo "2" > "${g}"/nomerges; | |
echo "0" > "${g}"/rotational; | |
echo "1" > "${g}"/rq_affinity; | |
echo "0" > "${g}"/iosched/slice_idle; | |
echo "0" > "${g}"/iosched/low_latency; | |
done; | |
if [ -d /dev/stune ];then | |
echo "-12" > /dev/stune/background/schedtune.boost; | |
STN=$($B cat /dev/stune/top-app/schedtune.boost); | |
echo "$((STN+1))" > /dev/stune/top-app/schedtune.boost | |
fi; | |
# Optimize the Adreno 530 GPU into delivering better overall graphical rendering performance, but do it with "respect" to battery life as well as power consumption as far as possible with less amount of possible tradeoffs; (Commented out because adrenoidler/boost is in the kernel already) | |
echo "0" > /sys/class/kgsl/kgsl-3d0/bus_split | |
echo "72" > /sys/class/kgsl/kgsl-3d0/deep_nap_timer | |
echo "1" > /sys/class/kgsl/kgsl-3d0/force_bus_on | |
echo "1" > /sys/class/kgsl/kgsl-3d0/force_clk_on | |
echo "1" > /sys/class/kgsl/kgsl-3d0/force_rail_on | |
#echo "Y" > /sys/module/adreno_idler/parameters/adreno_idler_active | |
echo "7500" > /sys/module/adreno_idler/parameters/adreno_idler_idleworkload | |
#echo "40" > /sys/module/adreno_idler/parameters/adreno_idler_downdifferential | |
#echo "24" > /sys/module/adreno_idler/parameters/adreno_idler_idlewait | |
# Disable GPU frequency based throttling; | |
echo "0" > /sys/class/kgsl/kgsl-3d0/throttling | |
#1028 readahead KB for sde and sdf io scheds | |
echo "1028" > /sys/block/sde/queue/read_ahead_kb | |
echo "1028" > /sys/block/sdf/queue/read_ahead_kb | |
# Decrease both battery as well as power consumption that is being caused by the screen by lowering how much light the pixels, the built-in LED switches and the LCD backlight module is releasing & "kicking out" by carefully tuning / adjusting their maximum values a little bit to the balanced overall range of their respective spectrums; | |
echo "175" > /sys/class/leds/blue/max_brightness | |
echo "175" > /sys/class/leds/green/max_brightness | |
echo "175" > /sys/class/leds/lcd-backlight/max_brightness | |
echo "175" > /sys/class/leds/led:switch/max_brightness | |
echo "175" > /sys/class/leds/red/max_brightness | |
if [ -e "/sys/module/xhci_hcd/parameters/wl_divide" ]; then | |
echo "N" > /sys/module/xhci_hcd/parameters/wl_divide | |
fi | |
# Enable a tuned Boeffla wakelock blocker at boot for both better active & idle battery life; | |
#echo "enable_wlan_ws;enable_wlan_wow_wl_ws;enable_wlan_extscan_wl_ws;enable_timerfd_ws;enable_qcom_rx_wakelock_ws;enable_netmgr_wl_ws;enable_netlink_ws;enable_ipa_ws;tftp_server_wakelock;" > /sys/class/misc/boeffla_wakelock_blocker/wakelock_blocker | |
echo "wlan_pno_wl;wlan_ipa;wcnss_filter_lock;[timerfd];hal_bluetooth_lock;IPA_WS;sensor_ind;wlan;netmgr_wl;qcom_rx_wakelock;SensorService_wakelock;tftp_server_wakelock;wlan_wow_wl;wlan_extscan_wl;" > /sys/class/misc/boeffla_wakelock_blocker/wakelock_blocker | |
# Tweak and decrease tx_queue_len default stock value(s) for less amount of generated bufferbloat and for gaining slightly faster network speed and performance; | |
for i in $(find /sys/class/net -type l); do | |
echo "128" > $i/tx_queue_len; | |
done; | |
echo "2" > /sys/module/tcp_cubic/parameters/hystart_detect; | |
#data connections and network buffer optimizations | |
setprop net.tcp.buffersize.hsdpa 4096,32768,65536,4096,32768,65536; | |
setprop net.tcp.buffersize.hspa 4096,32768,65536,4096,32768,65536; | |
setprop net.tcp.buffersize.hspap 4096,32768,65536,4096,32768,65536; | |
setprop net.tcp.buffersize.hsupa 4096,32768,65536,4096,32768,65536; | |
setprop net.tcp.buffersize.umts 4095,87380,110208,4096,32768,110208; | |
setprop net.tcp.buffersize.default 4094,87380,1220608,4096,32768,1220608; | |
setprop net.tcp.buffersize.edge 4093,26280,35040,4096,16384,35040; | |
setprop net.tcp.buffersize.evdo 4093,26280,35040,4096,16384,35040; | |
setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680; | |
setprop net.tcp.buffersize.wifi 4094,87380,1220608,4096,32768,1220608; | |
# Tweak the kernel task scheduler for improved overall system performance and user interface responsivness during all kind of possible workload based scenarios; | |
echo "NO_GENTLE_FAIR_SLEEPERS" > /sys/kernel/debug/sched_features | |
echo "NO_HRTICK" > /sys/kernel/debug/sched_features | |
echo "NO_DOUBLE_TICK" > /sys/kernel/debug/sched_features | |
echo "NO_RT_RUNTIME_SHARE" > /sys/kernel/debug/sched_features | |
echo "NEXT_BUDDY" > /sys/kernel/debug/sched_features | |
echo "NO_TTWU_QUEUE" > /sys/kernel/debug/sched_features | |
echo "UTIL_EST" > /sys/kernel/debug/sched_features | |
echo "ARCH_CAPACITY" > /sys/kernel/debug/sched_features | |
echo "ARCH_POWER" > /sys/kernel/debug/sched_features | |
echo "ENERGY_AWARE" > /sys/kernel/debug/sched_features | |
# Enable Fast Charge for slightly faster battery charging when being connected to a USB 3.1 port | |
echo "1" > /sys/kernel/fast_charge/force_fast_charge | |
# Disable in-kernel wake & sleep gestures for battery saving reasons; | |
echo "0" > /sys/android_touch/doubletap2wake | |
echo "0" > /sys/android_touch/sweep2sleep | |
echo "0" > /sys/android_touch/sweep2wake | |
# A miscellaneous pm_async tweak that increases the amount of time (in milliseconds) before user processes & kernel threads are being frozen & "put to sleep"; | |
echo "25000" > /sys/power/pm_freeze_timeout | |
#Enable audio high performance mode by default | |
echo "1" > /sys/module/snd_soc_wcd9330/parameters/high_perf_mode | |
#clean shit | |
rm -Rf /cache/*.apk; | |
rm -f /data/*.log; | |
rm -f /data/*.txt; | |
rm -f /data/anr/*; | |
rm -f /data/backup/pending/*.tmp; | |
rm -f /data/cache/*.*; | |
rm -f /data/data/*.log; | |
rm -f /data/data/*.txt; | |
rm -f /data/log/*.log; | |
rm -f /data/log/*.txt; | |
rm -f /data/local/*.apk; | |
rm -f /data/local/*.log; | |
rm -f /data/local/*.txt; | |
rm -f /data/local/tmp/*; | |
rm -f /data/last_alog/*.log; | |
rm -f /data/last_alog/*.txt; | |
rm -f /data/last_kmsg/*.log; | |
rm -f /data/last_kmsg/*.txt; | |
rm -f /data/mlog/*; | |
rm -f /data/system/*.log; | |
rm -f /data/system/*.txt; | |
rm -f /data/system/dropbox/*; | |
rm -Rf /data/system/usagestats/*; | |
rm -f /data/system/shared_prefs/*; | |
rm -f /data/tombstones/*; | |
rm -Rf /sdcard/LOST.DIR; | |
rm -Rf /sdcard/found000; | |
rm -Rf /sdcard/LazyList; | |
rm -Rf /sdcard/albumthumbs; | |
rm -Rf /sdcard/kunlun; | |
rm -Rf /sdcard/.CacheOfEUI; | |
rm -Rf /sdcard/.bstats; | |
rm -Rf /sdcard/.taobao; | |
rm -Rf /sdcard/Backucup; | |
rm -Rf /sdcard/MIUI/debug_log; | |
rm -Rf /sdcard/wlan_logs; | |
rm -Rf /sdcard/ramdump; | |
rm -Rf /sdcard/UnityAdsVideoCache; | |
rm -f /sdcard/*.log; | |
rm -f /sdcard/*.CHK; | |
sleep 5; | |
fstrim -v /data; | |
fstrim -v /system; | |
fstrim -v /cache; | |
fstrim -v /vendor; | |
fstrim -v /product; | |
sleep 7; | |
# Push a semi-needed log to the internal storage with a "report" if the script could be executed or not; | |
# Script log file location | |
LOG_FILE=/storage/emulated/0/logs | |
echo $(date) > /storage/emulated/0/logs/script.log | |
if [ $? -eq 0 ] | |
then | |
echo "Script executed. Enjoy!" >> /storage/emulated/0/logs/script.log | |
exit 0 | |
else | |
echo "Script failed!" >> /storage/emulated/0/logs/script.log | |
exit 1 | |
fi | |
# Done! |
Will use these help me save battery without any trouble?
echo "0" > /proc/sys/kernel/sched_schedstats
echo "off" > /proc/sys/kernel/printk_devkmsg
echo "0 0 0 0" > /proc/sys/kernel/printk
Regarding your doze profile.. Are you trying to disable motion sensor? If yes then this not going to work
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hi,
Thanks for awesome tweaks, can u also pls share optimal values of below for Octacore phone with 4 gm ram running android 9:
tcp_max_syn_backlog
tcp_max_tw_buckets
udp_rmem_min
udp_wmem_min
tcp_mem
udp_mem
tcp_rmem
tcp_wmem
somaxconn
netdev_max_backlog
optmem_max
rmem_default
rmem_max
wmem_default
wmem_max
Good day...