[LG Optimus 2x] Cpasjuste:
Hi there !

Got my Optimus 2x yesterday, and played with it today :)

So here is a modified kernel compatible with MoDaCo roms. This kernel will boot with stock values (1000mhz max, default voltage). You can then enable higher states (1200, 1300mhz) with "Pimp My Cpu"! But you can also lower the voltage to get the best of your device Be sure to read the "Pimp My Cpu" post to understand how it work.

Try at your own risk ! May be unstable, i'm not responsable for any damage ... etc

Kernel developpers, you can find some informations on how all this work here.

7 June 2011 : 2x-kernel-2.6.32.9-fakeShmoo(-psycho)-cpasjuste.8.zip

Fix Wifi

MD5 : 55065e28efbd33995c6d6d1bb9f20287

PSYCHO MD5 : 492b150e14f6a7922ec9dcadb432f27b

15 Apr 2011 : 2x-kernel-2.6.32.9-fakeShmoo-psycho-cpasjuste.5.zip

Same as "2x-kernel-2.6.32.9-fakeShmoo-cpasjuste.5" but with higher overclocking (not recommended), see below.

MD5 : 168a51f4d26f272a29607824b6077784

14 Apr 2011 : 2x-kernel-2.6.32.9-fakeShmoo-cpasjuste.5.zip

I did successfully add 216 Mhz frequency to the kernel, but there's a bad news. I did found a hardware limit on the max8907 controller : voltages cant be lower than 770mV. It's why the stock LG kernel runs at 300 Mhz for it's minimal frequency, it run fine at 770mV. So this means that any undervolting lower then 770mV wont do anything, it will still run at 770mV...

Taking the previous discover in account, i didn't add the 216 Mhz state but replaced the (really) too hot 1300 Mhz state by a 1100 Mhz one, so you can probably use that without overvolting (unlike the 1200 Mhz state).

I probably fixed the non booting problem on some roms by adding the required "init.d" script in the zip update package.

MD5 : 514be18ced541f953cc15a1a0e995ea6

Be sure to REMOVE "boot settings" from "Pimp My Cpu" AND uninstall "Pimp My Cpu" before installing the kernel to reset default values.

12 Apr 2011 : 2x-kernel-2.6.32.9-fakeShmoo-cpasjuste.4.zip

A few fix on the oc/uv code which could improve stability

Now use an "unified" cpufreq sysfs devices name. I mean it use the same sysfs names than other oc/uv kernels (at least Galaxy i9000 ones). You HAVE to update "Pimp My Cpu" to version 2.1 at least for it to work.

Cpu sensor is now "/sys/devices/system/cpu/cpu0/cpufreq/cpu_temp"

Freq/voltage table is now "/sys/devices/system/cpu/cpu0/cpufreq/frequency_voltage_table" like other kernels. See this post for more informations.

Uv/mV table is now "/sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table". See this post for more information.

Need Pimp My Cpu version 2.1 at least.

11 Apr 2011 : 2x-kernel-2.6.32.9-fakeShmoo-cpasjuste.3.zip

Back to "normal" releases (with more frequency steps added)

Lower 1200/1300 Mhz voltages, as nvidia recommand 100mV max voltage change between two steps. May not be stable for all.

Maybe fixed some bugs added by the OC/UV modification (some references to old freq/voltage table was still around)

Probably last kernel from me, dev's now have the necessary resources on my github to play around :)

Be sure to REMOVE "boot settings" from "Pimp My Cpu" AND uninstall "Pimp My Cpu" before installing the kernel to reset default values.

10 Apr 2011 : 2x-kernel-2.6.32.9-fakeShmoo-cpasjuste.2.zip

Test release, try to be as close as possible to the default LG kernel

Now based on new kernel sources released by LG instead paul sources

Only 6 available frequency like LG stock kernel (could prevent some problems)

Maybe fixed some bugs added by the OC/UV modification (some references to old freq/voltage table was still around)

Be sure to REMOVE "boot settings" from "Pimp My Cpu" AND uninstall "Pimp My Cpu" before installing the kernel to reset default values.

9 Apr 2011 : 2x-kernel-2.6.32.9-fakeShmoo-cpasjuste.1.zip

Added cpu sensor ( "/sys/devices/system/cpu/cpu0/cpufreq/FakeShmoo_cpu_temp" )

Added freq/voltage table ( "/sys/devices/system/cpu/cpu0/cpufreq/FakeShmoo_freq_voltage_table" ), see this post for more information.

Added uv/mv table ( "/sys/devices/system/cpu/cpu0/cpufreq/FakeShmoo_UV_mV_table" ), see this post for more information.

Changed unstable 1400Mhz frequency to 1300Mhz (we can't have more than 8 freqency)

Added "init.d" support to be 100% compatible with "Pimp My Cpu"

Be sure read the "Pimp My Cpu" changes which may interest you :)

Installation :

Copy the zip to external SDCARD

Boot to ClockWorkMod Recovery (power button + volum down)

Choose install zip from sdcard

Select the zip

Recommendations

Nvidia tegra 2 (AP20) drivers as set the maximum allowed temperature to 60°, you should maybe not go further.

Nvidia tegra 2 (AP20) drivers recommend maximum voltages step of +-100mV (+-100mV between two frequency)

Cpu temperatures are already high without OC. After a lot of testing, i would not recommend to OC this device, but for sure undervolt it.

Default LG values :

389 Mhz / 750 mV

503 Mhz / 800 mV

655 Mhz / 850 mV

760 Mhz / 875 mV

950 Mhz / 950 mV

1015 Mhz /1000 mV

2x-kernel-2.6.32.9-fakeShmoo-cpasjuste.5/6/7 values :

300 Mhz / 770 mV

500 Mhz / 800 mV

650 Mhz / 850 mV

750 Mhz / 875 mV

900 Mhz / 950 mV

1000 Mhz / 1000 mV

1100 Mhz / 1100 mV

1200 Mhz / 1150 mV

2x-kernel-2.6.32.9-fakeShmoo-psycho-cpasjuste.5/6/7 values :

300 Mhz / 770 mV

500 Mhz / 800 mV

800 Mhz / 900 mV

1000 Mhz / 1000 mV

1100 Mhz / 1100 mV

1200 Mhz / 1150 mV

1300 Mhz / 1200 mV

1400 Mhz / 1250 mV

Enjoy your (very) fast device :)

- Thanks to xan for his OC/UV application which inspired me, paul for his work on the o2x and all the users here ;)

- Github