[Epic 4G Android Development] Geniusdog254:
This is based off the latest Samsung kernel source (DI18) with some of my tweaks. Overclock to 1.2Ghz @ 1.25V is maximum. That is 50mV LESS than the voltage given in a stock kernel for 1Ghz! :eek: :cool:

This kernel is UNBELIEVABLY fast! Average Linpack scores of 9.5+ mflops & Quadrant scores of ~950-1050.

Battery life is great on this beast. Yesterday I ran it all day starting around 8AM, and I didn't hit low battery until 10PM. Thats the furthest I've ever gone, and almost double stock.

Just flash the zip in recovery. I have had no issues with this kernel, nor have any of my testers. This kernel is already included in AOSP Magic & Tha Boss ROM v.2 or above (it was actually made special for Tha Boss at the request of it's maker @KyleCole90). If you're running one of those ROMs you don't need to flash this, unless I release a new version here.

Use SetCPU to set the clock. You'll have to re-do the autodetect (press Menu, Choose Device, Autodetect) for it to decide the new speeds, and you may have to do it a few times. Also, if you flash a different kernel, or update then you'll have to re-detect as well.

Props to @Decad3nce for the BFQ patch from his Hero kernel, @Supercurio for his Voodoo Color mod for the i9000 I just ported it to Epic, Skeeterslint for helping me solve a problem with my ramdisk, @KingKlick92 for a baseline of safe values for voltages from his Vibrant kernel, @Hero_Over for the conservative tweaks, and to Unhelpful on the Captivate forum for his helpful (*rimshot*) source for his Captivate overclock kernel.

If you have any questions or problems (shouldn't be any :p ) then Twitter me or email me. Also, I don't ask for donations, but if you're feeling generous and you like my work please check out my apps on the Market or send me a donation via the Paypal Donate link in my signature.

-------------------------------------------------------------------------------

Root Issues On Some ROMs:

There are some root issues on some ROMs due to the fact that they still use the old JoeyKrim root. It was never intended to be a permanent root method. Once we got kernel root it became moot. I recommend you ask your ROM dev to fix this, instead of complaining to me ;)

Here's how to fix it if your ROM dev doesn't (just run this from a shell/command prompt, you must have ADB set up):

adb shell
remountrw
rm /system/bin/playlogo
rm /system/bin/jk-su
mv /system/bin/playlogo-orig /system/bin/playlogo

-------------------------------------------------------------------------------

Changelog:

MixUp-20101110-1036 -- Released 11/10/2010 10:37PM CST:

Added Smartass governor. Still beta. Not default, but available. Similar to interactive, but more responsive & better battery supposedly. Thanks to a dev in the Hero forums whose name I can't remember.

CIFS support

VooDoo Sound support. Still beta.

1.3Ghz & 1.6Ghz OC!

Light & CPU tweaks from Devin

Several more small tweaks I can't remember

This version is beta! I have NOT tested this one at all! I'm running FroYo atm, and I can't test this kernel since it isn't .32. Let me know of any (probably a few) bugs.

MixUp-20101024-847 -- Released 10/24/2010 8:47PM CST:

Switched back to conservative scheduler by default. Interactive is still there, but not default. It'll get set to default when someone fixes interactive.

Patched up to 2.6.29.6 (thanks @Nullghost)

Various scheduler tweaks, backported from newer versions

New BusyBox version

Back camera tweaks, sharpness & saturation upped a notch. I think its better, but if you disagree then take them down a notch in camera settings.

Front cam tweaks. Samsung -- People != blobbish vampires. Sharpness & color upped. No more pale blobs of Play-Doh.

RNDIS! Finally! DevinXTreme got this one goin.

Speaking of Devin, this is now a collab between him & I, with some (credited) kanging from @Nullghost

Optical sensor tweaks. I know, I know, they keep coming. It's good, I promise. I think I FINALLY fixed it.

IMPORTANT! Calibrate your battery after flashing this kernel, else it will decrease! To calibrate, charge your phone all the way (or insert a full battery), wipe battery stats in Clockwork, let it drain to ZERO, plug it in and charge to FULL! Do NOT put in a full battery after the discharge. Your battery should really improve after this.

MixUp-20101017-855 -- Released 10/17/2010 10:05PM CST:

New CPU tables again. Alleviate radio sleep issues. Anything left is just DI18's fault

Actually capped at 1Ghz at boot now, just change with the OC program of your choice

No more no-voodoo version. Voodoo is brightness issue free now, and its too much hassle to maintain two kernels. It may return eventually if I get around to integrating it to my config

Interactive CPU governor added & set as default. Ondemand still available as are the rest.

Fixed lots of config errors, depriving you of EXT4 & BFQ

More optimization for Cortex-A8

MixUp-20101005-809 -- Released 10/5/2010 8:09PM CST:

New CPU Tables (MOAR BATTERYZ!!11!)

More conservative tweaks from Hero_Over (BATTERYZ!!!)

Updated to DI18 sources

New ramdisk

Limited to 1Ghz until changed in setcpu now, better battery by default & more stable for some users. Just up it in SetCPU if you want OCing

Tweaked minimum brightness levels

Screen doesn't fall to minimum brightness automatically until 1% battery now. Used to be 5%. You're welcome ;)

