[EVO Shift 4G Android Development] Scaryghoul:
Read the thread before posting bugs or issues or questions

Table of contents:

Intro

Features/what this includes

Quirks of the kernel

Why it's labeled unstable

Disclaimer

Latest kernels

Methods of flashing

Benchmarks!

Instructions for using swap

Governor exlainations

Governor strategies

Recommended apps

Locating cpu% Eaters && other negative items towards battery life

FAQ!

Changelog

Stable/safe voltage kernels

Notes

Source

Credits

Old links, go here for other aosp roms with older video drivers & older builds

Intro: I'm scaryghoul

What this includes

It's scary!

Swap

Deadline I/o scheduler

Extreme undervolt

Overclocked & underclocked values

Sleepers disabled

Toast's new video drivers

Smartass governor

New Scary governor!

Tweaked conservative governor

and much more(All of toast's kernel)

Quirks of this kernel:

Sometimes when changing speeds with something like setcpu, they take a few seconds to actually clock to that speed, turning the screen on and off fixes it and clocks it right away though.

I would advise against using the speeds 66mhz->180mhz during real usage. It's a little laggy, but works =)

This doesn't work with sense based roms like mikshift, yes it needs to be said more than once

Why it's labeled unstable: So I don't get people poking me in the eyes with spoons if/when it freezes up. It actually works quite well, but since I heavily undervolted an undervolted kernel, it is bound to not be 100% stable(It is about 90% stable =P)

Disclaimer: What everyone else puts in kernel threads, about me not being responsible, ect.

Latest kernels

The voltages of the superUV will not work for everyone, if they don't work for you, then try the builds labeled stable

Recommended speeds 245-800mhz or 245-1ghz on scary governor && no setcpu profiles - I'll keep my current speeds in my signature.

Mirrors of kernels uploaded by VICODAN

Super SUV

http://www.mediafire.com/?47perl0d43n1nyr

Super Stable kernel

http://www.mediafire.com/?9qmtzuu35cpr8yz

Super Girly kernel

http://www.mediafire.com/?1s4z4y7bh78e04j

Methods of flashing

Joeykrim's "flashimage gui" app on the market using one of the zImage files from the zips. http://xdaforums.com/showthread.php?t=1045797

Teamwin's "Kernel manager" app on the market. http://xdaforums.com/showthread.php?t=1030500

Flashing via recovery using one of the zips here.

Benchmarks! - All done at 1.8ghz on cm7

Quadrant standard 1.1.7 - 3900 is the highest I've seen so far I believe.

Smartbench(2runs) - 2150/1850 - Mine were around there

Linpack(3runs) - 61, 63, 63 - These won't change much at all.

Instructions for using swap

For a swapfile do something like this.

dd if=/dev/zero of=$Swapfile bs=1048576 count=$Size

Where $Swapfile is the location of the file you want, and $Size is the amount of mb for swap you want to use.

Then type

mkswap $Path

swapon $Path

Replacing $Path/$Size with your own values of course, so if I wanted 20mb of swap I'd execute the commands

dd if=/dev/zero of=/sdcard/swapfile bs=1048576 count=20

mkswap /sdcard/swapfile

swapon /sdcard/swapfile

Governor exlainations

Toasty makes one transition to the max speed and stays there(benchmarks only usually)

Batterysave! sits at the bottom and when the cpu load increases past the threshhold it scales up to the next speed and takes another load sample and keeps doing that(best on battery life/performance ratio)

Ondemand sits at the bottom and when the cpu load increases past the threshhold, it scales ot the max speed then takes another load sample and scales down accordingly

Powersave makes one transition to the bottom speed and stays there

Smartass(Quoted from another author http://www.ziggy471.com/2010/11/07/smartass-governor-info ) - "is based on the concept of the interactive governor.

I have always agreed that in theory the way interactive works – by taking over the idle loop – is very attractive. I have never managed to tweak it so it would behave decently in real life. Smartass is a complete rewrite of the code plus more. I think its a success. Performance is on par with the “old” minmax and I think smartass is a bit more responsive. Battery life is hard to quantify precisely but it does spend much more time at the lower frequencies.

Smartass will also cap the max frequency when sleeping to 352Mhz (or if your min frequency is higher than 352 – why?! – it will cap it to your min frequency). Lets take for example the 528/176 kernel, it will sleep at 352/176. No need for sleep profiles any more!"

Scary - A new governor I wrote based on conservative with some smartass features, it scales accordingly to conservatives laws. So it will start from the bottom, take a load sample, if it's above the upthreshold, ramp up only one speed at a time, and ramp down one at a time. It will automatically cap the off screen speeds to 245Mhz, and if your min freq is higher than 245mhz, it will reset the min to 120mhz while screen is off and restore it upon screen awakening, and still scale accordingly to conservatives laws. So it spends most of its time at lower frequencies. The goal of this is to get the best battery life with decent performance. It will give the same performance as conservative right now, it will get tweaked over time.

Governor strategies

Conservative - Upthreshold 85, downthreshold 60

Smartass - Sleep max 245760Hz, Ramp up at 384000Hz at a time, up threshold 90, downthreshold 60

Scary - Upthreshold 80, down threshold 45, sleep max 245760Hz, sleep min, 122880Hz

Recommended apps =)

Nofrills - App to manage I/O scheduler, clock speeds & governors.

Adw ex or go launcher ex

Colorize widgets - Great widgets to replace the lpp ones for those converting to other launchers.

AppMonster(pro or free) - Great backup utility, automatically backs up all apps.(I like it better than TB)

GPS Status - Great application for finding satalites near you and helping get a quick lock.

Any go dev team app - Great dev team, all their apps are worth looking at.

Frequently asked questions

Question: My phone is boot looping/not booting on the released suv, what do I do?

Answer: Your phone cannot handle the super undervolted values, you will need to flash the stable undervolted kernel or girly kernel

Question: My phone's graphics are running really lagishly, why is this happening? It worked fine on version 1.4 and before.

Answer: You are likely running an outdated version of your rom not supporting the new video drivers in version 1.5+, you will need to roll back to v1.4 and before

Question: My phone is running slow on the batterysave or scary governors, what do I do?

Answer: Set your minimum speed higher, those governors spend a lot of time at the lowest values

Question: My wifi/wifitether and other stuff is broken and wasn't before I flashed your kernel

Answer: READ THE BIG BOLD STATEMENT AT THE TOP OF THE THREAD THAT SAYS THIS IS NOT FOR SENSE

Question: How do I flash this?

Answer: You probably shouldn't be flashing a kernel labeled unstable if you don't know how

Question: I'm not getting the amazing battery life/benchmark scores that others are getting

Answer: Well, every device is different, so you may not be able to score as high as some others, but you should get close at least, and the battery completely depends on usage patterns

Question: My phone can't clock to 1.8ghz, or some of the other higher values but does fine on the lower ones

Answer: Every device is different and not all can handle the same speeds/voltages, you are probably better off staying away from the higher speeds, I enabled the speeds but hope that you all are mature enough to handle them

Locating cpu% eating applications.

When in ADB shell type the following

top |grep app

or if your rom supports it htop is much better(Without grep, so just "htop")

Then look for items with high amounts of cpu% while the phone is idle.