Remove All Ads from XDA
Honor 9 Lite

[Kernel][Sense] - Gingertiny-v2 (Updated 04/25/13)

9,302 posts
Thanks Meter: 5,071
By tiny4579, Inactive Recognized Developer on 28th August 2011, 06:31 AM
Post Reply Email Thread

Notes on the new interactive governor below.

  • interactive governor updates from Tinykernel (Galaxy Nexus)
  • new sysfs path for fast charge - still compatible with incredicontrol
  • additional TCP congestion scheduler options with a default scheduler of cubic

  • New interactive governor backported from Incredikernel GB. Smartassv2 still default
  • Removed rarely used CPU governors

  • added mamarley's fastcharge USB patch to enable fastcharge without needing to unplug the charger
  • enabled KSM (Kernel Samepage Merging) - no change needed to make it active

  • Added Lazy governor - credit to Ezekeel
  • Enabled Smartass and Conservative governors

  • Disabled smartass,interactive,conservative governors
  • Disabled CFQ and BFQ governors as they were found not to be a efficient on flash devices
  • New I/O scheduler - SIO
  • New CPU governor - lagfree
  • smartassV2 is default governor again
  • Tweaked deadline scheduler for performance
  • Applied different zram patch, should be more stable, and removed memory tweaks in zram script (have to disable/enable to reset)

  • Patch kernel to
  • Tweak intellidemand and interactiveX governors for battery life
  • Ext4 patch for performance
  • Add ZRAM and swap support and add script to toggle ZRAM - see bottom of OP for more info

  • Increase min and max voltages by 25 for all non-OC frequencies
  • Added faux123′s intellidemand governor (thanks faux123!) - similar to ondemand but with screen off
  • Added imoseyon’s interactiveX governor (thanks imoseyon!) - interactive with screen off

  • Revert config setting that was causing freezing issues
  • Allow overvolting up to 1375 for more stability in overclocking
  • Revert default smartassv2 settings back to those of pre-11/6 kernel
  • Fix permissions on sysfs which were causing force closes in some apps
  • Use new ondemand,performance, and conservative governors

  • Tweak ondemand governor
  • Interactive governor fix
  • Update BFQ to v3-r1
  • Add and enable Tiny Preempt RCU (should perform even better than Tiny RCU)

  • Adjust smartassv2 scaling (see github for details)
  • Fix touchscreen issue that occurs on some devices
  • config: set tiny rcu (lower memory footprint)
  • add 1152000 and 1190400 CPU frequencies - only try if you're adventurous
  • various behind-the scenes fixes

  • Add interactive governor
  • Add smartass governor
  • Increase smartassv2 ideal wake frequency to 998Mhz - should help performance (if you don't like, underclock to 768 - this may change in a future release)
  • Add BFQ I/O Scheduler
  • HAVS+Sysfs interface (use Incredicontrol or boot scripts - see and incredikernel thread for more information)
  • Fixed wifi not starting on certain ROMs such as McTwist - hopefully

  • Added unified panel driver from incredikernel and gingertiny-v1 for better responsiveness
  • Added msm_vibrator from gingertiny-v1 for smoother haptic feedback with smartass
  • Enabled TUN VPN support

  • Rebased on HTC official Incredible gingerbread .13 kernel
  • Audio Boost (Thanks Chad0989 for letting me use your source for this)
  • USB Fast Charging (Thanks Chad0989 for letting me use your source for this)
  • compressed kernel further for better support with boot manager
  • support for 128Mhz as well as overclock up to 1113
  • 3/5 point multitouch support on supported devices
  • lowered wifi voltage
  • OC up to 1.113Ghz
  • Built in modules for cifs, smartassv2, conservative, ext4, ntfs (read only)
  • HTC's perflock removed
  • Ext4 driver used to mount ext2/3 filesystems (default in cyanogenmod and incredikernel)
  • Enabled swap support (need app like swapper from market to utilize)
  • SD Card and EMMC mount should work properly on all Sense ROMs now.
  • incorporated some tweaks from incredikernel
  • support for wifi-n (2.4ghz only - hardware limitation)
Audio Boost and USB fast charging are disabled by default in this version (I don't like audio boost). You can enable audio boost in the same way you enable USB fast charge.

  • Ext4 driver used to mount ext2/3 filesystems (default in cyanogenmod and incredikernel)
  • Updated to new OJ driver from Cyanogenmod kernel
  • Sysfs interface for SVS (can now use incredicontrol) Not working properly
  • Fixed G-sensor issue (calibration, 3d-home screen, auto-rotate should work now)
  • Adjusted smartassV2 parameters for better performance
  • Set smatassV2 as default governor
  • incorporated some tweaks from incredikernel
  • added support for wifi-n (2.4ghz only - hardware limitation)
  • Added smartassV2 (erasmux)
  • Tweaked smartass governor to resolve reboot issues reported with using smartass (please let me know - it seems better for me so far)
  • Enabled swap support (need app like swapper from market to utilize)
  • Enabled compcache support (if ROM has uitility installed I can work on a script, currently I can't get the utility to work)
  • set max speed to 998 as phone would overclock at boot regardless of setcpu/overclocking app's setting which caused bootloops for phones that couldn't handle overclocking (Thanks Chad for the tip!)
Initial Release
  • Audio Boost (Thanks Chad0989 for letting me use your source for this)
  • USB Fast Charging (Thanks Chad0989 for letting me use your source for this)
  • compressed kernel further for better support with boot manager
  • support for 128Mhz as well as overclock up to 1113
  • 3/5 point multitouch support on supported devices
  • lowered wifi voltage
  • OC up to 1.113Ghz
  • Built in modules for cifs, smartass, tun, conservative, powersave, ext4
  • HTC's perflock removed
  • Bootup frequency increased to 998

Known issues:
  • Beats will not work. This is not a specific issue with this kernel but rather that the support is not built into the stock kernel. It worked in the port but I'm not sure what needs to be changed.
  • Incredicontrol force closes when trying to open the HAVS tab. This only seems to happen at boot and clears up. Since it clears up on it's own, I don't think it's a kernel issue though but I'm leaving it on here so people are aware.

Please do not report bugs if you overclock or undervolt/overvolt differently than what is set by default. It adds too many variables. Set CPU max back to 998 and report a bug then if it doesn't go away after that.
I am not supporting the older .10 kernels at this time though if you decide to still use it I may need your assistance to get Beats audio working.

1. Just because it's been asked before about what ROMs this kernel supports, this kernel does not need to be built to support any particular ROM but is confirmed to be working fine on many of the most popular Gingerbread Sense ROM by multiple users and several leading devs. If it does not work on your ROM let the dev know first in case it's a known issue.
2. Smartass (v1 and v2) has a built in min speed of 245 and will go to the set min speed only when the screen is off. Due to the nature of the governor, don't use a screen off profile with Smartass. It has been reported to cause issues. If you want a screen off profile use a different governor.

OC voltages are set to the same as 998 Mhz. Sense is a tricky animal when it comes to voltage adjustments. I had about 10x the issues with undervolting on sense froyo as on aosp, but maybe it's because that kernel was undervolted more.

If you get random reboots or freezes on the new kernels (10/31 or 11/2), I will need the logs of that:

If it's a reboot grab the file /proc/last_kmsg using adb or root explorer. For adb setup please do a search on xda or the internet.

It would be adb pull /proc/last_kmsg for the adb command.
For root explorer just copy to the sdcard. It's a text file so you can post it online and post the link here or attach to your post when you report the issue.

If it is a freeze try to use logcat and output to a file when you're trying to reproduce it. Google logcat usage if needed. Also grab the last_kmsg after rebooting.

Release kernel found at

Update: 11/15/12 - I've added a mirror for my files on goo.

Source Code(Dev Only, not flashable) Kernel Source

All releases are built from the master branch.
The config for the kernel is in arch/arm/configs/incrediblec_defconfig.
I use the GCC 4.4.3 toolchain for this kernel due to GCC 4.6 causing build issues.

Below is a link to the original tiny-gingersense source which is a hybrid kernel running off code released for the Evo Sense kernel as well as some code from the Froyo Incredible sense kernel. This one uses the master branch as well and the same config filename and toolchain as v2.

Original tiny-gingersense kernel source

Frequently Asked Questions:

Some key differences between smartass and smartassv2 so users can decide which they prefer and learn a bit more about the differences:

1. Screen off profile built in maxed at 384mhz.
2. Wakeup frequency is 998mhz.
3. Min screen on is 245mhz.
4. Improved by Chad to run better on our devices.
5. Purely load based, no ideal value.

1. This is the same exact governor in Erasmux's Nexus One kernel (
2. Ideal wake frequency is 768 (also default that can be changed).
3. Screen on min is actually 128mhz).
4. No screen off profile.
5. Ideal sleep frequency 245mhz.
6. Improved upon from erasmux's version, not Chad's.

Basically the smartassv2 ideal wake frequency allows the phone to favor a certain speed to attempt to save battery life. It can still go above ideal wake and below ideal sleep so there's no caps on max and min while awake or sleep.

Some tips/info on various governors:

Use 128 min so the governor can scale as it needs to. Max speed I'd recommend at least 768Mhz.

Try 128 min and if it lags use 245 min. Max speed I'd recommend at least 768Mhz.

Only recommended for benchmarks but speed will always run at max.

Same as interactive except it has an auto screen off set to the min. Ideal with 245 min in setcpu but try 128 for battery life but it you have wake lag then set to 245.

Based on ondemand with a built in screen off. Any speed settings should be fine.

Some new features with this one. Starting with 10/4/12 release I am using the interactive kernel from Google which features a new kernel option called input_boost.

It is off by default but can be enabled by writing a 1 to /sys/devices/system/cpu/cpufreq/interactive/input_boost. Also there is another parameter for interactive called hispeed_freq in the same location. The hispeed_freq is where the governor jumps to first. Hispeed_freq by default is 614400 to help save battery. In the older interactive governor there was a maxspeed freq which meant the governor was a bit jumpier to the max speed. This should be a good blend of performance and battery.

ZRAM, what is it and how to I add it? (starting officially with 12/31/11)
If you are familiar with swap space in linux or virtual memory in Windows it is a similar concept. Except instead of using the hard drive as swap space it compresses swap space in RAM for faster access times than conventional swap. This will also wear out our storage memory less than typical swapping.

Enable ZRAM is simple thanks to a script built by imoseyon which is provided in the kernel zip file. To enable, use adb shell or download a terminal app and run zram enable. This will persist across reboots (if init.d is setup in your ROM) so if you don't want it anymore run zram disable and it will remove the bootscript and deactivate it.

You need to have root privileges to enable/disable zram. Run the su command in terminal emulator to request root.
The Following 87 Users Say Thank You to tiny4579 For This Useful Post: [ View ] Gift tiny4579 Ad-Free
28th August 2011, 06:40 AM |#2  
godsmacked4653's Avatar
Senior Member
Thanks Meter: 87
Way to go! But I bet this was a headache to put together.
Let me know if you need a beta tester and the slots haven't filled up.
28th August 2011, 06:43 AM |#3  
OP Inactive Recognized Developer
Thanks Meter: 5,071
Originally Posted by godsmacked4653

Way to go! But I bet this was a headache to put together.
Let me know if you need a beta tester and the slots haven't filled up.

Check your PM.
28th August 2011, 06:49 AM |#4  
dmeadows013's Avatar
Inactive Recognized Developer
Flag Hoboken, NJ
Thanks Meter: 3,824
Donate to Me
Is this the beginning of a whole slew of custom kernels for the inc ?

How is the battery life on this?
28th August 2011, 07:11 AM |#5  
jdog94's Avatar
Senior Member
Thanks Meter: 166
i can test if needed
28th August 2011, 07:13 AM |#6  
Senior Member
Flag Chesapeake, VA
Thanks Meter: 142
Exciting stuff...

any idea or have you looked at how difficult it would be to enable 5 pt multi touch in the future? or GPU+?
The Following User Says Thank You to bast525 For This Useful Post: [ View ] Gift bast525 Ad-Free
28th August 2011, 07:14 AM |#7  
baboonsRus's Avatar
Senior Member
Thanks Meter: 36
Hit me up... I'd love to test.
28th August 2011, 07:20 AM |#8  
Senior Member
Flag Gadsden Alabama
Thanks Meter: 15
Love to test. Would begging help. Lol

Sent from my ADR6300 using Tapatalk
28th August 2011, 07:23 AM |#9  
OP Inactive Recognized Developer
Thanks Meter: 5,071
Ok, got the 5 testers I want. Actually I found 6 so I'm good for now.
28th August 2011, 07:39 AM |#10  
renzo.olivares's Avatar
Inactive Recognized Developer
Thanks Meter: 16,193
Donate to Me
Originally Posted by tiny4579

Hi all!

Good news! I have successfully initially ported the HTC Incredible kernel to gingersense using the Evo gingerbread source as a base and pulling from the Inc's froyo source code. I have spent significant time over the past few weekends trying to get this work and I have something usable finally. (I never ported a kernel before but am satisfied with what I have here).

Thanks Chad for inspiring me to do this port and giving me pointers along the way!

What works:
1. 3g+wifi
2. all modules from modules thread are built in+cifs added as well (perflock_disable is not needed on this kernel)
3. camera - initially had trouble, it wouldn't boot with camera enabled. 720p video SHOULD work as well
4. artifacting issues should be resolved
5. overclock works (1.13Ghz)

I would like to have some testers prior to releasing it as open beta. I want 4 additional testers, have 1 already. The first 4 to volunteer to test (via PM or this thread) will get a PM with a link to test the kernel. It will flash like any other kernel. I would like to post tomorrow night so please give feedback.

Known issues:
May be overheating issues. Though I cannot confirm issue. Battery temp is fine for me.
It is a port. Not everything will necessarily work 100%.
Haptic feedback and vibration are currently broken. Will look into it. Kernel Source

try changing the inc-kepad.kl to incrediblec-keypad.kl in the /usr folder of the rom
28th August 2011, 07:41 AM |#11  
Senior Member
Thanks Meter: 70

Sent from my ADR6300 using xda premium
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes