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

[KERNEL][WIP] Underworld Sense Kernel v0.8 [Jul 16 2012][GINGERBREAD][SENSE]

Search This thread

ca1ne

Retired Recognized Developer
Apr 16, 2011
802
1,385
East Coast
Underworld Sense Kernel

This is a little something I have been working on. Thank you to those who tested under the "saturday morning" thread. Hopefully I will be able to continue to improve this kernel and add in additional modifications as time goes on.

And please remember this is a work in progress, so please let me know your results.

What's in this Kernel

Features

Stock Kernel 2.6.35.10
Patched to 2.6.35.14
Enabled Wireless N
Perflock Disabled
HDMI Fix
GPS Fix
3 Point Touch Check
10 Point Touch
Audio Boosted with On/Off Toggle (default setting is on)
Fast USB Charge with On/Off Toggle (default setting is off)
Reduced Wifi Voltage (battery savings)
Read Ahead Buffer Upped to 1024kb
O/C to 1.229Ghz
HAVS with Sysfs
Undervolted to LEE Kernel Settings (tiamat)
Compiler Optimizations
Superior Battery Charging (SBC)
Boosted Audio More
Extend Wifi Range
Removed CIQ (Please note - you may encounter problems if you rom has ciq in it)
Flashlight Cutoff Reduced to 10% from 15%
Increased GPU Memory Allocation
CIFS (compiled as module)
TUNS (compiled as module)
Front Facing Camera Fix (for inverted) (should work on all gingerbread sense)
Swap Enabled
Fixed Hotspot for some users
2 Way Call Record
Memory/Scheduler tweaks
RCU Tweaks
LZMA Compression
Removed Some Debug Code
Enabled EXT4 Support (applied performance patch)
Add ZRAM (Lzo_compress/decompress) as modules)
Add HTC Kineto_gan support for wifi calling
Reduce vfs_cache_pressure from 70 to 50
Wifi is PM_FAST in standby
Increased Min Voltages from 925 to 950

Governors

SmartassV2 (set as default)
InteractiveX
Intellidemand
OndemandX
Smartass
Conservative
Ondemand
Userspace
Performance
Interactive

Schedulers

SIO (set as default)
NOOP
Deadline
CFQ
v(R)
BFQ

Instructions

Apply with your preferred custom recovery.

For Kernel Install
Make sure to wipe Dalvik Cache and Cache.

For SBC
And make sure the phone is fully booted before plugging it in.

For HAVS with sysfs interface
You will be able to use Vipermod to change the voltages. To be able to save changes you will need a rom with init.d support baked in. The kernel has already been undervolted, but since everyone results vary depending on their devices, this interface will allow you to drop it lower, just like you have been able to in the AOSP roms.

For Audio Boost to turn on and off
Code:
Audio Boost On
echo 1 > /sys/kernel/audio_boost/aboost
Audio Boost Off
echo 0 > /sys/kernel/audio_boost/aboost
Query Audio Boost Status
cat /sys/kernel/audio_boost/aboost
For USB Fast Charge to turn on and off
The below code will toggle it in the terminal, but a cool way to turn it on and off would be to support the original dev who put this mod together, chad0989 by purchasing his widget that controls this version of usb fast charge as well as the patch version. LINK TO WIDGET
Code:
USB Fast Charge On
echo 1 > /sys/kernel/fast_charge/fast_charge_usb
USB Fast Charge Off
echo 0 > /sys/kernel/fast_charge/fast_charge_usb
Query USB Fast Charge Status
cat /sys/kernel/fast_charge/fast_charge_usb
Thanks to Capt_Throwback for finding out a reason for some of the lag complaints. It appears that the Vipermod script installs an older copy of busybox onto the phone. I have attached a copy of the vipermod install script that does not install any busybox.

Credits

I am grateful to all, from the developers, to the end users who
provide the feedback and use what is created.

More specifically (in alphabetical order) I would like to credit
the following developers for their work.

atyoung
barnacles10
cayniarb
chad0989
detcup4evr
drellisdee
faux123
lithid
ms79723
netarchy
paulmck
TeamWin
tiny4579
toastcfh
ziggy471

Also I would like to thank 2 alpha testers who kept me going

swagstr
tommytomatoe

Also I would like to thank the man who tested the front facing camera fix

buckhunter (tested all 4 options I wanted to check) and is now almost constantly testing whatever insane thing I ask him to flash and test, lol
sclarktay4

And a special thanks to the following donators who gave me some diaper money for the son.

eggsack
Wisiwyg

Disclaimer

As with all things, not every variant can be accounted for. Please use at your own risk. I am not responsible for any damages/bricks/etc that may accompany use of this kernel.

Bug Reporting

Post a reply in this thread or pm me, and I will do my best to assist and/or correct bugs.

Update History

v0.8
Enable ext4 support
Ext4 performance patch
Add zram (lzo_compress/decompress) as external modules
Add HTC kineto_gan support for WiFi calling
Reduce vfs_cache_pressure from 70 to 50
Wifi is PM_FAST in standby
Increase min voltages to 950 to make more universal
Upgrade bfq to BFQ-v3r1
Modified several of the governors
Added no Havs versions

v0.7
RCU Tweaks
rcu: repair code-duplication FIXMEs
rcu: combine duplicate code, courtesy of CONFIG_PREEMPT_RCU
rcu: apply TINY_PREEMPT_RCU read-side speedup to TREE_PREEMPT_RCU
rcu: fix sparse errors in rcutorture.c
rcu: Add tracing data to support queueing models

use lzma instead of gzip
removed some debugging code to clean things up

v0.6
Tiny_Preempt_Rcu Added (smaller footprint)
Changed Audio boost to on/off toggle
USB Fast Charge and on/off toggle
Patched up to 2.6.35.14
Tweaked SIO/VR/Deadline Schedulers
2 Way Call Record Added per Request
Memory/Tweaks:
Reduce vfs_cache_pressure from 100 to 70
SLQB Memory allocator added
Tweak io schedulers for flash devices (deadline,sio,vr)
Ashmem: fix deadlock when system is low on memory
Interactive/InteractiveX fix possible divide by 0
Some memory copy macros and functions
Add 10 microsec delay before fetching setup_data (usb)
Fix scaling_available_frequencies sysfs


v0.5
BFQ Scheduler Added
OndemandX Governor Added
Swap Enabled
Fixed Hotspot for some users

v0.4
Fixed the front facing camera with kernel modfications

v0.3
Removed CIQ
Extended Wifi Range
Flashlight cutoff reduced to 10%
Increased GPU memory allocation
CIFS (compiled as module)
TUNS (compiled as module)
Tweaked Smartassv2
Fixed SIO to be default scheduler (again, lol)
Added Interactive Governor

v0.2 - Initial Release

v0.1 - Test Release.


Links

Underworld v08 HAVS, No SBC
Underworld v08 No HAVS, No SBC
Underworld v08 No HAVS, SBC
Underworld v08 HAVS, No SBC


Github
 

Attachments

  • viperMOD_v3_nobusybox.zip
    161 KB · Views: 1,239
Last edited:

ca1ne

Retired Recognized Developer
Apr 16, 2011
802
1,385
East Coast
Lets use this post finally

Tips and Tricks

1. If you are usinig V6 SuperCharger with kernel I/O tweaks. Please uninstall the I/O Scheduler tweak. Failure to do so may casue random reboots. (Thanks Kelldane)
2. Please navigate to the system/etc folder and scroll down until you find the init.post_boot.sh file and either delete it or move it to a safe place on your sd card. More Info (Thanks Leeboy)
3. When using smurf, do not use the battery saving settings for Smartass V2 otherwise in most cases it will generate lag on that governor. If you open the 45smurf file in etc/init.d and remove the section with the governer tweaks the lag will go away after reboot. (Thanks Pennie77)
4. Ensure that your busybox binary is up to date. (Thanks Capt_Throwback)

Undervolting

havs kernel has an upper and lower range, while the normal kernel has a static range.. i pulled from my source code the havs voltages and commented after the line the original voltage.

{ 19200, 950, 950 }, // orig voltage 1050
{ 128000, 950, 975 }, // orig voltage 1050
{ 245000, 950, 975 }, // orig voltage 1050
{ 384000, 950, 975 }, // orig voltage 1050
{ 422400, 950, 975 }, // orig voltage 1050
{ 460800, 950, 975 }, // orig voltage 1050
{ 499200, 950, 1000 }, // orig voltage 1075
{ 537600, 950, 1025 }, // orig voltage 1100
{ 576000, 950, 1050 }, // orig voltage 1100
{ 614400, 950, 1075 }, // orig voltage 1125
{ 652800, 950, 1100 }, // orig voltage 1150
{ 691200, 975, 1125 }, // orig voltage 1175
{ 729600, 975, 1150 }, // orig voltage 1200
{ 768000, 975, 1175 }, // orig voltage 1200
{ 806400, 1150, 1200 }, // orig voltage 1225
{ 844800, 1175, 1225 }, // orig voltage 1250
{ 883200, 1200, 1250 }, // orig voltage 1275
{ 921600, 1200, 1275 }, // orig voltage 1300
{ 960000, 1225, 1275 }, // orig voltage 1300
{ 998400, 1225, 1275 }, // orig voltage 1300

{ 1036800, 1275, VOLTAGE_MAX }, //overclocked cpu no orig voltage
{ 1075200, 1275, VOLTAGE_MAX }, //overclocked cpu no orig voltage
{ 1113600, 1275, VOLTAGE_MAX }, //overclocked cpu no orig voltage
{ 1152000, 1300, VOLTAGE_MAX }, //overclocked cpu no orig voltage
{ 1190400, 1325, VOLTAGE_MAX }, //overclocked cpu no orig voltage
{ 1228800, 1350, VOLTAGE_MAX }, //overclocked cpu no orig voltage
 
Last edited:
Any issues with running this with the latest software 4.67?

Thanks for keeping things alive for the EVO

Stock with sbc v1 and underworld 0.1 both flipped my front camera on nitrous.

Love the addition on the new schedulers and governors. I always have good response out off intellidemand, can't wait to see how this performs, thanks again.

Sent from the EVO, as usual using Tapatalk 2 beta. :D
 
  • Like
Reactions: culua

ReapersDeath

Senior Member
Dec 6, 2011
1,368
220
Washington
Hey C1ane, I'm getting insufficient storage issue downloading any apps. I'm only using 3 or 4 gigs out of 8 and I'm on shooter sense 3.0 version 5.5 underclocked 768 max ondemand gov.
 
Last edited:

pennie77

Senior Member
Mar 15, 2011
77
25
I'm getting serious lag during bootup but once I can manage to get to set CPU and change the govner to any of the other ones the lag goes away then I can set it back to SAv2 and it runs beautiful until I try to restart it then I have to go thru the whole process again. When I checked the time in state for CPU it was at 998 100% of the time.
Running classic rom 0.6 with papa smurf v 6.0
 

jessesse

Senior Member
Feb 12, 2010
666
273
KC
Awesome we can use vipermod. I can't wait to see how low I can go.. on aosp I could get it to sleep at 9ma

Sent from my PC36100 using xda premium
 

buckhunter

Senior Member
Mar 1, 2011
1,379
585
jessesse said:
Awesome we can use vipermod. I can't wait to see how low I can go.. on aosp I could get it to sleep at 9ma

Sent from my PC36100 using xda premium

Yea just checked out vipermod it looks like he uv it a good bit by default in the 499-768 range.
2012-03-29_08-04-53-1.jpg
 

cdadams1223

Senior Member
Oct 18, 2010
214
44
I plan on trying this one out but man...your Classic SBC kernel has been awesome! Thanks for your hard work!

Sent from my PC36100 using xda premium
 

RascalDoc

