Hi guys 
This post is essentially going to be an aggregation of info regarding MiniCM9, bringing together in one place all the random bits and pieces I found to get things working at their best. I originally started writing this for myself (to keep track of things when updating/reinstalling) but as I've responded to questions here and there I thought it might be good to have one place to link to, rather than trying to find my previous posts.
MiniCM9 basic setup
SD card:
How to get a swap partition of any size OR configure swap separately from an sd-ext partition:
Follow this basic tutorial
System setup:
System configuration:
NB: minicm9 settings will not pick up on your swap partition (claiming swap is disabled). Open terminal emulator and type in 'free' to see your available memory, it should correctly show the size of your swap partition.
Further performance tweaks:
Optimise your SD card's read ahead cache (significantly increases read/write speeds on higher end SD cards). There are two ways to do this; by manually creating a script (recommended) or by installing a third party application.
Set swappiness:
You should now have a beautifully smooth, stable miniCM9 on Trebuchet (battery life should be good). Stock browser should run fine thanks to swap, apps will stay in memory and load quickly. Make sure to free up apps via home button » swipe if you no longer need them, especially if running on less swap memory.
How do I get ... working? / Extras
Set custom lock screen icons:
Enable lock screen rotation:
Fix Japanese font rendering on ICS:
Probably not something that concerns most people; but if you are using Japanese on your android, you will have noticed that by default, Chinese versions of unicode unified ideograms are rendered (which can be less than optimal at times). To get proper Japanese text output across applications, you will have to install the Japanese Droid font (DroidSansJapanese) and insert a reference to it in your font fallback .xml.
To make your life easier, I have included the files in a zip for your perusal:
Dark Holo themed apps:
If you like the dark Holo ICS theme, and want your applications to suit the rest of your system, you can find various inverted google apps for ICS-based roms around the web. I've included the ones I use and work well on miniCM9 on our X8 here for convenience.
Get voice input working on miniCM9:
If you've ever used voice input features, you will have noticed these (while present) fail to work after installing the rom. So will any type of android-based voice recognition. To get basic voice functionality working (sadly not ICS flavoured) do the following:
To get voice typing working you will have to replace your input method (or install it as an additional IME to switch to when you want to use voice typing).
Lightweight Jelly Bean keyboard:
More of a recommendation, but what it says on the tin;
... and that is all I can think of right now. May update this thread as things change
This post is essentially going to be an aggregation of info regarding MiniCM9, bringing together in one place all the random bits and pieces I found to get things working at their best. I originally started writing this for myself (to keep track of things when updating/reinstalling) but as I've responded to questions here and there I thought it might be good to have one place to link to, rather than trying to find my previous posts.
MiniCM9 basic setup
SD card:
- Create an ext4 swap partition from CWM; (at least 128M, I recommend 256M+)
How to get a swap partition of any size OR configure swap separately from an sd-ext partition:
Follow this basic tutorial
- If you just want to adjust the size of your swap partition and/or sd-ext partition, it's not necessary to completely erase your SD card/remove all partitions and start from scratch
- You can work with the Resize/Move options and still get what you want.
System setup:
- Flash minicm9 and gapps as normal (in the installer, choose only apps you use; would not recommend Apollo)
- Boot up your system, grab your favourite root browser from Google Play, and remove remaining unwanted applications and services (e.g. for me, Google Talk, FM radio, etc.) by deleting them from system/app.
- Do not 'install a2sd' via console
System configuration:
- Set up your autobrightness settings like this
- Test your pulse notification light. If it stops flashing after a couple of seconds, go to system/lib/hw via your root file manager and delete/rename lights.shakira.so. Once you reboot, your notification light should work normally.
- Disable Google's location service unless you need it as it may drain battery (GPS is okay)
- Min CPU: 320MHz (important!); Max CPU: whatever you feel like (provided your phone can handle it)
- Governor: SMARTASSV2
- No Undervolt
- Disable zRam
- Do not enable 'Allow purging of assets'
- Do not enable Kernel samepage merging
- Surface dithering: Yes
- 16bit transparency: No
- Disable boot animation: No
NB: minicm9 settings will not pick up on your swap partition (claiming swap is disabled). Open terminal emulator and type in 'free' to see your available memory, it should correctly show the size of your swap partition.
Further performance tweaks:
- Do NOT use Supercharger.
- Move large apps that are not usually running to SD (e.g. Opera) via Settings»Apps»Move to SD. If this option is greyed out, follow this guide to move them anyway (NB: the command for the ICS platform is set-install-location rather than setInstallLocation). You do not need App2SD.
Optimise your SD card's read ahead cache (significantly increases read/write speeds on higher end SD cards). There are two ways to do this; by manually creating a script (recommended) or by installing a third party application.
- To do it via application, install SD-Booster and a SD card speed test of your choice. Adjust the cache until you get an optimal read/write speed (for me, this is at 4096KB) – more is not always better. You can uninstall the speed tester once you're done
- To manually set your SD read ahead cache on boot, go to this thread and follow the instructions for Version 1. Replace 128 with the optimal value for your SD card (determined as above).
Set swappiness:
- You can customise your swappiness by creating/adding the following to userinit.sh in data/local/
Red value ranges from 0 (don't swap unless you run out of memory) to 100 (swap from the get go). Feel free to experiment; in my experience performance is most stable around 50. Don't forget to set permissions (to rwxr-xr-x).Code:#!/system/bin/sh #Swap swapon dev/block/mmcblk0p3 echo [COLOR="Red"]50[/COLOR] > /proc/sys/vm/swappiness
You should now have a beautifully smooth, stable miniCM9 on Trebuchet (battery life should be good). Stock browser should run fine thanks to swap, apps will stay in memory and load quickly. Make sure to free up apps via home button » swipe if you no longer need them, especially if running on less swap memory.
How do I get ... working? / Extras
Set custom lock screen icons:
- After selecting your application, tap on the icon to get a menu allowing you to choose from your gallery or system (white lock screen-styled icons)
Enable lock screen rotation:
- Follow this guide to patch your framework-res.apk to allow lock screen rotation, or replace yours with the one attached (but first, make sure you are using the same version of miniCM9! the apk is for 3.0.4). In either case, backing up is a good idea, folks
Fix Japanese font rendering on ICS:
Probably not something that concerns most people; but if you are using Japanese on your android, you will have noticed that by default, Chinese versions of unicode unified ideograms are rendered (which can be less than optimal at times). To get proper Japanese text output across applications, you will have to install the Japanese Droid font (DroidSansJapanese) and insert a reference to it in your font fallback .xml.
To make your life easier, I have included the files in a zip for your perusal:
- Extract the files
- Copy DroidSansJapanese.ttf to system/fonts
- Replace your fallback_fonts.xml in system/etc with the one provided
Dark Holo themed apps:
If you like the dark Holo ICS theme, and want your applications to suit the rest of your system, you can find various inverted google apps for ICS-based roms around the web. I've included the ones I use and work well on miniCM9 on our X8 here for convenience.
- Extract the files
- Replace your apps in system/app with the ones included
- Reboot & enjoy a true ICS UI
Get voice input working on miniCM9:
If you've ever used voice input features, you will have noticed these (while present) fail to work after installing the rom. So will any type of android-based voice recognition. To get basic voice functionality working (sadly not ICS flavoured) do the following:
- in system/app delete your voice search apk
- reboot your system
- now find Google Voice Search 2.1.4 (for Android 2.2+) on Google Play and install it.
- voice search and recognition should now work as it did on older roms.
To get voice typing working you will have to replace your input method (or install it as an additional IME to switch to when you want to use voice typing).
- install IceCream Sandwich-ICS Keyboard by VLLWP from Google Play (for Android 1.6+). DO NOT UPDATE this, as its Jelly Bean version or other ICS keyboards will not work with voice typing.
- enable and select it as an input type and hit the microphone key. Confirm the prompt, and you should be able to use basic android speech recognition in any text form you like.
Lightweight Jelly Bean keyboard:
More of a recommendation, but what it says on the tin;
- get this app from Google Play (keep in mind like stock keyboard it won't work with voice input, so you might want to run it in addition to the aforementioned) and install it -- once you're all set you can now safely remove LatinIME.apk from your system/app
- you save memory (both in usage footprint and SD card space) and get a fully featured Jelly Bean keyboard with functional word prediction in exchange, which is a fair trade, no?
... and that is all I can think of right now. May update this thread as things change
Last edited: