Performance tweaks for Redmi 3s and other devices - Flashable zips

shankar_vl

Senior Member
Mar 23, 2016
144
54
28
Here are a few scripts I wrote for my device to boost up its performance. Few of them are written without being specific to any device or version of OS. For these general scripts (not specific to any device), download links are given at this first OP. For scripts which are specific to Redmi 3s, links are given at second post. These redmi 3s specific scripts install certain modified files such as service.jar and framework-res.apk.

All possible care has been taken to make general scripts work on all devices. Since I could check only on a few devices I could have access to, there could be a remote chance of not working on some devices. As devices vary on many accounts like OS version, customisation, configuration and file structure, for any eventuality, I recommend to take back up before proceeding with flashing of these zips.

Since the scripts are zipped in flashable zips, custom recovery (preferably TWRP) is must on your devices.

Here are general scripts with brief explanations.

1. Busybox installer zip: For various tweaks and init.d scripts to work properly, busybox is inevitable. This script installs Stericsons Busybox v1.24.2. If you have already busybox installed, no need of flashing this. Further flashing on the installed busybox may not harm.
Download Link: http://www.mediafire.com/file/s45tpufcy42h107/BusyBox-v1.24.2-Stericson.zip

2. Boot_patcher zip: This zip adds mount flags such as noatime, nodiratime, commit=60, nobarrier, noaudot_da_alloc, etc in fstab in boot.img and removes DM-verity. These flags have proved to increase IO on file systems. Many tweaks, I have noticed, put init.d script to remount partitions with these flags. But this zip does it directly at mount points at boot level obviating the need of init.d scripts.

Note: This zip is observed to break root enabled by Magisk. No need to worry. Just flash once again Magisk zip after flashing this zip. However, there is no problem of broken root if same is enabled by supersu.zip by chainfire.
Download Link:
http://www.mediafire.com/file/wshva78c456z1ub/boot_patcher.zip

3. Universal_journal_disabler zip: This zip makes journaling off on ext4 for system, data and cache partitions provided the partitions have been mounted on ext4 fs (if mounted on f2fs, it won’t touch those partitions). Journaling is a special control measure introduced from ext3 onwards. Journaling keeps track of changes made before writing on fs. This is useful in the scenarios of sudden power off or closure/crash due to any reasons for later restoration of changes made. This is not necessary on devices like mobile. But by default it is on. Since Journaling involves overhead on cpu, disabling the same is observed to improve performance considerably.

Note: Please flash this zip placing it on external memory, not on internal memory. Flashing from internal memory will not switch off journaling on data partition. So to ensure disabling journaling on data (which is essential for noticeable improvement), flash this zip placing it on external memory (external SD card) only.
Download Link:
http://www.mediafire.com/file/fmij6tnt8aebtyj/Universal_journal_disabler.zip

4. Permissive_selinux zip: In nougat custom roms, especially for Redmi 3s, selinux is enforcing. Enforcing selinux is seen to come in the way of many root apps though root enabled. One important issue I noticed that scripts at init.d folder were not running at boot due to enforcing selinux. Thus, I have made a small script to make selinux permissive on every boot by default. It takes care of file/folders created by supersu and magisk zip and accordingly puts the ‘setenforce 0’ in the appropriate folder.
Note: zip found not compatible with Magisk version 14
Download Link:
http://www.mediafire.com/file/qkimoscmfpu8x8a/permissive_selinux.zip

5. Ad_blocker zip: Nothing special about it. It just replaces hosts file in /etc folder for ad blocking. Important thing is about permissions assigned (rw_ r__ ___) for reducing impact of reading the big hosts file.
Download Link: http://www.mediafire.com/file/i50pr16umzp7h9q/ad_blocker.zip

6. Build_prop_patcher zip: This one has taken hell out of my time and patience. Not that it does any special thing, it simply inserts some build properties to build.prop file. But I wanted to make it such that it would search the intended build properties in build.prop file and changes the values thereof. If properties not found, inserts them at the end of file.
It is customisable zip. You can unzip and modify buildprop file according to your requirements. Special feature is it won’t add properties if present already with intended values. So, it is useful particularly to those who frequently flash roms with the result of losing added build.prop on every flash. Just flash this after flashing rom and have all your desired build.prop instantly.
Download Link: http://www.mediafire.com/file/c208fq98mixu9vx/build_prop_patcher.zip

7. Init.d script installer zip: I have collected some init.d scripts which I felt very essential and to implement on every device I have. Like build_prop_patcher zip mentioned above, herein also you can unzip the file and add your scripts to init.d folder therein, and make a permanent zip to flash every time you change your roms.

Note: For the scripts to work placed in init.d folder, you device should have been rooted and init.d enabled.
Download Link: http://www.mediafire.com/file/ot51sid37sfr0m8/initd_script_installer.zip



Credits:
@jcadduono for having heavily relied on his kernel flasher zip
@skynet28 for the method of journal disabling
 
Last edited:

shankar_vl

Senior Member
Mar 23, 2016
144
54
28
Redmi 3s specifc

Here are Redmi 3s specific zips

1. Mm_rr_service_frmwrk_patch zip: This is meant for marshmallow resurrection remix rom as the modified service.jar and framework-res.apk used here for installation are from marshmallow resurrection remix rom. However, I think these modified files work on any marshmallow los based custom rom for redmi 3s.
In service.jar file, oom (out of memory) values for different categories of apps have been modified as below. As mentioned here, these oom values have resulted in turnaround of functioning of apps.

App category - old values - new values
Home ---------- 6 ---------- 0
Visible ---------- 1 ---------- 3
Previous ---------- 7 ---------- 5
Heavy ---------- 4 --------- 4
Service --------- 5 ---------- 6
Backup ---------- 3 ---------- 7

In all the custom roms, adaptive brightness is problematic, screen brightness is erratic on slight change in ambient light. So, I decompiled framework-res.apk, and changed autobrightness array values and found adaptive brightness afterwards comfortable.
Download Link:
http://www.mediafire.com/file/7y40j1x8dxp0bla/mm_rr_service_frmwrk_patch.zip

2. nougat_aex_frmwork_patch zips: Here also, I have modified services.jar and framework-res.apk files of nougat AEX roms. In services.jar, oom values have been modified as stated above, and in framework-res.apk also, autobrightness array values have been changed for smooth adaptation of screen brightness to ambient light. Since the services.jar and framework-res.apks used here are from AEX roms, zips are for AEX roms only. For each version of AEX rom (so far two versions, 4.5 and 4.6) for Redmi 3s, there is a separate zip which is to be flashed depending upon the version of AEX rom installed on your device.

For AEX v4.5
Download Link: http://www.mediafire.com/file/lxgd42fmfljxavv/nougat_aex45_svc_frmwork_patch.zip

For AEX v4.6
Download Link: http://www.mediafire.com/file/5bhawu1o226qdh3/nougat_aex46_svc_frmwork_patch.zip

3. nougat_rr_frmwork-res_patcher: This is for nougat resurrection remix roms. It also does the same thing of patching resources.arsc file in framework-res.apk for smooth adjustment of screen light to the ambient light.
Download Link: http://www.mediafire.com/file/luf4kslvttxss2d/nougat_rr_framework-res_patcher.zip

4. nougat_rr_svc_patch: This zip is for nougat resurrection remix roms. This installs patched services.jar with modified oom values as mentioned above (for the first zip in this post) for smooth functioning of apps.
Download Link: http://www.mediafire.com/file/61h9dz77zpxxuj9/nougat_rr_svc_patch.zip

5. adaptive_brightness_for_Oreo.zip: This is for overlaying the correct values of adaptive brightness in framework_res.apk for Oreo roms. Here, overlay feature of Oreo rom is being used instead of replacing modified framework_res.apk as done in the cases of zips for marshmallow and nougat roms above.
Download Link:http://www.mediafire.com/file/n77hsdvg9jx6pkp/adaptive_brightness_overlay.zip/file

6. persist_patch zip: This is for those who have corrupted persist files causing light, proximate and magnetic sensors not working.
Download Link:
http://www.mediafire.com/file/rrshneruhkdn8on/persist_patch.zip
 
Last edited: