[KERNEL][14FEB'12]RedPillKernel_Rev1.3[RedPill Touch CWM Recovery by AF974]"TAKE IT!"

Search This thread

pongster

Retired Recognized Developer
Apr 15, 2005
7,059
5,861
Quezon City
www.facebook.com
[KERNEL][14FEB'12]RedPillKernel_Rev1.3[RedPill Touch CWM Recovery by AF974]"TAKE IT!"

Header.png
"This is your last chance. After this, there is no turning back. You take the blue pill - the story ends, you wake up in your bed and believe whatever you want to believe. You take the red pill- you stay in Wonderland and I show you how deep the rabbit-hole goes." - Morpheus, The Matrix (Copyright belongs to the Wachowski Brothers... Larry and Andy)Features
Highlights
  • Initramfs from LA2
  • Samsung kernel-update3 (patched for deep sleep fix)
  • Based on Arighi sources (arighi) + a LOT of patches included by pongster for performance, stability and battery life
  • Custom ClockworkMod Based Recovery v5.0.2.7 by AF974 based on Team Overcome Recovery (thanks to alterbridge and AF974)
  • Instant root (modded script by gokhanmoral of SiyahKernel with a few edits by pongster to ensure latest SU apk and binary are used.)
  • Newest Superuser 3.0 and su binary (thanks to chainsdd)
  • Touchscreenfix set to "3" (vitalij)
  • Init.d support
  • VooDoo Louder Support by supercurio
  • 2nd Core and Touch Move by Tegrak Support
  • SetCPU and Voltage Control Support
  • Full CWM Manager 3.0 Support by Chainfire
  • CPU & GPU Overclocking and Undervolting by Netarchy
  • Highly Experimental Ondemand based CPU Governors (Minor Edits only/Renamed to keep bugs on the experiments) based on arighi's deep_sleep and fast_start commits
  • Maximum CPU Freq set at 1.5Ghz
  • Enable or Disable File Syncing (fsync enabled by default)
  • CFS Autogroup by Mike Galbraith Enabled
  • CPU Topology and Sched_MC enabled
  • AFTR and LPA enabled
  • A lot of tunables via sysfs included
  • Undervolted Int ARM and Touch LED Values (thanks to Phenomenal for the idea)
  • Git Implementation of SHA-1 for 12% faster boot time
  • CPU set at 1.2Ghz at Boot for faster boot time (Thanks to Imoseyon)
  • XZ compressed kernel using optimized values for the size of the kernel
  • Uncompressed Initramfs (tweaked scripts/gen_initramfs.sh)
  • NTFS Read/Write Support for OTG (Flash Drives and External Hard Drives with enough Power supported)
  • CIFS and FUSE Support | Tweaked Ext4 Filesystem
  • SIO | noop | deadline | V(R) (tweaked for better throughput and balanced latency for Mobile NAND based devices)
  • sleepy | hyper | conservative | ondemand CPU Governors
  • generic cpufreq range regulation (arighi) | BLN support (Thanks to creams and neldar) | Fuel Guage Wakelock fix by Entropy512

Power Saving Features:
  • AFTR + LPA enabled
  • sched_mc enabled
  • ARM CPU Topology enabled
  • CPU Hotplugging OFF when screen off enabled (Thanks to arighi)
  • RCU Fast No HZ enabled
  • Stable Voltage Tweaks for Internal Voltages (not ARM Voltage which remain stock) to help lessen heat when in heavy usage scenarios

Boot Time Features:
  • Used git Implem of SHA-1 for 12% Boot time improvement
  • Added [PATCH] arm: remove "optimized" SHA1 routines by Linus Torvalds <torvalds@linux-foundation.org>
  • Added [PATCH] arm: remove stale export of 'sha_transform' Linus Torvalds <torvalds@linux-foundation.org>
  • Uncompressed initramfs (since initramfs is compressed as part of the kernel image, this is reduced to a copy operation from a decompress then copy one)
  • Set Clockspeed at 1.2Ghz at Boot time to ensure all critical tasks have enough power to perform them while the governors/maxfreq isn't set yet. (Thanks to Imoseyon for this hack)

CPU Features

  • CPU and GPU OC/UV thanks to netarchy/Hacre

CPU Governors Included:
Final Clean up of CPU Governors available for simplicity. (all Governors are tweaked for the best possible balance of battery and performance with a slight lean towards performance) With this focus on simplicity stated earlier, the only governors available are the following:

  • sleepy (ondemand based cpu governor with minor edits by pongster) loves to sleep and idle at the lowest set frequency, hence the name change from "solo" to "sleepy". Its closer to ondemandx in terms of performance. This can be tweaked and tuned using init.d scripts as well.
  • hyper (ondemand + suspend freq setting ability with minor edits by pongster) This was formerly the original kenobi which I renamed to hyper as others may not get the Star Wars Reference. :) It gives a good balance between battery life and performance. Its closer to ondemand in terms of performance. also tunable using init.d scripts.
  • conservative (good battery savings by default due to its slow ramp up and ramp down but tunable for performance) defaults are slightly tweaked for better performance than default conservative.
  • ondemand (old reliable thats been tweaked by arighi to support deep_sleep and fast_start) these features try to detect if the CPU is coming from a deep sleep and is more likely to sleep again and thus limits its frequency to the lowest possible that can handle the operations needed. fast_start checks if the CPU needs more "ooomph" and jumps to the highest frequency faster to enable it to complete the operation the system needs to complete. (like during boot-up)

3rd Party Kernel Apps Support

  • CWM Manager 3.0 (It works well for me. Its a useful app by Chainfire that extends the features of the current recovery. No need to reinvent the wheel, so to speak)
  • Voodoo Louder by supercurio
  • Voodoo Display (for future supercurio app)
  • 2nd Core by Tegrak
  • Touch Move by Tegrak
  • SetCPU by michaelhuang
  • Voltage Control by xan
Filesystem Features (loaded by default to prevent the load insmodding at boot will cause, however minor)
  • CIFS
  • FUSE
  • NTFS
  • Experimental NTFS automount for OTG devices (you'll have to do a little more work to enable sdcard as ntfs) (Thanks to gokhan for the hotplug script as base.) This script uses the native NTFS RW support available in t he kernel instead of ntfs-3g
Ext4 Tweaks from 3.x.x branch:

[PATCH] ext4: fix ext4_end_io_dio() racing against fsync() from https://lkml.org/lkml/2011/12/16/311 *Reported-by: Kent Overstreet <koverstreet@google.com>
*Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
[PATCH] ext4: avoid hangs in ext4_da_should_update_i_disksize() from https://lkml.org/lkml/2011/12/16/344 *Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
*Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

I/O Schedulers
  • SIO (2012 0.2 version)
  • deadline (tweaked for Flash)
  • noop
  • V(R)
Performance Patches

Mike Galbraith's Ultimate CFS Performance Patch (CFS Autogroup)<efault@gmx.de> as ported by faux123 <reioux@gmail.com> for 2.6.35 kernels. I (sarcastillo <sar.castillo@gmail.com>) additionally edited some things in sched.c to make it compile properly for 2.6.35.14 Samsung Sourced kernels*More info on this here: https://lkml.org/lkml/2010/11/20/91

Added the CGroup Patch:*Added [PATCH] cgroup: Provides a way of tasks grouping by timer slack value by Kirill A. Shutemov <kirill@shutemov.name> Based on patch by Jacob Pan. Introduces per cgroup timer slack value which will override the default timer slack value once a task is attached to a cgroup. It's useful in mobile devices where certain background apps are attached to a cgroup and minimum wakeups are desired.

Miscellaneous Patches
  • Added [PATCH] cpu-hotplug: Add the function 'cpu_hotplug_inprogress' by Maya Spivak <mspivak@codeaurora.org>
  • Added [PATCH] printk: Don't allow cpu to get console lock during hotplugging by Maya Spivak <mspivak@codeaurora.org>
  • Added [PATCH] rcu-tree: Check for extended quiescent state at start of gp by Maya Spivak <mspivak@codeaurora.org>
  • Added [PATCH] sched: Do not block when waiting to free old root domain by Maya Spivak <mspivak@codeaurora.org>
  • Enabled fsync disabled (can be disabled by doing an echo "1" > /sys/module/sync/parameters/fsync_disabled in a terminal emulator or as a script for gscript or scriptmanager)
  • Touchscreen fix set to "3" for more responsiveness during games, etc. (Thanks to vitalij)

Custom CWM Recovery made by af974 (Huge props to him!) based on Team Overcome Recovery (Huge props to them!)
  • Enabled back key
  • Enabled Power button to select (less chance of double pressing the Home Button and format sdcard fro some users)
  • Reorganized, Inutitive layout and more Readable menu
  • No/Yes Selection Tweak (If you know how to get to Recovery, you don't need that many "No's")
  • Mount Internal AND Mount External from Recovery (We figured this would be quite Useful)
RedPill Download Links:
Download TAR

Download CWM ZIP
Disclaimer: I made this for my personal use and has been personally tested by me and my team (HyperDroid Dev Team). While it may work for other i9100 International ROM's, we have not tested it personally. You have the liberty to choose to use this Rooted Kernel and by flashing this Kernel you will have surrendered your right to complain that you lost your Warranty. If you're smart enough to figure out WHY you need a Custom Rooted Kernel, you SHOULD be smart enough to undo it if you need your device serviced officially. If your device explodes, melts or otherwise disintegrates from its awesomeness I shall NOT be held responsible.

Reposting the Kernel: Please don't repost this kernel anywhere else. Keep the download links intact as I have taken the effort to provide fast links for everyone. If you can't understand English well enough and feel the need to re-post this kernel on a foreign language web site or forum, please let me know first and link to this page... (Google Translate can make it easier to read in your Native Language)

Credits: (Huge props to all the devs I've learned from by reading and studying their code)

Chainfire
Erasmux
Imoseyon
faux123
Ezekeel
franciscofranco
supercurio
hardcore
Hacre
Netarchy
Ninpo
gokhanmoral
Tegrak
Entropy512
cattleprod
alterbridge
Team Overcome
All the hardworking Kernel Devs at lkml.org (Linus Torvalds, Jens Axboe, Mike Galbraith, etc.)

Special Mention to the following:
To my mates at the HyperDroid Dev Team: (who help me test and refine the features of our kernel for our ROM)

Arighi (for the initial guidance on how to get the kernel booting and working & a lot of battery driven patches)
D.O.C. (formerly doctorcete) (for the friendship and being an example of diplomacy in dealing with usual ****storm of questions from users who refuse to search and read) :)
AF974 (for the Overcome based Recovery that's so bad ass I want to stay in recovery)
petsasj (for his great work on HyperDroidParts and all future Apps that are just pure awesomesauce!)
sicopat (for letting us use his server and helping us out with a lot of things smali)
s2d4 (for testing everything at the risk of the potentially time sucking Soft Brick...)

Kernel Source: https://bitbucket.org/sarcastillo/ultimate-kernel-sgs2
MatrixPills Image by Corinne Wilger. Visit her site HERE.
 
Last edited:

af974

Retired Recognized Developer / Retired Forum Mod
Jan 22, 2008
4,934
1,683
Redmi Note 8
RedPill Touch Recovery Changelog:

-Based on new CWM 5.0.4.2 made for ICS
-Usual custom layout as previous release, custom images (thanks to Pongster)
-New menus layout:
Reboot menu= reboot to system,recovery and power off
Install menu= choose from internal or external sdcard
wipe menu= wipe data/factory res, wipe cache, wipoe voltage settings(it wipes voltage control script), wipe battery stats.
backup and restore= backup either on internal or external sdcard, restore and advanced restore to the same way.
storage menu= mount/unmount partitions, mount internal or external sdcard
Touch button on screen
Since the touch feature, we have again 7 no and one yes.
Touch buttons layout(from left to right) : BACK-UP-DOWN-SELECT
Battery percent
Battery charge while in recovery.

Credits:
Thor2002ro for all his help, i've stressed him along via pm and for porting ICS recovery compatible with gingerbread
DoomLord for the inspiration
Sztupy...nice and helpful guy
Gweedo767
Ogdobber
Koush for his wonderfull work on recovery
Linux even if recovery doesn't have linux code inside
Google
All Hyperdroid team
XDA Developers
CyanoGenMod Team
Alterbridge and Overcome team for their work on the Galaxy Tab recovery



Uploaded with ImageShack.us



----------------------------------------------------------------------------------------------------------------------------------------
HyperDroid RedPill Recovery ChangeLog:

-New custom layout, red color text, custom images (thanks to Pongster)
-New menus layout:
Reboot menu= reboot to system,recovery or download
Install menu= choose from internal or external sdcard
wipe menu= wipe data/factory res, wipe cache, wipoe voltage settings(it wipes voltage control script), wipe battery stats.
backup and restore= backup either on internal or external sdcard, restore and advanced restore to the same way.
storage menu= mount/unmount partitions, mount internal or external sdcard
back softkey is set to back.
power and menu are set to select.





attachment.php
attachment.php
attachment.php

attachment.php
attachment.php
attachment.php


Thanks to D.O.C (alias doctorcete, alias King) for screenshots
 

Attachments

  • s2RPKrecoverymain.jpg
    s2RPKrecoverymain.jpg
    13.2 KB · Views: 108,143
  • s2RPKrecoveryreboot.jpg
    s2RPKrecoveryreboot.jpg
    11.4 KB · Views: 107,974
  • s2RPKrecoverywipe.jpg
    s2RPKrecoverywipe.jpg
    13.3 KB · Views: 107,837
  • s2RPKrecoverybackup.jpg
    s2RPKrecoverybackup.jpg
    13 KB · Views: 107,632
  • s2RPKrecoverystorage.jpg
    s2RPKrecoverystorage.jpg
    15.7 KB · Views: 107,705
  • s2RPKrecoveryadvanced.jpg
    s2RPKrecoveryadvanced.jpg
    13.9 KB · Views: 4,691
  • s2RPKrecoveryinstall.jpg
    s2RPKrecoveryinstall.jpg
    15.1 KB · Views: 107,535
  • IMG_20120208_000006.jpg
    IMG_20120208_000006.jpg
    299.6 KB · Views: 4,278
Last edited:

D.O.C

Inactive Recognized Developer / Retired Senior Mod
Jun 24, 2006
3,134
4,011
44
HTC One X
Samsung Galaxy Tab Plus
"The Surgeon"

Its basically to make our lifes simpler...
as stated by pulser_g2 here the idea was born on IRC basically because of the constant updates samsung was doing before, and we all felt a little overwhelmed about doing and redoing the mods and themes for every little release, and on top of it, without a changelog.
So basically "The Surgeon" is VRTheme on steroids. What does that mean?
VrTheme based on latest by seshmaru here modified by myself in several ways.

1. It uses sdcard instead of cache, thus making it cross compatible with devices with little cache partition memory (my case the HD2=
2. It has been modified to fit our needs of modding aswell.

So We basically take any John Doe build, no offense intended.
then flash out surgeon and we can do what any flashable zip can do plus:

1. Theme thanks to vrtheme system
2. Flash custom boot logo
3. Change DPI
4. Mod any apk that would allow us (for example, here we use it to provide multidpi for dialer and calculator).
5. Makes a backup of modded apks to sdcard/vrtheme-backup which can be called with the again modified vrtheme restore backup zip file that you should find on the posts below.

to this add:
1 Remove Apks
2 Automatic wiping of dalviks cache
3 adding apks
4 settings permissions, replacing dirs, etc, what any flashable zip does.

and, the best thing of it all, is that, removing specific xmls from the flashins system, makes the surgeon truly universal. This same advanced flashable zip file we have been using since KG6 (yeah, we have been building the roms since KG6, but we did not want to release until we got it all right) with the exception of certain xmls (devs know what im talking about, samsung has been changing smalis and xmls on every darn build).
It also has been proven to work (again without specific xmls) with VillainROM or any rom.
Our main goal was to build a custom base, and, although we consider the base rom to be pretty good, it has nothing spectacular or innovative added to it, its a base rom.
Again, so you guys get this straight.
Base rom contains all the mods that cannot be flashed thru the surgeon.
Thus, the Surgeon is where the magic relies, is where multidpi, themes, mods, scripts, bootlogo changing relies.....jep, that is where the magic takes place.
The Surgeon is pretty straight forward as you can see, no hidden tricks or secrets kept for ourselves, therefore, we consider this to be an opensource project, cause we truly believe that lots of eyes on sources make things a loot better.
So if we get lucky enough with samsung, only one surgeon from now, updates for base rom only.
Surgeon should get updated when bugfixing, adding of features or removal of them.....hopefully i said..:rolleyes:
Again, without the help of the VillainRom Team, this wouldnt be possible.:cool:

PS: The rom was first intended to be as it is AFTER flashing the surgeon scripts, but, since we can provide a base rom for guys that like ALL of samsung stock features and theme, then this makes us all happy doesnt it?

Universal Surgeons Testing phase

Lets play a bit with this one and try to make surgeon to work on any build too shall we?
Ok here we go with the first one....I just flashed it and it works fine, no bootloops or anything, rom (not androidmeda) is totally themed, dpi hcanged to 192, dialer resized to be multidpi, apps injected, some removed, etc.......This shall make almost (yeah almost) like the docs surgeon script on any build....

Removes the following if existant on build to be flashed upon to
http://pastebin.com/YNC6RPkS


  • Changes the Bootlogo
  • Changes dpi to 192
  • adds some tweaks to init.d
  • adds color tweak
  • removes gapps and replaces with latest that supported dpi
  • adds Spare parts (please uncheck compatibility mode for dpi lower than 240 display correctly)
  • adds CM7 calculator
  • Adds gb keyboard I modded to be multidpi
  • Replaces TWlauncher, replaces with launcerpro
  • Removes almost all of tw stuff
  • Removes Kies functionality (and its entry from settings)
  • And lots more.....

*tested here over Villain Rom, on it and its all good so far
Now rom would be fully themed like docs theme (including custom fadings animations)


pls feedback is appreciated

Universal Surgeon V2.0
 

hyperdroid

Member
Sep 10, 2011
26
208
androidmeda.com
Kernel Changelog

Red Pill Kernel
Changelog
RedPill_Rev1.3
  • Added Newest RedPill CWM Based Recovery by AF974 (Touch Enabled with Battery % and Charging in Recovery) (Huge props to AF974)
  • Experimental: USB Audio support for DAC devices
  • Change Back to SLQB for slightly better performance
  • Removed Net Scheduling/Traffic Shaping via Stochastic Fair Blue Scheduler as this may be causing network issues for some users
  • Added HFS and HFS+ Support
  • Added back V(R) but tweaked it to prevent aliased requests from starving other I/O as well (Thanks to franciscofranco for the idea)
  • Update SIO I/O scheduler to 2012 version by Miguel Boton
  • Tweaked CPU Freq hyper sampling rate
  • Added Patch ARM: improve compiler’s ability to optimize page tables by Russel King
  • Added Patch wakelocks: Allow independent debugging of wake_lock_destroy() (Thanks to Entropy512)
  • Experimental: Updated Wireless Driver from EL29 Source… (Thanks to gokhanmoral for these files that are “cherry-picked” from his repo) If users report a lot of the dreaded wlan wakelocks, I can easily revert to the stock update3 sources… This is an attempt to solve WiFi problems some are having.

RedPill_Rev1.2
  • Tweaked tweaks.sh file based on additional information learned and tested recently. (VM System Reading by s2d4 found <a title="Android VM System: Understanding It a Little More" href="http://goo.gl/bQgU0">here</a>)
  • Reduced number of available governors based on my personal testing... the 4 remaining should serve the needs of those looking for performance, battery life or anything in between.
  • Removed some more stuff no one used in the defconfig.
  • Release LA2 based initramfs version as stable (and make AOSP Support Unstable as we don't test that in GB)
  • Tweaked mount options for ext4 (extended Commit time to 30 and fall in line with the VM System tweaks implemented)
  • Change from SLQB to SLUB for a little less overhead (vs. a queued allocator) More info on SLUB here: http://lwn.net/Articles/229984/
  • Tweaked values in deadline and SIO I/O scheduler to give better throughput while attemting to keep a similar latency to the original (if not more aggressive) Based on my initial (indicative, not conclusive... yet) testing, having these in line with the vm dirty, expire, writeback values + ext4 commit=30 + laptop mode to "schedule" write outs to NAND based storage works quite well to balance throughput with latency expected in a mobile device. We took the big picture view instead of copy pasting random "known" good values and challenged some assumptions even we had at the start. The result is a mobile device tuned for good throughput and battery life with above average latency (not the lowest latency out there, but given the benefits of better I/O throughput and potential battery savings + extending the lifetime of NAND Based storage I think it was a compromise worth taking)
  • Remove V(R) and BFQv3r1 scheduler as the tweaked deadline, SIO and noop are the best we've tested for NAND filled mobile devices. (More on this later)
  • Added franciscofranco's deadline tweak that "Prevent aliased requests from starving other I/O"
  • Set deadline as default I/O scheduler
  • Tweaked deadline i/o fifo_batch for better throughput
  • Remove set_need_resched from rcutree.c based on https://github.com/drod2169/KangBang-OMAP/commit/717e7a22e42869418084701455c11e690a993fe8 which says:*"if we really are in an interrupt, the attempt to re-enter dyntick-idle mode will invoke*rcu_needs_cpu() in any case, which will force the check for RCU callbacks.*So this commit removes the check along with the set_need_resched()"
  • Experimental BTHID fix based on latest bthid.c from Samsung Source Releases I found on github (EK02 for Epic Touch 4G Released in December 2011... about 2 months after Update3 Sources were released for the i9100 and about the same time "BTHID broke" reports began coming in.) (Thanks to TDR for the source where I found this fix)

RedPill_Rev1.1
  • Adjusted Int Voltage of ARM and Busfreq to Stable Values across several devices
  • Added Imoseyon's suspend code to hyper and sleepy
  • Adjusted Touch Screen Values back to default (Thanks to Entropy for pointing this out)
  • Lowered Touch LED Values lower to dim the LED's a bit more.
  • Added Some Tweaks in the init.rc so they can be set from there and are consistent for anyone who uses the kernel.
  • Added some experimental compiler optimizations (Haven't noticed much difference, but we'll continue testing)
  • Enabled deep_sleep and fast_start by default in ondemand, hyper and sleepy
  • Added backported Conservative governor from 3.2

RedPillKernel_Rev1.0 (Final Rebrand to highlight the Power of Choice... formerly known as HyperKernel or HDK all older changelogs and commits since Update 3 are included)

  • Custom CWM Recovery made by af974 (Huge props to him!) based on Team Overcome Recovery (Huge props to them!)

    -Enabled back key
    -Enabled Power button to select (less chance of double pressing the Home Button and format sdcard fro some users)
    -Reorganized, Inutitive layout and more Readable menu
    -No/Yes Selection Tweak (If you know how to get to Recovery, you don't need that many "No's")
    -Mount Internal AND Mount External from Recovery (We figured this would be quite Useful)
  • Tweaked NTFS automount script to support RW and use native ntfs built in the kernel instead of ntfs-3g (like stock kernel)
  • Adjusted Max CPU Freq to 1.5Ghz since its more stable then being at 1.6Ghz for those who like to OC
  • Fixed Bluetooth Devices not connecting properly because of the module not loading properly
  • Stripped the kernel modules used to bring the kernel size down a little more
  • Added Tegrak's Home Button Key Tweak (Thanks Tegrak)
  • Added Stochastic Fair Blue net scheduler (SFB)
  • Added [PATCH] lib/sha1: use the git implementation of SHA-1 by Mandeep Singh Baines <msb@chromium.org> to improve boot performance by almost 12%
  • Added [PATCH] arm: remove "optimized" SHA1 routines by Linus Torvalds <torvalds@linux-foundation.org>
  • Added [PATCH] arm: remove stale export of 'sha_transform' Linus Torvalds <torvalds@linux-foundation.org>
  • Added ARM: 6941/1: cache: ensure MVA is cacheline aligned in flush_kern_dcache_area found here https://lkml.org/lkml/2011/6/16/174
  • Added ARM_ERRATA_754322 & ARM_ERRATA_754327
  • Tweaked the Tweaks File with more Tweaks so the Tweakers who like to Tweak can stop Tweaking as its Tweaked by default and No other Tweaks are needed to Tweak it even further. Any more Tweaking brings you to the law of diminishing returns... (you get the point so I'll stop there...) :D
  • Set Clockspeed at 1.2Ghz at Boot time to ensure all critical tasks have enough power to perform them while the governors/maxfreq isn't set yet. (Thanks to Imoseyon for this hack)
  • Add back default sampling_down_factor for Sleepy CPU Governor
  • Added [PATCH] mach-s5pv310: Make cpuidle AFTR entry less chatty by Entropy512 <atd7@cornell.edu>
  • Added various clocksource patches from lkml.org (check the commit log for details)
 
Last edited by a moderator:

hyperdroid

Member
Sep 10, 2011
26
208
androidmeda.com
Kernel Frequently Asked & Answered Questions (FAAAQ)

Where is the source for building this Kernel?
You can find the source HERE. I love GPL and We should all support Open Source Software and its Developers. Please Note that Open Source doesn't mean all of this magically wrote and patched itself... it takes a lot of our FREE time to do this and would appreciate if you let us know how you've improved the code.If you know what you're doing, you can easily build your own kernel too. *Please let me know if you have any improvements you feel should be included and send me a pull request. *If it tests okay, it may be included in the next release.

Does the RedPill support AOSP/MIUI/CM7 ROMs for i9100?
As of Rev1.3, I will not be working to making it work on AOSP/MIUI/CM7 as I only have enough time to test and maintain 1 build. When the ICS sources come out, I may have to make it support it again as the team may release an AOSP based ICS as well.

Why doesn’t the RedPill have high benchmarks?*
That’s done on purpose to keep YOU away. Seriously. The way the VM system is tweaked (dirty ratio’s, minfree values, etc.) + the focus on better throughput in any type of load + prioritizing data integrity by turning on fsync + a lot of other small tweaks all lead to good performance and battery drain in actual use (I like using my device and not keep it sleeping to bloat my battery stats, thank you). This may not give you the benchmark scores you want to be able to show off… which is good since it means YOU stay away from this kernel and continue to rely on benchmarks rather than actual usage.

Does the RedPill support other variants of the i9100 (like i9100g or i777)?
No. It supports only the i9100 International Version. *If you use it successfully on other i9100 variants, please let me know so I can update this page.

Is the Kernel Undervolted by default?
ARM Voltages are stock. Int Voltages and Busfreq Voltages are conservatively UV'd as seen in the source below...

CPU: L0=1500, L7=100
Code:
        .index                   = L0,
        .arm_volt     = 1450000,
        .int_volt       = 1100000,
    
        .index             = L1,
        .arm_volt    = 1300000,
        .int_volt    = 1100000,
    
        .index        = L2,
        .arm_volt    = 1300000,
        .int_volt    = 1050000,
    
        .index        = L3,
        .arm_volt    = 1200000,
        .int_volt    = 1050000,
    
        .index        = L4,
        .arm_volt    = 1100000,
        .int_volt    = 1050000,
    
        .index        = L5,
        .arm_volt    = 1000000,
        .int_volt    = 975000,
    
        .index        = L6,
        .arm_volt    = 975000,
        .int_volt    = 950000,
    
        .index        = L7,
        .arm_volt    = 950000,
        .int_volt    = 925000,
Busfreq:
Code:
{LV_0, 400000, 1000000},
      {LV_1, 267000, 975000},
          {LV_2, 133000, 975000},
Why a tweaked deadline I/O scheduler?
The deadline I/O scheduler by Jens Axboe has proven itself as a low overhead, high throughput and acceptable latency I/O scheduler. *When tweaked for NAND based Mobile devices, it does even better. *While it "starves" writes by default with a 2:1 Read:Write ratio, this can easily be tuned via sysfs.

Why is my favorite governor (whichever it is) not available?
Simplicity is the Ultimate Sophistication, as Leonardo Da Vinci eloquently said. *Based on extensive testing and user feedback, we gathered that these 4 governors included gave the best performance and battery life on our device. Simple choice to have only the best ones available based on actual testing and feedback. *You will also note that I removed lulzactive and any interactive based governor. This was done after I realized that I was tweaking lulzactive, for example, to behave like governors that do the job perfectly already sans the sleep profile. *What I mean is setting a pump up step of 4 and tweaking other factors such as sampling rate and sample time along with cpu_load (inc and dec) made it behave like ondemand with a sleep profile... *I like it simple so I just included the tweaked and optimized ondemand with sleep profile instead. *You can also make lulz behave like conservative, so I included conservative in there. lulzactive is a tweakers dream... but those who like to keep it simple may find it takes time to configure correctly. *I included only these governors so you all have a simple choice to make in finding your favorite one. *These are all tunable via sysfs so you can skew it towards battery or performance based on what is important for you. *Don't expect uber smoothness and 6 hours screen-on time though... *there will be compromises when leaning towards any of the two factors most users consider important in a kernel.

What are the sleepy and hyper governors?**Experimental CPU Governors
(In order to keep all bugs properly attributed to my experiments and not the original author's, I have renamed it accordingly.)
  • sleepy (formerly know as solo) is an attempt to balance performance and battery life. Its based on the tweaked ondemand by arighi and is optimized for the SGS2. It includes imoseyon's ondemandx tweaks with some down_sampling and other features that users can set by echo'ing into sysfs. Sleepy is closer to ondemandx in behavior when in action.

    It also features arighi's fast_start and deep_sleep detection features. It also suspends at 500Mhz.
  • hyper (formerly known as kenobi) is an aggressively smart and smooth tweaked and optimized for the SGS2 based on ondemand as tweaked by arighi with some ondemandx suspend features from imoseyon. (Added setting suspend_freq via sysfs and Imoseyon's Suspend Code) Hyper is closer to ondemand in behavior when in action.

    It features arighi's fast_start and deep_sleep detection features. It also suspends at 500Mhz.

What is arighi's deep_sleep detection?
From arighi's description on the*<a title="deep_sleep commit" href="https://github.com/arighi/linux-gt-i9100/commit/719732552357f66b11f8c972575b440a8f97d64b">actual commit here:</a>

deep sleep detection via low-power idle notifier
Implement a deep sleep detection mechanism using a low-power idle*notifier introduced in 9487d11.

A new parameter is provided in the ondemand cpufreq governor and*exported in sysfs:
/sys/devices/system/cpu/cpufreq/ondemand/deep_sleep

The deep sleep detection is implemented using the following heuristic.
When deep sleep detection is enabled (deep_sleep = 1) if we detect that*the previous low-power idle state was more than 4x the sampling rate, it*means that we're probably going to enter to a deep sleep state or we're*just resuming from a deep sleep.

In both cases we completely ignore the cpu activity (considering it to*the minimum load), because probably there's a big chance to get back to*the deep sleep soon. If it happens, with this heuristic, the cpu will*enter the deep sleep state at the minimum frequency, that is good for*saving battery life.

What is arighi's fast_start detection?
From arighi's description on the <a title="fast_start commit" href="https://github.com/arighi/linux-gt-i9100/commit/df47f443192c3806277db6aed257421e33c4036f">actual commit here:</a>

fast start detection via low-power idle notifier
Implement a heuristic to detect interactive usage of the device and*boost the cpu frequency to the max.

A new parameter is provided in the ondemand cpufreq governor and*exported in sysfs:
/sys/devices/system/cpu/cpufreq/ondemand/fast_start

The fast start detection is implemented using the following heuristic.
If in the last 4 samples the cpu never entered in low-power idle state,*probably the cpu is very busy. In this case we jump to the maximum frequency immediately.

Why SLQB? (According to its author, Nick Piggin)*
”SLQB is a slab allocator that focuses on per-CPU scaling, and good performance with order-0 allocations. Fastpaths emphasis is placed on local allocaiton and freeing, but with a secondary goal of good remote freeing (freeing on another CPU from that which allocated).”

Why XZ Compression for the Kernel?
Its about 30% smaller and decompresses at just half the speed of gzip... I decided to use it as we have a lot of ram and raw cpu power that can easily handle the extra load xz compressed kernels

XZ compression is set to compress at -9 instead of the default -6 (since XZ decompresses faster when the archive is larger) delivers more performance since in kernel land you don't need to worry about compressing anything back to XZ, these gains in size were enough of a trade-off instead of using gzip by default. (Technically, gzip compressed kernels and initramfs are faster than any other compression method... but for our device we have a lot of raw CPU power and a lot of RAM) (more here http://tukaani.org/xz/)

Why ARM Topology and sched_mc?*(From linaro.org)
"The sched_mc function adds a power saving awareness to the Linux scheduler which is tuned for performance by default. When sched_mc is enabled, the scheduler tries to gather the running processes in a minimal number of cpus and clusters. This choice of the location of a process is done thanks to the cpu topology function which describes the affinity between cpus."
(more info here: https://wiki.linaro.org/WorkingGroups/PowerManagement/Specs/sched_mc)

Why RCU Fast No HZ?
"This option causes RCU to attempt to accelerate grace periods in order to allow CPUs to enter dynticks-idle state more quickly. On the other hand, this option increases the overhead of the dynticks-idle checking, particularly on systems with large numbers of CPUs." The power savings generated from using this, in my experience, outweigh the additional minimal overhead in checking dynticks-idle."

Why rename some modded CPU governors?
I chose to rename tweaked/edited governors as there may be bugs that I inadvertently add with my experiments and would like all these bugs to be properly documented as being introduced by myself. (Personally, it would be worse for me to introduce a bug in a current mainline CPU Governor with my experiments as I'm still learning about tweaking and making changes at this level... and from how I live my life, experience is the best teacher)

Ondemand, for example, is an old reliable and putting all the features I want in there will change the performance I have come to expect from it. I don't expect ondemand to have a sleep/suspend profile for example. So editing/tweaking/optimizing a governor and renaming is the way forward for me. I want to select "ondemand" and know that it will behave like it does in all my devices... reliably handling the load at the expense of battery life.(smoothness above all)

Where do I report Issues or Get Community Support?
Head over to the <a title="Official Kernel Release Thread" href="http://androidmeda.com/forum/index.php?topic=47.0">Androidmeda Forums Kernel release thread</a> or <a title="XDA Kernel Release Thread" href="http://xdaforums.com/showthread.php?t=1288850">XDA Kernel release thread</a> to get support from fellow RedPill Users. *Make sure you included a dmesg or last_kmsg by following <a title="How To File Useful Bug Reports in Android" href="http://androidmeda.com/forum/index.php/topic,12.0.html">my guide on filing Bug Reports here.</a>

How do I show my appreciation? Can I donate to you?
You can show your appreciation concretely in several ways:
  • Pressing the "Thanks" Button on XDA
  • Signing Up to the Androidmeda Forums and Pressing the "Super Thanks" Button there
  • Report issues politely and completely
  • Donating any amount is completely up to you. *I look at donations as a "tip" for a job well done, rather than a "wage" or a "bounty" to get things done. *And Tipping is always up to you... the tipper. *I won't stop development if you don't donate, that's for sure, as I do this mainly for myself and my HyperDroid mates to begin with. I make more money running my own business than this hobby so “tips” are not a necessity… it just tells me how many people actually find the work useful enough to say thank you via a financial gesture.

    This Kernel will ALWAYS be FREE to Download and USE, even if the time spent making it IS NOT FREE. *That's Open Source. (The time people spend on open source projects could have been used to spend more time with their families, for example. But the Devs commitment to get something done right is almost always tugging at him to Dev just a little bit more) *:)

*I've personally donated to Devs who've done things I would never have been able to figure out at the time they did figure stuff out. *Learning anything new takes time and time, in my book, is more important than money as I can't turn back time, while I can always earn money. SO I donate to Devs who spend their free time making Stuff better and easier for those of us who haven't figured out how to get it done.
 
Last edited by a moderator:

D.O.C

Inactive Recognized Developer / Retired Senior Mod
Jun 24, 2006
3,134
4,011
44
HTC One X
Samsung Galaxy Tab Plus
Docs Surgeon

Docs Surgeon

doc1small.png

index.php

doc2small.png

*The Screenshots are from the theme only, Touchwiz launcher is removed on the surgeon.[/B][/LEFT]
**The theme download (not surgeon) will theme your twlauncher/weather/clock like the screenshot above.[/COLOR][/FONT]
[/B][/SIZE]

Docs Surgeon script
List of APKs and other stuff is removed from Build when this is flashed

Features
  • Flashable over Androidmeda
  • Lucid based theme overall system using VRtheme modified (props to doctorcete)- autobackup made on sdcard for easy restoring
  • Custom made Screen transitions (doctorcete)
  • Removes samsung bloatware
  • Preserves samsung mail and im untouched and working
  • Removes entry from settings not to show kies wifi (doctorcete)
  • Prevents home key or volume to wake up device, only power button does (OP)
  • Changes dpi to 192 thus making rom as multidpi compatible as possible.
  • Changes the first boot logo to hyperdroid logo
  • Removes warm tint color thanks to (IntExCZ)
  • Removes gapps and adds latest gapps that had multidpi support (12/07/2011)
  • Removes twlauncher and replaces with launcherpro (easily replaceable before flashing, just remove Hyperdroid-LauncherPro.apk and add your desired launcher to /system/app inside zip file.
  • CM7 calculator
  • DSP manager
  • Keyboard with a comma thanks to petsasj
  • Adds some useful apps to data/app
  • Clear button to show on the bottom and centered

Changelog

v4.0 (09/12/2011)
  • General Theme tunning up, there is a loot of visual changes, u might consider flashing it even if you did not liked the them before.
  • Changed the updater scripts to be a bit more precise on pregress bars
  • Organized updater script
  • Removed all gapps but vending files form surgeon, now it is more compatible whit newer gapps versions sin its only replacing vending.apk
  • Updated to be compatible with new kk5 apk name changes
  • Updated to be compatible with Jkay 13.2 theme
  • This surgeon I believe is not universal.

v3.0 (26/11/2011)
Change Dialer pngs one more time
Added jkay v13.1 compatibility
Added XW and XX bases compatibility (theory only)
Change dialers pngs again
Retained FB social sync
Added dpi app changer thanks to innodroid
Added mdnie switcher thanks to freerunner
Added Fix permission script to be run at end of flashing to avoid permission management issues.

V2.2 (27/10/2011)
vrtheme to use latest installtheme.sh with fixed permissions

V2.1 (24/10/2011)
Changed the first boot logo to fit new boot animation
Removed build.prop modifying except for dpi change.

V2.0 (22/10/2011)
Updated now to jkay v12.1 support
Theoretically now all V2.0 Surgeons should be universal to be flashed over any other builds ;) (needs testing and confirmation)

V1.4 (19/10/2011)
Changed the Clear button to show on the bottom and centered, note that since the carrier is on the same line of the button, whenever the clear button shows up, our carrier name will show up aswell.
Removed some sound from system at all that I ound anoyying (volume sound, charging sound, fully charged sound).
Removed samsung bootanimation at startup and shutdown animation as they arent being used and only taken up some space.
Alarm icon on status bar removed, wont show up there, but it will function normally

V1.3 (18/10/2011)
Included jay v12 support
Special modded keyboard by petsasj with comma at the right and dot at the left, if you find this unconfortable just go to his thread here and flash ur favorite keyboard, Dont forget to press thanks to him for the mod.

V1.2 (17/10/2011)
Reestructure of flashable zip file
Now Surgeon changes build number displayed, it should display code names at the end corresponding to the surgeon being used.
Changed the dialer theme thanks to (Cruznec)

V1.1 (06/10/2011)
Added more multidpi support to dialer
Launcher Pro Plus is now under /system/app and has been themed and shorcuts to the mms "bug" has been removed for your convinience. (doctorcete)



Download via HyperDroid Parts OTA Tool
 
Last edited:

pongster

Retired Recognized Developer
Apr 15, 2005
7,059
5,861
Quezon City
www.facebook.com
Pongster Surgeon Home

Welcome to my Surgeon,

This is my personal surgeon for the HyperDroid-Androidmeda for SGS2. I use this myself without any problems and I hope you enjoy it or use it as a base for your own Surgeon.


Features
  • Flashed over HyperDroid-Androidmeda
  • Fully deodexed
  • Frankentheme (MattedMidnight) heavily based on GingerWay Blue Ocean by antonda (link here) with PNG's from Jabbawalkee's MattedBlues, Sonnysekhon's Lucid and Monochrome and Nitroz and Pele of Black Android Theme for Gingerbread
  • Removes some samsung bloatware: mainly TouchWiz except for TWCalculator and TWCalendar
  • Prevents home key or volume to wake up device, only power button does (OP)
  • LauncherProPlus included by default (Thanks to Federico Carnales)
  • Mail and IM fully functional
  • Kies still functional
  • Jkay compatible
  • 3G/G/Wifi and Network Signals turn White when connected to Google Servers
  • DPI is set at stock 192

    MattedBlack...
  • Bootanimation is minimalist android text similar to default bootanimation in Android Emulator.
  • Creates a folder in your /sdcard named gscript which contains the most useful tweaks I personally use
  • 7 Notification toggles for Jkay mod version at 160 dpi (Thanks to sicopat)
  • MultiDPI MusicPlayer.apk (works at densities from 160 and above) modded by pongster
  • 160 dpi for FULL Android Market support
  • MattedBlack Franken Theme (Lucid + BAT Xtreme + BlueOcean +GingerGray)

Here is the LIST of the applications that have been removed. Read it, and if you need some applications that are removed, simply follow the instructions below.

Suggested Market Applications
Code:
Browser => [URL=https://market.android.com/details?id=com.opera.browser&feature=search_result]Opera Mobile[/URL]
News Feeds => [URL=https://market.android.com/details?id=com.alphonso.pulse&feature=search_result]Pulse[/URL]
Video Player => [URL=https://market.android.com/details?id=com.clov4r.android.nil&feature=search_result]Mobo Player[/URL]

Screenshots of MattedMidnight Frankentheme

pongster1small.png

pongster2small.png

Downloads

MattedMidnight
Theme available via the ROM Tool on v4.0

MattedBlack
(Available in Transparent only | 160 DPI (DON'T CHANGE THIS) | petsasj 160 DPI TW | pongsters MultiDPI MusicPlayer mod)
Available via the ROM Tool on v4.0

How to flash
Code:
0) Check the list of applications removed and modify for your own needs
1) Flash base
2) Flash any Delta Updates
3) Flash surgeon


Instructions if you don't want to remove a specific application
Code:
Open zip, navigate to META-INF>com>google>android
Extract updater-script
Delete the line of the application that you don't want uninstalled
Save and replace original updater-script
Flash


Credits
HyperDroid Dev team
doctorcete for the unique and powerful Surgeon
Seshmaru and Pulser_g2 for VR Theme
lidroid for his awesome little app
Jkay
petsasj
sicopat
Kahvitahra and "TSM" Sbrissen
antonda
Nitroz
sonnysekhon
mr.megi
dtekkt
LeoMar
MIUI ROM
The rest are mentioned in OP and Changelog portion already. If I forgot anyone, do let me know.

=======================SURGEON CHANGELOG======================​

MattedBlack v4.0 (9/12/11)
  • Jkay 13.2 Support
  • Updated Themes of some Apps thanks do doctorcete (Clock, EMail, Phone, Samsung Keyboard)

MattedBlack v1.0 (11/10/11)

V2.0 (22/10/2011)
  • Updated now to jkay v12.1 support
  • Theoretically now all V2.0 Surgeons should be universal to be flashed over any other builds ;) (needs testing and confirmation)

V1.3 (18/10/2011)
  • Included jkay v12 support

V1.2 (17/10/2011)
  • Reestructure of flashable zip file
  • Now Surgeon changes build number displayed, it should display code names at the end corresponding to the surgeon being used.

V1.1 (06/10/2011)
  • Hotfixed already to avoid bootloops, crashes or malfunctioning, everything now whould be smooth as butter
  • Added more multidpi support to dialer
  • Added SpareParts apk to data/app, please use it to uncheck "compatibility mode" and reboot.
  • Launcher Pro Plus is now under /system/app and has been themed and shorcuts to the mms "bug" has been removed for your convinience. (doctorcete)

V1.0 (05/10/2011)
  • Flashable over Androidmeda (Visit antonda's thread here)
  • Frankentheme (MattedMidnight) heavily based on GingerWay Blue Ocean by antonda (link here) with PNG's from Jabbawalkee's MattedBlues, Sonnysekhon's Lucid and Monochrome and Nitroz and (dev name here) of Black Theme for Gingerbread
  • Removes some samsung bloatware: mainly TouchWiz except for TWCalculator and TWCalendar
  • Prevents home key or volume to wake up device, only power button does (OP)
  • LauncherProPlus included by default (Thanks to Federico Carnales)
  • Mail and IM fully functional
  • Kies still functional
  • changes dpi to 182
 
Last edited:

petsasj

Retired Recognized Developer
Mar 22, 2010
1,605
1,501
35
Athens
Hello ladies and gents,

This is my surgeon for Androidmeda HyperDroid. I won't bore you with a long block of text. So here's a short layout of the features.


Features
  • Flashed over Androidmeda
  • Fully Odexed or Fully Deodexed (2 versions)
  • RTL patch compatible. For Jkay mod based builds you MUST use the deodexed version. For TSM both are working
  • Blue theme on most applications (I have drawn a line between blue being the dominant color and everything just being ... blue)
  • Stripped almost completely to the bone. About 90 system applications removed
  • Jkay or TSM mod compatible (2 separate versions)
  • 3G/G/Wifi and Network Signals turn blue when connected to Google Servers
  • DPI is set at stock 240
  • Includes my modified TouchWiz Launcher (v2.4 Page Number 4 default Home Page)
  • Includes my modified Samsung Keyboard
  • 3 very useful applications installed in /data/app (SmartRotator, AutoMountUSB, homeMYhome) and OdexMe in /system/app
  • Rosemary Fonts from SGS (select from Menu > Display > Screen Display)
  • Creates a folder in your /sdcard named Walls with SGS2 stock wallpapers and Galaxy Nexus Wallpapers
  • Up to 12 notifications in Jkay mod that are rearrangable. 5/6 notifications layouts (non-deluxe) come with a carbon fiber background.
  • Edited Settings.apk to remove unused entries

Here is the LIST of the applications that have been removed. Read it, and if you need some applications that will be getting removed, follow the instructions below.

Short description of the surgeon

  • This surgeon uses a unique reodexing script to turn the deodexed base ROM back to odexed. This script was done using bolts and bits of reodexing scripts floating around. (Jkay and TSM versions use different odexing scripts and procedure) Many kudos to those people.
  • This is best suited for the users that remove most bloatware and install Titanium Backup to restore their applications at once. Should you not be one of those users, there are some suggestions below to replace stock applications with.
  • It is prefered you use odexed themes. But you can flash deodexed themes, as well, so long as you leave /system/framework/*.jar's untouched. Open the theme .zip, note the apks that the theme contains and once installed, remove the appropriate odexes. Then run Paul's OdexMe application (this is an edited version).
  • Email and Email widget are included, however Premium accounts cannot be created. The push notifications of Social Hub does eat up a lot of RAM and Battery (a lot of battery in fact) so please use Hotmail/Yahoo mail push apps.
  • homeMYhome app (renamed for easiness into Double Tap - many thanks to c3k!) replaces VoiceToGo double tab feature with another app of your choice. Make sure you have Double Tap enabled if using Jkay's version.
  • AutoMountUsb enables USB automounting once plugged in, and SmartRotator allows you to select which applications you want to rotate or not

Suggested Market Applications
Code:
Browser => [URL="https://market.android.com/details?id=com.opera.browser&feature=search_result"]Opera Mobile[/URL]
Calculator => [URL="https://market.android.com/details?id=uk.co.nickfines.RealCalc&feature=search_result"]Real Calc[/URL]
Email => Hotmail/Yahoo push email apps
File Manager => [URL="https://market.android.com/details?id=com.speedsoftware.rootexplorer"]Root Explorer[/URL]
News Feeds => [URL="https://market.android.com/details?id=com.alphonso.pulse&feature=search_result"]Pulse[/URL]
Video Player => [URL="https://market.android.com/details?id=com.inisoft.mediaplayer.dice&hl=en"]Dice Player[/URL]

Screenshots of JKAY version

w211qs.png

21o29ex.png




Downloads
Via OTA tool

How to flash
Code:
0) Check the list of applications removed 
1) Flash base
2) Flash any Delta Updates (if any)
- 2.5) Flash RTL patch if you wish (for Jkay mod must be deodexed version)
3) Flash surgeon

Instructions if you don't want to remove a specific application
Code:
Open zip, navigate to META-INF>com>google>android
Extract updater-script
Delete the line of the application that you don't want uninstalled
Save and replace original updater-script
Flash

Last updated: 9/12/2011

Changelog
Code:
v4.0
fixed settings.apk xml files
updated pngs
updated for kk5

v3.0
ICS Transition animations
Ported ICS transitions to TW Launcher
Some more animations in menu elements
Included TW Launcher v2.4 (5 columns) - read my thread for how to
Included appzorter
Themed email widget (only works on 2x4/2x5)
Themed a bit more the status bar elements and lines
Some new wallpapers
Added back in Browser.apk due to issues being caused with CSC
Included S20color init.d script with edited mdnie values

v2.2 - fixed AOSP lockscreen sliders


Credits
HyperDroid Dev team
Seshmaru and pulser_g2 for VR Theme
Jkay for his mod
Paulobrien for OdexMe app (modified by Mekrel + some edits by me)
MANY THANKS to the creators of the reodexing scripts that helped me create this one
C3k for homeMYhome app (i love it!)
Capez for ICS transition animations here
If more, please pm me and i will add you asap
 
Last edited:

D.O.C

Inactive Recognized Developer / Retired Senior Mod
Jun 24, 2006
3,134
4,011
44
HTC One X
Samsung Galaxy Tab Plus
Nitroz BAT Xtreme theme

nitrozsmall.png

nitroz2small.png

Note: All Credits to Pele for the theme, Nitroz did the port to our S2, he wanted to share this with all of us :)

Mr. Megui DarkMIUI theme port to vrtheme

mr2.png

mr.png

Note: The theme contains all pngs mr.megui made for his original theme. In order to achieve transparent background for status bar i would have to edit it on base first so no transparent status bar. Still pending the centered clock too.

Download Via HyperDroid Parts OTA Tool
 
Last edited:

sicopat

Senior Member
Oct 21, 2007
811
957
Samsung Galaxy S20
Hi everybody,

Here is the SicOpaT's surgeon for Androidmeda HyperDroid.



Features
  • Flashed over Androidmeda
  • Now with Call recording and bigger contacts picture option (v2.1.1)
  • Gold and Black theme with semi transparent pulldown menu
  • Jkay or TSM mod compatible (2 separate versions)
  • Gold 3G/G/Wifi and Network Signals
  • Gold theme of contacts.apk
  • DPI is set at stock 240
  • Includes Yiannis modified TouchWiz Launcher (Page Number 1 = default Home Page)
  • Includes Yiannis modified keyboard with COMA
  • Nexus Prime Bootanimation (youtube video)
  • Gallery with Bounce effect *
  • Browser with Bounce effect *
* only after XDXD9 firmwares

Here is the LIST of the applications that have been removed. Read it, and if you need some applications that will be getting removed, follow the instructions below.


Short description of the surgeon

  • modification of Jkay HTC GoldEdge theme V13.1
  • wonderfull modified TW Launcher with 5 icons dock and 4 x 5 icons in Applications menu
  • idem for the coma keyboard
  • bounce effect back only in Browser and Gallery*


Screenshots of my JKAY version

sansre1al.jpg

sansre1pl.png



Screenshots of TSM version

SOON


If you're having a hard time deciding over TSM or JKay, read the appropriate topics to help you out.
Jkay's mod
TSM mod (Kahvitahra's port)


Surgeon download links:
XDXD9 Jkay Version 3.0
olders :
XXKI4 Jkay Version 2.1
With Call Rec :
XXKI4 Jkay Version 2.1.1
Old versions :
XXKI3 Jkay Version 1.3

TSM surgeon Version (release soon)

VRTheme download links:
XXKI4 Jkay Version 2.1

How to flash
Code:
0) Check the list of applications removed 
1) Flash base
2) Flash any Delta Updates
- 2.5) Flash RTL_patch if needed
3) Flash surgeon or VRTheme
Instructions if you don't want to remove a specific application
Code:
Open zip, navigate to META-INF>com>google>android
Extract updater-script
Delete the line of the application that you don't want uninstalled
Save and replace original updater-script
Flash
Credits
HyperDroid Dev team
Seshmaru and Pulser_g2 for VR Theme
lidroid for his awesome scrolling Toggle Bar
Jkay
Kahvitahra and "TSM" Sbrissen
Yiannis for his modified TWLauncher and keyboard
Matriak31 for nexus prime bootanimation
Vertumus for helping me in my theme
If more, please pm me and i will add you asap
 
Last edited:

pongster

Retired Recognized Developer
Apr 15, 2005
7,059
5,861
Quezon City
www.facebook.com
If you're having trouble with anything, the only way we can find out what's causing your Issues is If we have complete information.

The logcat/wakelocks/last_kmsg will do just that...

Simply reporting something doesn't work will not help... we all have different devices, different setups, different device manufacturing dates, etc...
If everything is set to default, everything works on our devices.​

How To File a Bug Report with Logcat:

  1. Install android sdk
  2. Install drivers for adb on PC
  3. connect phone to PC
  4. open cmd.exe or terminal
  5. type 'adb logcat' without the quotes
  6. start the app that causes the issues
  7. wait for the app to close or get to the error
  8. copy logcat contents and put in pastebin
  9. copy pastebin links here
How To Find Wakelocks:

  1. Install android sdk
  2. Install drivers for adb on PC
  3. connect phone to PC
  4. open cmd.exe or terminal
  5. type 'adb shell cat /proc/wakelocks > /sdcard/wakelocks.txt' without the quotes
  6. copy contents and put in pastebin
  7. copy pastebin links on your post
How To Get last_kmsg logs:

  1. Install android sdk
  2. Install drivers for adb on PC
  3. connect phone to PC
  4. open cmd.exe or terminal
  5. type 'adb shell cat /proc/last_kmsg > /sdcard/last_kmsg.txt' without the quotes
  6. copy contents and put in pastebin
  7. copy pastebin links on your post
Before filing a bug report, please consider the answer to these:
  1. Is the bug reproducible?
  2. How do you reproduce it?
  3. What is the expected behavior?
  4. What actually happens?
  5. Do you have a Task Killer running?
  6. Are you on the default Kernel?
  7. Did you restore data of System Apps using Titanium Backup?
 
Last edited:

pongster

Retired Recognized Developer
Apr 15, 2005
7,059
5,861
Quezon City
www.facebook.com
Kernel Changelog

HyperKernel HDK: The underrated, quietly confident and remarkably smooth kernel...
Kernel Source:

Download Link:
The Latest HyperKernel is bundled with the newest HyperDroid.
A separate thread will be introduced that will usher in the release of the kernel download separately.
v1.2 is already in testing and will be released as soon as my heavy usage with heavy UV and OC are done. (In 3-5 days)

FYI If anyone should ask... we currently use the CodeSourcery Lite Toolchain. I was just about to play with other Toolchains but decided against it because after doing some research I found this R&D by Ezekeel. Thanks to Ezekeel for the useful information.

HyperKernel HDK v1.1
-Cleaned up choice of CPU Governors and reaaranged them so that when selecting them in CPU Control Apps such as VoltageControl by xan (which is highly recommended fo use with this kernel), its arranged by its "focus and intent" (based on extensive testing on all default Clocks and Voltages) from "battery focused to performance driven".
-With this focus on simplicity stated above, the only governors available are the following:
-lulzactive (interactive based cpu governor by Tegrak) extremely flexible... by default it has a screen off profile and can be tweaked using init.d scripts or the lulzactive app by Tegrak to be battery centric or performance oriented.
-sleepy (ondemand based cpu governor formerly called "solo" edited by Pongster) loves to sleep and idle at the lowest set frequency, hence the name change from "solo" to "sleepy". This can be tweaked and tuned using init.d scripts as well.
-conservative (good battery savings by default due to its slow ramp up and ramp down but tunable for performance) defaults are slightly tweaked for better performance than default conservative.
-lazy (ondemand based cpu governor by Ezekeel) described by Ezekeel as "maybe a better version of ondemand" and for good reason as it gives a good balance between battery life and performance. also tunable using init.d scripts.
-ondemandx (ondemand based cpu governor by Imoseyon) this features earlysuspend features and downsampling which looks for the lowest frequency which can sustain the load while keeping idle time over 30% and tries to try to decrease to this frequency.
-ondemand (old reliable thats been tweak by arighi to support deep_sleep and fast_start) these features try to detect if the CPU is coming from a deep sleep and is more likely to sleep again and thus limits its frequency to the lowest possible that can handle the operations needed. fast_start checks if the CPU needs more "ooomph" and jumps to the highest frequency faster to enable it to complete the operation the system needs to complete. (like during boot-up)
-Added sysfs interface for setting suspend frequency for sleepy CPU Governor. Default is 500Mhz. Min Frequency is 100Mhz, Max is 1.2Ghz (Why would you need to suspend beyond that right?) :)
-Added some tested tweaks from the past few months of testing with HyperDroid ROM.
-Removed the + sign at the end of the versioning thanks to franciscofranco.

HyperKernel - HDKv1.0
-Consolidated all current features of the Ultimate Kernel and feel its matured enough to go by the name of the ROM. Enter the HyperKernel or HDK...
-Removed some governors that are not as effective based on testing. (Removed skywalker, SmartAssV2) Use lulzactive if you want an interactive based governor. There are 8 governors in total available. Default is kenobi. You can tweak it by echoing into sysfs as usual. :D
-Added some tweaks in Kernel thanks to Erasmux and everyone involved in the discussions HERE: http://xdaforums.com/showthread.php?t=786919
-Enabled Kernel Debugging and Schedule Debugging for the tweaks from Erasmux et. al.
-Fixed LOUDER App Compatibility thanks to @supercurio and @gokhanmoral
-Integrated gokhanmoral's implementation of Tegrak's updated lulzactiveV2 (Huge props to Tegrak and gokhanmoral)
-Tuned lulzactive for HyperDroid defaults. (Can be changed using tegrak's lulzactive app from the market)
-[PATCH] ext4: fix ext4_end_io_dio() racing against fsync() from https://lkml.org/lkml/2011/12/16/311
Reported-by: Kent Overstreet <koverstreet@google.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: stable@kernel.org
-[PATCH] ext4: avoid hangs in ext4_da_should_update_i_disksize() from https://lkml.org/lkml/2011/12/16/344
Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: stable@kernel.org
-Added RWSEM from cattleprod's Github Repo c/o Code Aurora

-Change default AC charge current to 650
-Change Internal Voltage for each CPU Level from L2 to L7
-Change Bus Frequency Voltages (less 100mV)
-Fix typo in suspend.h and suspend.c
-Several Code Cleanups and optimizations for stability and performance

-Disabled Net_Sched Queueing and Traffic Shaping via Heirarchical Token Buckets (HTB) as no one was maximizing its use/presence in the kernel
-[PATCH] Added missing Android common patches that were previously included but overwritten by the 2.3.4 code drop, Samsung have not applied any new patches from the Android common kernel tree to their kernels. by Adam Green <greena88@gmail.com>
-Added lazy CPU governor by Ezekeel <notezekeel@googlemail.com>
-Updated Kenobi to use lazy governor features + fast_start and deep_sleep detection
-Updated "LOUDER" kernel driver created by supercurio (Kernel drivers are ready and waiting for his App to increase volume)

-Add support for Tegrak's touchmove thanks to tegrak
-Modified cpufreq.h to follow samsung update3 default behavior when HI_ARMCLK_THAN_1_2GHZ is enabled
-Modified touchscreen locking CPU at L3 thanks to AndreiLux for pointing that out.
-Updated su binary thanks to ChainsDD (added ICS support for su)

v2.3 Ultimate
-Add [PATCH] kernel:smp: Match on_each_cpu behaviour on UP to SMP by Gilad Ben-Yossef <gilad@codefidence.com>
-Add [PATCH] nohz: Remove ts->inidle checks before restarting the tick by Frederic Weisbecker <fweisbec@gmail.com>
-Enabled Smooth Scaling by default (Please use Voltage Control or init.d scripts to control your CPU or it will not work as expected)
-Now using Chainfire's CWM 5.0.2.7 Recovery (with no back key)
-Faster Recovery and Boot (slightly) due to the use of gzip for initramfs instead of xz... (still using xz for the kernel so the kernel is still 5.0MB)

v2.2 Ultimate
-Add other ARM Topology Patches [ARM: cpu topology: Add update_cpu_topology function]
-Added supercurio's voodoo modules (Huge props to supercurio)
-Load these via insmod at boot during post-init

Source for patches found here:
Exynos Yamaha Tweaks
https://github.com/project-voodoo/mc1n2_voodoo

Exynos ld9040 Tweaks
https://github.com/project-voodoo/ld9040_voodoo_exynos_galaxysii

ARM Topology Patches:
http://patches.linaro.org/5095/

v2.1 Ultimate
-Enabled AFTR by default and tweaked scheduling a little bit for performance.
-Patched to Add v5 ARM cpu topology definition by "Vincent Guittot"
-Enabled sched_mc_power_savings

Add ARM cpu topology definition

The affinity between ARM processors is defined in the MPIDR register.
We can identify which processors are in the same cluster,
and which ones have performance interdependency. We can define the
cpu topology of ARM platform, that is then used by sched_mc and sched_smt.

The default state of sched_mc and sched_smt config is disable.
When enabled, the behavior of the scheduler can be modified with
sched_mc_power_savings and sched_smt_power_savings sysfs interfaces.

ARM CPU topology
https://lkml.org/lkml/2011/7/4/250

v2.0 Ultimate
Release Date 09/DEC/2011

Added the Ultimate CFS Patch
- Added [PATCH] CFS Autogroup: Implementation by Mike Galbraith as ported by faux123 for 2.6.35 kernels.
I (sarcastillo) additionally edited some things in sched.c to make it compile properly for 2.6.35.14 Samsung Sourced kernels

More info on this here: https://lkml.org/lkml/2010/11/20/91

Added some PPP Patches
- Added [PATCH] net: Reorder incoming packets in PPPoLAC and PPPoPNS by Chia-chi Yeh

Added some RCU and CPU-Hotplug Patches
- Added [PATCH] cpu-hotplug: Add the function 'cpu_hotplug_inprogress' by Maya Spivak
- Added [PATCH] printk: Don't allow cpu to get console lock during hotplugging by Maya Spivak
- Added [PATCH] rcu-tree: Check for extended quiescent state at start of gp by Maya Spivak
- Added [PATCH] sched: Do not block when waiting to free old root domain by Maya Spivak

More details on commit message on bitbucket

- Turned Off STACKTRACE, FTRACE and SEC_LOG
- Set USB_VBUS Draw to 450

v1.9 Ultimate
- Added latest cpufreq patch by arighi that brings down battery consumption when the screen is on. More details on actual commit on my bitbucket git repo.
- Removed some files from initramfs to bring kernel down to 5.1MB (without sacrificing key features we want in our kernel)

v1.8 Ultima
- Kenobi set as default CPU governor
- Disabled ARM_UNWIND
- Fixed Recovery Loader to enable ROM Tool/OTA App to work with CWM 5
- Revert to --lzma2=dict=1MiB (increases initramfs a little and adds some gains in speed vs compression)
- Added zcache as backported by faux123 here: https://bitbucket.org/faux123 BUT I only enabled cleancache for now

zcache, tmem, cleancache info here: https://lwn.net/Articles/454795/

v1.7 SynergySeries
- BFQv3r1 as default I/O scheduler
- Removed NTFS Support in the kernel as that's handle by ntfs-3g now
- Removed ReiserFS support here as well (as Recovery may not support it properly)
- Removed ext 2 support as the option for using ext4 as ext2 and ext3 is enabled

v1.6 SynergySeries
- Added XZ decompression support for kernel headers and initramfs... (Thanks to faux123)
- Added some XZ related fixes thanks to the original contributors.
- Tweaked XZ compression to compress at -9 instead of the default -6 (since XZ decompresses faster when the archive is larger)
and since in kernel land you don't need to worry about compressing anything back to XZ, these gains in size were enough of a trade-off instead of using gzip by default.
(Technically, gzip compressed kernels and initramfs are faster than any other compression method...
but for our device we have a lot of raw CPU power and a lot of RAM) If you don't trust me, trust the smoothness of the kernel at its current setup.

Code:
Why XZ? Some XZ Decompression details: (more here [url]http://tukaani.org/xz/[/url])

- Its about 30% smaller and decompresses at just half the speed of gzip... 
I decided to use it as we have a lot of ram and raw cpu power that can easily handle the extra load xz compressed kernels and initramfs bring... 
based on my current understanding, it decompresses really fast so the boot time and other processes that depend on these are still fast while keeping the kernel lean and mean 
- Huge props to Lasse Collin and Igor Pavlov for XZ... quite an amazing piece of work there.  
- Our kernel with initramfs and complete features (nothing made as modules or removed) is only 5.8MB yup... you read that right...

v1.5
- BFQv3r1 included (backported from 2.6.38)
- Enable Net Scheduling and Queueing for a more stable and faster loading of pages and apps that depend on a network connection (e.g. Market)
HTB by default http://luxik.cdi.cz/~devik/qos/htb/
Why HTB? See here: http://luxik.cdi.cz/~devik/qos/htb
- Experimental Support for Non-Samsung ROM's thanks to gokhanmoral's siyah_feature_set which I ported from his kernel tree and used his initramfs as a base
- Experimental NTFS automount for OTG devices (you'll have to do a little more work to enable sdcard as ntfs) (Thanks to gokhan for the hotplug script)
Note: fuse.ko is built in statically into the kernel, as is cifs.ko and usbserial.ko
- Enabled fsync disabled (can be disabled by doing an echo "1" > /sys/module/sync/parameters/fsync_disabled in a terminal emulator or as a script for gscript or scriptmanager)
- Enabled fast_start and deep_sleep for 2 other ondemand based governors: solo and kenobi
- Turned Off CFS bandwidth for a small performance gain

v1.4
- Made FUSE, CIFS and other .ko's part of the kernel.
- Fixed Voltage COntrol scripts not being set correctly at boot time.

v1.3
- bfq by default
- Experimental use of NET scheduling (HTB) for faster page loading when browsing (Market included)
- CWMManager now backups to external as required.

v1.2
- cleaned up kernel source code and initramfs
- User-level Release only (disabled kernel debugging)

v1.1
- User-Level release removes kernel debugging to increase smoothness
- Touchscreen fix set to "3" for more responsiveness during games, etc.
- reorganized initramfs scripts (easier for devs to find as they're centralized now)
- fixed USB charge current by using the latest charge_current related code from Gokhan (he's the author of this feature)
- removed userspace, lagfree and SavagedZen, InteractiveX and brazilianwax governors
- brought kernel size down a little bit more

Kernel Androidmeda TJK v1.0
Release Date 20/NOV/2011
Included Solo, Kenobi and Skywalker governors.
Reverted to Recovery 5.0.2.7 for stability and internal testings.
Tweaked recovery to show internal sd and external sd and point to correct path.
Included CWM 3.0
speeded up loading of init.d scripts
fuse.ko is now also loaded on boot
Deadline is default scheduler

OLD CHANGELOG

Kernel Androidmeda TWD v2.5
Release Date 09/NOV/2011
Included lulzactive gorvernor
Reverted to Recovery 4.0.0.2 for stability and internal testings.
Reverted to stock voltage values to avoid SOD of cpus not handling well lower frequencies
Initramfs totally restructured again.

Kernel Androidmeda TWD v2.3
Release Date 30/OCT/2011
Fixed yet again inst-root.sh script
Included Fuse.ko and gspca.ko to lib modules (sorry about that)

Kernel Androidmeda TWD v2.2
Release Date 28/OCT/2011
Upgraded to recovery 5.0.2.7
Fixed instant root script as it was not working (thanks to pongster)
Enabled Thumbee for testing

Kernel Androidmeda TWD v2.0
Release Date 27/OCT/2011
Added the following features thanks to Speedmod huge thanks to him for sharing and the credits go to him and pongster for the merge into our kernel.
- MDNIE screen sharpness tuning (improves text readability)
- MDNIE color tuning (reduces over-saturation of color)
- Lower brightness at low-light levels
Updated Superuser.apk to 3.06 and latest bin for rooting
Updated Recovery to 5.0.2.6 (still no back key, sorry, we are working on that 24/7)

Kernel Androidmeda TWD v1.0
Release Date 24/OCT/2011
Based on update3 from samsung.
Removed CUSE support
cifs.ko is loaded now via init.d
user customizable charging speed (use at your own risk).via script on init.d, thanks to gokhanmoral
Committed Patch to fix fuel alert wakelock Thanks to Entropy512

Kernel Androidmeda DNR v3.1
Release Date 17/OCT/2011
CWM app backups on external sd card, to restore them u will have to manually copy those onto internal sd card (we actually find this useful to backups, so, while we are linked to sources on how to build recoery from source, we will stick with this option)
Making the backup from recovery makes the backup into internal sd card
Changed from SLQB to SLUB
Enabled Brazilinawax and SavagedZen governors for testing purposes
Released as an independent CWM zip file.

Kernel Androidmeda DNR v2.0
Release Date 14/OCT/2011
Initramfs from kI8
Dalvik is now back to data/dalvik-cache
ClockworkMod Recovery v5.0.2.3
Support for internal and external sd card on recovery
Several patches to kernel, see github for changelog
Superuser 3.05 (thanks to chainsdd)

Kernel Androidmeda DNR v1.0
Release Date 05/OCT/2011
Initramfs from kI3
Samsung kernel-update2 (patched for deep sleep fix)
Based on Arighi sources (arighi)
ClockworkMod Recovery v4.0.1.5
Custom boot logo and support for custom bootanimations (Props to Hellcat)
Dalvik cache moved to /dalvik located on p12 hidden partition and symlinked to data/dalvik-cache (Androidmeda Original Feature)
recovery modded to format /dalvik (currently wipe dalviks cache does not work, will be fixed in near future, as of right now, please use format /dalvik to wipe dalvik cache.)
Instant root (modded script by gokhanmoral of SiyahKernel with a few edits by pongster to ensure latest SU apk and binary are used.)
Superuser 3.0 (thanks to chainsdd)
Touchscreenfix (vitalij)
Init.d support

Experimental CPU Governors:

*Experimental CPU Governors:

Added 3 modded CPU Governors tweaked and optimized for the SGS2

*skywalker is a smart and smooth tweaked and optimized for the SGS2 based on SavagedZen. (Right now I just tweaked the numbers, but I plan to try and add more mini features. In order to keep all bugs properly attributed to my experiments and not the original author's, I have renamed it accordingly.)

It suspends at a freq of 500Mhz. It wakes up at 800Mhz.

*kenobi is an aggressively smart and smooth tweaked and optimized for the SGS2 based on ondemand as tweaked by arighi. I also ported the features of Ezekeel's lazy governor. (which is based on ondemand as well) (In order to keep all bugs properly attributed to my experiments and not the original author's, I have renamed it accordingly.)

*solo is an attempt to balance performance and battery life. Its based on the tweaked ondemand by arighi and is optimized for the SGS2. It includes imoseyon's ondemandx tweaks with some down_sampling and other features that users can set by echo'ing into sysfs.

It also features arighi's fast_start and deep_sleep detection features. It also suspends at a freq of 500Mhz.
 
Last edited:

seavers11

Senior Member
May 11, 2007
1,948
229
Great use your hyperdroid on my HD2... Best Rom ever... I want to test what is better LeoMar75 Revolution rom or your hyperdroid rom!!!!

Send from my Revolution GT-I9100 using Tapatalk
 
  • Like
Reactions: roysan90

karan999

Inactive Recognized Developer
Dec 3, 2008
1,801
86
Welcome pongster !!!!!!!!! warm greatings from India too !!!!!!!
We are honoured to have you on the Samsung Galaxy S2 forums !!!
Eagerly waiting for your work. :)

We need performance !!! Looks are secondary !!!

Best Regards,
Karan.
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 411
    [KERNEL][14FEB'12]RedPillKernel_Rev1.3[RedPill Touch CWM Recovery by AF974]"TAKE IT!"

    "This is your last chance. After this, there is no turning back. You take the blue pill - the story ends, you wake up in your bed and believe whatever you want to believe. You take the red pill- you stay in Wonderland and I show you how deep the rabbit-hole goes." - Morpheus, The Matrix (Copyright belongs to the Wachowski Brothers... Larry and Andy)Features
    Highlights
    • Initramfs from LA2
    • Samsung kernel-update3 (patched for deep sleep fix)
    • Based on Arighi sources (arighi) + a LOT of patches included by pongster for performance, stability and battery life
    • Custom ClockworkMod Based Recovery v5.0.2.7 by AF974 based on Team Overcome Recovery (thanks to alterbridge and AF974)
    • Instant root (modded script by gokhanmoral of SiyahKernel with a few edits by pongster to ensure latest SU apk and binary are used.)
    • Newest Superuser 3.0 and su binary (thanks to chainsdd)
    • Touchscreenfix set to "3" (vitalij)
    • Init.d support
    • VooDoo Louder Support by supercurio
    • 2nd Core and Touch Move by Tegrak Support
    • SetCPU and Voltage Control Support
    • Full CWM Manager 3.0 Support by Chainfire
    • CPU & GPU Overclocking and Undervolting by Netarchy
    • Highly Experimental Ondemand based CPU Governors (Minor Edits only/Renamed to keep bugs on the experiments) based on arighi's deep_sleep and fast_start commits
    • Maximum CPU Freq set at 1.5Ghz
    • Enable or Disable File Syncing (fsync enabled by default)
    • CFS Autogroup by Mike Galbraith Enabled
    • CPU Topology and Sched_MC enabled
    • AFTR and LPA enabled
    • A lot of tunables via sysfs included
    • Undervolted Int ARM and Touch LED Values (thanks to Phenomenal for the idea)
    • Git Implementation of SHA-1 for 12% faster boot time
    • CPU set at 1.2Ghz at Boot for faster boot time (Thanks to Imoseyon)
    • XZ compressed kernel using optimized values for the size of the kernel
    • Uncompressed Initramfs (tweaked scripts/gen_initramfs.sh)
    • NTFS Read/Write Support for OTG (Flash Drives and External Hard Drives with enough Power supported)
    • CIFS and FUSE Support | Tweaked Ext4 Filesystem
    • SIO | noop | deadline | V(R) (tweaked for better throughput and balanced latency for Mobile NAND based devices)
    • sleepy | hyper | conservative | ondemand CPU Governors
    • generic cpufreq range regulation (arighi) | BLN support (Thanks to creams and neldar) | Fuel Guage Wakelock fix by Entropy512

    Power Saving Features:
    • AFTR + LPA enabled
    • sched_mc enabled
    • ARM CPU Topology enabled
    • CPU Hotplugging OFF when screen off enabled (Thanks to arighi)
    • RCU Fast No HZ enabled
    • Stable Voltage Tweaks for Internal Voltages (not ARM Voltage which remain stock) to help lessen heat when in heavy usage scenarios

    Boot Time Features:
    • Used git Implem of SHA-1 for 12% Boot time improvement
    • Added [PATCH] arm: remove "optimized" SHA1 routines by Linus Torvalds <torvalds@linux-foundation.org>
    • Added [PATCH] arm: remove stale export of 'sha_transform' Linus Torvalds <torvalds@linux-foundation.org>
    • Uncompressed initramfs (since initramfs is compressed as part of the kernel image, this is reduced to a copy operation from a decompress then copy one)
    • Set Clockspeed at 1.2Ghz at Boot time to ensure all critical tasks have enough power to perform them while the governors/maxfreq isn't set yet. (Thanks to Imoseyon for this hack)

    CPU Features

    • CPU and GPU OC/UV thanks to netarchy/Hacre

    CPU Governors Included:
    Final Clean up of CPU Governors available for simplicity. (all Governors are tweaked for the best possible balance of battery and performance with a slight lean towards performance) With this focus on simplicity stated earlier, the only governors available are the following:

    • sleepy (ondemand based cpu governor with minor edits by pongster) loves to sleep and idle at the lowest set frequency, hence the name change from "solo" to "sleepy". Its closer to ondemandx in terms of performance. This can be tweaked and tuned using init.d scripts as well.
    • hyper (ondemand + suspend freq setting ability with minor edits by pongster) This was formerly the original kenobi which I renamed to hyper as others may not get the Star Wars Reference. :) It gives a good balance between battery life and performance. Its closer to ondemand in terms of performance. also tunable using init.d scripts.
    • conservative (good battery savings by default due to its slow ramp up and ramp down but tunable for performance) defaults are slightly tweaked for better performance than default conservative.
    • ondemand (old reliable thats been tweaked by arighi to support deep_sleep and fast_start) these features try to detect if the CPU is coming from a deep sleep and is more likely to sleep again and thus limits its frequency to the lowest possible that can handle the operations needed. fast_start checks if the CPU needs more "ooomph" and jumps to the highest frequency faster to enable it to complete the operation the system needs to complete. (like during boot-up)

    3rd Party Kernel Apps Support

    • CWM Manager 3.0 (It works well for me. Its a useful app by Chainfire that extends the features of the current recovery. No need to reinvent the wheel, so to speak)
    • Voodoo Louder by supercurio
    • Voodoo Display (for future supercurio app)
    • 2nd Core by Tegrak
    • Touch Move by Tegrak
    • SetCPU by michaelhuang
    • Voltage Control by xan
    Filesystem Features (loaded by default to prevent the load insmodding at boot will cause, however minor)
    • CIFS
    • FUSE
    • NTFS
    • Experimental NTFS automount for OTG devices (you'll have to do a little more work to enable sdcard as ntfs) (Thanks to gokhan for the hotplug script as base.) This script uses the native NTFS RW support available in t he kernel instead of ntfs-3g
    Ext4 Tweaks from 3.x.x branch:

    [PATCH] ext4: fix ext4_end_io_dio() racing against fsync() from https://lkml.org/lkml/2011/12/16/311 *Reported-by: Kent Overstreet <koverstreet@google.com>
    *Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    [PATCH] ext4: avoid hangs in ext4_da_should_update_i_disksize() from https://lkml.org/lkml/2011/12/16/344 *Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
    *Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

    I/O Schedulers
    • SIO (2012 0.2 version)
    • deadline (tweaked for Flash)
    • noop
    • V(R)
    Performance Patches

    Mike Galbraith's Ultimate CFS Performance Patch (CFS Autogroup)<efault@gmx.de> as ported by faux123 <reioux@gmail.com> for 2.6.35 kernels. I (sarcastillo <sar.castillo@gmail.com>) additionally edited some things in sched.c to make it compile properly for 2.6.35.14 Samsung Sourced kernels*More info on this here: https://lkml.org/lkml/2010/11/20/91

    Added the CGroup Patch:*Added [PATCH] cgroup: Provides a way of tasks grouping by timer slack value by Kirill A. Shutemov <kirill@shutemov.name> Based on patch by Jacob Pan. Introduces per cgroup timer slack value which will override the default timer slack value once a task is attached to a cgroup. It's useful in mobile devices where certain background apps are attached to a cgroup and minimum wakeups are desired.

    Miscellaneous Patches
    • Added [PATCH] cpu-hotplug: Add the function 'cpu_hotplug_inprogress' by Maya Spivak <mspivak@codeaurora.org>
    • Added [PATCH] printk: Don't allow cpu to get console lock during hotplugging by Maya Spivak <mspivak@codeaurora.org>
    • Added [PATCH] rcu-tree: Check for extended quiescent state at start of gp by Maya Spivak <mspivak@codeaurora.org>
    • Added [PATCH] sched: Do not block when waiting to free old root domain by Maya Spivak <mspivak@codeaurora.org>
    • Enabled fsync disabled (can be disabled by doing an echo "1" > /sys/module/sync/parameters/fsync_disabled in a terminal emulator or as a script for gscript or scriptmanager)
    • Touchscreen fix set to "3" for more responsiveness during games, etc. (Thanks to vitalij)

    Custom CWM Recovery made by af974 (Huge props to him!) based on Team Overcome Recovery (Huge props to them!)
    • Enabled back key
    • Enabled Power button to select (less chance of double pressing the Home Button and format sdcard fro some users)
    • Reorganized, Inutitive layout and more Readable menu
    • No/Yes Selection Tweak (If you know how to get to Recovery, you don't need that many "No's")
    • Mount Internal AND Mount External from Recovery (We figured this would be quite Useful)
    RedPill Download Links:
    Download TAR

    Download CWM ZIP
    Disclaimer: I made this for my personal use and has been personally tested by me and my team (HyperDroid Dev Team). While it may work for other i9100 International ROM's, we have not tested it personally. You have the liberty to choose to use this Rooted Kernel and by flashing this Kernel you will have surrendered your right to complain that you lost your Warranty. If you're smart enough to figure out WHY you need a Custom Rooted Kernel, you SHOULD be smart enough to undo it if you need your device serviced officially. If your device explodes, melts or otherwise disintegrates from its awesomeness I shall NOT be held responsible.

    Reposting the Kernel: Please don't repost this kernel anywhere else. Keep the download links intact as I have taken the effort to provide fast links for everyone. If you can't understand English well enough and feel the need to re-post this kernel on a foreign language web site or forum, please let me know first and link to this page... (Google Translate can make it easier to read in your Native Language)

    Credits: (Huge props to all the devs I've learned from by reading and studying their code)

    Chainfire
    Erasmux
    Imoseyon
    faux123
    Ezekeel
    franciscofranco
    supercurio
    hardcore
    Hacre
    Netarchy
    Ninpo
    gokhanmoral
    Tegrak
    Entropy512
    cattleprod
    alterbridge
    Team Overcome
    All the hardworking Kernel Devs at lkml.org (Linus Torvalds, Jens Axboe, Mike Galbraith, etc.)

    Special Mention to the following:
    To my mates at the HyperDroid Dev Team: (who help me test and refine the features of our kernel for our ROM)

    Arighi (for the initial guidance on how to get the kernel booting and working & a lot of battery driven patches)
    D.O.C. (formerly doctorcete) (for the friendship and being an example of diplomacy in dealing with usual ****storm of questions from users who refuse to search and read) :)
    AF974 (for the Overcome based Recovery that's so bad ass I want to stay in recovery)
    petsasj (for his great work on HyperDroidParts and all future Apps that are just pure awesomesauce!)
    sicopat (for letting us use his server and helping us out with a lot of things smali)
    s2d4 (for testing everything at the risk of the potentially time sucking Soft Brick...)

    Kernel Source: https://bitbucket.org/sarcastillo/ultimate-kernel-sgs2
    MatrixPills Image by Corinne Wilger. Visit her site HERE.
    187
    RedPill Touch Recovery Changelog:

    -Based on new CWM 5.0.4.2 made for ICS
    -Usual custom layout as previous release, custom images (thanks to Pongster)
    -New menus layout:
    Reboot menu= reboot to system,recovery and power off
    Install menu= choose from internal or external sdcard
    wipe menu= wipe data/factory res, wipe cache, wipoe voltage settings(it wipes voltage control script), wipe battery stats.
    backup and restore= backup either on internal or external sdcard, restore and advanced restore to the same way.
    storage menu= mount/unmount partitions, mount internal or external sdcard
    Touch button on screen
    Since the touch feature, we have again 7 no and one yes.
    Touch buttons layout(from left to right) : BACK-UP-DOWN-SELECT
    Battery percent
    Battery charge while in recovery.

    Credits:
    Thor2002ro for all his help, i've stressed him along via pm and for porting ICS recovery compatible with gingerbread
    DoomLord for the inspiration
    Sztupy...nice and helpful guy
    Gweedo767
    Ogdobber
    Koush for his wonderfull work on recovery
    Linux even if recovery doesn't have linux code inside
    Google
    All Hyperdroid team
    XDA Developers
    CyanoGenMod Team
    Alterbridge and Overcome team for their work on the Galaxy Tab recovery



    Uploaded with ImageShack.us



    ----------------------------------------------------------------------------------------------------------------------------------------
    HyperDroid RedPill Recovery ChangeLog:

    -New custom layout, red color text, custom images (thanks to Pongster)
    -New menus layout:
    Reboot menu= reboot to system,recovery or download
    Install menu= choose from internal or external sdcard
    wipe menu= wipe data/factory res, wipe cache, wipoe voltage settings(it wipes voltage control script), wipe battery stats.
    backup and restore= backup either on internal or external sdcard, restore and advanced restore to the same way.
    storage menu= mount/unmount partitions, mount internal or external sdcard
    back softkey is set to back.
    power and menu are set to select.





    attachment.php
    attachment.php
    attachment.php

    attachment.php
    attachment.php
    attachment.php


    Thanks to D.O.C (alias doctorcete, alias King) for screenshots
    140
    Kernel Changelog

    Red Pill Kernel
    Changelog
    RedPill_Rev1.3
    • Added Newest RedPill CWM Based Recovery by AF974 (Touch Enabled with Battery % and Charging in Recovery) (Huge props to AF974)
    • Experimental: USB Audio support for DAC devices
    • Change Back to SLQB for slightly better performance
    • Removed Net Scheduling/Traffic Shaping via Stochastic Fair Blue Scheduler as this may be causing network issues for some users
    • Added HFS and HFS+ Support
    • Added back V(R) but tweaked it to prevent aliased requests from starving other I/O as well (Thanks to franciscofranco for the idea)
    • Update SIO I/O scheduler to 2012 version by Miguel Boton
    • Tweaked CPU Freq hyper sampling rate
    • Added Patch ARM: improve compiler’s ability to optimize page tables by Russel King
    • Added Patch wakelocks: Allow independent debugging of wake_lock_destroy() (Thanks to Entropy512)
    • Experimental: Updated Wireless Driver from EL29 Source… (Thanks to gokhanmoral for these files that are “cherry-picked” from his repo) If users report a lot of the dreaded wlan wakelocks, I can easily revert to the stock update3 sources… This is an attempt to solve WiFi problems some are having.

    RedPill_Rev1.2
    • Tweaked tweaks.sh file based on additional information learned and tested recently. (VM System Reading by s2d4 found <a title="Android VM System: Understanding It a Little More" href="http://goo.gl/bQgU0">here</a>)
    • Reduced number of available governors based on my personal testing... the 4 remaining should serve the needs of those looking for performance, battery life or anything in between.
    • Removed some more stuff no one used in the defconfig.
    • Release LA2 based initramfs version as stable (and make AOSP Support Unstable as we don't test that in GB)
    • Tweaked mount options for ext4 (extended Commit time to 30 and fall in line with the VM System tweaks implemented)
    • Change from SLQB to SLUB for a little less overhead (vs. a queued allocator) More info on SLUB here: http://lwn.net/Articles/229984/
    • Tweaked values in deadline and SIO I/O scheduler to give better throughput while attemting to keep a similar latency to the original (if not more aggressive) Based on my initial (indicative, not conclusive... yet) testing, having these in line with the vm dirty, expire, writeback values + ext4 commit=30 + laptop mode to "schedule" write outs to NAND based storage works quite well to balance throughput with latency expected in a mobile device. We took the big picture view instead of copy pasting random "known" good values and challenged some assumptions even we had at the start. The result is a mobile device tuned for good throughput and battery life with above average latency (not the lowest latency out there, but given the benefits of better I/O throughput and potential battery savings + extending the lifetime of NAND Based storage I think it was a compromise worth taking)
    • Remove V(R) and BFQv3r1 scheduler as the tweaked deadline, SIO and noop are the best we've tested for NAND filled mobile devices. (More on this later)
    • Added franciscofranco's deadline tweak that "Prevent aliased requests from starving other I/O"
    • Set deadline as default I/O scheduler
    • Tweaked deadline i/o fifo_batch for better throughput
    • Remove set_need_resched from rcutree.c based on https://github.com/drod2169/KangBang-OMAP/commit/717e7a22e42869418084701455c11e690a993fe8 which says:*"if we really are in an interrupt, the attempt to re-enter dyntick-idle mode will invoke*rcu_needs_cpu() in any case, which will force the check for RCU callbacks.*So this commit removes the check along with the set_need_resched()"
    • Experimental BTHID fix based on latest bthid.c from Samsung Source Releases I found on github (EK02 for Epic Touch 4G Released in December 2011... about 2 months after Update3 Sources were released for the i9100 and about the same time "BTHID broke" reports began coming in.) (Thanks to TDR for the source where I found this fix)

    RedPill_Rev1.1
    • Adjusted Int Voltage of ARM and Busfreq to Stable Values across several devices
    • Added Imoseyon's suspend code to hyper and sleepy
    • Adjusted Touch Screen Values back to default (Thanks to Entropy for pointing this out)
    • Lowered Touch LED Values lower to dim the LED's a bit more.
    • Added Some Tweaks in the init.rc so they can be set from there and are consistent for anyone who uses the kernel.
    • Added some experimental compiler optimizations (Haven't noticed much difference, but we'll continue testing)
    • Enabled deep_sleep and fast_start by default in ondemand, hyper and sleepy
    • Added backported Conservative governor from 3.2

    RedPillKernel_Rev1.0 (Final Rebrand to highlight the Power of Choice... formerly known as HyperKernel or HDK all older changelogs and commits since Update 3 are included)

    • Custom CWM Recovery made by af974 (Huge props to him!) based on Team Overcome Recovery (Huge props to them!)

      -Enabled back key
      -Enabled Power button to select (less chance of double pressing the Home Button and format sdcard fro some users)
      -Reorganized, Inutitive layout and more Readable menu
      -No/Yes Selection Tweak (If you know how to get to Recovery, you don't need that many "No's")
      -Mount Internal AND Mount External from Recovery (We figured this would be quite Useful)
    • Tweaked NTFS automount script to support RW and use native ntfs built in the kernel instead of ntfs-3g (like stock kernel)
    • Adjusted Max CPU Freq to 1.5Ghz since its more stable then being at 1.6Ghz for those who like to OC
    • Fixed Bluetooth Devices not connecting properly because of the module not loading properly
    • Stripped the kernel modules used to bring the kernel size down a little more
    • Added Tegrak's Home Button Key Tweak (Thanks Tegrak)
    • Added Stochastic Fair Blue net scheduler (SFB)
    • Added [PATCH] lib/sha1: use the git implementation of SHA-1 by Mandeep Singh Baines <msb@chromium.org> to improve boot performance by almost 12%
    • Added [PATCH] arm: remove "optimized" SHA1 routines by Linus Torvalds <torvalds@linux-foundation.org>
    • Added [PATCH] arm: remove stale export of 'sha_transform' Linus Torvalds <torvalds@linux-foundation.org>
    • Added ARM: 6941/1: cache: ensure MVA is cacheline aligned in flush_kern_dcache_area found here https://lkml.org/lkml/2011/6/16/174
    • Added ARM_ERRATA_754322 & ARM_ERRATA_754327
    • Tweaked the Tweaks File with more Tweaks so the Tweakers who like to Tweak can stop Tweaking as its Tweaked by default and No other Tweaks are needed to Tweak it even further. Any more Tweaking brings you to the law of diminishing returns... (you get the point so I'll stop there...) :D
    • Set Clockspeed at 1.2Ghz at Boot time to ensure all critical tasks have enough power to perform them while the governors/maxfreq isn't set yet. (Thanks to Imoseyon for this hack)
    • Add back default sampling_down_factor for Sleepy CPU Governor
    • Added [PATCH] mach-s5pv310: Make cpuidle AFTR entry less chatty by Entropy512 <atd7@cornell.edu>
    • Added various clocksource patches from lkml.org (check the commit log for details)
    131
    The team and I have decided to close the thread while we decide whether its still worth our time and effort to share what we make for ourselves to others, given that the simple requests of politeness (which should be inherent in every one using something for free and freely shared) and common sense have been replaced by users looking for a quick fix and have turned this thread from a DEVELOPMENT focused thread to a GENERAL SUPPORT thread... which it IS NOT...

    Don't underestimate the power of attitude... I've seen people removed from this community because of a rotten attitude... Remember that this is a DEVELOPMENT community... hence the name xda-developers.com You want to be held by the hand as you tweak your new phone so you can show everyone else how "cool" you are? GET OUT and STAY OUT!

    READ THE OP, SEARCH, FIGURE IT OUT AND ENJOY IT!

    Lastly, some other "devs" have been kanging our work without even a credit or link back given to the team who has worked hard to make sure it works for us. While we have been encouraging sharing as long as credit is given... it seems most new "devs" prefer taking credit then giving it and have made anything we share on our thread look like they "made or wrote" it. Sharing needs to be a two-way street. Don't just keep on taking... that's not what XDA is about.

    While they say that "All good things must come to an end..." this isn't the end... not yet...
    126
    Kernel Frequently Asked & Answered Questions (FAAAQ)

    Where is the source for building this Kernel?
    You can find the source HERE. I love GPL and We should all support Open Source Software and its Developers. Please Note that Open Source doesn't mean all of this magically wrote and patched itself... it takes a lot of our FREE time to do this and would appreciate if you let us know how you've improved the code.If you know what you're doing, you can easily build your own kernel too. *Please let me know if you have any improvements you feel should be included and send me a pull request. *If it tests okay, it may be included in the next release.

    Does the RedPill support AOSP/MIUI/CM7 ROMs for i9100?
    As of Rev1.3, I will not be working to making it work on AOSP/MIUI/CM7 as I only have enough time to test and maintain 1 build. When the ICS sources come out, I may have to make it support it again as the team may release an AOSP based ICS as well.

    Why doesn’t the RedPill have high benchmarks?*
    That’s done on purpose to keep YOU away. Seriously. The way the VM system is tweaked (dirty ratio’s, minfree values, etc.) + the focus on better throughput in any type of load + prioritizing data integrity by turning on fsync + a lot of other small tweaks all lead to good performance and battery drain in actual use (I like using my device and not keep it sleeping to bloat my battery stats, thank you). This may not give you the benchmark scores you want to be able to show off… which is good since it means YOU stay away from this kernel and continue to rely on benchmarks rather than actual usage.

    Does the RedPill support other variants of the i9100 (like i9100g or i777)?
    No. It supports only the i9100 International Version. *If you use it successfully on other i9100 variants, please let me know so I can update this page.

    Is the Kernel Undervolted by default?
    ARM Voltages are stock. Int Voltages and Busfreq Voltages are conservatively UV'd as seen in the source below...

    CPU: L0=1500, L7=100
    Code:
            .index                   = L0,
            .arm_volt     = 1450000,
            .int_volt       = 1100000,
        
            .index             = L1,
            .arm_volt    = 1300000,
            .int_volt    = 1100000,
        
            .index        = L2,
            .arm_volt    = 1300000,
            .int_volt    = 1050000,
        
            .index        = L3,
            .arm_volt    = 1200000,
            .int_volt    = 1050000,
        
            .index        = L4,
            .arm_volt    = 1100000,
            .int_volt    = 1050000,
        
            .index        = L5,
            .arm_volt    = 1000000,
            .int_volt    = 975000,
        
            .index        = L6,
            .arm_volt    = 975000,
            .int_volt    = 950000,
        
            .index        = L7,
            .arm_volt    = 950000,
            .int_volt    = 925000,
    Busfreq:
    Code:
    {LV_0, 400000, 1000000},
          {LV_1, 267000, 975000},
              {LV_2, 133000, 975000},
    Why a tweaked deadline I/O scheduler?
    The deadline I/O scheduler by Jens Axboe has proven itself as a low overhead, high throughput and acceptable latency I/O scheduler. *When tweaked for NAND based Mobile devices, it does even better. *While it "starves" writes by default with a 2:1 Read:Write ratio, this can easily be tuned via sysfs.

    Why is my favorite governor (whichever it is) not available?
    Simplicity is the Ultimate Sophistication, as Leonardo Da Vinci eloquently said. *Based on extensive testing and user feedback, we gathered that these 4 governors included gave the best performance and battery life on our device. Simple choice to have only the best ones available based on actual testing and feedback. *You will also note that I removed lulzactive and any interactive based governor. This was done after I realized that I was tweaking lulzactive, for example, to behave like governors that do the job perfectly already sans the sleep profile. *What I mean is setting a pump up step of 4 and tweaking other factors such as sampling rate and sample time along with cpu_load (inc and dec) made it behave like ondemand with a sleep profile... *I like it simple so I just included the tweaked and optimized ondemand with sleep profile instead. *You can also make lulz behave like conservative, so I included conservative in there. lulzactive is a tweakers dream... but those who like to keep it simple may find it takes time to configure correctly. *I included only these governors so you all have a simple choice to make in finding your favorite one. *These are all tunable via sysfs so you can skew it towards battery or performance based on what is important for you. *Don't expect uber smoothness and 6 hours screen-on time though... *there will be compromises when leaning towards any of the two factors most users consider important in a kernel.

    What are the sleepy and hyper governors?**Experimental CPU Governors
    (In order to keep all bugs properly attributed to my experiments and not the original author's, I have renamed it accordingly.)
    • sleepy (formerly know as solo) is an attempt to balance performance and battery life. Its based on the tweaked ondemand by arighi and is optimized for the SGS2. It includes imoseyon's ondemandx tweaks with some down_sampling and other features that users can set by echo'ing into sysfs. Sleepy is closer to ondemandx in behavior when in action.

      It also features arighi's fast_start and deep_sleep detection features. It also suspends at 500Mhz.
    • hyper (formerly known as kenobi) is an aggressively smart and smooth tweaked and optimized for the SGS2 based on ondemand as tweaked by arighi with some ondemandx suspend features from imoseyon. (Added setting suspend_freq via sysfs and Imoseyon's Suspend Code) Hyper is closer to ondemand in behavior when in action.

      It features arighi's fast_start and deep_sleep detection features. It also suspends at 500Mhz.

    What is arighi's deep_sleep detection?
    From arighi's description on the*<a title="deep_sleep commit" href="https://github.com/arighi/linux-gt-i9100/commit/719732552357f66b11f8c972575b440a8f97d64b">actual commit here:</a>

    deep sleep detection via low-power idle notifier
    Implement a deep sleep detection mechanism using a low-power idle*notifier introduced in 9487d11.

    A new parameter is provided in the ondemand cpufreq governor and*exported in sysfs:
    /sys/devices/system/cpu/cpufreq/ondemand/deep_sleep

    The deep sleep detection is implemented using the following heuristic.
    When deep sleep detection is enabled (deep_sleep = 1) if we detect that*the previous low-power idle state was more than 4x the sampling rate, it*means that we're probably going to enter to a deep sleep state or we're*just resuming from a deep sleep.

    In both cases we completely ignore the cpu activity (considering it to*the minimum load), because probably there's a big chance to get back to*the deep sleep soon. If it happens, with this heuristic, the cpu will*enter the deep sleep state at the minimum frequency, that is good for*saving battery life.

    What is arighi's fast_start detection?
    From arighi's description on the <a title="fast_start commit" href="https://github.com/arighi/linux-gt-i9100/commit/df47f443192c3806277db6aed257421e33c4036f">actual commit here:</a>

    fast start detection via low-power idle notifier
    Implement a heuristic to detect interactive usage of the device and*boost the cpu frequency to the max.

    A new parameter is provided in the ondemand cpufreq governor and*exported in sysfs:
    /sys/devices/system/cpu/cpufreq/ondemand/fast_start

    The fast start detection is implemented using the following heuristic.
    If in the last 4 samples the cpu never entered in low-power idle state,*probably the cpu is very busy. In this case we jump to the maximum frequency immediately.

    Why SLQB? (According to its author, Nick Piggin)*
    ”SLQB is a slab allocator that focuses on per-CPU scaling, and good performance with order-0 allocations. Fastpaths emphasis is placed on local allocaiton and freeing, but with a secondary goal of good remote freeing (freeing on another CPU from that which allocated).”

    Why XZ Compression for the Kernel?
    Its about 30% smaller and decompresses at just half the speed of gzip... I decided to use it as we have a lot of ram and raw cpu power that can easily handle the extra load xz compressed kernels

    XZ compression is set to compress at -9 instead of the default -6 (since XZ decompresses faster when the archive is larger) delivers more performance since in kernel land you don't need to worry about compressing anything back to XZ, these gains in size were enough of a trade-off instead of using gzip by default. (Technically, gzip compressed kernels and initramfs are faster than any other compression method... but for our device we have a lot of raw CPU power and a lot of RAM) (more here http://tukaani.org/xz/)

    Why ARM Topology and sched_mc?*(From linaro.org)
    "The sched_mc function adds a power saving awareness to the Linux scheduler which is tuned for performance by default. When sched_mc is enabled, the scheduler tries to gather the running processes in a minimal number of cpus and clusters. This choice of the location of a process is done thanks to the cpu topology function which describes the affinity between cpus."
    (more info here: https://wiki.linaro.org/WorkingGroups/PowerManagement/Specs/sched_mc)

    Why RCU Fast No HZ?
    "This option causes RCU to attempt to accelerate grace periods in order to allow CPUs to enter dynticks-idle state more quickly. On the other hand, this option increases the overhead of the dynticks-idle checking, particularly on systems with large numbers of CPUs." The power savings generated from using this, in my experience, outweigh the additional minimal overhead in checking dynticks-idle."

    Why rename some modded CPU governors?
    I chose to rename tweaked/edited governors as there may be bugs that I inadvertently add with my experiments and would like all these bugs to be properly documented as being introduced by myself. (Personally, it would be worse for me to introduce a bug in a current mainline CPU Governor with my experiments as I'm still learning about tweaking and making changes at this level... and from how I live my life, experience is the best teacher)

    Ondemand, for example, is an old reliable and putting all the features I want in there will change the performance I have come to expect from it. I don't expect ondemand to have a sleep/suspend profile for example. So editing/tweaking/optimizing a governor and renaming is the way forward for me. I want to select "ondemand" and know that it will behave like it does in all my devices... reliably handling the load at the expense of battery life.(smoothness above all)

    Where do I report Issues or Get Community Support?
    Head over to the <a title="Official Kernel Release Thread" href="http://androidmeda.com/forum/index.php?topic=47.0">Androidmeda Forums Kernel release thread</a> or <a title="XDA Kernel Release Thread" href="http://xdaforums.com/showthread.php?t=1288850">XDA Kernel release thread</a> to get support from fellow RedPill Users. *Make sure you included a dmesg or last_kmsg by following <a title="How To File Useful Bug Reports in Android" href="http://androidmeda.com/forum/index.php/topic,12.0.html">my guide on filing Bug Reports here.</a>

    How do I show my appreciation? Can I donate to you?
    You can show your appreciation concretely in several ways:
    • Pressing the "Thanks" Button on XDA
    • Signing Up to the Androidmeda Forums and Pressing the "Super Thanks" Button there
    • Report issues politely and completely
    • Donating any amount is completely up to you. *I look at donations as a "tip" for a job well done, rather than a "wage" or a "bounty" to get things done. *And Tipping is always up to you... the tipper. *I won't stop development if you don't donate, that's for sure, as I do this mainly for myself and my HyperDroid mates to begin with. I make more money running my own business than this hobby so “tips” are not a necessity… it just tells me how many people actually find the work useful enough to say thank you via a financial gesture.

      This Kernel will ALWAYS be FREE to Download and USE, even if the time spent making it IS NOT FREE. *That's Open Source. (The time people spend on open source projects could have been used to spend more time with their families, for example. But the Devs commitment to get something done right is almost always tugging at him to Dev just a little bit more) *:)

    *I've personally donated to Devs who've done things I would never have been able to figure out at the time they did figure stuff out. *Learning anything new takes time and time, in my book, is more important than money as I can't turn back time, while I can always earn money. SO I donate to Devs who spend their free time making Stuff better and easier for those of us who haven't figured out how to get it done.