Kudos to block944 for posting my little project here before I even had a chance to! I saw the incoming hits to the blog from androidcentral and it was ROFL time.
Anyways, the blog post with the details and blabber including source code is here:
Overclock Android kernel for Sprint Optimus S
But I'll summarize. The basic idea is to have the stability of the stock kernel (meaning both it should work and I won't have to rerelease it every other day), with maximum performance.
The kernel is compiled from VD source. There are a few changes to the kernel config to remove unnecessary stuff, so the binary winds up about 380K smaller than LG's.
The .zip uses koush's AnyKernel so you can flash it over top of stock VD or any VD ROM (I've had no issues with TR 1.8 and 1.8.2).
I've added overclocking. By default CPU scaling is from 245-748 MHz, but you can up this (or lower it) with SetCPU or similar.
I added the "interactive" CPUFreq governor for snappier UI coming out of idle. Now, because I'm doing AnyKernel and not changing the ramdisk image inside boot.img, your phone will still boot with "ondemand" by default (sorry, this is a downside to AnyKernel). You can change to "interactive" by doing any of (in increasing order of difficulty):
Before I paste the download link, I'll paste the standard disclaimer, thanks to ThundeROM:
Current version (posted April 18): Download, copy to /sdcard, reboot to recovery and flash: picasticks-07.zip
Version history:
07 (posted April 18): picasticks-07.zip includes ext2, ext3, ext4 Linux filesystem drivers compiled as modules (no need to update if you don't want this)
06 (posted April 8): picasticks-06.zip config is identical to 05, but kernel now compiled with CodeSourcery toolchain with newer GCC
05 (posted April 3): picasticks-05.zip no known bugs; fixes issue in 04
Test version (posted April 2): picasticks-04-testA.zip (OC + interactive only; no kernel config changes from LG kernel, so good to use as baseline VD kernel. See thread around page 3 for info)
04 (posted March 31): picasticks-04.zip has UI lag problems due to choice of preempt RCU, do not recommend
Please let me know about any issues you run into. Be sure to report details like what ROM you are running and anything else that's relevant. Try to isolate the bug as much as possible and be sure that it is kernel-related.
I haven't had any, but if you have any issues with crashing or stability, please report what max CPU clock you used and what CPU governor, and try again with clock capped at 600 MHz and governor set to "ondemand" or "performance" to see if that makes any difference.
Anyways, the blog post with the details and blabber including source code is here:
Overclock Android kernel for Sprint Optimus S
But I'll summarize. The basic idea is to have the stability of the stock kernel (meaning both it should work and I won't have to rerelease it every other day), with maximum performance.
The kernel is compiled from VD source. There are a few changes to the kernel config to remove unnecessary stuff, so the binary winds up about 380K smaller than LG's.
The .zip uses koush's AnyKernel so you can flash it over top of stock VD or any VD ROM (I've had no issues with TR 1.8 and 1.8.2).
I've added overclocking. By default CPU scaling is from 245-748 MHz, but you can up this (or lower it) with SetCPU or similar.
I added the "interactive" CPUFreq governor for snappier UI coming out of idle. Now, because I'm doing AnyKernel and not changing the ramdisk image inside boot.img, your phone will still boot with "ondemand" by default (sorry, this is a downside to AnyKernel). You can change to "interactive" by doing any of (in increasing order of difficulty):
- Use SetCPU to change it (and have it run on boot if you want). [or]
- "echo 'interactive' > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor" and add this one-liner to any boot script if you want it to happen automatically on boot. [or]
- Unpack the boot.img and edit /init.qcom.post_boot.sh in the ramdisk to use 'interactive', then repack and flash_image the new boot.img. This is what I do, and what you'd do if you were building a ROM with this kernel.
Before I paste the download link, I'll paste the standard disclaimer, thanks to ThundeROM:
We are not responsible for your device, SD cards, thermonuclear war, or the current economic crisis. Please do some research if you have any concerns about features included in this ROM before flashing it! YOU are choosing to make these modifications, we are simply making them available. - Steve Kondik
Current version (posted April 18): Download, copy to /sdcard, reboot to recovery and flash: picasticks-07.zip
Version history:
07 (posted April 18): picasticks-07.zip includes ext2, ext3, ext4 Linux filesystem drivers compiled as modules (no need to update if you don't want this)
06 (posted April 8): picasticks-06.zip config is identical to 05, but kernel now compiled with CodeSourcery toolchain with newer GCC
05 (posted April 3): picasticks-05.zip no known bugs; fixes issue in 04
Test version (posted April 2): picasticks-04-testA.zip (OC + interactive only; no kernel config changes from LG kernel, so good to use as baseline VD kernel. See thread around page 3 for info)
04 (posted March 31): picasticks-04.zip has UI lag problems due to choice of preempt RCU, do not recommend
Please let me know about any issues you run into. Be sure to report details like what ROM you are running and anything else that's relevant. Try to isolate the bug as much as possible and be sure that it is kernel-related.
I haven't had any, but if you have any issues with crashing or stability, please report what max CPU clock you used and what CPU governor, and try again with clock capped at 600 MHz and governor set to "ondemand" or "performance" to see if that makes any difference.
Last edited: