[Xperia Arc Android Development] XtremeSilencer:
Original Thread: http://xdaforums.com/showthread.php?t=1709836

I've been collecting some tweaks and scripts and seems to me it's now time to share it. While some values in terms of optimization might be different from device to device, I've found these pretty consistent throughout many.

I didn't tested all of them, and i don't assume any risk!!! Use them at you own risk!!!

Some useful tips on how to use them at the end of the post

This thread will be updated when new/better things come out

Superuser, Busybox install/update

1. Easily install Busybox (YOU NEED ROOT FIRST)

Code:

https://play.google.com/store/apps/...DEsImNvbS5qcnVtbXkuYnVzeWJveC5pbnN0YWxsZXIiXQ..

2. UPDATE SuperUser (root app)

Code:

http://goo.im/superuser/

Build.prop

(edit your /system/build.prop with a file manager with root access)

Careful for already existing settings. In this case, just change the values.

1. Force launcher into memory

Code:

ro.HOME_APP_ADJ=1

2. Raise JPG quality to 100%

Code:

ro.media.enc.jpeg.quality=100

3. VM Heapsize; higher the RAM, higher the hp can be

Code:

dalvik.vm.heapsize=96m

4. Render UI with GPU

Code:

debug.sf.hw=1

5. Decrease dialing out delay

Code:

ro.telephony.call_ring.delay=0

6. Helps scrolling responsiveness

Code:

windowsmgr.max_events_per_sec=150

7. Save battery

Code:

wifi.supplicant_scan_interval=180

pm.sleep_mode=1

ro.ril.disable.power.collapse=0

8. Disable debugging notify icon on statusbar

Code:

persist.adb.notify=0

9. Increase overall touch responsiveness

Code:

debug.performance.tuning=1

video.accelerate.hw=1

10. Raise photo and video recording quality

Code:

ro.media.dec.jpeg.memcap=12000000

ro.media.enc.hprof.vid.bps=12000000

11. Signal (3G) tweaks

Code:

ro.ril.hsxpa=2

ro.ril.gprsclass=10

ro.ril.hep=1

ro.ril.enable.dtm=1

ro.ril.hsdpa.category=10

ro.ril.enable.a53=1

ro.ril.enable.3g.prefix=1

ro.ril.htcmaskw1.bitmask=4294967295

ro.ril.htcmaskw1=14449

ro.ril.hsupa.category=5

12. Net speed tweaks

Code:

net.tcp.buffersize.default=4096,87380,256960,4096,16384,256960

net.tcp.buffersize.wifi=4096,87380,256960,4096,16384,256960

net.tcp.buffersize.umts=4096,87380,256960,4096,16384,256960

net.tcp.buffersize.gprs=4096,87380,256960,4096,16384,256960

net.tcp.buffersize.edge=4096,87380,256960,4096,16384,256960

13. Disable blackscreen issue after a call

Code:

ro.lge.proximity.delay=25

mot.proximity.delay=25

14. Fix some application issues

Code:

ro.kernel.android.checkjni=0

15. Phone will not wake up from hitting the volume rocker

Code:

ro.config.hwfeature_wakeupkey=0

16. Force button lights on when screen is on

Code:

ro.mot.buttonlight.timeout=0

17. Disable boot animation for faster boot

Code:

debug.sf.nobootanimation=1

18. Miscellaneous flags

Code:

ro.config.hw_menu_unlockscreen=false

persist.sys.use_dithering=0

persist.sys.purgeable_assets=1

dalvik.vm.dexopt-flags=m=y

ro.mot.eri.losalert.delay=1000

19. Specifics to some LG devices

Code:

persist.service.pcsync.enable=0

persist.service.lgospd.enable=0

user.feature.flex=true

user.feature.lgdrm=false

user.feature.lgresource=false

user.feature.lgpoweroff=false

user.feature.ls_event=false

user.feature.ls_normal=false

user.feature.sui=false

Init.d

(needs ROM with init.d access and busybox, open empty file, insert header #!/system/bin/sh and put these there, save in /system/etc/init.d and name it something like 77tweaks)

1. strict minfree handler tweak

Code:

echo "2048,3072,6144,15360,17920,20480" > /sys/module/lowmemorykiller/parameters/minfree

2. internet speed tweaks

Code:

echo "0" > /proc/sys/net/ipv4/tcp_timestamps;

echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse;

echo "1" > /proc/sys/net/ipv4/tcp_sack;

echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle;

echo "1" > /proc/sys/net/ipv4/tcp_window_scaling;

echo "5" > /proc/sys/net/ipv4/tcp_keepalive_probes;

echo "30" > /proc/sys/net/ipv4/tcp_keepalive_intvl;

echo "30" > /proc/sys/net/ipv4/tcp_fin_timeout;

echo "404480" > /proc/sys/net/core/wmem_max;

echo "404480" > /proc/sys/net/core/rmem_max;

echo "256960" > /proc/sys/net/core/rmem_default;

echo "256960" > /proc/sys/net/core/wmem_default;

echo "4096,16384,404480" > /proc/sys/net/ipv4/tcp_wmem;

echo "4096,87380,404480" > /proc/sys/net/ipv4/tcp_rmem;

3. vm management tweaks

Code:

echo "4096" > /proc/sys/vm/min_free_kbytes

echo "0" > /proc/sys/vm/oom_kill_allocating_task;

echo "0" > /proc/sys/vm/panic_on_oom;

echo "0" > /proc/sys/vm/laptop_mode;

echo "0" > /proc/sys/vm/swappiness

echo "50" > /proc/sys/vm/vfs_cache_pressure

echo "90" > /proc/sys/vm/dirty_ratio

echo "70" > /proc/sys/vm/dirty_background_ratio

4. misc kernel tweaks

Code:

echo "8" > /proc/sys/vm/page-cluster;

echo "64000" > /proc/sys/kernel/msgmni;

echo "64000" > /proc/sys/kernel/msgmax;

echo "10" > /proc/sys/fs/lease-break-time;

echo "500,512000,64,2048" > /proc/sys/kernel/sem;

5. battery tweaks

Code:

echo "500" > /proc/sys/vm/dirty_expire_centisecs

echo "1000" > /proc/sys/vm/dirty_writeback_centisecs

6. EXT4 tweaks (greatly increase I/O)

(needs /system, /cache, /data partitions formatted to EXT4)

a) removes journalism

Code:

tune2fs -o journal_data_writeback /block/path/to/system

tune2fs -O ^has_journal /block/path/to/system

tune2fs -o journal_data_writeback /block/path/to/cache

tune2fs -O ^has_journal /block/path/to/cache

tune2fs -o journal_data_writeback /block/path/to/data

tune2fs -O ^has_journal /block/path/to/data

b) perfect mount options

Code:

busybox mount -o remount,noatime,noauto_da_alloc,nodiratime,barrier=0,nobh /system

busybox mount -o remount,noatime,noauto_da_alloc,nosuid,nodev,nodiratime,barrier=0,nobh /data

busybox mount -o remount,noatime,noauto_da_alloc,nosuid,nodev,nodiratime,barrier=0,nobh /cache

7. Flags blocks as non-rotational and increases cache size

Code:

LOOP=`ls -d /sys/block/loop*`;

RAM=`ls -d /sys/block/ram*`;

MMC=`ls -d /sys/block/mmc*`;

for j in $LOOP $RAM

do

echo "0" > $j/queue/rotational;

echo "2048" > $j/queue/read_ahead_kb;

done

8. microSD card speed tweak

Code:

echo "2048" > /sys/devices/virtual/bdi/179:0/read_ahead_kb;

9. Defrags database files

Code:

for i in \

`find /data -iname "*.db"`

do \

sqlite3 $i 'VACUUM;';

done

9. Remove logger

Code:

rm /dev/log/main

10. Ondemand governor tweaks

Code:

SAMPLING_RATE=$(busybox expr `cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_transition_latency` \* 750 / 1000)

echo 95 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold

echo $SAMPLING_RATE > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate

11. Auto change governor and I/O Scheduler

a) I/O Scheduler (Best: MTD devices - VR; EMMC devices - SIO) - needs kernel with these

Code:

echo "vr" > /sys/block/mmcblk0/queue/scheduler

or

echo "sio" > /sys/block/mmcblk0/queue/scheduler

b) Governor (Best: Minmax > SavagedZen > Smoothass > Smartass > Interactive) - needs kernel with these

Code:

echo "governor-name-here" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

12. Auto-zipalign on boot

(needs zipalign bin)

Code:

http://xdaforums.com/showthread.php?t=860586

13. Loopy Smoothness tweak

Code:

http://xdaforums.com/show....php?t=1137554

http://xdaforums.com/show....php?t=1205744

14. Move dalvik-cache to cache partition (if it's big enough) to free up data partition space

Code:

CACHESIZE=$(df -k /cache | tail -n1 | tr -s ' ' | cut -d ' ' -f2)

if [ $CACHESIZE -gt 80000 ]

then

echo "Large cache detected, moving dalvik-cache to /cache"

if [ ! -d /cache/dalvik-cache ]

then

busybox rm -rf /cache/dalvik-cache /data/dalvik-cache

mkdir /cache/dalvik-cache /data/dalvik-cache

fi

busybox chown 1000:1000 /cache/dalvik-cache

busybox chmod 0771 /cache/dalvik-cache

# bind mount dalvik-cache so we can still boot without the sdcard

busybox mount -o bind /cache/dalvik-cache /data/dalvik-cache

busybox chown 1000:1000 /data/dalvik-cache

busybox chmod 0771 /data/dalvik-cache

else

echo "Small cache detected, dalvik-cache will remain on /data"

fi

15. Disable normalize sleeper

Code:

mount -t debugfs none /sys/kernel/debug

echo NO_NORMALIZED_SLEEPER > /sys/kernel/debug/sched_features

16. OOM groupings and priorities tweaks - SuperCharger

Code:

http://xdaforums.com/showthread.php?t=991276

GPS.conf

(create or edit your /system/etc/gps.conf with a file manager with root access)

For improving GPS lock time and signal.

a) European NTP server (replace for america or asia in your case)

Code:

NTP_SERVER=europe.pool.ntp.org

XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin

XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin

XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin

b) SE supl for A-GPS (better than Nokia's or Google's)

Code:

SUPL_HOST=supl.sonyericsson.com

SUPL_PORT=7275

Other tweaks or guidelines

1. Patch your hosts file for blocking Ads

(please think before doing this; many developers are supported through this way)

Code:

You can use AdFree application for this or changing manually your hosts file.

Here are some databases:

http://www.mvps.org/winhelp2002/hosts.txt

http://pgl.yoyo.org/adservers/serverlist.php?showintro=0;hostformat=hosts

2. Use CyanogenMOD's APN list file - it's one of the most complete.

Code:

It's located in /system/etc/apns-conf.xml

3. Use UOT kitchen for basic theming on your device.

Code:

http://uot.dakra.lt/

4. Use Google's dns servers

Code:

Create an empty file, name it resolv.conf and put there these 2 lines:

nameserver 8.8.8.8

nameserver 8.8.4.4

Save to /system/etc/.

5. Update Superuser and su binary to latest version (3.0 beta)

Code:

http://goo-inside.me/superuser/

6. Disable sync feature in sqlite

(author: ownhere - needs a source for your device so you can compile the /system/lib/libsqlite.so)

Code:

Patch file here: http://xdaforums.com/showthread.php?t=903507

7. Do not use task killers.

sysctl_tweaks and sysctl.conf tweaks

added by krabappel2548 Thank him

To make them work:

1. make a new file in /system/etc/init.d, name it sysctl_tweaks

2. make a new file in /system/etc, name it sysctl.conf

3. Paste the right code in the right file

1. sysctl_tweaks

Code:

#!/system/bin/sh

# grep sysctl /etc/init.d/*

/etc/init.d/02vm:# Load /sys/etc/sysctl.conf

/etc/init.d/02vm:sysctl -p

2. sysctl.conf

Code:

#sysctl.conf file

############################

# Battery life tweaks #

############################

sysctl -w vm.dirty_writeback_centisecs=3000;

sysctl -w vm.dirty_expire_centisecs=500;

############################

# kernel tweaks #

############################

sysctl -w kernel.sched_features=15834233;

sysctl -w kernel.msgmni=1024;

sysctl -w kernel.msgmax=64000;

sysctl -w kernel.shmmax=268435456;

sysctl -w kernel.shmall=2097152;

sysctl -w kernel.sem="500 512000 100 2048";

sysctl -w kernel.hung_task_timeout_secs=0;

sysctl -w kernel.sched_latency_ns=18000000;

sysctl -w kernel.sched_compat_yield=1;

sysctl -w kernel.sched_shares_ratelimit=256000;

sysctl -w kernel.sched_child_runs_first=0;

sysctl -w kernel.threads-max=10000;

sysctl -w kernel.panic=30;

sysctl -w kernel.panic_on_oops=1;

sysctl -w kernel.sched_features=24189;

sysctl -w kernel.sched_min_granularity_ns=1500000;

sysctl -w kernel.sched_wakeup_granularity_ns=3000000;

############################

# CPU tweaks #

############################

# Queue size modifications

sysctl -w net.core.optmem_max=20480;

sysctl -w net.unix.max_dgram_qlen=50;

# Net Core Settings

# Location: /proc/sys/net/core

sysctl -w net.core.wmem_max=524288;

sysctl -w net.core.rmem_max=524288;

sysctl -w net.core.rmem_default=256960;

sysctl -w net.core.wmem_default=256960;

############################

# VM & Filesystem tweaks #

############################

sysctl -w fs.lease-break-time=10;

sysctl -w fs.file-max=65536;

sysctl -w vm.overcommit_memory=1;

sysctl -w vm.min_free_order_shift=4;

sysctl -w vm.block_dump=0;

sysctl -w vm.oom_dump_tasks=1;

sysctl -w vm.page-cluster=3;

############################

# Net Speed tweaks #

############################

# UnderUtilized Networking Tweaks below as recommended by avgjoemomma (from XDA)

sysctl -w net.ipv4.tcp_congestion_control=cubic;

# Hardening the TCP/IP stack to SYN attacks

