[LG Optimus 2x] Stefan Gündhör:
symbi0sis kernel v1.3.1 + GuesteOC v2.2.1 (TrymHansen)

;) - If you like my work, you could vote positively for this thread or buy me a beer.

Info: Better Battery Stats is working! Use the latest XDA-version.

If you want to test you device's stability: Try TrymHansen's Myrt Torture Tester! - this tool is awesome : http://xdaforums.com/showthread.php?t=1645938 -- read the instructions first!
​

Donators from XDA:

flat__line

Actarus-73

Thank you !! :good: :cowboy:

Donators from Handy-Faq:

amoebe1 (on XDA: franky_z)

Thank you too !! :good: :cowboy:

Also many donations have been made already for my Hybrid ROM which includes this kernel, thanks again!

Basic description:

a symbiosis of temasek's CM7 kernel and guestekrnL (stock) - Thanks, appreciation and credits to temasek, as his kernel has been used as base for this kernel! :good:

this is a Cyanogenmod 7 kernel! not for Stock

focus on stability, smoothness and great power consumption

Linux 2.6.32.59

allows Ramhack from 0-96 MByte (this means 0-96 MB additional real RAM, lowering GPU Ram), can be set easily with GuesteOC app, reboots aren't affected by ramhack.

comes with TrymHansen's famous GuesteOC app - following kernel-features can currently be controlled with it:

stepless or stepful over- and underclocking from 216 MHz - 1450 MHz

complete deactivation of second cpu core (and reactivation of course)

maximum screen-off frequency

second cpu core activation speeds/times and auto-calculation of those

change of IO schedulers and read-ahead buffer

swappiness

3-way virtual RAM enhancement: you can choose between Swap, ZRam, CompCache and enable/disable them on the fly

disable fsync (can be used for higher benchmarks) - attention, disabling is bad for your data in case of sudden power loss and also it can both decrease or increase power consumption

touch-light brightness (101 intensity steps choosable)

special feature: changing auto-backlight intensity (8 intensity steps choosable)

on-the-fly changing of virtual RAM size (16 - 256 MByte)

slider for vibration intensity (from very low to strong)

changing Ramhack-Size directly from within GuesteOC with a slider - 0-96 MB; modifying boot image and reboot happens automatically on applying

app for Undervolting included (MyrtUV by TrymHansen)

Default CPU speed is 1000 MHz - but you can OC using the included app of course

...

The toolchain affects: stability, smoothness, performance & power consumption.​

Changelog latest version:

v1.3.1

additional UHOC (ulta high OC) version is available too with default clock of 1,1 GHz and max clock 1,536 GHz - the frequency/voltage table looks like this:

(9 steps because symbi0sis offers one faked additional freq/volt step unlike other kernels)

only use UHOC version if you really need overclocking > 1,45 GHz! otherwise use default version with OC up to 1,45 GHz

new symbi0sis toolchain v2 with full arm hard-float ABI support instead of softfp, updated components and tweaks

Which version of the kernel should I take?

only take a version with "-UHOC" at the end of the filename if you really need highest overclocking

symbi0sis toolchain is always changing and work in progress. its purpose is to beat guestekrnL toolchain in kernel smoothness, performance and battery. There is no guarantee yet that it succeeds, therefore YOUR feedback is needed. guestekrnL toolchain on the other hand is the chain which has proven to be stable, smooth and energy efficient for more than 4 months. So: basically it's recommended to always try the kernel builds built with latest symbi0sis chain and to compare with the guestekrnL chain builds. If you notice strange behavior or high power drain, you can always fall back to the good old guestekrnL chain

As mentioned the compilation toolchains are used for compiling the kernel under linux (= making binary kernel image out of kernel source files) and affect battery, stability, smoothness (scrolling) and performance of the kernel. I might open a new thread for offering the chains separately soon.

Currently I like symbi0sis chain v2 the most. It's hard to say which one is smoother though. [Edit OCT 14 2012: guestekrnL chain still seems to be most liked by majority of the users concerning scrolling smoothness, but there are many positive feedbacks on power consumption of symbi0sis-chain v2 edition] Gueste Chain is from May 31 2012 (initially created for guestekrnL) while symbi0sis v2 is from October 10 2012. Gueste is the "good old stable&smooth one" and symbi0sis is the one aiming to beat (be better than) gueste --- war of the chains :laugh::cool:

Some differences:

- symbi0sis chain v2 uses gcc compiler v4.5.4 (2012) while gueste uses gcc v4.5.3 (2011)

- symbi0sis chain v2 uses some newer libs and components than gueste chain

- symbi0sis chain v2 is a full hard-float chain while gueste chain is softfp (probably performance improvement)

- some differences in build flags

- minor other differences

So just try whatever edition you like, they are both not bad at all.​

fixed LED button notification bug one more time, hopefully finally this time ;)

enhanced kernel building script which automatically builds all 4 versions of the kernel (2 toolchains + UHOC/nonUHOC) - advantage for me basically because it saves time :laugh:

tun.ko no longer as module but directly compiled in kernel again

switched back to ZRam without snappy compression due to some lagginess reasons

drastically improved smoothness (same or better than 1.1.2 of the kernel)

various changes in kernel configuration, inspired by 1.1.2 of the kernel

added full arm hard-float ABI support for performance

SIO IO-scheduler is now default again - there have been some changes in the default values, so the currently recommended settings will be set in GuesteOC automatically after kernel flash. Try them.

changed auto-brightness steps: the lowest step now is 99% identical to CM7 kernel original default auto-brightness

new build flags for kernel modules

some tweaks

Changelog previous versions:

v1.3

additional UHOC (ulta high OC) version is available too with default clock of 1,1 GHz and max clock 1,536 GHz - the frequency/voltage table looks like this:

(9 steps because symbi0sis offers one faked additional freq/volt step unlike other kernels)

updated GuesteOC app by TrymHansen (thank you!!!) for controlling new kernel feature, supporting new kernel modules structure & mounting and fixing some bugs

compiled with newly created symbi0sis toolchain (different from the one used for testbuild), providing improved performance and smoothness [the chain affects battery, performance, stability and smoothness]

tweakable kernel logging (logging disabled by default)

completely fixed LED button notification bugs, led button brightness now will always be restored correctly on ScreenOn to the value set in GuesteOC

screen-state-based kernel behavior: giving for example the possibility of kernel logging only when screen is on

kernel modules can now be loaded with "modprobe <module-name>" and don't need to be loaded with "insmod <full_module_path/module-name.ko>" - advantage: modprobe doesn't need full module path and also loads dependent modules if there are dependencies

added tun.ko module

compiled snappy compression/decompression as modules, will be loaded along with ZRam and unloaded if ZRam is disabled

stability improvements

removed Compcache (ZRam is better)

many changes in kernel configuration

battery-related changes

some other, minor things

I introduced a completely new kernel OnTheFly feature:

kernel_logging

(OTF name)

It accepts values 0, 1 or 2

0 = no logging [GuesteOC-default, set on boot after kernel flash]

1 = logging only when screen is on

2 = logging all the time [kernel-internal default, used until overwritten by GuesteOC]

This can be controlled/set via GuesteOC (see screenshot).

[Kernel logging is what you see when you open the app "aLogcat"]

less or no logging is believed to save some battery juice

v1.2.1.1

additional UHOC (ulta high OC) version is available again with default clock of 1,1 GHz and max clock 1,536 GHz - the frequency/voltage table looks like this:

(9 steps because symbi0sis offers one faked additional freq/volt step unlike other kernels)

building modules with -Os flag instead of -O2

using SLUB memory allocator instead of SLAB allocator for better performance

using VR scheduler as default instead of SIO (in my opinion it stays most lag-free after days of uptime)

disabled CPU alignment again (for battery)

now using Google SNAPPY compression for ZRam instead of LZO - should provide better performance. However CompCache uses LZO and in my opinion phone feels smoother when using CompCache. Just try both and compare, set the desired compressed RAM method in GuesteOC.

fixing "incompatibility" of symbi0sis with OC tools other than GuesteOC - now all tools recognize 216 MHz as lowest CPU freq instead of 389 -- possible problem: you maybe can't set min CPU freq to 389 MHz anymore in some OC tools, you would have to use 5xx instead.

fixing some smaller issues, like a touch LED bug

some changes in kernel configuration for provision of higher smoothness & battery (?)

some stability changes

Improved smoothness

v1.2

enabled CPU alignment - allowing the processor to perform unaligned accesses for many types of memory accesses

disabled uaccess with memcpy

small changes in battery driver

same toolchain as before, Flix123 toolchain unfortunately didn't work with this kernel

fixed cpufreq stats build error

building kernel modules with O2 optimization level instead of O3

reverted pwrgood_latency to default value

merged/included FORCE_FAST_CHARGE - credits to chad0989

disabled some kernel logging

auto-removal of ETaNA kernel remains on installation of symbi0sis kernel

added a small tweak file by carburano basically for better balanced RAM management

ZRam with 200MB will now be enabled automatically on kernel installation

some other less important changes

v1.1.2

Various internal changes for providing better power consumption (really seems to be improved)

additionally: an ultra-high-OC version (UHOC) for power users and nerds.

UHOC version coming in two flavors, low voltage and high voltage

low voltage version uses following steps [cpu freq \ voltage]:

high voltage version will use following steps [cpu freq \ voltage]:

high voltage version will be built tonight

this means OC up to 1,536 GHz - will NOT work on every phone - if you get bootloops after too high OC, re-flash the kernel

UHOC version for power users and capable phones, higher power consumption possible but on normal frequencies not necessarily

if you use UHOC-lowVolt version, you could run it @1150MHz as default, because this uses the same voltage as 1000MHz. It doesn't mean it will consume the same energy (is a bit more complicated) but at least not much more and you still get more power.

Again: UHOC version will NOT work on every phone

default version with OC up to 1450 MHz is still recommended

v1.1.1

Amazing new features by TrymHansen for GuesteOC:

on-the-fly changing of virtual RAM size (16 - 256 MByte)

slider for vibration intensity (from very low to strong)

changing Ramhack-Size directly from within GuesteOC with a slider - 0-96 MB; modifying boot image and reboot happens automatically on applying - THX again to TrymHansen, you are the best!

reverted some changes in defconfig for hopefully providing a bit better battery again compared to v1.0

enabling optimized crypto routines in defconfig

changed the OTF name "gpu_ram_size" to "ramhack_size", now showing size of Ramhack in MB and not size of GPU Ram

increased max possible vibration intensity just a bit

shortened kernel name - still don't forget that this is a fork of Temasek's kernel, who has done a great job

played around with creating new toolchains, still fell back to the old one I made for my stock kernel which still provides good smoothness and battery

disabled kernel-side haptic feedback on change of vibration strength - GuesteOC tool does this anyway

added 3 small binaries to kernel setup zip for providing GuesteOC app the possibility to change ramhack size

kernel setup now (from 1.1.1 upwards) does not change ramhack size, so if you used ramhack before it will be remembered even if you flash a new symbi0sis kernel. This also means if you used a kernel without ramhack before, it won't be enabled by default after flashing a new symbi0sis kernel. Just enable it with the desired size in GuesteOC

credits during development of this version to TrymHansen

v1.1

improved smoothness

3-way virtual RAM enhancement

Ramhack possible from now on, 48 MB hack default

reduced internal logging

defconfig changes

optimized AES and SHA1 routines

current size of GPU RAM (= 128 - Ramhack value) is OTF readable in /proc/gueste/gpu_ram_size --> so 128 MB - gpu_ram_size = size of ramhack -> default: 128 - 80 = 48 MB Ramhack

OTF changeable vibrator (haptic feedback) intensity in both /proc/gueste/strong_haptic_feedback (0 or 1 , 0 sets vib to 3000 and 1 sets it to 3600) and /proc/gueste/vibe_intensity (values 1500-3600)

updated deadline & SIO IO schedulers

credits during changes of this release to morphic, wkpark, vadonka, faux123 and vork - If I forgot someone he/she is most likely mentioned in the git commits or source code merges

v1.0

Initial release

symbi0sis of temasek's CM7 kernel and guestekrnL 1.8.1 (Stock)

credits during changes of this release to temasek

proven good power consumption (as of many feedbacks)

Ramhack:

Ramhack size in MB (set it in GuesteOC):

Questions:

Is this kernel compatible with MIUI? Yes it should be, there have been multiple positive feedbacks. But backup first!

What does virtual memory/RAM mean? Virtual memory means that the real available RAM (the more the bigger Ramhack is) can either be compressed to simulate additional RAM (= ZRAM or ComCache) or it can be enhanced using a Swap file which will be stored on the SD card. Swap is slower than compressed RAM, and compressed RAM is faster but needs more battery!

I OC'd / UV'd too high and get bootloops - what now? If you OC'd too high and get bootloops, re-flash only the kernel, it will remove OC / UV ! No need to re-flash whole ROM.

Download: http://www.mediafire.com/?2m7r8ya1gksn3

Installation: Just flash. Preferably use a clean system without many left-overs from other kernel so you don't get a wrong impression of symbi0sis kernel.

Complete Source: https://www.mediafire.com/folder/2m7r8ya1gksn3//symbi0sis Kernel

Screenshots: (the Antutu shots are from different versions; first shot shows ramhack 48 (=420 MB real RAM) + ZRam (=210 MB additional virtual RAM); Info: GuesteOC app by TrymHansen comes in many languages!)