Senior Member
Nov 9, 2011
934
278
So Florida
I went back to the old underworld yesterday from the classic sbc ..... I flashed this new underworld kernel this morning early .... I'll post some stats later. Have not touched it. Flashed it *as is*. I already had some of the car-rope tweaks in place ....
edit: ooops .... I d/l wrong underworld ... just reflashed the correct underworld (w-sbc)
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 94
    Underworld Sense Kernel

    This is a little something I have been working on. Thank you to those who tested under the "saturday morning" thread. Hopefully I will be able to continue to improve this kernel and add in additional modifications as time goes on.

    And please remember this is a work in progress, so please let me know your results.

    What's in this Kernel

    Features

    Stock Kernel 2.6.35.10
    Patched to 2.6.35.14
    Enabled Wireless N
    Perflock Disabled
    HDMI Fix
    GPS Fix
    3 Point Touch Check
    10 Point Touch
    Audio Boosted with On/Off Toggle (default setting is on)
    Fast USB Charge with On/Off Toggle (default setting is off)
    Reduced Wifi Voltage (battery savings)
    Read Ahead Buffer Upped to 1024kb
    O/C to 1.229Ghz
    HAVS with Sysfs
    Undervolted to LEE Kernel Settings (tiamat)
    Compiler Optimizations
    Superior Battery Charging (SBC)
    Boosted Audio More
    Extend Wifi Range
    Removed CIQ (Please note - you may encounter problems if you rom has ciq in it)
    Flashlight Cutoff Reduced to 10% from 15%
    Increased GPU Memory Allocation
    CIFS (compiled as module)
    TUNS (compiled as module)
    Front Facing Camera Fix (for inverted) (should work on all gingerbread sense)
    Swap Enabled
    Fixed Hotspot for some users
    2 Way Call Record
    Memory/Scheduler tweaks
    RCU Tweaks
    LZMA Compression
    Removed Some Debug Code
    Enabled EXT4 Support (applied performance patch)
    Add ZRAM (Lzo_compress/decompress) as modules)
    Add HTC Kineto_gan support for wifi calling
    Reduce vfs_cache_pressure from 70 to 50
    Wifi is PM_FAST in standby
    Increased Min Voltages from 925 to 950

    Governors

    SmartassV2 (set as default)
    InteractiveX
    Intellidemand
    OndemandX
    Smartass
    Conservative
    Ondemand
    Userspace
    Performance
    Interactive

    Schedulers

    SIO (set as default)
    NOOP
    Deadline
    CFQ
    v(R)
    BFQ

    Instructions

    Apply with your preferred custom recovery.

    For Kernel Install
    Make sure to wipe Dalvik Cache and Cache.

    For SBC
    And make sure the phone is fully booted before plugging it in.

    For HAVS with sysfs interface
    You will be able to use Vipermod to change the voltages. To be able to save changes you will need a rom with init.d support baked in. The kernel has already been undervolted, but since everyone results vary depending on their devices, this interface will allow you to drop it lower, just like you have been able to in the AOSP roms.

    For Audio Boost to turn on and off
    Code:
    Audio Boost On
    echo 1 > /sys/kernel/audio_boost/aboost
    Audio Boost Off
    echo 0 > /sys/kernel/audio_boost/aboost
    Query Audio Boost Status
    cat /sys/kernel/audio_boost/aboost
    For USB Fast Charge to turn on and off
    The below code will toggle it in the terminal, but a cool way to turn it on and off would be to support the original dev who put this mod together, chad0989 by purchasing his widget that controls this version of usb fast charge as well as the patch version. LINK TO WIDGET
    Code:
    USB Fast Charge On
    echo 1 > /sys/kernel/fast_charge/fast_charge_usb
    USB Fast Charge Off
    echo 0 > /sys/kernel/fast_charge/fast_charge_usb
    Query USB Fast Charge Status
    cat /sys/kernel/fast_charge/fast_charge_usb
    Thanks to Capt_Throwback for finding out a reason for some of the lag complaints. It appears that the Vipermod script installs an older copy of busybox onto the phone. I have attached a copy of the vipermod install script that does not install any busybox.

    Credits

    I am grateful to all, from the developers, to the end users who
    provide the feedback and use what is created.

    More specifically (in alphabetical order) I would like to credit
    the following developers for their work.

    atyoung
    barnacles10
    cayniarb
    chad0989
    detcup4evr
    drellisdee
    faux123
    lithid
    ms79723
    netarchy
    paulmck
    TeamWin
    tiny4579
    toastcfh
    ziggy471

    Also I would like to thank 2 alpha testers who kept me going

    swagstr
    tommytomatoe

    Also I would like to thank the man who tested the front facing camera fix

    buckhunter (tested all 4 options I wanted to check) and is now almost constantly testing whatever insane thing I ask him to flash and test, lol
    sclarktay4

    And a special thanks to the following donators who gave me some diaper money for the son.

    eggsack
    Wisiwyg

    Disclaimer

    As with all things, not every variant can be accounted for. Please use at your own risk. I am not responsible for any damages/bricks/etc that may accompany use of this kernel.

    Bug Reporting

    Post a reply in this thread or pm me, and I will do my best to assist and/or correct bugs.

    Update History

    v0.8
    Enable ext4 support
    Ext4 performance patch
    Add zram (lzo_compress/decompress) as external modules
    Add HTC kineto_gan support for WiFi calling
    Reduce vfs_cache_pressure from 70 to 50
    Wifi is PM_FAST in standby
    Increase min voltages to 950 to make more universal
    Upgrade bfq to BFQ-v3r1
    Modified several of the governors
    Added no Havs versions

    v0.7
    RCU Tweaks
    rcu: repair code-duplication FIXMEs
    rcu: combine duplicate code, courtesy of CONFIG_PREEMPT_RCU
    rcu: apply TINY_PREEMPT_RCU read-side speedup to TREE_PREEMPT_RCU
    rcu: fix sparse errors in rcutorture.c
    rcu: Add tracing data to support queueing models

    use lzma instead of gzip
    removed some debugging code to clean things up

    v0.6
    Tiny_Preempt_Rcu Added (smaller footprint)
    Changed Audio boost to on/off toggle
    USB Fast Charge and on/off toggle
    Patched up to 2.6.35.14
    Tweaked SIO/VR/Deadline Schedulers
    2 Way Call Record Added per Request
    Memory/Tweaks:
    Reduce vfs_cache_pressure from 100 to 70
    SLQB Memory allocator added
    Tweak io schedulers for flash devices (deadline,sio,vr)
    Ashmem: fix deadlock when system is low on memory
    Interactive/InteractiveX fix possible divide by 0
    Some memory copy macros and functions
    Add 10 microsec delay before fetching setup_data (usb)
    Fix scaling_available_frequencies sysfs


    v0.5
    BFQ Scheduler Added
    OndemandX Governor Added
    Swap Enabled
    Fixed Hotspot for some users

    v0.4
    Fixed the front facing camera with kernel modfications

    v0.3
    Removed CIQ
    Extended Wifi Range
    Flashlight cutoff reduced to 10%
    Increased GPU memory allocation
    CIFS (compiled as module)
    TUNS (compiled as module)
    Tweaked Smartassv2
    Fixed SIO to be default scheduler (again, lol)
    Added Interactive Governor

    v0.2 - Initial Release

    v0.1 - Test Release.


    Links

    Underworld v08 HAVS, No SBC
    Underworld v08 No HAVS, No SBC
    Underworld v08 No HAVS, SBC
    Underworld v08 HAVS, No SBC


    Github
    19
    Updated OP to v08.

    Please note specifically the addition of EXT4. if you use a2sd you can type: a2sd check
    in the terminal app, and if it says EXT4 yes, then your rom and kernel now can run EXT4.

    I have also compiled some No HAVS versions for those who have difficulty running underworld
    please try these out, their voltages can not be modified, hopefully this will allow others who have
    been running classic/nitrous due to their phone's restrictions to have some fun on underworld.
    Please let me know how this version runs for you, thanks.
    18
    I think I found a flaw in many of the implementations of init.d support in sense roms..

    It almost appears that init.d only runs on first boot and then is disabled..

    Example. If I format all partitions except sdcard, flash a fresh ROM, flash my test kernel that includes a script, then boot, the script makes the changes.. If I then make changes in the script and reboot, I get no further changes..

    Example 2. I format all partitions except sdcard, flash a fresh ROM, do a first time boot, go back to recovery, flash test kernel with the script, upon next boot, no modifications are made.

    When I get time I'm going to play with the ram disk of a ROM, repackage it with the setup I found in CM7, and see if it works... If it does then we have a solution to get rid of needing to use script manager and other apks.

    though if that is true, would need the ROM devs to update their roms... Though I could make some boot.imgs for popular roms...

    So I am excited to see if this theory works..especially since the test kernel has a configurable file that let's you turn on and off audio boost, usb fast charge, governor, scheduler, etc
    18
    Updated to v0.3

    I was trying to figure out how to get the front facing camera to work before releasing, but i haven't cracked it yet, and with the updated source up to possibly a month or so out I figured I should update what I have done already... please let me know if smartassv2 behaves better now


    list of changes.

    Removed CIQ
    Extended Wifi Range
    Flashlight cutoff reduced to 10%
    Increased GPU memory allocation
    CIFS (compiled as module)
    TUNS (compiled as module)
    Tweaked Smartassv2
    Fixed SIO to be default scheduler (again, lol)
    Added Interactive Governor
    16
    Lets use this post finally

    Tips and Tricks

    1. If you are usinig V6 SuperCharger with kernel I/O tweaks. Please uninstall the I/O Scheduler tweak. Failure to do so may casue random reboots. (Thanks Kelldane)
    2. Please navigate to the system/etc folder and scroll down until you find the init.post_boot.sh file and either delete it or move it to a safe place on your sd card. More Info (Thanks Leeboy)
    3. When using smurf, do not use the battery saving settings for Smartass V2 otherwise in most cases it will generate lag on that governor. If you open the 45smurf file in etc/init.d and remove the section with the governer tweaks the lag will go away after reboot. (Thanks Pennie77)
    4. Ensure that your busybox binary is up to date. (Thanks Capt_Throwback)

    Undervolting

    havs kernel has an upper and lower range, while the normal kernel has a static range.. i pulled from my source code the havs voltages and commented after the line the original voltage.

    { 19200, 950, 950 }, // orig voltage 1050
    { 128000, 950, 975 }, // orig voltage 1050
    { 245000, 950, 975 }, // orig voltage 1050
    { 384000, 950, 975 }, // orig voltage 1050
    { 422400, 950, 975 }, // orig voltage 1050
    { 460800, 950, 975 }, // orig voltage 1050
    { 499200, 950, 1000 }, // orig voltage 1075
    { 537600, 950, 1025 }, // orig voltage 1100
    { 576000, 950, 1050 }, // orig voltage 1100
    { 614400, 950, 1075 }, // orig voltage 1125
    { 652800, 950, 1100 }, // orig voltage 1150
    { 691200, 975, 1125 }, // orig voltage 1175
    { 729600, 975, 1150 }, // orig voltage 1200
    { 768000, 975, 1175 }, // orig voltage 1200
    { 806400, 1150, 1200 }, // orig voltage 1225
    { 844800, 1175, 1225 }, // orig voltage 1250
    { 883200, 1200, 1250 }, // orig voltage 1275
    { 921600, 1200, 1275 }, // orig voltage 1300
    { 960000, 1225, 1275 }, // orig voltage 1300
    { 998400, 1225, 1275 }, // orig voltage 1300

    { 1036800, 1275, VOLTAGE_MAX }, //overclocked cpu no orig voltage
    { 1075200, 1275, VOLTAGE_MAX }, //overclocked cpu no orig voltage
    { 1113600, 1275, VOLTAGE_MAX }, //overclocked cpu no orig voltage
    { 1152000, 1300, VOLTAGE_MAX }, //overclocked cpu no orig voltage
    { 1190400, 1325, VOLTAGE_MAX }, //overclocked cpu no orig voltage
    { 1228800, 1350, VOLTAGE_MAX }, //overclocked cpu no orig voltage