[LG Optimus 2x] Stefan Gündhör:
Release of v2.0 :)

guestekrnL kernel v2.0 + GuesteOC v2.2.1 (TrymHansen)

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

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!
​

Basic kernel description:

this is a Gingerbread LG O2X Stock kernel! not for use with Cyanogenmod

focus on stability, smoothness and great power consumption

Linux 2.6.32.9

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)

setting of maximum screen-off frequency

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

change of IO schedulers and read-ahead buffer

swappiness

2-way virtual RAM enhancement: you can choose between Swap & ZRam 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

OnTheFly-changing of kernel logging policy:

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 app.

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

less or no logging is believed to save some battery juice

merged/included FORCE_FAST_CHARGE - credits to chad0989

...

Before flashing the kernel: make sure that init.d scripts are working on your ROM.​

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

Currently re-flashing the kernel will reset Ramhack to default 32MB, if you need more/less, you need to change it in GuesteOC again.​

If you can't enable ZRam, check your BusyBox (v1.19.4 recommended, use JRummy's installer (others won't work))​

@ROM-CHEFs (important!):

If you want to directly include guestekrnL v2.x in your Stock ROMs, you will have to set the command line parameters of your ROMs boot.img (via Android kitchen -> modify boot image -> modify command line params) to the following (otherwise Ramhack can't be enabled by the users):

mem=415M@0M nvmem=96M@416M loglevel=0 muic_state=1 lpj=9994240 CRC=3000001a323ed07 vmalloc=256M brdrev=1.0 video=tegrafb console=ttyS0,115200n8 usbcore.old_scheme_first=1 tegraboot=sdmmc tegrapart=recovery:35e00:2800:800,linux:34700:1000:800,mbr:400:200:800,system:600:2bc00:800,cache:2c200:8000:800,misc:34200:400:800,userdata:38700:c0000:800

(This will enable the default 32 MB RamHack right after the installation of your ROM with latest guestekrnL included.)

Also in v2.0 the setup script and many setup files of guestekrnL have changed - make sure to merge all the important parts into your ROM setup. Also do not include boot-up scripts which modify LED brightness or virtual RAM and similar stuff or disable kernel logging because that's the job of GuesteOC app.​

​

Changelog latest version:

v2.0

introducing ramhack + changeable ramhack size (!) (details some lines below) - never seen on any LG O2X stock kernel before

introducing completely adjustable vibration intensity (!) (details some lines below) - never seen on any LG O2X stock kernel before

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 (HOC) 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

4 kernel versions:

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.

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.

guestekrnL chain is from May 31 2012 (initially created for guestekrnL) while symbi0sis v2 is from October 10 2012. guestekrnL chain 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 guestekrnL uses gcc v4.5.3 (2011)

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

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

- some differences in build flags

- minor other differences

Feedback on the performance of both chains by different users:

- symbi0sis chain v2 seems to provide a bit better power consumption than guestekrnL chain

- symbi0sis chain v2 seems to provide the best overall performance

- guestekrnL chain seems to provide the smoothest slow-scrolling (so the fewest lags when scrolling very slowly)

- guestekrnL chain seems to be a bit more stable than symbi0sis chain (so if you use symbi0sis and have freezes or something you might want to try guestekrnL chain edition)

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

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:

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

drastically improved smoothness

various changes in kernel configuration, inspired by 1.1.2 of my CM7 symbi0sis kernel

added full arm hard-float ABI support for performance

there have been some changes in the kernel & GuesteOC 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

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

tweakable kernel logging (logging disabled by default)

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

stability improvements

removed Compcache (ZRam is better)

I introduced a completely new kernel OnTheFly feature: (never seen on any LG O2X stock kernel before)

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

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!

optimized AES and SHA1 routines

current size of Ramhack is OTF readable in /proc/gueste/ramhack_size -> default: 32 MB Ramhack [changebale in GuesteOC]

OTF changeable vibrator (haptic feedback) intensity in /proc/gueste/vibe_intensity (values 1500-3700) [changebale in GuesteOC as well]

enabling optimized crypto routines in defconfig

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

many changes in kernel configuration

battery-related changes

some other, minor things

some tweaks

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

Ramhack:

Ramhack size in MB (set it in GuesteOC):

Questions:

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 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/?9lvnkfthj9dbo

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.

Screenshots: will follow soon in first posting of this thread :)