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

[Android 4.4+] [KERNEL] [OC] Nui kernel for CM ROMs

Funny boot logo?

  • Yes!

    Votes: 38 35.5%
  • No. Stock boot logo

    Votes: 69 64.5%

  • Total voters
    107
Search This thread

thichthat

Senior Member
Nov 1, 2012
466
810
Hi everyone! After a couple of days working on ubuntu, I have built my own kernel

If you enjoy my work, please buy me a coffee. Thanks: http://nui.pe.hu/donate.html
Download here: https://play.google.com/store/apps/details?id=com.nui.kernel

I AM A STUDENT, NOT A DEVELOPER. I CANNOT FIX ALL ERRORS. SO PLEASE DON'T GIVE MY APP 1 OR 2 STARS.


FAQs

I can't flash zip file!
You must install TWRP. It doesn't work with CM recovery

My phone gets bootloop. What can I do?
You can use fastboot to flash stock kernel. Or just easily re-flash ROM.

This kernel makes my phone runs slow!
I can't help you. It works fine for me. I use CM's source code and I just add some feature.

Can you add/remove/fix blah blah feature?
OK. I'll try. But first I must do my homework. I'm a student, not a developer :(

Do I need to move data from internal storage to sdcard before disabling it ?
Yes. But if you forgot, don't worry. All your data is still in /data/media/0



See post #2 for more infomation


Changelog:
V6.1
Update FAQs
Update built-in TWRP to 3.0.0 (thanks to cucumber09)
Enable pressure report for touch screen (may not accurate)
Fix delay for guide on boot logo
Sync with newest CM13 kernel source.

V6.0
Re-enable F2FS
Use uncompressed main ramdisk (only gzip TWRP ramdisk)
Sync with CM13 kernel source
Underclock to 192MHz (may increase standby time)
Optimize voltage value for CPU
Increase CPU bus speed
Fix/update extract_elf_ramdisk (thanks to cucumber09)

V5.9
Add fade animation for flash torch on/off (in Tweaks > More)
Fix recording video error
Sync with CyanogenMod kernel source
App: fix FC in screen/brightness settings

V5.8
Add an awesome fade animation for LED notification
Sync with Ron's CM13 kernel source
App: Remove options for KSM and brightness lock

V5.7
Fix some FCs in the app
Disable KSM for fixing random reboot
Update disable internal storage for android 6.0+
Option for offline charging (Tweaks > Boot options)

V5.6
Add loading recovery.cpio from /cache
Add tips in FAQ menu
Add KSM support (Tweaks > RAM tweaks)
Follow Google's guidelines for Low RAM devices
Disable offline charging by default
Edge gesture: Custom action for menu gesture, increase its sensitive
Always enable dt2w/s2w vibration

V5.5
Add earpiece volume gain
Support camera button on selfie stick (in Tweaks > Buttons)
Fix swipe to control music
Fix FM radio

V5.4
Kernel:
Full support for android 6.0 marshmallow
Optimize sensor drivers (gravity, light and compass driver)
Press volume up/down to answer/decline incoming call
Fix swipe to control music
Fix speaker gain being overwritten randomly
App:
Fix sound settings can't be restored on boot

V5.3
Fix Edge gesture
Add function to Backup/Restore settings.
New "Edge gesture" function (see more in Tweak menu)
Add volume control from kernel level (for mic, speaker and headset)
Many optimizations for touch screen driver
Add tweaks for camera
Button: add "recent" button action
App: Rearrange tweaks menu

V5.2
Kernel:
GCC 5.2.0
Removed kexec hard-boot (it's broken and I can't fix)
Tweaked low memory killer module
Workaround for mobile data issue
App:
Allow opening tweak menu without updating to newest version
Rearrange some settings in "More" section in tweak menu
Add tweaks for Android side

V5.1
Now use GCC 5.1.0
Add Croatia translation (Thanks to Petar Cerin)
Improve/fix installer script (compatible with more ROMs)
Improvements for touch screen driver and dt2w/s2w:
+ Optimize code (save CPU cycles)
+ Fix screen freeze issue (for dt2w/s2w)
+ Removed debug code
Workaround for init.d
Disable mpdecision by default

V5.0
FIX SYSTEMUI FCS (tested on Archidroid)
Add Hindi translation (thanks to Garv Maggu)
Fix shortcuts on home screen
Remove many unused built-in drivers (IR control, PS2 mouse, TV tuner,...)
Add interactive GPU governor
Enable H264 High profile codec (Experimental)
Remove debug messages in wlan and LED driver (speed up a bit)
LED blinking for boot decision (can be disabled in tweaks menu)

V4.9
Add Vietnamese translation (thanks to Tuan Loc)
Fix some English grammar error (thanks to Garv Maggu)
Add more shortcut for home screen
Fix mobile signal/SIM card for CM11 (Thanks to PecanCM)
New method to choose boot type
No delay after choosing Recovery boot
Add HYPER cpu governor
"Very dim" brightness now a bit dimmer
Prevent audio glitches for music playback (experimental, enable in accessibility service)

V4.8
Add kexec/MultiROM support (read post #2)
Add swipe to control music playback on screen off

V4.7
Governors: remove NUIOndemand, add intellidemand
Fix forever deep sleep on dt2w/s2w
Add GPU Control
Add CPU control and power menu shortcuts for launcher

V4.6
Built-in No-frills CPU Control (thanks to Sineo)
Add option to control Dynamic Fsync (disabled by default)
SELinux set to default (Enforcing)
Add overclock levels

V4.5
Downgrade to GCC 4.9.3 (to fix dt2w/s2w and some problems with ril)
Add intellimm governor
Set noatime for all partitions (I/O boost)
Fix disable internal storage mod for dual SIM (check post #2 on xda)
Remove automatic install method (we only have to flash ONE zip)
Improve algorithm in tweaks menu

V4.4
Fix touch screen freezing cause by dt2w/s2w
Option to force brightness to a specific value
Improve algorithm in tweaks menu

V4.3
GCC toolchain 4.9.4 linaro
Auto check for update when app is opened
Add swipe to wake (still for testing, sometimes need to swipe twice)
Merge new changes from CM (Except removing logger)
SElinux set to permissive by default
Add some help messages in tweak menu
Add MD5 checker for installer

V4.2
Tweaks for camera and focus button when screen is off
Add zen io scheduler
Update TWRP to 2.8.7.0
Option to change:
+ Sensitive of proximity sensor
+ Intensity of torch LED
+ Disable FOTA recovery
Improve dt2w:
+ Fix forever deep sleep bug (Need to test more)
+ Disable on screen edge (to prevent sliding from edge)
+ Fix some accidentally tapping case

V4.1
Add tweaks for camera and focus button
Add guide text on boot (can be disabled in tweaks menu)
Fix dt2w issue when calling

V4.0
Fix some settings cannot be saved
Fix headset volume button (in kernel level)
Add fiops io scheduler
Built-in frandom (Fast pseudo-random generator)

V3.9
Fix Settings menu can't show correct value
Add option for overclock, disable by default.
Add vibration for dt2w
Add lulzactive governor
Add fifo, tripndroid io scheduler
Hold volume up and press focus key to force reduce brightness (useful when you get "Android is upgrading" for a long time)
Update FAQs
Fix all FCs in Settings

V3.8
Fix lag when CPU goes above 1GHz. You phone will be very smooth.
Re-enable mpdecision (fix problem with sdcard)
Improve double tap to wake:
+ Fix battery drain
+ Add half screen mode
+ Add setting
+ Now can work in deep sleep but sometimes need to tap 4 times

V3.7
Fix sdcard not mounting on some ROMs
Fix Settings menu
Add manually install method
Fix/update NUIondemand
Fix all problem with zip method
Disable normal install method
Clean source code and toolchain (may fix problem with mounting sdcard and random reboot)

V3.6
Option to on/off vibration on boot decision
Fix FC in settings
Add NUIondemand governor (still for testing, read FAQs)
Re-built all kernel object files (may fix problem with mounting sdcard)

V3.5
Add custom vibration intensity for haptic feedback
Re-add CM11 support
Add init.d support
Added installer via zip method
Fixed FC in settings
Add FAQs
Fix install algorithm
Add more information for reporting

V3.4
Remove support for CM11
Add kernel tweaks
Revert adjusting microphone volume
Mount system rw at boot

V3.3
Disable mpdecision by default
Revert using focus button as camera button
Add exFAT and f2fs file system

V3.2
Fix bootloop for update on devices using Disable Internal Storage mod
Optimize init.sh script
Reduce brightness when booting (Save battery)
Built-in undervolt script (set on every boot)
Add Lionheart governor
Add sioplus iosched
Increase microphone volume

V3.1
Fix apk file not recognize Xperia M dual
Fix camera button not working on all CM roms (Open camera app and try it yourself!)
Add sio iosched
Add SmartassV2 governor (UNSTABLE, I need developers to help me)
Merge newest commits from CM

V3.0
Stock boot logo
Build with GCC 4.9.3 linaro
New way to install (via apk file)
New way to reboot: press and hold power button for 8 secs
Re-enable FOTA recovery (read post #2)
Re-enable Dynamic FSync 2.0
Sync with CM's source code

V2.5
Based on CM12.1 branch from CM's source code
New funny boot logo!
Fixed beeeeeeeeeeeep noise when recording audio
Disable intelli plug (to control individual cores)
New boot script (add vibrations for boot decision)
Add 2ndrom function (still for testing)
Add new method for disabling internal storage

V2.0
Use SXD's source code (from here: https://github.com/NoelMacwan/SXDNickiLolly/ )
GCC 4.8
Overclock to 1.7GHz
Fixed dt2w (EXPERIMENTAL, MAY CAUSE BATTERY DRAIN)
Add intelli_plug, fsync, fstrim,...
intelli_plug tweak
Add support for CM12.1

V1.1:
Build with gcc tool 4.8.5 (thanks to @shrisangram )
Add doubletap2wake function (Worked but not stable!)
Disable mpdecision by default
Read ahead cache size to from 128KB to 2048KB

V1.0:
Stock boot logo
Overclocked to 1.6GHz (thanks to @FindYanot )
Added volt control and undervolt (thanks to @icoolguy1995 )
reduced min brightness level
Added TWRP 2.8.3.0 (with MTP support)
Added support for patch.cpio (for cm11 kernel patch)
When boot, blue led for boot decision and white led for TWRP (this is not an extra feature. I added it to test my codes)
Build with gcc tool 4.7 (Sorry, I have problems compiling with 4.8 and 4.9)


XDA:DevDB Information
[Android 4.4+] [KERNEL] [OC] Nui kernel for CM ROMs, Kernel for the Sony Xperia M

Contributors
thichthat, Garv Maggu, ndrancs
Source Code: https://github.com/ngxson/android_kernel_sony_msm8x27

Kernel Special Features:

Version Information
Status: Stable
Stable Release Date: 2015-06-08

Created 2015-03-30
Last Updated 2016-02-15
 
Last edited:

thichthat

Senior Member
Nov 1, 2012
466
810
Reserved

Useful information:

See 3rd post for disabling internal storage

List of old versions can be found here: https://drive.google.com/folderview?id=0B2-0MyP06DN5LWs1YWZudm5La3M&usp=sharing

Manually install method: If you have problem with installing via apk file, try this method:
- Extract all files zip files from apk file
- In apk/assets/nui you will see a zip file. Extract and copy it to your phone.
- Reboot to recovery and flash method_zip.zip
- Reboot again.
Done!

Recommended setting:

  • Normal usage:
    Use built-in undervolt table
    CPU: max=1026MHz
    governor=intellidemand
    GPU: max=320MHz
    io sched=zen
  • Battery saving:
    CPU: max=810MHz
    governor=conservative
  • Hard gaming:
    Set all to max. It's easy for you.
 
Last edited:

thichthat

Senior Member
Nov 1, 2012
466
810
MOD: Disable emulated storage (internal storage)

MOD: Disable emulated storage (internal storage)

FOR ANDROID 6.0+: http://forum.xda-developers.com/showpost.php?p=63787343&postcount=845

This mod works on almost roms. I tested it on CM11, CM12, Bliss pop v2.3, AICP, CM12.1 (beta 2 and 3), Flex OS and XenonHD
Update: Maybe not works on CM12.1 nightly

Unlike init.d method, this method is more stable. It will disable the emulated storage and change default storage to your real sdcard.

To use this mod, you must have:
- A computer running Windows
- Java Runtime (jre) installed (to use apktool)
- Your xperia M using NUI kernel
- You have to move ALL data from internal storage to sdcard before using this mod
- Download this file: http://www.mediafire.com/download/rj3vnokcbl8eyit/disable_emulated_storage_20150917_2.zip

Update log:
9/17/2015: Update apktool to v2.0.1. Fix problem on some nightly builds. Add zip align tool.
6/27/2015: Use 7z instead of zip1.exe
7/29/2015: Fix for dual SIM
7/30/2015: Adapted to v4.5


Guide:
  • Extract files from disable_emulated_storage.zip
  • Run 1Pulling_Files.bat and follow the instructions
  • After running 2Patching.bat, 3 files named backup.zip, NUI_MOD.zip and NUI_MOD_1.zip are generated
  • Flash NUI_MOD.zip
  • If it doesn't work, flash NUI_MOD_1.zip
  • If both files don't work, flash backup.zip
Enjoy! ;)

Notice:
  • If you want to remove your sdcard, turn off phone first.
  • Wiping dalvik cache is recommend

Pre-built file (just flash it and enjoy):


RazorRC-2.0 (Thanks to @Garv Maggu ):
http://forum.xda-developers.com/showpost.php?p=63414136&postcount=757

Tipsy OS V2.0 (Thanks to @Garv Maggu ):
http://forum.xda-developers.com/showpost.php?p=63359465&postcount=751

For CyanideL RC20.0 (thanks to @Garv Maggu)
http://forum.xda-developers.com/showpost.php?p=63291657&postcount=739

For Archidroid_V3.1.3:


For xenonHD stable_2 06-06-2015:

For AOSP-20151807-DUALSIM:

Link: http://forum.xda-developers.com/showpost.php?p=62119355&postcount=560
ROM info:
AOSP-20151807-DUALSIM
ROM OS Version: 5.1.1 Lollipop
Build Number: LVY48C
Build Date : 2015-07-18
Based On: AOSP
link : [ROM][5.1.1][DUALSIM] The Android Open Source Project by smartAgent47

attachment.php


Parallax OS 1.0 (thanks to @Garv Maggu )
Garv Maggu said:


See screenshots below:
 

Attachments

  • 11272191_471484816343078_155185102_n.jpg
    11272191_471484816343078_155185102_n.jpg
    53.7 KB · Views: 6,511
  • 11324062_471481409676752_1943578508_n.jpg
    11324062_471481409676752_1943578508_n.jpg
    27 KB · Views: 6,508
  • Screenshot_2015-06-03-18-28-59.png
    Screenshot_2015-06-03-18-28-59.png
    54.3 KB · Views: 6,471
Last edited:

thichthat

Senior Member
Nov 1, 2012
466
810
Thanks so much for this kernel! :)

What's the default voltage for any given CPU frequency and how much can we undervolt safely at 1.3Ghz for instance?



Not sent by me.

You can reboot your phone to have the default voltage value
This is my UV settings. I suggest using Kernel Tuner
From 384MHz to 702MHz I reduce 200mV
From 702 to 1.6GHz I reduce 150mV (Don't reduce more. Otherwise, your phone will reboot immediately)

Code:
  384000:   750000
  432000:   775000
  486000:   775000
  540000:   800000
  594000:   800000
  648000:   825000
  702000:   825000
  756000:   875000
  810000:   875000
  864000:   900000
  918000:   900000
  972000:   925000
1026000:   925000
1080000:   975000
1134000:   975000
1188000:  1000000
1242000:  1000000
1296000:  1025000
1350000:  1025000
1404000:  1037500
1458000:  1037500
1512000:  1050000
1620000:  1100000
 

BlackArtsInc

Senior Member
Apr 26, 2012
773
77
Athens
Well...as is the case with almost every OC kernel I've tried, the second core is stuck at maximum frequency. Kernel Tuner cannot make the settings stick. Any suggestions?

Not sent by me.
 

thichthat

Senior Member
Nov 1, 2012
466
810
Well...as is the case with almost every OC kernel I've tried, the second core is stuck at maximum frequency. Kernel Tuner cannot make the settings stick. Any suggestions?

Not sent by me.

That's because of the mpdecision included in almost qcom devices. You can try the newest Kernel Tuner 2015 (with green icon). Or you can use these command in terminal:
Code:
su
stop mpdecision
 

dastan4eva

Senior Member
Jul 28, 2014
667
150

thichthat

Senior Member
Nov 1, 2012
466
810
So I can use Kernel Tuner 2014 and be OK even after a reboot? OK thanks!

Not sent by me.
Yes. I will include this feature in the 2.0 version. So you can use other apps to set CPU

Sir

Thanks for the awesome kernel , everything works fine

Few requests

Can you check out and add commits from this kernel http://forum.xda-developers.com/xpe...rnel-thunderzap-4-1-r2-sound-control-t2390831 if you have time
Almost feature in that kernel was included in my kernel. Just enjoy the smoothness and longer battery life!
 
  • Like
Reactions: BlackArtsInc

icoolguy1995

Senior Member
Jun 22, 2012
2,188
1,502
HARDA
SOME REMARKS:

1) Is undervolt is really working? You know i have tried undervolting from inside ACPUCLOCK file but i didn't find any difference.
2) AFAIK mpdecision maintains clock speed disabling it will give you max freqs all the time.
3) Use intelliplug it governs frequency better than mpdecision.
 

thichthat

Senior Member
Nov 1, 2012
466
810
SOME REMARKS:

1) Is undervolt is really working? You know i have tried undervolting from inside ACPUCLOCK file but i didn't find any difference.
2) AFAIK mpdecision maintains clock speed disabling it will give you max freqs all the time.
3) Use intelliplug it governs frequency better than mpdecision.

There's only one method to make sure UV work: If you under volt more than 250mV and change cpu freq again, your phone will reboot immediately! That because voltage table will be read when cpu freq is changed
About the mpdecision, I've found a way to disable it. I found this code in init.qcom.rc
chown root system /sys/devices/system/cpu/mfreq
chmod 220 /sys/devices/system/cpu/mfreq
chown root system /sys/devices/system/cpu/cpu1/online
chmod 664 /sys/devices/system/cpu/cpu1/online
start mpdecision

service hostapd /system/bin/hostapd -dddd /data/hostapd/hostapd.conf
class late_start
user root
group root

Just delete this code and you'll have permission to control 2nd core.
 
Last edited:

manal.21sinha

Senior Member
Oct 30, 2013
113
30
Mandi, HP
Finally a fully working OC Kernel for CM12!

Been waiting for this for so long. Just installed it moments ago. FindYanot's kernel was working fine except that there was Camera and Flashlight FC issues. But no such issues in this one, so I am delighted. No other feature seems to be broken at the moment.

One question: Where to install Kernel Tuner 2015 from? Kernel Tuner 2014 was updated on Feb 28, 2015 according to Play Store, so is that gonna work as needed? (override mpdecision and set on boot)
 

thichthat

Senior Member
Nov 1, 2012
466
810
Been waiting for this for so long. Just installed it moments ago. FindYanot's kernel was working fine except that there was Camera and Flashlight FC issues. But no such issues in this one, so I am delighted. No other feature seems to be broken at the moment.

One question: Where to install Kernel Tuner 2015 from? Kernel Tuner 2014 was updated on Feb 28, 2015 according to Play Store, so is that gonna work as needed? (override mpdecision and set on boot)

It's KT 2014. Sorry I forgot the version.
Btw, the doubletap2wake function is now working. 2.0 version will be release soon!
 

Top Liked Posts

  • There are no posts matching your filters.
  • 47
    Hi everyone! After a couple of days working on ubuntu, I have built my own kernel

    If you enjoy my work, please buy me a coffee. Thanks: http://nui.pe.hu/donate.html
    Download here: https://play.google.com/store/apps/details?id=com.nui.kernel

    I AM A STUDENT, NOT A DEVELOPER. I CANNOT FIX ALL ERRORS. SO PLEASE DON'T GIVE MY APP 1 OR 2 STARS.


    FAQs

    I can't flash zip file!
    You must install TWRP. It doesn't work with CM recovery

    My phone gets bootloop. What can I do?
    You can use fastboot to flash stock kernel. Or just easily re-flash ROM.

    This kernel makes my phone runs slow!
    I can't help you. It works fine for me. I use CM's source code and I just add some feature.

    Can you add/remove/fix blah blah feature?
    OK. I'll try. But first I must do my homework. I'm a student, not a developer :(

    Do I need to move data from internal storage to sdcard before disabling it ?
    Yes. But if you forgot, don't worry. All your data is still in /data/media/0



    See post #2 for more infomation


    Changelog:
    V6.1
    Update FAQs
    Update built-in TWRP to 3.0.0 (thanks to cucumber09)
    Enable pressure report for touch screen (may not accurate)
    Fix delay for guide on boot logo
    Sync with newest CM13 kernel source.

    V6.0
    Re-enable F2FS
    Use uncompressed main ramdisk (only gzip TWRP ramdisk)
    Sync with CM13 kernel source
    Underclock to 192MHz (may increase standby time)
    Optimize voltage value for CPU
    Increase CPU bus speed
    Fix/update extract_elf_ramdisk (thanks to cucumber09)

    V5.9
    Add fade animation for flash torch on/off (in Tweaks > More)
    Fix recording video error
    Sync with CyanogenMod kernel source
    App: fix FC in screen/brightness settings

    V5.8
    Add an awesome fade animation for LED notification
    Sync with Ron's CM13 kernel source
    App: Remove options for KSM and brightness lock

    V5.7
    Fix some FCs in the app
    Disable KSM for fixing random reboot
    Update disable internal storage for android 6.0+
    Option for offline charging (Tweaks > Boot options)

    V5.6
    Add loading recovery.cpio from /cache
    Add tips in FAQ menu
    Add KSM support (Tweaks > RAM tweaks)
    Follow Google's guidelines for Low RAM devices
    Disable offline charging by default
    Edge gesture: Custom action for menu gesture, increase its sensitive
    Always enable dt2w/s2w vibration

    V5.5
    Add earpiece volume gain
    Support camera button on selfie stick (in Tweaks > Buttons)
    Fix swipe to control music
    Fix FM radio

    V5.4
    Kernel:
    Full support for android 6.0 marshmallow
    Optimize sensor drivers (gravity, light and compass driver)
    Press volume up/down to answer/decline incoming call
    Fix swipe to control music
    Fix speaker gain being overwritten randomly
    App:
    Fix sound settings can't be restored on boot

    V5.3
    Fix Edge gesture
    Add function to Backup/Restore settings.
    New "Edge gesture" function (see more in Tweak menu)
    Add volume control from kernel level (for mic, speaker and headset)
    Many optimizations for touch screen driver
    Add tweaks for camera
    Button: add "recent" button action
    App: Rearrange tweaks menu

    V5.2
    Kernel:
    GCC 5.2.0
    Removed kexec hard-boot (it's broken and I can't fix)
    Tweaked low memory killer module
    Workaround for mobile data issue
    App:
    Allow opening tweak menu without updating to newest version
    Rearrange some settings in "More" section in tweak menu
    Add tweaks for Android side

    V5.1
    Now use GCC 5.1.0
    Add Croatia translation (Thanks to Petar Cerin)
    Improve/fix installer script (compatible with more ROMs)
    Improvements for touch screen driver and dt2w/s2w:
    + Optimize code (save CPU cycles)
    + Fix screen freeze issue (for dt2w/s2w)
    + Removed debug code
    Workaround for init.d
    Disable mpdecision by default

    V5.0
    FIX SYSTEMUI FCS (tested on Archidroid)
    Add Hindi translation (thanks to Garv Maggu)
    Fix shortcuts on home screen
    Remove many unused built-in drivers (IR control, PS2 mouse, TV tuner,...)
    Add interactive GPU governor
    Enable H264 High profile codec (Experimental)
    Remove debug messages in wlan and LED driver (speed up a bit)
    LED blinking for boot decision (can be disabled in tweaks menu)

    V4.9
    Add Vietnamese translation (thanks to Tuan Loc)
    Fix some English grammar error (thanks to Garv Maggu)
    Add more shortcut for home screen
    Fix mobile signal/SIM card for CM11 (Thanks to PecanCM)
    New method to choose boot type
    No delay after choosing Recovery boot
    Add HYPER cpu governor
    "Very dim" brightness now a bit dimmer
    Prevent audio glitches for music playback (experimental, enable in accessibility service)

    V4.8
    Add kexec/MultiROM support (read post #2)
    Add swipe to control music playback on screen off

    V4.7
    Governors: remove NUIOndemand, add intellidemand
    Fix forever deep sleep on dt2w/s2w
    Add GPU Control
    Add CPU control and power menu shortcuts for launcher

    V4.6
    Built-in No-frills CPU Control (thanks to Sineo)
    Add option to control Dynamic Fsync (disabled by default)
    SELinux set to default (Enforcing)
    Add overclock levels

    V4.5
    Downgrade to GCC 4.9.3 (to fix dt2w/s2w and some problems with ril)
    Add intellimm governor
    Set noatime for all partitions (I/O boost)
    Fix disable internal storage mod for dual SIM (check post #2 on xda)
    Remove automatic install method (we only have to flash ONE zip)
    Improve algorithm in tweaks menu

    V4.4
    Fix touch screen freezing cause by dt2w/s2w
    Option to force brightness to a specific value
    Improve algorithm in tweaks menu

    V4.3
    GCC toolchain 4.9.4 linaro
    Auto check for update when app is opened
    Add swipe to wake (still for testing, sometimes need to swipe twice)
    Merge new changes from CM (Except removing logger)
    SElinux set to permissive by default
    Add some help messages in tweak menu
    Add MD5 checker for installer

    V4.2
    Tweaks for camera and focus button when screen is off
    Add zen io scheduler
    Update TWRP to 2.8.7.0
    Option to change:
    + Sensitive of proximity sensor
    + Intensity of torch LED
    + Disable FOTA recovery
    Improve dt2w:
    + Fix forever deep sleep bug (Need to test more)
    + Disable on screen edge (to prevent sliding from edge)
    + Fix some accidentally tapping case

    V4.1
    Add tweaks for camera and focus button
    Add guide text on boot (can be disabled in tweaks menu)
    Fix dt2w issue when calling

    V4.0
    Fix some settings cannot be saved
    Fix headset volume button (in kernel level)
    Add fiops io scheduler
    Built-in frandom (Fast pseudo-random generator)

    V3.9
    Fix Settings menu can't show correct value
    Add option for overclock, disable by default.
    Add vibration for dt2w
    Add lulzactive governor
    Add fifo, tripndroid io scheduler
    Hold volume up and press focus key to force reduce brightness (useful when you get "Android is upgrading" for a long time)
    Update FAQs
    Fix all FCs in Settings

    V3.8
    Fix lag when CPU goes above 1GHz. You phone will be very smooth.
    Re-enable mpdecision (fix problem with sdcard)
    Improve double tap to wake:
    + Fix battery drain
    + Add half screen mode
    + Add setting
    + Now can work in deep sleep but sometimes need to tap 4 times

    V3.7
    Fix sdcard not mounting on some ROMs
    Fix Settings menu
    Add manually install method
    Fix/update NUIondemand
    Fix all problem with zip method
    Disable normal install method
    Clean source code and toolchain (may fix problem with mounting sdcard and random reboot)

    V3.6
    Option to on/off vibration on boot decision
    Fix FC in settings
    Add NUIondemand governor (still for testing, read FAQs)
    Re-built all kernel object files (may fix problem with mounting sdcard)

    V3.5
    Add custom vibration intensity for haptic feedback
    Re-add CM11 support
    Add init.d support
    Added installer via zip method
    Fixed FC in settings
    Add FAQs
    Fix install algorithm
    Add more information for reporting

    V3.4
    Remove support for CM11
    Add kernel tweaks
    Revert adjusting microphone volume
    Mount system rw at boot

    V3.3
    Disable mpdecision by default
    Revert using focus button as camera button
    Add exFAT and f2fs file system

    V3.2
    Fix bootloop for update on devices using Disable Internal Storage mod
    Optimize init.sh script
    Reduce brightness when booting (Save battery)
    Built-in undervolt script (set on every boot)
    Add Lionheart governor
    Add sioplus iosched
    Increase microphone volume

    V3.1
    Fix apk file not recognize Xperia M dual
    Fix camera button not working on all CM roms (Open camera app and try it yourself!)
    Add sio iosched
    Add SmartassV2 governor (UNSTABLE, I need developers to help me)
    Merge newest commits from CM

    V3.0
    Stock boot logo
    Build with GCC 4.9.3 linaro
    New way to install (via apk file)
    New way to reboot: press and hold power button for 8 secs
    Re-enable FOTA recovery (read post #2)
    Re-enable Dynamic FSync 2.0
    Sync with CM's source code

    V2.5
    Based on CM12.1 branch from CM's source code
    New funny boot logo!
    Fixed beeeeeeeeeeeep noise when recording audio
    Disable intelli plug (to control individual cores)
    New boot script (add vibrations for boot decision)
    Add 2ndrom function (still for testing)
    Add new method for disabling internal storage

    V2.0
    Use SXD's source code (from here: https://github.com/NoelMacwan/SXDNickiLolly/ )
    GCC 4.8
    Overclock to 1.7GHz
    Fixed dt2w (EXPERIMENTAL, MAY CAUSE BATTERY DRAIN)
    Add intelli_plug, fsync, fstrim,...
    intelli_plug tweak
    Add support for CM12.1

    V1.1:
    Build with gcc tool 4.8.5 (thanks to @shrisangram )
    Add doubletap2wake function (Worked but not stable!)
    Disable mpdecision by default
    Read ahead cache size to from 128KB to 2048KB

    V1.0:
    Stock boot logo
    Overclocked to 1.6GHz (thanks to @FindYanot )
    Added volt control and undervolt (thanks to @icoolguy1995 )
    reduced min brightness level
    Added TWRP 2.8.3.0 (with MTP support)
    Added support for patch.cpio (for cm11 kernel patch)
    When boot, blue led for boot decision and white led for TWRP (this is not an extra feature. I added it to test my codes)
    Build with gcc tool 4.7 (Sorry, I have problems compiling with 4.8 and 4.9)


    XDA:DevDB Information
    [Android 4.4+] [KERNEL] [OC] Nui kernel for CM ROMs, Kernel for the Sony Xperia M

    Contributors
    thichthat, Garv Maggu, ndrancs
    Source Code: https://github.com/ngxson/android_kernel_sony_msm8x27

    Kernel Special Features:

    Version Information
    Status: Stable
    Stable Release Date: 2015-06-08

    Created 2015-03-30
    Last Updated 2016-02-15
    23
    Reserved

    Useful information:

    See 3rd post for disabling internal storage

    List of old versions can be found here: https://drive.google.com/folderview?id=0B2-0MyP06DN5LWs1YWZudm5La3M&usp=sharing

    Manually install method: If you have problem with installing via apk file, try this method:
    - Extract all files zip files from apk file
    - In apk/assets/nui you will see a zip file. Extract and copy it to your phone.
    - Reboot to recovery and flash method_zip.zip
    - Reboot again.
    Done!

    Recommended setting:

    • Normal usage:
      Use built-in undervolt table
      CPU: max=1026MHz
      governor=intellidemand
      GPU: max=320MHz
      io sched=zen
    • Battery saving:
      CPU: max=810MHz
      governor=conservative
    • Hard gaming:
      Set all to max. It's easy for you.
    22
    MOD: Disable emulated storage (internal storage)

    MOD: Disable emulated storage (internal storage)

    FOR ANDROID 6.0+: http://forum.xda-developers.com/showpost.php?p=63787343&postcount=845

    This mod works on almost roms. I tested it on CM11, CM12, Bliss pop v2.3, AICP, CM12.1 (beta 2 and 3), Flex OS and XenonHD
    Update: Maybe not works on CM12.1 nightly

    Unlike init.d method, this method is more stable. It will disable the emulated storage and change default storage to your real sdcard.

    To use this mod, you must have:
    - A computer running Windows
    - Java Runtime (jre) installed (to use apktool)
    - Your xperia M using NUI kernel
    - You have to move ALL data from internal storage to sdcard before using this mod
    - Download this file: http://www.mediafire.com/download/rj3vnokcbl8eyit/disable_emulated_storage_20150917_2.zip

    Update log:
    9/17/2015: Update apktool to v2.0.1. Fix problem on some nightly builds. Add zip align tool.
    6/27/2015: Use 7z instead of zip1.exe
    7/29/2015: Fix for dual SIM
    7/30/2015: Adapted to v4.5


    Guide:
    • Extract files from disable_emulated_storage.zip
    • Run 1Pulling_Files.bat and follow the instructions
    • After running 2Patching.bat, 3 files named backup.zip, NUI_MOD.zip and NUI_MOD_1.zip are generated
    • Flash NUI_MOD.zip
    • If it doesn't work, flash NUI_MOD_1.zip
    • If both files don't work, flash backup.zip
    Enjoy! ;)

    Notice:
    • If you want to remove your sdcard, turn off phone first.
    • Wiping dalvik cache is recommend

    Pre-built file (just flash it and enjoy):


    See screenshots below:
    12
    Here is the list of new function I've made on v6.4:
    - 4K video recording
    - enable HDMI output via usb port
    - enable hidden flash LED next to the front camera

    Yes yes I know it hard to believe, but today is fool april
    11
    Update disable internal storage for 6.0

    Disable internal storage mod for 6.0 marshmallow

    FAQs:
    We have adopting storage on marshmallow. Why do we need that?

    Adopting storage has some disadvantages: Firstly, you'll have to format your sdcard. Secondly, you'll have to format your sdcard again every time you change ROM (or wiping data partition). That means you must spend more time to backup all data.

    Guide:
    Make sure you don't have 2nd partition on sdcard
    Just flash NUI_MOD_marshmallow.zip attached below this post.

    Tested on AOSP alpha 1, CM13 alpha 1, beta 1, 2 and 3.
    May NOT works on some class 4 or lower sdcards