[AT&T Samsung Galaxy S II SGH-I777] cwc3:
[KERNEL][ExTweaks] SiyahKernel v2.6.14 | "One kernel to rule them all" | 3/19/12

NOTE: I (CWC3) DID NOT MAKE THIS KERNEL. I JUST TAKE CARE OF THIS POST. 110% OF THE CREDIT GOES TO GOKHANMORAL.

THIS THREAD HAS BEEN RETIRED | THIS IS FOR ANDROID: 2.3.4, 2.3.5, 2.3.6, 2.3.7​

Developer: Gokhanmoral | Donate | Website | Original Thread​

Download: SiyahKernel v2.6.14 | ZIP | TAR​

ExTweaks - The Kernel Tweaker​

​

​

​

2.6.14 (Latest):

Preempt_rcu

Xz compression (to reduce bw on the servers. other than that, don’t believe anybody telling you that it is faster)

New touch recovery (the one in my ICS repack) with gestures

GPU staycount implemented (this is the main reason of this release. this was droidphile’s request and I could not say no to him )

Disabled autogroup (samsung ICS kernel doesn’t use it neither)

ARM_ERRATA_754322 (once again, ICS has it)

Reverted workqueue implementation to old one

Some cleanup of redundant and non-necessary code

Reverted BFQ changes which were causing lags and lockups (thanks to Entropy512. I used the version in his repository. it was the easiest way )

Added “reboot into download mode” in advanced menu of CWM recovery and also added power-off back in. I had no time to remove dual-booting options. instead, I put “not implemented” message. they are ready but I am having a tiny problem while prompting user to choose the rom. you’ll have it in ICS, I hope.

Some fixes and corrections in extweaks interface (thanks to Entropy512 for some of them)

Initialization of led buttons to off (thanks to myfluxi)

Enabled cpu alignment (thanks to codeaurora)

Some other tweaks and “small changes”

2.6.13:

Fixed decoding issues because of the new cpuidle driver (thanks to Entropy512)

Set default I/O scheduler to deadline

Reverted lots of code back to v2.6.9 (based on the user experience, it is the best version until now)

Completed universal config interface implementation (the app will be posted when it is finished. the implementation at the kernel side is ready)

You may need to flash this in CWM recovery if you mess with the default config (especially when trying too much undervolting. although most of the settings are safe, changing gpu voltage and freq settings may cause lockups or bootloops): siyah-resetdefaultprofile.zip. this script will reset default profile and your device will boot with default settings.

This will be the last GB kernel release of SiyahKernel.

2.6.12:

Fixed BTHID issues (thanks to Entropy512)

Some wifi driver changes to prevent wlan_rx wakelocks preventing the device to sleep

New cpuidle driver from galaxytab (thanks to Entropy512)

Reverted top-off current back to default

2.6.11:

Replaced the recovery with Hyperdroid Redpill Kernel Recovery. (Thanks to Hyperdroid team and Redpill kernel developer(s)). this recovery can also mount both internal and external sd. (thank you af974@XDA)

Set the default cpu governor back to ondemand. conservative governor settings are still the same. ondemand governor settings are tweaked a bit (50000-90-5)

Changed some mali internals (set staycounts for steps to: 0-1-1 and down threshold for second step is set to 35). I did not use AndreiLux’s settings for not breaking the compatibility with voltage control app but I highly recommend you try it because it can save a lot of battery juice.

Some patches from upstream

2.6.10:

Default governor is set to conservative with sampling rate of 20msec. those who still say that lionheart is different than conservative governor should inspect the sources or those who don’t know how to do that should try this kernel to get a proof. if you still want EXACTLY the same lionheart governor, just flash lionheart.zip. Unlike what others say it will behave EXACTLY THE SAME as lionheart governor in void kernel if you flash it on this kernel, neak or several others who use netarchy’s change on conservative governor.

(Postponed to 2.6.11 to make a fair comparison of the conservative governor effects) drastic changes in gpu frequencies (thanks to AndreiLux@XDA). you can use voltage control app to use modify them if they cause any lag in games or video playback but I didn’t feel any lag and they are just perfect. freq set is (40,167,267) with thresholds 85% 30% 80% 30%.

(Postponed to 2.6.11)Some other tweaks for performance and mostly battery life (made cpu hotplug threshods a bit high and some patches from upstream etc)

Set default i/o scheduler to bfq. it seems that song skipping doesn’t happen with bfq @ 100MHz (thanks to bartito@XDA for the feedback)

Applied Mel Gorman’s patches to SLUB allocator.

This release may not be as battery friendly as v2.6.9. I will make ondemand governor default and use different settings in v2.6.11 to target more battery life. apart from the slub allocator change (which should not effect the performance anyway) all changes in this release can be applied to v2.6.9 by using init scripts or voltage control app (just flash lionheart.zip and set i/o scheduler to bfq).

​

External SD/Internal SD are mounted backwards, careful when deleting information from them (emmc/sdcard) - Backup first!

Works with Samsung / CM7 / MIUI

Gokhanmoral - "Although I compile at&t version, Entropy512's kernel may be a better choice because there are some differences which I cannot test. He knows what he is talking about and I mean it..."

Flashing .ZIP's in CWM will change once flashing this KERNEL. You will now use the POWER BUTTON to select, and CHOOSE ZIP FROM INTERNAL SDCARD. Same goes for doing Backup/Restore, choose the Internal Card.

USB Debugging is turned off first flash, Just turn it back on Settings->Applications->Development

Great Explanation of Governors & I/O Schedulers

Using lulzactivev2? More control of the Governor from his Application

Overclock & Undervolt

SetCPU - Thread - Overclock CPU, Undervolt CPU, Profiles, Governor Control

Voltage Control - Market - Overclock CPU/GPU, Undervolt CPU/GPU, Profiles (Paid), BUS Change (Paid), Charging Speed, Governor Control

Battery Life

BetterBatteryStats - Thread (Bottom 2nd Post) - With BetterBatteryStats you can analyse the behavior of your phone, find applications causing the phone to drain battery while it is supposed to be asleep and measure the effect of corrective actions

CPU Spy - Market - This is a simple app to display the time the CPU spends in each frequency state. This can be a useful tool in diagnosing battery problems or tweaking your over-clock settings.

It also displays the current kernel information.

[GUIDE] – TIPS / TRICKS & Achieving MAXIMUM battery life - Thanks to AMDPOWERFIST

​

Can be flashed on Samsung ROMs and AOSP Based ROMS. Currently all Samsung 2.3.4, 2.3.5, 2.3.6, 2.3.7 based ROMS, CM7 and MIUI ROMS are supported. Based on linux kernel 2.6.35.14 + drivers from Samsung sources

Auto-Rooting

ClockworkMod Recovery v5.0.2.7 with back button support

Touch Recovery

Boot animation support

Supports SetCPU (OC upto 1600MHz, UC downto 100MHz)

User customizable frequency steps. You cannot change the step count but you can change the frequencies at each step.

Supports undervolting (UV between 800 mV and 1500 mV)

Supports voltage control via SetCPU (thanks to netarchy, ninpo, hacre)

Stock voltages as default

smartassV2, lulzactive, lagfree governors. and lots of other governors which are available as modules

Default governor is ondemand (200-1200MHz)

Default I/O scheduler is deadline

Tweaked ondemand and conservative governors

Compiler optimizations

User customizable charging speed (use at your own risk). You have to echo AC, MISC and USB charge currents to a misc device.

Touchscreen fix (thanks to vitalij)

Increased touchscreen sensitivity

GPU clock and voltage control interface (thanks to netarchy).

I/O, scheduler, hotplug and vm Tweaks

Automatic battery calibration. (removed. thanks to Entropy512. we do not need battery calibration for SGS2)

Available I/O schedulers: noop, deadline, CFQ, BFQ, V(R), SIO (default)

Available CPU governors: see this thread for the list of available governors and modules (thanks to droidphile)

/system/etc/init.d startup scripts support

Automatic backup of efs partition. You will have the files in your sdcard as well as /data/.siyah directory. copy them to a safe location in case you may need them later.

Updated jhash to version 3

Increased charging speed.

BLN (thanks to creams), liblights is autoinstalled if the existing one doesn't support BLN

Supports advanced touch tune driver. thanks to vitalij Link. the control app from Web, from Mobile. Thanks to tegrak for the driver patch file download

2nd core application support (thanks to tegrak)

Automounting of NTFS volumes for USB sticks (ntfs on external card is not supported)

XZ compression for the kernel to have smaller image size. the size is still similar to previous versions after adding new features

Integrated new sha-1 and crc32 slice-by-8 algorithms

SCHED_MC enabled to have less power consumption. It will have a better support in the next version as it needs more changes in the scheduler code.

Lower brightness levels for low-light conditions to save battery.

Experimental brightness behaviour modification via setting min_bl and max_gamma values.

Native BLN support for CM7 based roms.

Three GPU stepping (160-267-300) instead of two

Optimized and configurable hotplug thresholds and rates.

Thunderbolt! script integrated (thanks to pikachu01)

CIFS, SLQB, FUSE, NTFS, cgroup_timer_slack, autogroup, cleancache... and lots of other mambojambo that I forgot...

​

ZIP: Place zip on Internal SD -> Boot into CWM -> Clean Cache/Dalvik -> Install Zip

TAR: Download Odin -> Open Odin -> Boot into Download Mode -> Put .tar in PDA -> Start​

​

Changelog: http://www.gokhanmoral.com/

Although some parts can be considered as original, all are based on inspirations, examples and other people's code. I have no claim to be original. I am only trying to make my (and probably other's) SGS2 experience better and fun.

About source codes: I do not release source codes during beta testing. I do not use git. I have already proven that I share source code, but only once per release. I don't think that mods will be uncomfortable with this but if they are I can create an account in github and share an old code just like most of the other developers do. I will not choose that path if I don't have to. You can download sources for the releases using the links below. I will simply ignore mails and posts asking about the source code because they are already shared. Also, GPL doesn't force me to use github nor it forces me to release the source code as soon as possible. Therefore, releasing the source code may be delayed for several days. If you don't like this sue me :P

Source code and releases can be found here: http://www.gokhanmoral.com/

Credits: Samsung, supercurio, hardcore, Hacre, Entropy, RAvenGEr, tegrak, cattleprod, codeworkx, hellcat, creams, vitalij, arighi and others I might have forgotten...​

​

Unofficial:

Init.Doh by cwc3

ThunderBolt! [Governor + SGSII fixes] by pikachu01

[CWM Flashable] Kernel Cleaning Script (Cleans Cache) by jivy26

Example CWM-flashable /system/etc/init.d/99gpuv script (thanks to AndreiLux)

Example GPU/CPU undervolting and underclocking scripts by kwerdenker

Improved version of CPU undervolting script by kwerdenker

Another couple of nice init.d scripts created by fenomeno83

Enable Android Logger - CWM flashable (android logger is disabled by default in this kernel)

Disable Android Logger - CWM flashable (use this script if you have enabled the logger by using EnableLogger script)

flashable lionheart cpu governor and setting default i/o scheduler to deadline (remove /system/etc/init.d/01lionheart to uninstall. thanks to knzo for the tweaked conservative governor settings)

Older Versions

​

(pm me if you have one I don't)​