MODDIR="${0%/*}"
MODNAME="${MODDIR##*/}"
MAGISKTMP="$(magisk --path)" || MAGISKTMP=/sbin

while [ "$(getprop sys.boot_completed)" != "1" ]; do
	sleep 1
done
(while :
do
    sf=$(service list | grep -c "SurfaceFlinger")

    if [ "$sf" -eq 1 ]
    then
        service call SurfaceFlinger 1008 i32 1
        break
    else
        sleep 2
    fi
done
) &
SET_TRIP_POINT_TEMP_MAX=205000
for THERMAL_ZONE in $(ls /sys/class/thermal/thermal_zone*/type); do
	if cat "$THERMAL_ZONE" | grep -E "gpu|ddr" >/dev/null; then
		for TRIP_POINT_TEMP in $(ls "${THERMAL_ZONE%/*}"/trip_point_*_temp); do
			if [ "$(cat "$TRIP_POINT_TEMP")" -lt "$SET_TRIP_POINT_TEMP_MAX" ]; then
				echo "$SET_TRIP_POINT_TEMP_MAX" > "$TRIP_POINT_TEMP"
			fi
		done
	fi
done
UINT_MAX="4294967295"
SCHED_PERIOD="$((5 * 1000 * 1000))"
SCHED_TASKS="10"
write() {
	[[ ! -f "$1" ]] && return 1
	chmod +w "$1" 2> /dev/null
	if ! echo "$2" > "$1" 2> /dev/null
	then
		echo "Failed: $1 → $2"
		return 1
	fi
}

sync
sleep 1
grep -q android /proc/cmdline && ANDROID=true

write /sys/kernel/tracing/tracing_on 0

echo "0" > "/proc/sys/kernel/sched_schedstats"
echo "0" > /sys/module/binder/parameters/debug_mask
echo "0" > /sys/module/debug/parameters/enable_event_log
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/glink/parameters/debug_mask
echo "0" > /sys/module/msm_show_resume_irq/parameters/debug_mask
echo "0" > /sys/module/msm_smd_pkt/parameters/debug_mask
echo "0" > /sys/module/smp2p/parameters/debug_mask
echo "0" > /sys/module/usb_bam/parameters/enable_event_log
echo "0" > /sys/module/userwakelock/parameters/debug_mask
echo "0" > /sys/module/wakelock/parameters/debug_mask
echo "1" > /sys/module/subsystem_restart/parameters/disable_restart_work
echo "N" > /sys/module/ip6_tunnel/parameters/log_ecn_error
echo "N" > /sys/module/sit/parameters/log_ecn_error
echo "Y" > /sys/module/bluetooth/parameters/disable_ertm
echo "Y" > /sys/module/bluetooth/parameters/disable_esco

su -c "stop cnss_diag"
su -c "stop idd-logreader"
su -c "stop idd-logreadermain"
su -c "stop perfd"
su -c "stop statscompanion"
su -c "stop statsd"
su -c "stop tcpdump"
su -c "stop traced"

su -c "cmd package bg-dexopt-job"

for parameters in /sys/module/mmc_core/parameters; do
    write $parameters/use_spi_crc 0
    write $parameters/removable N
    write $parameters/crc N
done
for virtual_memory in /proc/sys/vm; do
    write $virtual_memory/stat_interval 20
    write $virtual_memory/vfs_cache_pressure 60
    write $virtual_memory/watermark_scale_factor 32
    write $virtual_memory/extfrag_threshold 750
    write $virtual_memory/oom_kill_allocating_task 0
    write $virtual_memory/oom_dump_tasks 0
    write $virtual_memory/reap_mem_on_sigkill 0
    write $virtual_memory/page-cluster 0
    write $virtual_memory/dirty_expire_centisecs 2000
    write $virtual_memory/dirty_writeback_centisecs 3000
    write $virtual_memory/block_dump 0
    write $virtual_memory/overcommit_ratio 50
    write $virtual_memory/extra_free_kbytes 24300
done

echo "128" > "/proc/sys/kernel/random/write_wakeup_threshold"
echo "64" > "/proc/sys/kernel/random/read_wakeup_threshold"
echo "N" > /sys/module/printk/parameters/cpu
echo "N" > /sys/module/printk/parameters/pid
echo "N" > /sys/module/printk/parameters/time
echo "Y" > /sys/module/printk/parameters/console_suspend
echo "Y" > /sys/module/printk/parameters/ignore_loglevel

write "/proc/sys/kernel/printk" 0 0 0 0
write "/proc/sys/kernel/printk_devkmsg" off
write /sys/kernel/printk_mode/printk_mode 0
write /sys/module/ip6_tunnel/parameters/log_ecn_error 0
write /sys/module/msm_performance/parameters/touchboost 0
write /sys/module/msm_show_resume_irq/parameters/debug_mask 0
write /sys/module/rmnet_data/parameters/rmnet_data_log_level 0
write /sys/module/rpm_smd/parameters/debug_mask 0
write /sys/module/subsystem_restart/parameters/enable_mini_ramdumps 0
write /sys/module/subsystem_restart/parameters/enable_ramdumps 0
write /sys/power/pnpmgr/touch_boost 0

for parameters in /sys/module/lowmemorykiller/parameters; do
    write $parameters/debug_level 0
done
for parameters in /sys/module/lpm_levels/parameters; do
    write $parameters/lpm_prediction 0
    write $parameters/lpm_ipi_prediction 0
done
for fs in /proc/sys/fs; do
    write $fs/dir-notify-enable 0
    write $fs/lease-break-time 20
    write $fs/by-name/userdata/iostat_enable 0
done
for queue in /sys/block/*/queue; do
    write "$queue"/scheduler kyber
    write "$queue"/iostats 0
    write "$queue"/read_ahead_kb 128
    write "$queue"/add_random 0
    write "$queue"/nomerges 0
    write "$queue"/nr_requests 256
    write "$queue"/rq_affinity 1
    write "$queue"/iosched/back_seek_penalty 1
done

echo "$setiosched" > /sys/block/mmcblk0/queue/scheduler
echo "$setiosched" > /sys/block/mmcblk0rpmb/queue/scheduler
echo "$setiosched" > /sys/block/mmcblk1/queue/scheduler
echo "0" > /dev/blkio/background/blkio.group_idle
echo "1000" > /dev/blkio/blkio.weight
echo "200" > /dev/blkio/background/blkio.weight
echo "2000" > /dev/blkio/blkio.group_idle

for gpu in /sys/class/kgsl/kgsl-3d0; do
    write $gpu/snapshot/snapshot_crashdumper 0
    write $gpu/adrenoboost 0
    write $gpu/devfreq/adrenoboost 0
    write $gpu/adreno_idler_active N
done
for cpu in /sys/devices/system/cpu/*/cpufreq/performance; do
    write "$cpu"/down_rate_limit_us 20000
    write "$cpu"/up_rate_limit_us 500
    write "$cpu"/hispeed_load 100
    write "$cpu"/pl 1
    write "$cpu"/iowait_boost_enable 0
done
for performance in /sys/devices/system/cpu/cpufreq/performance; do
    write $performance/down_rate_limit_us 20000
    write $performance/up_rate_limit_us 500
    write $performance/hispeed_load 100
    write $performance/pl 1
    write $performance/iowait_boost_enable 0
done

echo "ARCH_CAPACITY" > /sys/kernel/debug/sched_features
echo "ARCH_POWER" > /sys/kernel/debug/sched_features
echo "ENERGY_AWARE" > /sys/kernel/debug/sched_features
echo "NEXT_BUDDY" > /sys/kernel/debug/sched_features
echo "NO_DOUBLE_TICK" > /sys/kernel/debug/sched_features
echo "NO_GENTLE_FAIR_SLEEPERS" > /sys/kernel/debug/sched_features
echo "NO_HRTICK" > /sys/kernel/debug/sched_features
echo "NO_RT_RUNTIME_SHARE" > /sys/kernel/debug/sched_features
echo "NO_TTWU_QUEUE" > /sys/kernel/debug/sched_features
echo "UTIL_EST" > /sys/kernel/debug/sched_features

echo "1" > "/proc/sys/kernel/timer_migration"
for ipv4 in /proc/sys/net/ipv4; do
    write $ipv4/tcp_fastopen 3
    write $ipv4/tcp_ecn 1
    write $ipv4/tcp_syncookies 0
done

echo "0" > "/proc/sys/net/ipv4/tcp_timestamps"
echo "1" > "/proc/sys/net/ipv4/tcp_sack"
echo "1" > "/proc/sys/net/ipv4/tcp_tw_reuse"
echo "4096,16384,404480" > "/proc/sys/net/ipv4/tcp_wmem"
echo "4096,87380,404480" > "/proc/sys/net/ipv4/tcp_rmem"
echo "$settcpcong" > "/proc/sys/net/ipv4/tcp_congestion_control"

write "/proc/sys/kernel/perf_cpu_time_max_percent" 4
write "/proc/sys/kernel/sched_autogroup_enabled" 1
write "/proc/sys/kernel/sched_child_runs_first" 0
write "/proc/sys/kernel/sched_latency_ns" "$SCHED_PERIOD"
write "/proc/sys/kernel/sched_migration_cost_ns" 5000000
write "/proc/sys/kernel/sched_min_granularity_ns" "$((SCHED_PERIOD / SCHED_TASKS))"
write "/proc/sys/kernel/sched_min_task_util_for_colocation" 0
write "/proc/sys/kernel/sched_nr_migrate" 128
write "/proc/sys/kernel/sched_tunable_scaling" 0
write "/proc/sys/kernel/sched_wakeup_granularity_ns" "$((SCHED_PERIOD / 2))"
write "/proc/sys/vm/dirty_background_ratio" 15
write "/proc/sys/vm/dirty_ratio" 30
write "/proc/sys/vm/swappiness" 100
write /sys/module/workqueue/parameters/power_efficient "Y"