I left up the old DG27 kernel for people who haven't yet upgraded to DI18, just in case the DI18 one causes issues for them

MixUp-20100926-323 -- Released 9/26/2010 3:55PM CST:

Switched to BFQ scheduler. See here for details.

Tweaks to the default Conservative governor. Scales up sooner to avoid hangups and scales down sooner to save battery

Added the Voodoo Color option (thanks @Supercurio for creating it, I just ported it to Epic). There are some issues with it as described at the link. If you don't like it, use the one without it instead of complaining, kthx :rolleyes:

Fixed root issues finally, if you experience them you still have the JoeyKrim exploit installed. Bad user. :P

Undervolted 50 more mV across the board, battery life on this beast is amazing

Added Superuser Permissions app (thanks for the help, Skeeterslint)

adbd now runs as root by default. That means "adb shell" drops you straight to # instead of $

EXT3/EXT4 FS support included in kernel. Do with it what you will.

Changed to a different floating point emulation method that *may* yield better performance

NEON support in the kernel

MixUp-20100921-655 -- Released 9/21/2010 6:55PM CST:

Added Clockwork & ROM Manager support.

Judging from the reports I've heard and things I've seen, I'ma call this one Stoopid Fast. Just cuz it sounds cool :P

MixUp-20100920-630 -- Released 9/20/2010 6:30PM CST:

adbd now runs as root. This allows adb push to /system. It also enables adb remount to remount /system to RW or RO, but there is something missing from the ROMs that don't allow adb remount yet. I'm working on it.

Small tweaks to voltage table (I think) so possible better battery life on this one, but don't hold me to that. I'll be fine tuning them later on some more.

-------------------------------------------------------------------------------

Source:

My source is now on GitHub. :D

Stock DI18 Samsung kernel branch here. This is for beginning kernel devs. It's totally stock. Feel free to fork this or download the tree to start your own kernel base.

MixUp VooDoo is here. This has all my changes applied and I will push all my changes to it.

I did not have time to upload my source for the non VooDoo kernel today, I have the local repo done, but I only have access to a high speed connection when I go into town, and I didn't have time to upload this one while I had access. Really though, if you want the source for a non-Voodoo kernel its identical to this, just change the "drivers/video/samsung/s3cfb_tl2796.c" and "drivers/video/samsung/s3cfb_mdnie.c" files with the ones from the stock repo. Everything else is identical.

For devs wondering how I made ADBD run as root, I'm sure you already know how to do this, but if not do the following. Go to your ramdisk, open up default.prop, and then:

Change ro.secure=1 to ro.secure=0

Change ro.debuggable=0 to ro.debuggable=1

Change persist.service.adb.enable=0 to persist.service.adb.enable=1

Then recompile. That's it.

-------------------------------------------------------------------------------

And just to protect me:

I AM NOT RESPONSIBLE IF YOU BRICK YOUR PHONE!

Overclock kernels carry an inherent risk. You're pushing your hardware further than it's meant to go. Everything should be safe, and I've tested it myself and I trust it on my phone. But that doesn't mean it's perfect.

If *you* screw up and blame me, I will point at you and laugh. Deal with it.