[LG Optimus 2x] Stefan Gündhör:
Finally, it is done.

Special THX to Horst77 from handy-faq.de for his great testing work and inspiration :-)

guestekrnL v1.4.1 ("breakthrough-release")

Please don't forget to post reviews/feedbacks ;-)

Smoothest gueste-kernel so far. No more comparisons, just try&test yourself and be amazed.

Full sources will be provided within 5 days of this post (as demanded by the rules).

Download all 8 kernel versions (normal, strong vib, ZRam, noOC, and combinations) at once: http://www29.zippyshare.com/v/31752582/file.html (23.78 MB) -- you need to unpack the .RAR

The recommended version (guestekrnL_v1.4.1.zip (2.97 MB)) can be downloaded directly at the bottom of this post. Also this version is currently the only tested one.

Alternatively the downloads are as usual also available in Mediafire repository.

Features/Changes:

- ZRam (=compressed RAM, optional) now with faster Snappy compression -- ZRam enabled might drain your battery faster, recommended kernel version has ZRam disabled

- XZ Kernel Compression

- Andrev OC Tools now included in all kernel versions

- whole kernel zip (kernel + modules + andrev OC adjuster + myrt undervolt GUI) extremely small (3 MB)

- changed scheduler

- based on good & stable 1.2.1 release, not the worse 1.3.x or 1.4-preview releases

- higher benchmark results, especially database

- incredible increase of smoothness (in fact HP kernel RC3R2 sources did help, but still both kernels/kernel sources are completely different (eg. different scheduler, different RCU, different defconfig, different voltages/frequencies, different features, different source in general,..), so this is no clone of sr3)

- various changes in defconfig

- changes of voltages and frequencies (some lowered for better battery)

- included "BATTERY LIFE EXTENDER" (Copyright 2011 Ezekeel) for longer battery service lifetime

- maaaaaannny more changes --- in fact as you know I hate writing changelogs, so just test the kernel and be surprised ;)

For the DEVs and interested users:

- new one-click-compiling script by me which compiles all different versions of the kernel and packs them to flashable ZIPs automatically (this script and the toolchain will both be included in the kernel sources - I will upload them soon):

#!/bin/bash

kernelVersion="1.4.1";
kernelPath="/home/developer/Desktop/guestekrnL";

export ARCH=arm;
export PATH=$PATH:${kernelPath}/toolchain/android-toolchain-eabi/bin/;
export CCOMPILER=${kernelPath}/toolchain/android-toolchain-eabi/bin/arm-eabi-;
export CROSS_COMPILE=${kernelPath}/toolchain/android-toolchain-eabi/bin/arm-eabi-;
export STAR_TMUS_REV=TMUS_10;
export TARGET_STAR_HWREV=TMUS_E;
export TARGET_MODEM=ifx;

cd ${kernelPath};
find ./ -name '*~' -o -name '*.bak' | xargs rm;

cd ${kernelPath}/arch/arm/configs;
cp ./gueste_defconfig ./gueste_strongVib_defconfig
cp ./gueste_defconfig ./gueste_noOC_defconfig
cp ./gueste_defconfig ./gueste_noOC_strongVib_defconfig
find ./gueste_strongVib_defconfig -exec grep "# CONFIG_HAVE_KERNEL_STRONG_VIB is not set" {} \; -exec sed -i "s/# CONFIG_HAVE_KERNEL_STRONG_VIB is not set/CONFIG_HAVE_KERNEL_STRONG_VIB=y/g" {} \;
find ./gueste_noOC_strongVib_defconfig -exec grep "# CONFIG_HAVE_KERNEL_STRONG_VIB is not set" {} \; -exec sed -i "s/# CONFIG_HAVE_KERNEL_STRONG_VIB is not set/CONFIG_HAVE_KERNEL_STRONG_VIB=y/g" {} \;
find ./gueste_noOC_strongVib_defconfig -exec grep "CONFIG_IS_KERNEL_OVERCLOCKABLE=y" {} \; -exec sed -i "s/CONFIG_IS_KERNEL_OVERCLOCKABLE=y/# CONFIG_IS_KERNEL_OVERCLOCKABLE is not set/g" {} \;
find ./gueste_noOC_defconfig -exec grep "CONFIG_IS_KERNEL_OVERCLOCKABLE=y" {} \; -exec sed -i "s/CONFIG_IS_KERNEL_OVERCLOCKABLE=y/# CONFIG_IS_KERNEL_OVERCLOCKABLE is not set/g" {} \;

buildkernel() {
cd $3;
make mrproper && make clean;
make ARCH=arm gueste${1}_defconfig;
echo "Compiling Kernel${1}, this might take long, window will be closed after it is done...";
echo "You will find the Logs of kernel compilation in ${3}/guestekrnL_BUILDS/build${1}.log file.";
make ARCH=arm CROSS_COMPILE=${3}/toolchain/android-toolchain-eabi/bin/arm-eabi- STAR_TMUS_REV=TMUS_10 TARGET_STAR_HWREV=TMUS_E TARGET_MODEM=ifx -j`grep "processor" /proc/cpuinfo | wc -l` &> ${3}/guestekrnL_BUILDS/build${1}.log;
cp ${3}/zipstructure/systweaks_ZRam ${3}/zipstructure/system/etc/init.d/systweaks
cd ${3}/zipstructure/kernel;
rm zImage;
cp ${3}/arch/arm/boot/zImage ./zImage
cd ${3}/zipstructure/system/lib/modules;
rm *.ko;
find ${3}/ -name "*.ko" -exec cp '{}' . \;;
cd ../../..;
zip -r -FS flashable_kernel1.zip data/ kernel/ META-INF/ system/
cp ${3}/zipstructure/systweaks_noZRam ${3}/zipstructure/system/etc/init.d/systweaks
zip -r -FS flashable_kernel2.zip data/ kernel/ META-INF/ system/
cp ${3}/zipstructure/flashable_kernel1.zip ${3}/guestekrnL_BUILDS/guestekrnL_v${2}_ZRam${1}.zip;
cp ${3}/zipstructure/flashable_kernel2.zip ${3}/guestekrnL_BUILDS/guestekrnL_v${2}${1}.zip;
rm ${3}/zipstructure/flashable_kernel1.zip;
rm ${3}/zipstructure/flashable_kernel2.zip;
}

buildkernel "" $kernelVersion $kernelPath;
buildkernel "_strongVib" $kernelVersion $kernelPath;
buildkernel "_noOC" $kernelVersion $kernelPath;
buildkernel "_noOC_strongVib" $kernelVersion $kernelPath;
cd ${kernelPath};
make mrproper && make clean;

Why no OTF?

In my opinion it is just not necessary because it must be possible to create a kernel which is performant, smooth and has good battery too.

And if one succeeds (this is what I try to do), there will be no need for OTF. Only the OTF vibration strength feature would be interesting, but I won't merge OTF just for this.

Other opinions:

(Screenshot by RedSun)