sysctl -w net.ipv4.tcp_syncookies=1;

sysctl -w net.ipv4.conf.all.rp_filter=1;

sysctl -w net.ipv4.conf.default.rp_filter=1;

sysctl -w net.ipv4.tcp_synack_retries=2;

sysctl -w net.ipv4.tcp_syn_retries=2;

sysctl -w net.ipv4.tcp_max_syn_backlog=1024;

sysctl -w net.ipv4.tcp_max_tw_buckets=16384;

sysctl -w net.ipv4.icmp_echo_ignore_all=1;

sysctl -w net.ipv4.icmp_ignore_bogus_error_responses=1;

sysctl -w net.ipv4.tcp_no_metrics_save=1;

sysctl -w net.ipv4.tcp_fin_timeout=15;

sysctl -w net.ipv4.tcp_keepalive_time=1800;

sysctl -w net.ipv4.ip_forward=0;

sysctl -w net.ipv4.tcp_moderate_rcvbuf=1;

sysctl -w net.ipv4.route.flush=1;

sysctl -w net.ipv4.udp_rmem_min=6144;

sysctl -w net.ipv4.udp_wmem_min=6144;

sysctl -w net.ipv4.tcp_rfc1337=1;

sysctl -w net.ipv4.ip_no_pmtu_disc=0;

sysctl -w net.ipv4.tcp_ecn=0;

sysctl -w net.ipv4.tcp_sack=1;

sysctl -w net.ipv4.tcp_fack=1;

# Don't accept source routing

sysctl -w net.ipv4.conf.default.accept_source_route=0 ;

sysctl -w net.ipv4.conf.all.accept_source_route=0;

# Don't accept redirects

sysctl -w net.ipv4.conf.all.accept_redirects=0;

sysctl -w net.ipv4.conf.default.accept_redirects=0;

sysctl -w net.ipv4.conf.all.secure_redirects=0;

sysctl -w net.ipv4.conf.default.secure_redirects=0;

This is another init.d tweak It's a battery calibration script

3. This is my battery calibration tweak

Code:

#!/system/bin/sh

# ========================================

# init.d script for KA Xperia SSpeed

# made by krabappel2548

# ========================================

SLEEP=120

if [ -e /data/.battery-calibrated ] ; then

exit 0

fi

(

while : ; do

LEVEL=$(cat /sys/class/power_supply/battery/capacity)

CUR=$(cat /sys/class/power_supply/battery/batt_current)

if [ "$LEVEL" == "100" ] && [ "$CUR" == "0" ] ; then

log -p i -t battery-calibration "*** LEVEL: $LEVEL CUR: $CUR***: calibrating..."

rm -f /data/system/batterystats.bin

touch /data/.battery-calibrated

exit 0

fi

# log -p i -t battery-calibration "*** LEVEL: $LEVEL CUR: $CUR ***: sleeping for $SLEEP s..."

sleep $SLEEP

done

) &

#Disable normalize sleeper

mount -t debugfs none /sys/kernel/debug

echo NO_NORMALIZED_SLEEPER > /sys/kernel/debug/sched_features

#battery tweaks (sleepers)

mount -t debugfs none /sys/kernel/debug

echo NO_NEW_FAIR_SLEEPERS > /sys/kernel/debug/sched_features;

echo NO_NORMALIZED_SLEEPERS > /sys/kernel/debug/sched_features;

umount /sys/kernel/debug

Tips Combined twaks and apps

Still testing better values to add!

1. incredibile fast browsing in zoomed pages with no shutters!

♦ VM Heapsize; higher the RAM, higher the hp can be

Code:

dalvik.vm.heapsize=96m

♦ Helps scrolling responsiveness

Code:

windowsmgr.max_events_per_sec=250

♦ Opera Mobile Browser

2. Faster internet speed

♦ Signal (3G) tweaks

Code:

ro.ril.hsxpa=2

ro.ril.gprsclass=10

ro.ril.hep=1

ro.ril.enable.dtm=1

ro.ril.hsdpa.category=10

ro.ril.enable.a53=1

ro.ril.enable.3g.prefix=1

ro.ril.htcmaskw1.bitmask=4294967295

ro.ril.htcmaskw1=14449

ro.ril.hsupa.category=5

♦ Net speed tweaks

Code:

net.tcp.buffersize.default=4096,87380,256960,4096,16384,256960

net.tcp.buffersize.wifi=4096,87380,256960,4096,16384,256960

net.tcp.buffersize.umts=4096,87380,256960,4096,16384,256960

net.tcp.buffersize.gprs=4096,87380,256960,4096,16384,256960

net.tcp.buffersize.edge=4096,87380,256960,4096,16384,256960

Alright, I think this is it for now.

If you have any other tweaks or better values, you can PM me and I'll include them

thanks to

kenzo

krabappel2548