[ROM+Kernel] MiRaGe-CM7.2-IHO (07132013)

1,962 posts
Thanks Meter: 4,863
By mrg666, Senior Member on 10th June 2012, 09:06 PM
Post Reply Subscribe to Thread Email Thread
I have been building LG Optimus V ROMs from the CM/IHO repo and sharing my builds with the community in the IHO thread since some time. Besides the geek satisfaction, I build for removing some extras and customize for performance. Following the original IHO thread has become too difficult due to its enormous size and simultaneous discussion of many other builds. This thread is for sharing what I build for myself with the community, a place for receiving feedback, posting changes for my builds, and returning at least some of what I received from this community.

Please thank/donate to CM project, and especially the IHO developers, Blarf, Bob, Jerry, LeslieAnn, tdm, thekraven, and many others.

I prefer MiRaGe to be a barebones/basic ROM closely following CyanogenMod. The changes below are only aimed at enhancing the performance, fixing bugs, and slight touches on the interface without diverging from the original.

The followings are added:
  • Custom MiRaGe kernel compiled with gcc-4.6 linaro toolchain using -O2 optimization
  • ICS fonts for system and lockscreen clock,
  • ICS style battery, signal, wifi, sdcard, data icons for statusbar,
  • ICS icons for the power widgets, menu, and settings,
  • transparent notification background,
  • Android boot logo
  • Cyanbread_light: a tiny theme to replace the orange highlights with cyan/blue that matches with the recent Google Play apps (included in the ROM) (source code is here )
  • Unique bluetooth MAC addresses. Source code here
  • Baseband version in About Phone screen. Source code here
  • Bluetooth volume settings are not limited by voice dialer. Source code here
  • AGPS patch for better accuracy. Available here
  • Optional stock Android 2.3.5 Launcher2 available here
  • Simple IO scheduler in the kernel which has less overhead for the system and more suitable for flash memory
  • BFS 4.04 CPU scheduler for quicker user interface and better efficiency
  • TinyRCU Read-copy update (RCU) synchronization mechanism which improves scalability by allowing readers to execute concurrently with writers and reduces the system overhead.
  • Many bug/security fixes for ext2, ext3, ext4, fat, mmc file systems, sound system, block layer, bluetooth, networking, and ARM architecture backported from kernel.
  • Computing network protocol sequence numbers and fragment IDs using MD5 instead of inaccurate MD4 in the kernel.
  • Backport staging android drivers and ashmem from lge msm7x27 kernel
  • Sluggish accelerometer problem is fixed in the kernel with updated sensor drivers from the lge msm7x27 kernel drivers
  • Improved Compass accuracy and response time with updated sensor drivers from the lge msm7x27 kernel drivers
  • Backported the updates and fixes in mach-msm/qdsp5 code from the lge msm7x27 kernel to resolve phone freezing while playing music with Google Play Music app.
  • Updated the interactive CPU governor with the latest version and removed smartass and interactiveX governors that were derivatives of the old interactive governor in addition to userspace and powersave governors that are more suitable for desktop systems.
  • Added SLQB as the default memory allocator
  • use optimized strnlen, strncpy, and crc32 functions in ARM (thanks to faux123)
  • added KSM support in the kernel and dalvik-vm (reverted in 07302012 build for now)
  • default to hardware EGL libraries (adreno200) instead of using generic android EGL libraries (thanks to leolawliet)
  • kernel patched to fix entropy depleting
  • swtiched to Koush's Superuser
  • updated to the latest CM bootanimation
  • CYAN-1602 security fix merged (Android-8219321 security fix to Bluebox security bug)
The followings are removed: extra themes, CMwallpaper, FM radio, large ring tones, CM services, development app, and all languages except English(US) and Spanish.

Changelog for CM and MiRaGe kernel:
Detailed list of CyanogenMod 7 changes are here.
Complete list of my changes on the IHO kernel are here.

MiRaGe 07132013 build. MD5sum: 7a909831b9f1cad23656908c1b32e8a1
VM670_VZW conversion for MiRaGe 07132013 build. MD5sum: 2bb4122d3d16df7796c69b216401ed09 (for VM670 on Verizon network) (read this link first regarding OV with VZW)
LS670 conversion for MiRaGe 07132013 build. MD5sum: 808014d10ce924dcef7b7c412fd19f42 (for LS670 on Sprint network)
Latest build of MiRaGe kernel (04/26/2013). MD5sum: d8cd3b0ead9d37789c916cebbb0e2214

For service providers other than VM, you can flash one of the VM670_VZW or LS670 conversion patches (not both) after flashing the VM670 build. If you are just upgrading from the previous MiRaGe by wiping only cache/dalvik-cache, you can flash either patch right after ROM without rebooting. Otherwise, booting once before flashing the patch is necessary after /system wipe.

GAPPS is not included. You can download it at the following link. Choose the package for CM7 (Android 2.3.7) (20110828).
Latest Version/Google Apps - CyanogenMod Wiki

Please see the IHO Wiki, stickies in this forum, and "Suggestions & Recommendations" section in the third post in this thread before asking questions.

You can use my builds without my permission for derivatives/ports to distribute as long as proper credits given. Source is open and I have links above to all of the source code changes I have made on Android and kernel code. You can use the source code without any permission.
Last edited by mrg666; 28th September 2013 at 06:09 PM.
The Following 54 Users Say Thank You to mrg666 For This Useful Post: [ View ]
10th June 2012, 09:07 PM |#2  
mrg666's Avatar
OP Senior Member
Thanks Meter: 4,863
Donate to Me
Screenshots using Kovdev's ICS theme for ADW Launcher:

Last edited by mrg666; 5th July 2012 at 10:49 AM.
The Following 13 Users Say Thank You to mrg666 For This Useful Post: [ View ]
10th June 2012, 09:07 PM |#3  
mrg666's Avatar
OP Senior Member
Thanks Meter: 4,863
Donate to Me
Suggestions & Recommendations:

- Link2SD is recommended. Learn how to use it and you will be rewarded. I have never had any kind of insufficient space problem with Link2SD. However, as soon as we root our phones and flash a custom ROM, we are now on the other side on our own. You will need to figure out how to find your way around and there are many different ways. Please find the good practices and methods that work for you and don't clutter the thread with insufficient space problems.
I use link2sd with 60 apps and it takes at most 5 minutes to update the ROM with the following way.
- copy the new zip to SDcard and boot into recovery
- wipe cache and dalvik-cache
- flash ROM
- reboot
- wait for link2sd warning for missing mount scripts
- run link2sd and recreate mount scripts (if you touch the link2sd notification from the pull down, link2sd will automatically open with mount scripts dialog)
- reboot
- run link2sd
-- relink dalvik-cache files
-- relink library files
- done!
And no application reinstalls necessary. There are many tricks/mods to link /data to the SD card. Whatever method we choose, there will be disadvantages and problems since OV does not have large internal storage as the other high-end phones do. The best practice is to sticking with one of the methods (I use and recommend Link2SD) and learning to deal with it. I don't want to use a method that is making the ROM dependent on the sdcard since not everybody has a large sdcard. Also, sdcards exhibit extremely wide variation of reliability and performance; mostly inferior to internal storage. If I link /data to sdext by default, people will be bringing here many complaints due to sdcard performance and failure. For my sanity, I will avoid that.
Additionally, if you have missing apps with Link2sd after the first boot following a ROM update, please check this post.

- Quickpic is recommended instead of default Gallery3D in the ROM. I will still keep Gallery3D in the ROM but you can just open the ROM zip file (don't unzip to your disk) with your archive manager (e.g. 7zip in Windows or file-roller in Ubuntu). Go to /system/app and delete Gallery3D.apk before flashing ROM. This is what I do. You don't need to reinstall Quickpic after your ROM updates unless you do a clean wipe.

- If you want an ICS theme, I recommend Achep's ICS theme. I must warn that there is some performance and battery life penalty that goes with such heavy themes. If you also want ICS icons in your launcher, I suggest kovdev's ICS launcher theme.

- The battery consumption is ~1.5% per hour on my OV running MiRaGe when I leave it over the night with data, wifi, location updates, email/calendar sync on and 0% TWS (see the screenshot below). Every phone is configured and used differently and the signal is different in different locations. If you have battery problems, it is not because of the ROM. Again, please don't clutter the thread with battery life problems.

- I don't recommend the Google Play Music app on the Market. The default Music app in the ROM works excellent without the heavy load on the system.

- My cpu settings that give me the best battery life is as follows. I recommend and use interactive governor which is a well-tested cpu governor developed by Google for Android. Just use the updated interactive governor in the latest kernel and choose the minimum CPU frequency as 122. This configuration gives better battery life and does not cause any extra lag. The smartass and interactiveX governors are derivatives of the interactive governor and I don't see any advantage of them over the default interactive governor. I will be removing those governors from the kernel for reducing the kernel size and eliminate unnecessary/idle code. Regarding the maximum CPU frequency, you need to find the maximum stable value by testing. 806 MHz is the maximum recommended value since anything higher increases heat and battery consumption considerably.

- Please check the followings before reporting WiFi problems. Nobody is making popcorn in the microwave, your neighbor or your kids are not hogging the WiFi watching Youtube or Netflix, your router is not a cheap junk, the fridge is not running near the router, your network provider is not having problems, the cat is not sleeping on the warmth of the router, the dog has not tipped the router's antennas, you are not trying to connect to your neighbor's WiFi ...

- If headphone is plugged in and unplugged before starting the camera app, camera records video without sound. There are ways to resolve this temporarily. If you do a quick reboot in Links2SD (it takes 15-20 seconds) camera records video with sound after that. If you disable the shutter sound in camera, this problem does not happen. Lastly, if you take a picture before recording video, the video is recorded with sound normally. I am looking into this and will post here when I can find a permanent solution.
Last edited by mrg666; 15th November 2012 at 08:23 PM.
The Following 15 Users Say Thank You to mrg666 For This Useful Post: [ View ]
10th June 2012, 09:40 PM |#4  
rukin5197's Avatar
Senior Member
Thanks Meter: 814
Donate to Me
He finally made his own thread. Thank the lord! Lol
The Following 4 Users Say Thank You to rukin5197 For This Useful Post: [ View ]
10th June 2012, 11:42 PM |#5  
Senior Member
Thanks Meter: 67
hope i have time to go thru this tonight!
11th June 2012, 04:44 PM |#6  
mrg666's Avatar
OP Senior Member
Thanks Meter: 4,863
Donate to Me
Originally Posted by gannon5197

He finally made his own thread. Thank the lord! Lol

Finally had the motivation to do this
The Following 2 Users Say Thank You to mrg666 For This Useful Post: [ View ]
11th June 2012, 07:42 PM |#7  
torch2424's Avatar
Senior Member
Thanks Meter: 88
Originally Posted by mrg666

Finally had the motivation to do this

This Is awesome updates will be so easy to follow what motivated you?
11th June 2012, 10:23 PM |#8  
mrg666's Avatar
OP Senior Member
Thanks Meter: 4,863
Donate to Me
MiRaGe 06112012
I have updated the builds to include two fixes
- Fix occasional completely mute incoming call in Phone.apk
- Timestamp doesn't contain date info, therefore we need to construct it and adjust it if daylight savings applies in frameworks base

Please see the OP to find the download links. The details of the changes are in the CM code review site linked in the OP.
The Following 4 Users Say Thank You to mrg666 For This Useful Post: [ View ]
12th June 2012, 04:24 AM |#9  
pandulce1's Avatar
Senior Member
Flag New York
Thanks Meter: 20
I'm onboard and flashing latest build now.
The Following User Says Thank You to pandulce1 For This Useful Post: [ View ]
12th June 2012, 05:42 AM |#10  
Senior Member
Flag Minnesota
Thanks Meter: 71
Could this be flashed over bobzhome version? Just thought I'd ask, was just going to attempt it.
12th June 2012, 05:10 PM |#11  
mrg666's Avatar
OP Senior Member
Thanks Meter: 4,863
Donate to Me
Originally Posted by torch2424

This Is awesome updates will be so easy to follow what motivated you?

I don't know, simply accumulation of many things I guess. Maybe, I could finally convince myself that there were enough contributions that are worth making a thread.

Originally Posted by yolo2die

Could this be flashed over bobzhome version? Just thought I'd ask, was just going to attempt it.

You can try with just wiping cache/dalvik-cache. If there are problems you can't resolve, (probably Launcher Pro in BobZ will conflict with ADW in MiRaGe), you can do a clean wipe and reflash. Don't forget a nandroid before doing anything.
Last edited by mrg666; 12th June 2012 at 05:13 PM.
The Following User Says Thank You to mrg666 For This Useful Post: [ View ]

Read More
Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes