[LG Optimus 2x] Stefan Gündhör:
[STOCK KERNEL][NOV20] guestekrnL v2.2.1 | stable, smooth [VIBRO- &RAMHACK] [AROMA]

guestekrnL kernel v2.2.1 + GuesteOC v2.3 (TrymHansen) -- with Aroma :cool:

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

Donators from XDA:

Daniele S.

flat__line

Thank you !! :good: :cowboy:

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

...

For this kernel + the GuesteOC app to work properly you need init.d scripts to be working on your ROM. You should be able to enable them using the latest AROMA installer of guestekrnL >= v2.1, if they are not working on your ROM.​

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

If you can't enable ZRam, upgrade to Rebuild 2 release of guestekrnL v2.0 or to a newer release​

If something else doesn't work: Recommended is Busybox 1.19.4 -- install it with JRummy installer, not a different installer!​

@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.2.1

smoothness-related changes for higher smoothness

tun.ko now built-in in kernel again

spica toolchain edition now is default preselected on in AROMA installer

v2.2

smoothness-related changes for higher smoothness

better RAM management

tun.ko now as kernel module instead of built-in in kernel

dropped symbi0sis-toolchain edition, instead added spica1234 toolchain edition (like the name says this toolchain has been built by spica1234, credits for this chain go to him)

new unique feature: introducing dual-vibrator support:

in GuesteOC you can set the kernel's vibration intensity (like you already know)

new: intensity 1500 - 2700 uses "weak" vibrator output device for vibration (the one used in original stock kernel)

intensity levels >2700 - 3700 use the "strong" vibrator output device

some prefer the weak device because it seems to be more "accurate", others prefer the stronger one

now it's completely up to you which one to use, without having to change the kernel version! Enjoy :cool:

Changelog version 2.1:

v2.1

also read the v2.0 Changelogs!

smoothness-related changes for higher smoothness

added FlixEdition-Power by and for flix123 with the following differences to official version: https://github.com/StefanGuendhoer/guestekrnL_for_stock_v1.6.2_upwards/compare/master...FlixEdition - the differences are minimal because I merged some good changes into the official version of the kernel. Nevertheless thanks to flix123 for his endless efforts to make this kernel smoother :good::victory: Currently the FlixEdition-Power is only different from guestekrnL-Flix123-Chain in it's default GuesteOC settings (heavy use of second core, different scheduler, stock led brightness,...) and in the default ramhack size. Still flix123 has earned his own edition named after him, as he is the creator of the very smooth flix-toolchain I use for 2 of my builds as well and the one responsible for some more smoothness improvements in the kernel in general.

Still I recommend to use the normal/official build as of the default heavy use of second core of FlixEdition-Power (higher battery drain during use) and because fsync is disabled by default - not everyone likes that.

AROMA Installer is now able to enable init.d, apply smoothness tweaks and convert filesystem to ext4 if a user selects this option - however this option can only be experimental as it replaces the boot image, which should but might not work fine on every stock ROM. Backup first!

Changelog version 2.0 part 3/3:

v2.0 Rebuild 2

this kernel version is still the same as v2.0, so also read the other v2.0 Changelogs!

fixed ZRam not working for everyone - see the changes here: https://github.com/StefanGuendhoer/...mmit/55eac20be15cffe001c5d2ce9452f3887e7fff74

This rebuild has been made for all those who had problems enabling ZRam

Who already got ZRam working and already has latest GuesteOC v2.3, does NOT need to upgrade to this release!

Changelog version 2.0 part 2/3:

v2.0 Rebuild 1

this kernel version is basically the same as v2.0 so please read the changelog of v2.0 additionally!

introducing 2 new editions (built with a toolchain by flix123) for provision of maximum smoothness + an extra AROMA version with ALL kernel editions inside:

all other editions are the same as before, only GuesteOC has been updated and they have been recompiled (couldn't avoid)!

AROMA installer package has been built automatically by my new enhanced kernel building script

AROMA installer package allows you to choose between 6 different kernel editions, and allows you to set max. CPU frequency, RamHack size, desired IO Scheduler and ZRam enabled/disabled right during the installation of the guestekrnL kernel

new GuesteOC v2.3 directly included with undervolting AND overvolting (new) - TrymHansen is the creator of guesteOC, thank you very much for this awesome new version, Trym! :good:

complete sources of guestekrnL v2.0 will be published soon - this means the Ramhack for stock, vibration strength for Stock, tweakable kernel logging and other features introduced by me for guestekrnL will be available for other developers too - please don't forget who introduced them first.

Advice:

Please try the new edition(s) compiled with flix123 toolchain (by flix123, thanks to flix for provision!) - you can test & install them along with your preferred settings with the cool new AROMA installer package!

Changelog version 2.0 part 1/3:

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 all versions: 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.

Complete sources in the main download folder: http://www.mediafire.com/?9lvnkfthj9dbo

Screenshots: will follow soon :)

Changelogs & description guestekrnL v1.x:

guestekrnL v1 - for Stock & Stock-based ROMs​

Download all Versions: http://www.mediafire.com/?9lvnkfthj9dbo

Latest version (v1.8.1-HighOC): http://www.mediafire.com/?pfby2anqqdifz

Latest FlixEditions by Flix123 (based on guestekrnL 1.8.1 if > v1.3): http://www.mediafire.com/?kguh32agjhmgp

Changelog:

June 09, 2012 -- added best battery edition of guestekrnL v1.8.1: LINK

Changelog:

June 03, 2012 -- guestekrnL v1.8.1-HighOC: LINK

Changelog:

May 30, 2012 -- first community build of guestekrnL is out -- guestekrnL-FlixEdition-v1.1: LINK

Changelog:

May 28, 2012 -- rebuild of guestekrnL SR99R100.1PI.1337 using a different VM -- rebuilt version is smoother than the build from yesterday (May27)!

Changelog:

May 27, 2012 -- guestekrnL SR99R100.1PI.1337: LINK

Changelog:

May 13, 2012 -- guestekrnL v1.7_SE-Final: LINK

Changelog:

May 01, 2012 -- guestekrnL v1.7.0: LINK

Changelog:

April 26, 2012 -- guestekrnL v1.6.2: LINK

Changelog:

April 17, 2012 -- guestekrnL v1.6.1: LINK

Changelog:

April 13, 2012 -- Bugfix01 for guestekrnL v1.6:

Changelog:

April 12, 2012 -- guestekrnL v1.6 + Bugfix01 (April 13): LINK

Changelog:

March 26, 2012 -- guestekrnL v1.5: LINK

Changelog:

March 20, 2012 -- guestekrnL v1.4.1: LINK

Changelog:

March 07, 2012 -- guestekrnL v1.3.1:

extremely small kernel and modules sizes (even without -Os compilation flag)

both ZRam (+369 MB Ram) and Swap (+383 MB Ram) enabler/disabler available for download - freedom of choice :) (ZRam enabler will disable Swap and vice-versa) ; Zram should be more performant than Swap, but eventually also drain the battery faster ; both ZRam and Swap are disabled by default

BFQ scheduler updated

many entries added to global kernel configuration file "include/linux/guestekrnl.h" (only important for users interested in compiling guestekrnL from source)

bug fixes, performance tweaks

compilation flags changed (-O2 instead of -Ofast)

some kernel logging removed

xz-compressed kernel image, xz-(de)compression (boot-time) support added

reverted some changes in lowmemorykiller

many voltage and clock/speed adjustments

new version of ZRam enabler, the old one won't work!

stable, not too highly undervolted kernel -- you can UV yourself using UV tools though (only overclockable edition)

Changelog:

March 03, 2012 -- guestekrnL v1.2.1:

Overclocking bug fixed - once CPU is OC'd it will stay OC'd now

changes in cpu speed steps: new steps are 216, 324, 503, 800, 1015, 1100, 1216, 1408 (same steps as etana kernel currently uses)

kernel default cpu speed now 1.0 GHz like stock kernel

screen off max cpu speed now 503 MHz

changes again in second core handling

stability fixes

strong vibration editions (thx to spica1234) -- please note that strong vibration might cause problems if haptic feedback is enabled in LG stock keyboard:

Changelog:

March 02, 2012 -- Additional version without OC/UV possibility @1.0 GHz Stock-max.Speed -- for stock kernel lovers ;)

Changelog:

March 01, 2012 -- guestekrnL v1.2 FINAL:

never-seen smoothnes @ 912 MHz (= underclocked)

non-working ramzswap kernel module removed

ZRAM integrated as kernel module (use is optional; use of ZRAM "increases" RAM amount (= +369MB), but might drain battery faster)

activation/deactivation pack for ZRAM

old swap file will be deleted on kernel or zram pack install

lower swappiness if no ZRAM is used

ipv6 enabled again

revert second core activation & treshold back to stock kernel settings for better battery

there will be an additional version with stronger vibration soon (thanks and credits to spica!)

currently two downloadable & flashable kernel ZIPs:

guestekrnL_v1.2_FINAL_withAndrevOC_normalVibration.zip -> Andrev OC Adjuster and Myrt Undervolt GUI will be installed directly with the kernel

guestekrnL_v1.2_FINAL_Bulk_normalVibration.zip -> Only the kernel will be installed

-- pending: version with stronger vibration

Changelog:

February 18, 2012 -- FINAL version of v1.1:

new cpu speed steps & voltages

again more smoooothness (scrolling, responsiveness)

max. ScreenOff CPU frequency lowered to 316 MHz and some other changes (hopefully saving some juice)

3 versions of kernel with different cpu speed steps:

Low overclock version with cpu speed steps 216-316-503-655-816-912-1015-1100 (MHz) -- recommended version!!

Medium overclock version with cpu speed steps 216-316-503-655-816-912-1015-1216 (MHz)

High overclock version with cpu speed steps 216-316-503-655-816-912-1015-1312 (MHz)

the first 7 cpu speed steps are the same in all 3 versions, because I decided these steps are the best choice -- there is only one OC step because there can only be 8 CPU steps (handled by OC tools)

try 1,1Ghz max version, it is smooth enough for nearly everyone I hope, even at 1,0 GHz!!

default max cpu clock (screen on) is 1015 MHz

Features/Description​

WIPE DALVIK CACHE BEFORE INSTALL

- EXT2/3/4 built in

- based on official LG v20Q kernel sources

- OC/UV support, overclocking up to 1408MHz

- Andrev OC compatibility

- not highly undervolted by default, you can do this yourself using tools

- however, still some voltage tweaks

- CPU clock locked at max. 503 Mhz while screen is off (taken from swiftextreme kernel if I remeber correctly) - no need to set this in oc tools

- default CPU clock at 1.0 GHz, you can higher/lower it yourself using OC tools

- very smooooooth

- Voodoo Sound

- SLQB

- CIFS, TUN

- SWAP & ZRAM support

- many Tweaks either by me or "inspired" and taken from the source codes of ironkrnL and SwiftExtreme kernel

- compiled with Linaro GCC & Toolchain

- more things which you can find in the latest changelogs

Credits:

- setiron

- fajarep

- cpasjuste

- pastime1971

- spica1234

- supercurio

- dr4go

- LG for v20Q sources

Big THX to spica1234 for supporting me via PM during development!!!!

​

Latest sources @ Github (1.0 sources [MENTION=353474]media[/MENTION]fire): https://github.com/StefanGuendhoer/LG-P990-O2X----guestekrnL-for-stock for kernels < 1.6.2 and https://github.com/StefanGuendhoer/guestekrnL_for_stock_v1.6.2_upwards for kernels > 1.6.2 OR at http://androtransfer.com/?developer=gueste&folder=sources

Source for kernel 1.7-SE is within the download folder of the kernel and [MENTION=1347281]androt[/MENTION]ransfer and [MENTION=353474]media[/MENTION]fire!