• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[UNIVERSAL] ParrotMod - SPEED UP the 2012 Nexus 7! FULL FLASH STORAGE SPEED FIX!

Search This thread

sandsofmyst

Senior Member
Oct 17, 2009
458
137
Experience with this mod (This is from a factory reset just last week to get it to 5.1.1):

The app cache wasn't rebuilt on start and the initial boot didn't take "TAKE 5-10 MIN". It was just a normal boot. No app cache rebuild or anything. The homscreen was missing icons.

"Wait for device to spontaneously reboot after the lock screen appears" did not occur. Lockscreen is off so must not work in that case?

Initial use was horribly slow (same as before). Was about to type here that its still unusable when...

It seems as more use occurs, it gets faster. There may still be some hesitation, but its far faster then it was. Currently unknown if I will stick with this or move onto something else - all depends on how it goes.

Thanks for putting this out there. Hopefully it keeps the speed coming.
 

parrotgeek1

Senior Member
Feb 14, 2014
834
1,215
parrotgeek.com
Experience with this mod (This is from a factory reset just last week to get it to 5.1.1):

The app cache wasn't rebuilt on start and the initial boot didn't take "TAKE 5-10 MIN". It was just a normal boot. No app cache rebuild or anything. The homscreen was missing icons.

"Wait for device to spontaneously reboot after the lock screen appears" did not occur. Lockscreen is off so must not work in that case?

Initial use was horribly slow (same as before). Was about to type here that its still unusable when...

It seems as more use occurs, it gets faster. There may still be some hesitation, but its far faster then it was. Currently unknown if I will stick with this or move onto something else - all depends on how it goes.

Thanks for putting this out there. Hopefully it keeps the speed coming.

Something is wrong. The device should have rebooted 30 sec after it finished first boot. Do you have SuperSU?

Also in all of my testing I have flashed it IMMEDIATELY after a reset. So it would reboot while at the blue welcome screen
 
  • Like
Reactions: sandsofmyst

sandsofmyst

Senior Member
Oct 17, 2009
458
137
Something is wrong. The device should have rebooted 30 sec after it finished first boot. Do you have SuperSU?

Also in all of my testing I have flashed it IMMEDIATELY after a reset. So it would reboot while at the blue welcome screen

Removed lastpmver.txt then rebooted with result: The script did finally reboot it 1-2 or more minutes later.

Looks like it was delayed from how slow the tablet is running. Initial os speed after further reboot is still unusably slow, improving after a few minutes and greatly for each downloaded app after first run.

Further reboots show initial os speed may be increasing. Though initial non-system app open speed can still be counted by 10s of seconds and Activity creation can be a bit slow as well (also initially). App resume speed is normal or close to and usage of app following resume is as well.

Before, the apps were [to me] constantly unusably slow - even android settings was super slow. So the mod has definitely made a great improvement.

Wiping cache via twrp result: A little to nothing.

(You've received two thanks.)
 
Last edited:
  • Like
Reactions: parrotgeek1

parrotgeek1

Senior Member
Feb 14, 2014
834
1,215
parrotgeek.com
Removed lastpmver.txt then rebooted with result: The script did finally reboot it 1-2 or more minutes later.

Looks like it was delayed from how slow the tablet is running. Initial os speed after further reboot is still unusably slow, improving after a few minutes and greatly for each downloaded app after first run.

Further reboots show initial os speed may be increasing. Though initial non-system app open speed can still be counted by 10s of seconds and Activity creation can be a bit slow as well (also initially). App resume speed is normal or close to and usage of app following resume is as well.

Before, the apps were [to me] constantly unusably slow - even android settings was super slow. So the mod has definitely made a great improvement.

Wiping cache via twrp result: A little to nothing.

(You've received two thanks.)

Please do a test! in terminal emulator as root do touch /sdcard/use4kblock
reboot and see if it has improved read speed (but also check if /sys/block/mmcblk0/queue/read_ahead_kb was actually set to 4)

It is possible that my script is failing to fstrim your device properly; the use of the discard mount option means that downloading apps COULD actually speed it up. Try downloading this and trim all https://play.google.com/store/apps/details?id=com.fifthelement.trimmer&hl=en

Also This mod is really meant for the tablets that are at the "irritatingly slow" stage, not the "write speeds fell off a cliff" stage. If you want to improve it slightly maybe set read_ahead_kb to 1024 and delete discard from mount options. I might add it as an aroma installer option
 
Last edited:
  • Like
Reactions: sandsofmyst

sandsofmyst

Senior Member
Oct 17, 2009
458
137
Please do a test! in terminal emulator as root do touch /sdcard/use4kblock
reboot and see if it has improved read speed (but also check if /sys/block/mmcblk0/queue/read_ahead_kb was actually set to 4)

As-is with use4kblock created, read_ahead_kb continues to show 512 after reboot. Apparently hitting the else at the end.

Edit: Not precisely your desired idea here but showing why its failing, the following path works while /sdcard fails:
Code:
if [ -f "/system/su.d/use4kblock" ]; then

Interestingly, I had changed some code around and even with the file check, it had resulted in 2048 (although error value) being written to read_ahead_kb through the /sdcard file check path so it seems like it should work [for /sdcard] with some specific change.

It is possible that my script is failing to fstrim your device properly; the use of the discard mount option means that downloading apps COULD actually speed it up. Try downloading this and trim all https://play.google.com/store/apps/details?id=com.fifthelement.trimmer&hl=en

Thanks, forgot about the fstrim app (Have nook hd+ with same emmc chip & not as safe: https://wiki.cyanogenmod.org/w/EMMC_Bugs#MAG2GA_TRIM_bug), but it seems to not have made any noticeable difference (even after multiple reboots).

Also This mod is really meant for the tablets that are at the "irritatingly slow" stage, not the "write speeds fell off a cliff" stage. If you want to improve it slightly maybe set read_ahead_kb to 1024 and delete discard from mount options. I might add it as an aroma installer option

Interestingly app first start performance seems to be much better after using the value 4 + removing discard + reboot. That might have done it :)

For now, staying with this and seeing what happens. Thanks.
 
Last edited:
  • Like
Reactions: parrotgeek1

sandsofmyst

Senior Member
Oct 17, 2009
458
137
what does "error value" mean

The result of some error occurring that causes echo to somehow write 2048 to the file after it puked, or in other words, I expect trying to write another value then 4 wouldn't have changed the value 2048 which is therefore the result of error.

I think that it is because /system/bin/sdcard (the fuse filesystem) is not yet running when su.d is running

+1 It has the best feeling of correctness :)
 
  • Like
Reactions: parrotgeek1

adeelraj

Senior Member
Oct 16, 2011
421
107
Karachi
i installed this on custom 5.1.1 rom and nexus 7 runs smooth again

plz make it all devices universal mod

Sent from my Nexus 7 using Tapatalk 2

---------- Post added at 12:46 AM ---------- Previous post was at 12:43 AM ----------

i have mmx unite 2 on kitkat rom
mtk 6582
can i install this on this

Sent from my Nexus 7 using Tapatalk 2
 

parrotgeek1

Senior Member
Feb 14, 2014
834
1,215
parrotgeek.com
i installed this on custom 5.1.1 rom and nexus 7 runs smooth again

plz make it all devices universal mod

Sent from my Nexus 7 using Tapatalk 2

---------- Post added at 12:46 AM ---------- Previous post was at 12:43 AM ----------

i have mmx unite 2 on kitkat rom
mtk 6582
can i install this on this

Sent from my Nexus 7 using Tapatalk 2

No. Eventually you might be able to but there are a lot of file paths that are different between different devices and I have to figure them out. MTK devices have a lot of weird quirks. I'm not sure if I want to make it "universal" because then thousands of people would ask me questions.

P.s. this mod is only for devices with slow internal flash memory as the main problem. Pls download androbench app and it would only help if you get < 20 mb/s read or < 5 write
 
Last edited:
  • Like
Reactions: adeelraj

serialkillazzs

Senior Member
Jan 17, 2010
618
26
i couldn't fix it either, it happens to me too

BlackBerry playbook chargers work well, check Amazon they have yellow tips and travel adaptors.

Plus if you have a dead battery plug it into a usb 3.0 powered port to bring it back to life

---------- Post added at 10:27 PM ---------- Previous post was at 10:22 PM ----------

Please release a tilapia fix when you have time
 
  • Like
Reactions: parrotgeek1

Riardon

Senior Member
May 6, 2013
215
64
God what is this black magic voodoo did to my Nexus 7? It's smooth and fast again. Before that I tried many custom roms from JellyBean to KitKat and Marshmallow with no avail until I found this mod. My tablet is usable once again thank you so much.
 
  • Like
Reactions: parrotgeek1

parrotgeek1

Senior Member
Feb 14, 2014
834
1,215
parrotgeek.com
God what is this black magic voodoo did to my Nexus 7? It's smooth and fast again. Before that I tried many custom roms from JellyBean to KitKat and Marshmallow with no avail until I found this mod. My tablet is usable once again thank you so much.
You're welcome. Glad it's useful for so many people. I'm going to make a universal version for any rom soon
 
  • Like
Reactions: Harpratap

Top Liked Posts

  • There are no posts matching your filters.
  • 137
    What is ParrotMod?

    This is a mod to greatly improve the performance of the 2012 Nexus 7, on ANY rooted Android 4.3+ ROM.
    It doesn't work on Nougat. I can't fix it, because I don't own this device anymore - I gave it to a friend's little brother.
    Feel free to fork it and fix that.

    (Got a 2013 Nexus 7? Use this version: http://forum.xda-developers.com/nex...eta-1-parrotmod-improve-2013-nexus-7-t3375928)

    Download:
    https://parrotgeek.com/dl.php?file=ParrotMod_Universal_2016-08-31.zip

    Use this one if the other one doesn't improve the speed: https://parrotgeek.com/dl.php?file=ParrotMod_Universal_2016-10-17.zip

    GitHub:
    https://github.com/parrotgeek1/ParrotMod_Nexus_7_2012
    Feel free to fork/pull request! But always credit me if you make something based on it and tell me in a PM or email.

    Performance Video (very old):

    IMPORTANT NOTE

    ParrotMod needs 8MB of free space on the system partition. Don't use huge gapps packages.
    ParrotMod requires a recovery that has BusyBox built in. (All versions of TWRP do. CWM does not.)

    PLEASE disable IO scheduler/RAM/read ahead tweaks in kernel apps. They override ParrotMod's meticulously optimized settings.

    REQUIRES LATEST SUPERSU INSTALLED FIRST https://download.chainfire.eu/supersu-stable
    EVEN IF YOUR ROM HAS BUILT IN ROOT LIKE CYANOGENMOD, TURN IT OFF IN SETTINGS, THEN FLASH SUPERSU!!
    Does NOT support PHH/MagiskSU, ONLY SUPERSU

    If the installer warns you about TRIM on boot being disabled, it's a good idea to schedule TRIM using an app like Trimmer, or just leave your tablet on overnight (on silent) instead of turning it off, so it can automatically trim.

    You can tell if ParrotMod is working by checking if the file /sys/block/mmcblk0/queue/read_ahead_kb contains "0", using a root explorer. Do NOT use ROM Toolbox or Root Browser, otherwise you will not be able to see the folders. Use Solid Explorer or FX.

    Features:

    • FLASH MEMORY SPEED INCREASE! up to 4x better performance WITHOUT F2FS OR DYNAMIC FSYNC
    • Auto trim at boot, but ONLY for Samsung flash storage (it is too slow for Hynix/Kingston)
    • Uses ext4 but can use data/cache f2fs
    • Audio stutter and multitasking fix
    • Miracast enabled (but it freezes on disconnect unless you unplug from the receiver end)
    • Can set up device without Wi-Fi
    • Bluetooth 4.0 enabled (BLE/GATT/SMP), CVE vulnerabilities fixed (for 5.x)
    • More apps open at once (minfree tweak, scheduler tweaks, 64k log buffers, zram optimized)
    • LCD color fix (no Nvidia smartdimmer/Prism)
    • Internet optimizations
    • Can use more storage space before it doesn't let you download things
    • Survives ROM updates with addon.d
    • Tethering without carrier checks on 3G Nexus 7
    • Speed up full disk encryption
    • GPU optimizations (without OC!) and hardware acceleration properties, decrease GPU RAM usage by 4.4mb per app!
    • Reverted to dlmalloc for reducing ram usage / ART_USE_HSPACE_COMPACT enabled for better garbage collection [Not on 5.0.x]

    Instructions - From unrooted stock 5.1.1

    1. Download the KingRoot apk from here on your tablet, install it, ignore the warnings about the app being unsafe, and tap Root. If it says root failed, try again. It will eventually work.
    2. Install Flashify from the Play Store
    3. Download the latest Universal zip in the download link above on your tablet
    4. Download the SuperSU zip from https://download.chainfire.eu/supersu-stable on your tablet
    5. Open Flashify and install TWRP recovery, the latest version
    6. Open the KingRoot app, tap Menu 3 dots icon, General settings, uninstall KingRoot
    7. Delete the KingRoot and Purify apps
    8. Plug your tablet into a computer! (not even a charger) otherwise it will freeze on the next step. This is a bug in the tablet itself.
    9. Reboot your tablet while holding the power and volume down buttons. If this does not work power on while holding BOTH volume UP and DOWN.
    10. Scroll with volume buttons to Recovery mode and tap power button
    11. You will see a Google screen and then TeamWin logo, just wait
    12. Tap Never show this screen again and Swipe to allow modification
    13. Tap Install
    14. You will see the files on your internal storage, go to Download folder
    15. Tap on ParrotMod_XXXXXXX.zip
    16. Tap add more zips
    17. You will see the files on your internal storage, go to Download folder
    18. Tap on UPDATE-SuperSU-v2.XX.zip
    19. Swipe to confirm flash
    20. When it finishes installing tap Reboot System
    21. Your tablet will reboot
    22. Wait 30 seconds for the device to settle
    23. Enjoy the improved speed! (You can delete ParrotMod_XXXXXXX.zip now)
    Extras

    Fix for speaker/headphone buzzing while charging: https://parrotgeek.com/dl.php?file=ParrotMod_ChargingNoiseFix.zip

    Upgrade notes

    It is safe to flash new ParrotMod versions without wiping data.
    IF YOU UPGRADE MAJOR ANDROID VERSIONS YOU MUST WIPE SYSTEM, FLASH THE WHOLE ROM, AND REINSTALL PARROTMOD.
    UPGRADING ROM BUILDS WORKS FINE! In ROMs with addon.d support, it will even keep ParrotMod installed.

    Please don't use with ParrotMod:

    • L Speed/any other "supercharger" like tweaks. I will ignore any support requests if you use them. Most are very badly programmed/full of placebos.
    • Disable journaling zip (it conflicts with my script, and doesn't improve performance)
    • Don't limit background processes, it might even make the tablet SLOWER. As of version 2016-04-30, the installer script removes this setting from build.prop automatically.

    Known Bugs

    • Doesn't work on most Nougat ROMs
    • Miracast will freeze the tablet on disconnection unless you disconnect from the TV/dongle side. This is a common Tegra issue.
    • The optimizations to the ART runtime do not work when Xposed is installed, and you will see reduced performance! They also don't work on 4.4.x or 5.0.x.
    Recommended Kernel:
    https://forum.xda-developers.com/nexus-7/development/kernel-dc-kernel-t3310642

    Slow charging hardware fix:
    https://forum.xda-developers.com/showthread.php?p=65039448

    Credit

    • Busybox from BSZAospLp ROM LMY49H
    • libc/libart from i9300 CM14/i9300 CM13/i9300 JustArchi CM12.1 old beta
    • Charging Noise Fix is based on an apk from the Moto G 2015 stock ROM.
    • Bluetooth 4.0 libs for 4.3 from https://github.com/manuelnaranjo/AndroidBluetoothLowEnergyEnabler/tree/master/releases
    • BT4.0 KitKat libs from cm-11-20160509-UNOFFICIAL-grouper by @dookie23
    • BT4.0 5.x libs from Dreams - version 5.3.9.4 for Maguro
    • BT4.0 6.x libs from aosp_grouper-ota-eng-20160803.ds.zip by @AndDiSa
    • BT4.0 7.x libs from cm-14.0-20160924-UNOFFICIAL-i9300.zip by @Taker18
    Thanks

    • Thanks to bangsergio on XDA for testing several dozen beta versions.
    • Thanks to @nereis for showing me a zram tweak.
    How ParrotMod Works

    • ParrotMod works by trying to counteract the slow flash storage speed, by decreasing unnecessary reads and writes, and also optimizing how well processes share the bandwidth.
    • To optimize RAM, it also changes minfree values, replaces libart and libc with optimized versions (reverting to the memory allocator that was in 4.4.4), and enables zram (but in a less CPU intensive compression mode).
    • It also enables GPU clock scaling instead of throttling based on CPU speed, to improve performance in GPU-bound games. It also disables Nvidia PRISM adaptive backlight to fix washed out screen in videos.
    • It increases the CPU priority of audio players, and the hd-audio0 kernel thread, to fix sound stutter when multitasking.
    • Finally, it increases wifi transmit power and noise filter in nvram.txt to increase wifi range.
    • I also made my own patch to enable Miracast.
    28
    Hey,
    as you made such an amazing job to revive an otherwise useless device (stalls from 30s to over a minute using stock), I am baffled by how Google and/or manufacturers fail to fix issues that a single student figured out (undoubtedly gifted but with no vast experience that pro dev teams can pretend having). Unless it is patented planned obsolescence, that is. On a related note, my LG V500 tablet looks stupid even with CM13 compared to grouper... I mean Android has serious issues to address before it can take on Apple. There is no excuses for software to cripple perfectly valid hardware (although grouper flash is not exactly up to par).
    So, thanks again and hopefully you'll get a call from Google soon enough (wishing you wouldn't be too disappointed by discovering the inner workings of software dev teams and processes burden) :)
    Thank you.

    There are basically three issues here, actually:

    1) Google made no effort to optimise CFQ scheduler for flash storage - it's meant for hard drives! The default settings on Android even have *idling* enabled. I fixed that using the official Ubuntu recommendations for SSDs. It wouldn't matter on their other devices

    2) For whatever reason, Asus set the mmcblk0 read ahead value to an insane 2 MB (the default is 128kb). This exacerbates the issues on this flash chip. I undid this change.

    3) Ext4 file system is not at all optimised for flash storage. I helped that by cutting down on unnecessary I/O with mount options.

    Sent from my Moto G using XDA-Developers mobile app
    25
    I uploaded a new version with some fixes especially for app launch speed. I merged it back from the changes in the 2013 N7 version.
    24
    HUGE UPDATE:

    Version 2.0 will include a 98% fix for the music stuttering when multitasking.
    Also, app launch speeds are almost 2.5x as fast as in the video in the first post. Twitter only takes 4 seconds to open.

    Sent from my Nexus 7 using XDA-Developers mobile app
    18
    I have made a new version that should work on EVERY rom even 7.0 without editing the script!
    download it at the same link as in OP

    to check if it works
    open terminal emulator
    type

    su
    getprop parrotmod.running

    if it says "yes" then it works