[General Questions and Answers] defiant07:
[Guide - Pt.2] How to Mod Stock Firmware to Maximize Performance (neophyte friendly)

4. Chainfire3D: This is more for gamers, however some report more general performance gains; in my experience I noticed no enhancements aside from the ability to play previously unplayable games. You can install it through the playstore or you can get it here http://xdaforums.com/showthread.php?t=1087427 (don’t bother with the pro version as the per-app settings do NOT work). Don’t worry cf3d is compatible with our stock version of ics, just do NOT use nightmode. The first time you run the app you will need to install its driver (just install the normal one, as I understand things I do not think the experimental one would benefit our device), which requires a reboot. Upon rebooting you will find cf3d is missing from the app drawer, simply reinstall it and you’ll almost be ready. Run a search of xda or on google and download the plug-ins, place the zips in the base directory of your sd card and install them using cf3d. After installing them you can delete the zips. Now have fun experimenting with the settings and seeing what games you can get running! Note: As noted numerous other places don’t forget to turn off all the default settings when not playing a game that requires it; the reasons being battery drain and image quality degradation.

***The following three steps require a root file manager (e.g. root explorer, es file explorer) so go install your preferred app now.

5. Adding Full USB Host API: Have you noticed the limited nature of your tablet’s usb host abilities (e.g. you can plug and play external keyboards, but you cannot communicate with thumb drives and game pads, despite the fact they are being powered)? Well the reason for this is that the developers forgot or neglected to include the requisite permission. To remedy this quandary you need to manually add it. Download the xml file I made here http://www54.zippyshare.com/v/23184268/file.html somewhere on your device. Using your root file manager select the xml file for move or copy, next navigate to the system/etc/permissions directory, mount r/w, paste, set permissions to rw-r--r--, mount r/o, and reboot. You can now use thumb drives and game pads! Note: You will need a mini on-the-go (otg) cable in order to connect with devices that need to be powered and you will need an app (I recommend USB/BT Joystick Center 6) to get game pads working unless you can manually install the proper drivers.

6. Touch Response & Scrolling build.prop Tweaks: Via your root file manager navigate to the system directory, mount r/w, copy the untouched build.prop file somewhere safe to act as a backup should you ever want or need it (root explorer will automatically make a backup for you named build.prop.bak), go back to the system directory, open the build.prop file with your root file manager’s text editor, and add the following lines to the end of the file:

debug.performance.tuning=1

video.accelerate.hw=1

ro.max.fling_velocity=12000

ro.min.fling_velocity=8000

ro.min_pointer_dur=8

view.scroll_friction=0

save, exit, ensure permissions are still set to rw-r--r--, mount r/o, and reboot. Note: The effectiveness of build.prop tweaks are debatable and I added these tweaks after supercharging, which also helps touch and scrolling, I think there were some marginal gains in sensitivity and speed, but it could just be placebo as such you’re probably not missing too much if you skip this step.

7. Switching Internal & External SD Cards (modified vold.fstab): Although there are a number of apps and scripts that can move data and apps to the external sd they all have downsides like ram consumption, getting killed, being tedious, being laggy, and requiring special partitions. I believe the best way to get more really functional memory is to hard switch the internal and external sd cards by using a modded vold.fstab file. Warning: This will introduce one minor bug, after you disconnect your device from your pc when using usb storage mode the internal sd (post-switch the actual external sd) will not automatically remount, the solution is simply to reboot – although this is marginally annoying it is a small price to pay and you can avoid it for the most part by using a wireless file transfer app (I like Airdroid). To make things a bit easier on you, go here http://www36.zippyshare.com/v/75650346/file.html and download the zip I made. Extract it somewhere on your device; you’ll get two files vold.fstab.bak (this is a copy of the original file you can use as a backup) and vold.fstab (which is the file I modified). Using your root file manager navigate to the system/etc directory, mount r/w, delete the vold.fstab file, go back to where you extracted the zip and select the modded vold.fstab file for copy/move, navigate back to system/etc, paste, set permissions to rw-r--r--, mount r/o, and reboot. Check to see if it worked by going to settings>>storage. Magic! Note: I am using a 32 mb class 4 Sandisk and performance seems the same if not a little better, but should you use a different class or manufacturer your results may vary. Also note that if you decide to do this make sure your actual external sd only has one partition and that it is formatted to fat32. If you have multiple partitions the switch will not work properly and I am not sure what will happen if it is formatted differently, but I imagine the switch would not work as the actual internal sd is fat32.

8. Ram Swap: Fortunately our stock kernel supports swap, which basically allows background things that are consuming ram to be pushed on to a portion of a sd card. In order to take advantage of this option you must use an app or script and there are quite a few of them (many of which require a special partition), I recommend Swapper 2 because of its ease and lightness (it eats around 2 mb of ram), plus it’s free. Install it via the playstore or grab it from here http://xdaforums.com/showthread.php?t=1821071 . Once installed, run it, and from its main settings menu enable run on boot, safe unmount, and safe remount, also set your swap size and swappiness (I personally use 256 mb/60; you can probably set the size to a lesser value as I never come close to use it all). Now go in to its advanced settings menu and enable recreate swap file and reformat swap. Finally go back to the app’s main screen and turn it on. Give it a few minutes to set everything up and you’ll be up and running. You have just expanded your ram! Note: Many of the steps in this guide could be done in any order, however I strongly advise doing this after switching your internal and external that way the swap file is created on what is actually your external sd. Warning: Swap may degrade sd card life.

9. Reinstall/Restore Apps: If you did step 1, now is a good time to reinstall or restore your apps.

10. Debloat System Apps: Using your root file manager navigate to system/apps, mount r/w, delete unused/unwanted apk files, mount r/o, and reboot. Check this http://wiki.cyanogenmod.org/w/Barebones web page out and use it as a general guideline for what is safe to remove. I personally deleted livewallpapers and livewallpaperspicker, replaced the stock launcher with apex launcher, and replaced the calculator, recorder, music, and musicfx apps with tiny apps (floating). To turn a user app in to a system app navigate to data/apps, select the desired apk file for move, navigate to system/apps, paste, ensure permissions are rw-r--r--, mount r/o, and reboot. Note: These tasks can be accomplished in a more automated fashion using apps like titanium backup or rom toolbox.

11. Force Apps to SD: I assume you have used the native apps to sd function to move all the apps that would allow it, but usually there are still a few large apps stuck on your internal storage (the 1 gb part). Use an app like Droidsail Super App2SD to force the larger apps that do not support the native function to the sd; experiment and see what apps can safely be moved, most games can be moved without change in performance (e.g. lag, load times).

12. Adding Init.d Support: Init.d is basically the ability to run scripts during the boot process; it is not really needed, but it makes supercharger better as you will not have to set script manager to run on boot. Go here http://xdaforums.com/showthread.php?t=1933849 and download the app from the first post, install it, run it, select enable init.d support, select verify to check if it worked, and you’re done. Uninstall the app as it is no longer of use. Damn that was easy! Note: I am not sure if the version of busybox installed with Unlock Root has the needed applet so you may want to install a newer/different version of busybox via one of its many installer apps or use the supercharger starter kit [see step 13] prior to this step.

13. V6 SuperCharger: As preparation go to the playstore and install Script Manager. Next head on over to the main thread here http://xdaforums.com/showthread.php?t=991276 and check it out; I cannot sing my praises for this script loud enough, it rocks harder than ledzep. After you read through the first two posts of the main thread go here http://xdaforums.com/showpost.php?p=18703418&postcount=5021 and download the newest starter kit. Extract the zip in the base directory of your internal sd (if you did the sd switch this would be your actual external sd), run the StartMeUp.sh script with superuser permission via script manager, and follow the prompts (note: SuperSU’s su binary is good and will avoid errors, you should just run this to ensure busybox has all the needed applets and to add sqlite and zipalign). Now go here http://xdaforums.com/showthread.php?p=39519682#post39519682 to grab the latest V6 SuperCharger script and go here http://xdaforums.com/showthread.php?t=1914159 to get the latest Ultimatic Jar Patcher Tools. Extract the Ultimatic Jar Patcher Tools zip anywhere on your pc. Next connect your tablet to your pc via usb, do NOT turn on storage mode, run the v6 supercharger script with superuser permission via script manager, follow the prompts and you’ll be supercharged in no time; as the first post in the main thread states, ‘it will hold your hand and explain things as it goes along.’ Be sure when you get to the “Jelly ISCream” phase to choose the manual option and use the Ultimatic Jar Patcher Tools (all you have to do is run the ultimatic .bat file). Also I cannot stress enough do not forget to “SuperClean and ReStart.”

If you followed steps one through thirteen you should now have a mega-dope-fresh-fly custom rom with numerous appreciable performance gains (full usb host capacities, better touch response, faster scrolling, fewer launcher redraws, faster web browsing, better battery life, faster boot times, faster load times, better multitasking, and I’m sure there are a few more that are not coming to mind at the moment). I would also suggest installing an app that hides the bottom/system bar, I recommend full!screen+, so as to maximize your viewable real estate (note: this will throw off the touch mapping in a few apps, so have an easy means of restoring it when needed). As usual be safe when hacking – make backups (after each step?) and always wear a condom (on each appendage?) :eek:. Enjoy, Have Fun, & Don’t Forget to Give Thanks!!! :laugh: