[RAZR i Android Development] Omar-Avelar:
[ROM/KERNEL] Motorola 4.1.2 - Optimized & 4.3/4.4 Goodies (Nov-10-2014 & Final)

DESCRIPTION

This zip file started as a mod pack, and now evolved to a full flashable ROM intended to be installed in custom recovery. (it completely flashes the system partition and writes the boot.img/kernel accordingly).

The ROM is based from Motorola's stock Jelly Bean 4.1.2 EU for the Razr i but it is still a must to wipe the data partition when first flashing because of the extreme modifications.

​

MORE SCREENSHOTS

​

The following changes are incorporated:

Custom optimized kernel.

Different IO Schedulers to choose from, the default is BFQ v7r6.

Android 4.4 Gallery with effects working using native x86 libs.

Android 4.4 system fonts.

Android 4.2 Clock with timer and stopwatch and increasing volume alarm.

Android 4.4 Keyboard with multi-lingual support and swype gestures working.

Apex as the default launcher -- goodbye Blur's HomeScreen (check the extra flashers if you want to keep Blur's home).

A lot of Blur services and Motorola stuff removed for better memory consumption and less background services.

Very good battery life.

Comes pre-rooted and with Koush's x86 Superuser.

Tweaked the UI compositor a little bit.

Auto brightness curve tweaks mod for better levels while indoors.

Fully deodexed and zipaligned.

init.d support implemented inside the ramdisk of the Kernel.

Kernel memory/cache management optimizations and scheduler power-savings.

Kernel Same-page Merging (KSM) enabled in the Kernel for better memory management.

CyanogenMod Email/Exchange client instead of Motorola's.

Option to make the External SD the primary one under flashable extras.

adb runs as root. (ie, "adb remount" now works).

DPI changer app work on this ROM.

Hold up/down keys to move between music tracks when the screen is off, thanks to [MENTION=2796045]shaftenberg[/MENTION].

AOSP Style status bar and navigation bar.

CHANGELOG

2014 - 11 - 05: Added the BFQ BFQ-v7r6 scheduler, interactivex2 ramps up to 1.8 GHz instead of 1.6 GHz -- this helps with the GFx engine clocking somehow.

2014 - 09 - 22: Fixed a GPS bug introduced in last version. Updated Google Play services.

2014 - 09 - 20: Updated prepackaged Apex launcher and refreshed the Dalvik heap settings. Hope you guys like the improvement in performance and responsiveness of this version (and bonus AnTuTu points).

2014 - 09 - 17: Fixed a wifi wakelock event in our driver and one in the pmu code, turbocharging our deep sleep stats.

2014 - 09 - 16: Heavily optimized the memory management blocks. I also recommend doing the following steps too:
adb shell 'su -c "tune2fs -m 1.0 /dev/block/cache"'
adb shell 'su -c "tune2fs -m 1.0 /dev/block/userdata"'

2014 - 09 - 10: Better performance in the GFx driver while mantaining battery savings. Let me know how this goes for most of you guys.

2014 - 08 - 10: Focused to do some more Kernel improvements regarding user interactivity and memory management.

2014 - 08 - 04: Fixed a bug in the APN reset logic, updated the Kernel.

2014 - 07 - 16: intel_cpu_idle changes to conserve more power.

2014 - 07 - 8/11: GFx driver tweaks in the Kernel to enable clockgating and PM runtime counter change, also fixing the ADB icon when plugged in -- please report anything unusual.

2014 - 06 - 10: Fixed Facebook crashes and brought over KREAT0R's white SystemUI.apk and framework-res.apk changes over to my ROM. Thanks to him for doing it :).

2014 - 05 - 20: InteractiveX2 now also limits the single core that remains awake to it's min frequency, this will allow me to just remove the SMP power savings in the scheduler since the screen has always been it's biggest draw when the phone is awake and to provide extra juice for Goofle Now users. Fixed GoogleTTS.apk that I could have messed up on previous build -- I have no idea why Facebook closes right now; it seems to think that we are in Android 4.4 yet we do not have some methods it is trying to access from KitKat.

2014 - 05 - 14: InteractiveX2 ramp up/ramp up changes for gaming performance. Added back GoogleTTS (please clean up it's setting if needed).

2014 - 04 - 21: Updated the keyboard, please go to "Apps > All > Android Keyboard" and hit clear data (MUST).

2014 - 04 - 01: Was able to extract more battery juice by changing CPU scheduling, I don't know why Facebook upload is broken tho.

2014 - 01 - 28: Fixed a busybox/su bug I introduced by mistake.

2014 - 01 - 21: Fixed a weird bug in SystemUI.apk when booted after factory reset.

2014 - 01 - 20: InteractiveX2 fixed to avoid random reboots, plus 2 zram spaces active, zram will only be active on rare cases (low swappiness for less battery consumption/cpu usafe), feel free to tweak as you like.

2014 - 01 - 01: Added fstrim x86 static binary to trim every boot -- should keep our NAND storage fast and healthy. Kernel has the random-reboots fix in place and updated /media/sounds/* to to 4.4 files -- fixed Hangouts not detected on clean install (can someone try a Hangouts video call?).

2013 - 12 - 09: Think I took care of the last reboots for some users, this should pack the best deep sleep to active ratios than before. Replaced with the correct signal kit kat icons in the status bar along with wifi and some others, and updated the Keyboard to be Google's one that has working swype gestures. Gallery effects are still broken in this build. Changed the navigation bar and transparency to match Apex's default translucency.

2013 - 12 - 01: Experimental pack, trying to fix the cpu_offline bug that caused reboots on some of my older Kernels, Bluetooth is enabled here. Status bar icons are white without Google services connectivity indication (except for the network glyph that will be lighter). 4.4 Gallery without an extra camera is loaded and trying the 4.4 Keyboard -- I will attempt to fix the Gallery edit crash and the swype crash on the next days, includes updated (beta) Apex Launcher. Stripped down all the binaries and libraries that could be stripped from debug symbols.

2013 - 10 - 15: Updated the Linux Kernel to 3.0.100, worth it.

2013 - 10 - 12: Quick small update to get "Android Services" use less power.

2013 - 10 - 07: CFQ interactivity tweaks in place. Userland binaries were stripped down in size. Also figured out I had an older DeskClock.apk that was buggy and does not include the increasing volume option, got this swapped out when I suddenly deleted it, (restored it back) -- hacked out the smali chunks in MmsDependencies.apk to see if this works now with the CM app for everyone. Navigation bar is now also tiny on landscape mode (not as tiny as portrait, but apparently that is how it goes -- I did modify the landscape parameter). What is left would be to finally enable MMS on the CM app and I am guessing different *.apk's will behave differently... ideas, suggestions and experiments will be well recieved here and while testing with an unclean data partition please delete MmsDependencies and Mms data or those might randomly crash! This was labeled M8 if you still have SMS issues read the known issues section.

2013 - 09 - 20: Updated Quickoffice.apk, changed the boot animation to Google edition devices..

2013 - 09 - 02: Increased the KSM ratios for lower memory consumption. Removed "keyguard.no_require_sim=false" from the boot.img to see if this fixes the bootloops when clean installing for some people. Update: Fixed CMFileManager thanks to paulle.

2013 - 07 - 30: Enabled KSM (kernel same-page merging) on the Kernel also removed a lot of extra junk from the ROM such as a stored copy of the radio.bin and unused blobs, replaced the audio files with CM10.1 ones. This build attempts to lower the RAM consumption. ALSA configuration file is now kept as global under /system/etc, let's see if this fixes random audio issues and also helps save some memory on the system -- if you don't do a /data wipe please delete this folder "/data/alsa/" or you might get random restarts or no audio at all.

2013 - 07 - 14: Updated Houdini binaries and related files from Samsung's P5200XXUAMFC_P5200OXEAMF5_MGF image. Added SunBeam.apk (live wallpaper) from Android 4.3, also fixed Google's TTS not loading properly one of the libraries. Re-added libcamera_client.so from ARM libs as it crashed some houdini apps. Kernel updated to 3.0.86.

2013 - 07 - 09: Updated the Roboto fonts to the 4.3 Android pack [they do look nicer], there is also some minor sysctl.conf changes and minfree values.

2013 - 06 - 05: Seems to have fixed the Chrome lagginess and keeping lower minfrees. Thanks to danielgava's recommendation. New Kernel optimizations -- it feels snappier IMO.

2013 - 05 - 28: Some more HDSPA+ battery saving tweaks while retaining good throughput, patched Settings.apk thanks to lord0815 on the Privacy icon that was missing, also went different on the minfree's.

2013 - 05 - 18: Fixed earpiece bug -- removed the Picasa uploader.

2013 - 05 - 16: The installer now does the formatting /system by itself, also fixed the installer not getting correctly the busybox symlink on clean install (permission issues). Set "ro.mot.eri.losalert.delay=1000" again since the value of "2000" was giving weird behavior for some users losing signal until rebooting.

2013 - 05 - 12: Added shaftenberg's mod for music control when the screen is off, better benchmarking and caching. Changed media_profiles.xml to get better jpeg encoding and decoding for our device.

2013 - 05 - 03: Removed some extra intents on MmsDependencies, but doubt it will fix SMS issues for some people but you guys can give it a shot. Also disabled one of the a52 ciphering algorithms for GSM but kept a53, so far battery looks better on mobile network. Changed the minfree's to have less application and service killings. Went back and put CM's MMS app as it did not make a difference on 'fixing' the SMS issue according to posts. Vibration is now a tad bit stronger too.

2013 - 04 - 30: Restoring back the Exchange corporate Email apk to a working one (thanks to lebobo). ADB runs as root now.

2013 - 04 - 25: Fixed the MTP bug that was introduced by mistake and put the Mms.apk that jacbarahona72 shared with us, replaced the status bar with AOSP icons -- thanks to shaftenberg whom made the mod where I based the my changes. (If you want to flash on top the stock SystemUI it is under flashable extras).

2013 - 04 - 24: Kernel changes merged on the TCP/IP layer and memory management blocks (out of those changes something you might notice are to let the phone sleep more when on wi-fi), re-added the powervr.ini file. Also Photosphere loads now but it is still WIP because on the gyroscope required changes that must be implemented and tested. I recommend this version if you have been holding the updates lately.

2013 - 04 - 21: Better performance on GPU and arithmetic operations achieved with some Kernel compile changes.

2013 - 04 - 17: Removed discard options on remount, apparently enabling TRIM support makes some apps lag a lot.

2013 - 04 - 16: Read a lot more on RIL parameters and fine tuned the radio power saving values, let's see how it goes. ROW IO Scheduler set to default, seems to be giving the best battery life. And removed SmartActions + Motorola's cce.apk finally after the 3G/UMTS/HDSPA tweaks were put in place.

2013 - 04 - 10: Recompiled a specific busybox with everything working :victory: (for example razriroot busybox has some commands messed up).

2013 - 04 - 08: Got an extended apns-conf.xml for people who default the APN's according to the operator should be less prone to have MMS issues, and also moved some init.d tweaks inside the Kernel, you will now see a lower score for "RAM" benchmarks under because it was tweaked for battery, but this performs better in real-life.

2013 - 04 - 07: Fixed the WiFi MAC changing, the Busybox binary that was leftover, also updated some more optimized/native x86 system libraries for graphics. Fixed a messed up $BOOTCLASSPATH I got by mistake.

2013 - 03 - 05: Initial upload.

DOWNLOADS

< Full ROM >

RazRi_JB_X-2014-Nov-BFQ-v7r6_F.zip

md5sum: 458c318e67df3f78577210775476c113

Note: Older ROM's can be located under: RaZR i - XT890/OLD

< Flashable extras >

RazRi_External-SD.zip - Will map the Ext-SD card to /storage/sdcardN, and leave /data to the internal eMMC

RazRi_BlurLauncher_Install.zip - Reinstalls Blur Launcher with the Circle Widgets and removes Apex (Multi-lingual)

RazRi_Emoji-Keyboard.zip - Adds the 4.2.2 Emoji Keyboard from the Nexus 4

Collection of extra mods for the ROM

Apps Pack without the Blackout Patch

INSTRUCTIONS (FOLLOW THEM PLEASE)

Make sure you have a custom recovery installed.

Download the *.zip file to your SD.

Boot into your custom recovery of choice.

<Optional when upgrading same ROM> Data wipe will be required if you came from another ROM, even stock EU.

Select install zip from external card, and choose the zip file.

Hit Reboot.

Note: Do not flash Gamma Kernel on top, the latest or a later better one is already packed on the ROM releases.

!!! KNOWN BUGS !!! (MUST READ BEFORE POSTING)

One of the power-saving features will bring data connection instability if your city has bad signal coverage, please read this. It is usually the minority of the users but you might face it.

Please add a MMS entry for your carrier under APNs if you do not have one -- if you don't the CM MMS app will have trouble with long text messages or unicode characters. If you still have SMS problems after this just head over here.

Photosphere now loads -- but there is no gyroscope in our device, so we can't shoot photospheres.

IMPORTANT: I recommend you perform a nandroid backup of your ROM before playing with your phone, just in case.

<< If you like my work here is my hat, please donate! >>​

​

<< And thanks to you guys for the support and help >>​