Introducing XDA:DevCon – A Conference For Developers By Developers
XDA Developers Android and Mobile Development Forum
Forgot your password?
 
Post Reply+
Tip us?
 
ch33kybutt
Old
(Last edited by ch33kybutt; 11th June 2012 at 07:16 AM.)
#1  
ch33kybutt's Avatar
Recognized Developer - OP
Thanks Meter 829
Posts: 633
Join Date: Oct 2008
Default [KERNEL][GSM/LTE/CDMA][4.0.4] CMPlus for Tuna [11 JUN]

Requires:
1) a rooted GNex
2) a custom recovery
3) someone who knows what 1) and 2) mean.

( ... provided as-is ... use at your own risk ... won't be held responsible ... blah blah blah ... etcetera, etcetera ... )

I'm not really focused on getting the best benchmark results, as they mainly focus on raw throughput for CPU, GPU and memory, which anyone can easily top with some questionable hacks and a freezer. Not really real-world testing, imho. No benchmark app that I know of can effectively provide test results for latencies and responsiveness (but if anyone knows any benchmark which can measure that, please let me know). Reducing latency and improving responsiveness for the best possible user experience is, and will always be, my main aim for this kernel, whilst also trying not to wreak too much havoc on battery life.

CMPlus kernel is based on stock CM9 kernel with additional features that I think are useful. Initially built it for CM9, but also tested in other ROMs such as AOKP, ARHD, BAMF, BlackICE, CNA, Gummy, Liquid, etc. This kernel is mainly for my personal use, but anyone is free to download and use. Note that I am not obliged to accede to any/all requests, so apologies in advance for not answering all questions and requests, as I really, really don't have the time for thread management and really, really dislike the hassle of answering questions that have been answered countless times before.

This kernel has all existing features of stock CM9 Kernel (384MHz GPU, TUN, KSM, CIFS, NFS). All I've done are minor changes, so 99.999% of the credit deservingly goes to KalimochoAz, teamhacksung, CM team and of course, Google. And more so the devs listed below ...

Current version:
- Additional 200, 528, 1072, 1420 & 1500 MHz MPU frequency steps
- Disabled unnecessary debug options
- Enabled relevant ARM errata
- Optimized RWSEM & CRC32 algorithms (Ezekeel)
- SLQB memory allocator
- SIO I/O scheduler
- Optimized conservative, interactive & ondemand cpufreq governors (interactive as default)
- Alternative governors: Lazy & Wheatley (Ezekeel), Smartass2 (Erasmux) & Lulzactive (Tegrak)
- Removed powersave and userspace cpufreq governors
- Westwood+ as default TCP advanced congestion control
- Userspace voltage control (Michael Huang)
- Undervolted nominal VDD_MPU, VDD_IVA & VDD_CORE by 50mV
- Reduced regulator voltages to VAUX3 and VUSIM for reduced screen-on battery consumption
- Less conservative temperature throttling thresholds
- Fast charge patch (Chad Froebel)
- BLX: Battery Life eXtender, Sound Control, Touchwake, Vibration Control, Fsync Control (Ezekeel)
- User control of WiFi PM mode on sleep (PM_MAX default)
- Gamma Preset to control contrast levels
- Customizable startup script for controlling SmartReflex, Sound Control, BLX, Touchwake, Vibration, WiFi PM, Fsync, Gamma Preset and Color Control settings
- Screenstate modes to control settings for CPU Scheduler, Virtual Memory & Music Mode
- Other relevant patches from Omapzoom, Codeaurora & Android/kernel-common
- Compiled using a self-built Linaro 4.7.1 toolchain optimized for Tuna

- Applicable for both Maguro & Toro variants of Tuna (all sound kinda fishy to me)
- Koush's anykernel format, so does not modify existing ramdisk.
- Install in custom recovery

For real issues, please provide the following:
- ROM name and version
- Copy-n-paste dmesg & last_kmsg output to http://pastebin.com/ and provide URL
Code:
1. Start terminal emulator session
2. > su
3. # dmesg > /sdcard/dmesg.txt
For reboot/freeze problem, replace Step 3 above with
3. # cat /proc/last_kmsg > /sdcard/last_kmsg.txt
4. Paste contents of resultant txt files to pastebin.com
5. Post pastebin URLs here in this thread for diagnosis
- What you were doing with your phone at the time

In other words, help me to help you. Clairvoyancy and telepathy are a couple of skills that I don't possess ... yet ;P

I do this for masochistic tendencies fun, so won't accept donations. But if you feel the inescapable urge to part with your ill-gotten gains hard-earned savings, then why not donate to where it actually matters.
The Following 63 Users Say Thank You to ch33kybutt For This Useful Post: [ Click to Expand ]
 
ch33kybutt
Old
(Last edited by ch33kybutt; 31st May 2012 at 01:33 AM.)
#2  
ch33kybutt's Avatar
Recognized Developer - OP
Thanks Meter 829
Posts: 633
Join Date: Oct 2008
Default Startup script for CMPlus kernel

CMPlus kernel now includes a startup script with a customizable initialization file (/etc/cmplus.conf)

Settings below are customized to my preference. To customize, copy /etc/cmplus.conf to /sdcard/cmplus.conf then modify it yourself and save it. Your settings will survive any factory or system wipes, as long as /sdcard/cmplus.conf exists.

Script will first check for presence of /sdcard/cmplus.conf. If exists, it will load your settings then bypass my settings. If doesn't exist, then it will load my settings from /etc/cmplus.conf (see below)

Code:
# filename: /system/etc/cmplus.conf
# ==========================================
# Initialization file for /system/bin/cmplus
# ==========================================
# To survive /system wipes, copy this file to /sdcard/cmplus.conf then modify accordingly

# Enables/disables cmplus script
# 0 = disabled 
# 1 = enabled
ENABLED=1

# Enables/disables Screenstate modes (Screen-ON = Performance, Screen-OFF = Economy)
# 0 = disabled 
# 1 = enabled
SCREENSTATE=1

# Specifies min & max CPU frequency when screen-off and headset inserted (DEPENDS ON SCREENSTATE=1)
#  0 or blank = disabled (default)
#  1 = 200MHz 
#  2 = 350MHz 
#  3 = 528MHz 
#  4 = 700MHz 
#  5 = 920MHz 
#  6 = 1072MHz 
#  7 = 1200MHz 
#  8 = 1350MHz 
#  9 = 1420MHz 
# 10 = 1500MHz 
MUSIC_MIN_FREQ=1
MUSIC_MAX_FREQ=4

# Enables/disables SmartReflex 1.5 adaptive voltage control
# 0 = disabled 
# 1 or blank = enabled (default)
SMARTREFLEX=

# Sets volume boost setting for headset/headphones
# 0 or blank = disabled (default)
# 1 = low boost
# 2 = medium boost 
# 3 = high boost
VOLUME_BOOST=

# Enables/disables high performance audio for headset/headphones
# 0 or blank = disabled (default) 
# 1 = enabled (WARNING: May increase battery drain during music playback)
HIGHPERF_SOUND=

# Enables/disables fast charge via USB
# 0 or blank = disabled (default)
# 1 = enabled
FAST_CHARGE=

# Sets maximum charging limit for battery (BLX)
# 0 to 100 (default=100)
BLX_LIMIT=

# Enables/disables Touchwake (tap to reactivate screen after timeout)
# 0 or blank = disabled (default)
# 1 = enabled 
TOUCHWAKE=1

# Sets time to keep Touchwake active after screen timeout, in milliseconds
# 0 = indefinite (default=45000)
WAKE_DELAY=30000

# Sets level of vibration for haptic feedback
# 1000 to 1500 (default=1450)
VIBRATION=

# Sets status of WiFi on sleep (PM_MAX to save battery, PM_FAST for speed)
# 0 or blank = PM_MAX (default)
# 1 = PM_FAST
WIFI_PM=

# Enables/disables Fsync (single file/filesystem sync)
# 0 = disabled (WARNING: Disabling fsync increases the risk of data loss on a crash/freeze)
# 1 or blank = enabled (default)
FSYNC=

# Specifies max CPU frequency when screen-off
#  1 = 200MHz 
#  2 = 350MHz 
#  3 = 528MHz 
#  4 or blank = 700MHz (default)
#  5 = 920MHz 
#  6 = 1072MHz 
#  7 = 1200MHz 
#  8 = 1350MHz 
#  9 = 1420MHz 
# 10 = 1500MHz 
SCREEN_OFF_MAX_FREQ=

# Selects GAMMA preset to control contrast
# 0 or blank = disabled (default) 
# 1 to 10 = Lowest to Highest (WARNING: Software-based feature, enabling may slow down device response)
GAMMA_PRESET=7

# =================================================================================
# Your ROM's built-in Colour Controls may override all color control settings below
# =================================================================================

# Pause script X seconds to try to override any ROM color control settings ...
# Leave blank to disable pause
PAUSE=

# Set GAMMA Levels
# unknown range (default=0) 
RED_GAMMA=
GREEN_GAMMA=
BLUE_GAMMA=

# Set Color Multipliers
# 0 = min, 4294967290 = max, (default=2004318071)
# WARNING: High levels (>2100000000) may cause screen burn-in damage
RED_MULTI=
GREEN_MULTI=
BLUE_MULTI=
The Following 10 Users Say Thank You to ch33kybutt For This Useful Post: [ Click to Expand ]
 
notxel21
Old
#3  
notxel21's Avatar
Senior Member
Thanks Meter 88
Posts: 1,238
Join Date: Dec 2008
Location: Jacksonville
Great to see another Kernel Dev for the GN! Options are what android is all about!
Thanks!

Notxel21
Phone: T-Mobile Samsung Galaxy Note2//& GSM LG Nexus 4!!& T-Mobile HTC One (With Root)
RoM:CyanogenMod_10.x & TrickDroid Latest!!??
Unknown # of Apps, ?mb Free!!!
Firmware:4.1.1 JellyBean!
Dropbox Why aren't you using this?
Follow me on Twitter
MT4G ICE-GLACIER ROM Click Here!
Donate
if you like
 
ock
Old
#4  
ock's Avatar
Senior Member
Thanks Meter 1110
Posts: 821
Join Date: Mar 2010
Nice work from a fellow Singaporean!

I'll be following your work closely.

Sent from my Galaxy Nexus
 
bongd
Old
#5  
Senior Member
Thanks Meter 168
Posts: 1,474
Join Date: Jun 2010
Looks awesome, man! I'll have to give it a whirl!
 
Vangelis13
Old
#6  
Vangelis13's Avatar
Senior Member
Thanks Meter 2935
Posts: 5,442
Join Date: Feb 2011
Location: 300 meters from the Rhein
Thank you for the new kernel!

Perhaps to put the shortcut of how to get to the last_kmsg in the op? Not everybody knows it, I think that's why so many people don't attach it to their issue reports..
"Yes, flashing stuff on your phone will always be risky. It's your phone, your decision, your risk"

All Nexus 4 things: http://forum.xda-developers.com/show....php?t=2183555
 
ch33kybutt
Old
#7  
ch33kybutt's Avatar
Recognized Developer - OP
Thanks Meter 829
Posts: 633
Join Date: Oct 2008
Quote:
Originally Posted by Vangelis13 View Post
Perhaps to put the shortcut of how to get to the last_kmsg in the op? Not everybody knows it, I think that's why so many people don't attach it to their issue reports..
Good suggestion. OP hereby updated with instructions.
 
wkh1113
Old
#8  
Member
Thanks Meter 3
Posts: 51
Join Date: Aug 2011
Is it suitable for maguro?
 
Vangelis13
Old
#9  
Vangelis13's Avatar
Senior Member
Thanks Meter 2935
Posts: 5,442
Join Date: Feb 2011
Location: 300 meters from the Rhein
Quote:
Originally Posted by wkh1113 View Post
Is it suitable for maguro?
Yep
"Yes, flashing stuff on your phone will always be risky. It's your phone, your decision, your risk"

All Nexus 4 things: http://forum.xda-developers.com/show....php?t=2183555
The Following User Says Thank You to Vangelis13 For This Useful Post: [ Click to Expand ]
 
ch33kybutt
Old
#10  
ch33kybutt's Avatar
Recognized Developer - OP
Thanks Meter 829
Posts: 633
Join Date: Oct 2008
Quote:
Originally Posted by wkh1113 View Post
Is it suitable for maguro?
Tuna is the device name for Galaxy Nexus, which has two variants, Maguro (GSM) and Toro (CDMA/LTE). And this kernel is suitable for both variants.

The Following 3 Users Say Thank You to ch33kybutt For This Useful Post: [ Click to Expand ]
 
Post Reply+
Tags
kernel tuna cmplus cm9
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Go to top of page...