echo "3" > "/proc/sys/vm/drop_caches"
if [[ -f "/sys/kernel/debug/sched_features" ]]
then
	write /sys/kernel/debug/sched_features NEXT_BUDDY
	write /sys/kernel/debug/sched_features TTWU_QUEUE
fi
for cpu in /sys/devices/system/cpu/cpu*/cpufreq
do
	avail_govs="$(cat "$cpu/scaling_available_governors")"
	for governor in performance performance
	do
		if [[ "$avail_govs" == *"$governor"* ]]
		then
			write "$cpu/scaling_governor" "$governor"
			break
		fi
	done
done
find /sys/devices/system/cpu/ -name performance -type d | while IFS= read -r governor
do
	write "$governor/up_rate_limit_us" "$((SCHED_PERIOD / 1000))"
	write "$governor/down_rate_limit_us" "$((4 * SCHED_PERIOD / 1000))"
	write "$governor/rate_limit_us" "$((SCHED_PERIOD / 1000))"
	write "$governor/hispeed_load" 100
done

write "/proc/sys/kernel/sched_lib_name" "com.garena.game., com.garena., com.activision., com.miHoYo., com.riotgames., com.riotgames.league., com.mobile., com.mobile.legends, com.epicgames, UnityMain, libunity.so, libil2ccp.so, libmain.so, libcri_vip_unity.so, libopus.so, libxlua.so, libUE4.so, libAsphalt9.so, libnative-lib.so, libRiotGamesApi.so, libResources.so, libagame.so, libapp.so, libflutter.so, libMSDKCore.so, libFIFAMobileNeon.so, libUnreal.so, libEOSSDK.so, libcocos2dcpp.so"
write "/proc/sys/kernel/sched_lib_mask_force" 255

rm -rf /storage/emulated/0/Android/data/com.ss.android.ugc.trill/*
rm -rf /storage/emulated/0/Android/data/com.zhiliaoapp.musically/*
rm -rf /cache/*
rm -rf /data/cache/*

for prefix in system vendor system_ext product oem odm vendor_dlkm odm_dlkm; do
    check_resetprop ro.${prefix}.build.type user
    check_resetprop ro.${prefix}.build.tags release-keys
done
if [[ "$(resetprop -v ro.product.first_api_level)" -ge 33 ]] && [[ "$(resetprop -v ro.board.first_api_level)" -ge 33 ]]; then
    resetprop -v -n ro.product.first_api_level 32
    resetprop -v -n ro.board.first_api_level 32
fi

resetprop -n dalvik.vm.dex2oat-Xms 64m
resetprop -n dalvik.vm.dex2oat-Xmx 512m
resetprop -n dalvik.vm.dexopt-flags v=n,o=v
resetprop -n dalvik.vm.dexopt-flags v=n,o=v
resetprop -n dalvik.vm.execution-mode int:fast
resetprop -n dalvik.vm.heapgrowthlimit 192m
resetprop -n dalvik.vm.heapmaxfree 8m
resetprop -n dalvik.vm.heapsize 512m
resetprop -n dalvik.vm.heapsize 512m
resetprop -n dalvik.vm.heapstartsize 8m
resetprop -n dalvik.vm.heaptargetutilization 0.75
resetprop -n dalvik.vm.image-dex2oat-Xms 64m
resetprop -n dalvik.vm.image-dex2oat-Xmx 512m
resetprop -n pm.dexopt.bg-dexopt false
resetprop -n pm.dexopt.boot-dexopt false

.base-release.sh

sync
sleep 20
su -lp 2000 -c "cmd notification post -S bigtext -t 'Implementation Of Performance (𝗜𝗢𝗣)' 'Tag' 'Successfully executed script at startup!'"
sleep 20

exit 0

 

Online Bash Shell

Write, Run & Share Bash code online using OneCompiler's Online Bash Shell for free. It's one of the robust, feature-rich Bash shell available over online and getting started with the OneCompiler's Bash Shell is simple and pretty fast. The editor shows sample boilerplate code when you choose language as Bash. OneCompiler also has reference scripts, where you can look for the sample scripts and start coding.

About Bash

Bash (Bourne Again Shell) is a shell program written by Brian Fox and is an upgraded version of Bourne Shell program 'sh'.

Features

  • Open source GNU project
  • Read and execute the commands from a Shell Script
  • Can be invoked by either single-character command line options (-a, -b, -c, -i, -l, -r, etc. ) or by multi-character command line options also like --help, --debugger,--login, etc.
  • Consists of Key bindings
  • Available in restricted mode for the environment security
  • Contains one-dimensional arrays to manipulate the lists of data.

Syntax help

Variables

name="Foo"
echo $name
echo "$name"
echo "${name}"

Conditional Statements

If

if [ conditional-expression ]  
then  
statements  
fi  

If-else

if [ conditional-expression ]  
then  
   statements  
else  
  statements
fi  

Else-If

if [ conditional-expression ]  
then  
   statements  
elif [ conditional-expression ]  
then  
 statements  
else  
  statements
fi