[Samsung Galaxy Mini] alin.p:
​

Oh, you'll love this.. :o So what actually is different in this kernel?

Core

Updated to 2.6.39.1

Brain F*ck Scheduler implemented for fast task switching, smooth scrolling and possible power saving

Code cleaned and optimized in the right places

Updated Android Binder, Ashmem and Timed GPIO drivers from 3.10-rc5 upstream sources

Compressed with the fastest compressor on the market: LZ4

Processor

Updated CPUFREQ drivers

Voltage Control (undervolted by default to a range of stable values)

Aggressive Overclock

PLL2 Overclock possible inside the app

Updated all the governors to their latest versions

Zen Governor written exclusively for our SoC

Zen

Borrows part of its scaling logic from SmartassV2

Adds Zen Dynamics

This feature makes the governor's parameters completely dynamic. The parameters change by themselves based on various system information (cpu load, suspended state etc.) This ensures that the governor will not bump to high frequencies when it is not needed, and that it will provide enough computational power in high workload cases.

Performance Bias parameter

This is a simple number between 0 and 15 and the only tunable parameter of the Zen governor. When this is changed every other parameter is recalculated through different formulas based on this value. A higher value will make your phone snappier, at the cost of some battery life and viceversa.

TouchPulse and SweepPulse interfaces

TouchPulse is the updated and much more accurate version of the older BoostPulse. This works by giving a slight boost on user input (key or touch).

SweepPulse shoots the CPU frequency to the maximum value when a Sweep function is activated to ensure best responsivity. Don't worry, this happens very fast, so no battery life is wasted in the process.

Suspend profile

When the screen is turned off, the governor keeps the power usage at minimum by re-tuning its parameters

Memory

LowMemoryKiller updated from 3.10-rc5 upstream sources

LMK Whitelist

This is a list of apps which will never be killed by the system, unless you do it intentionally.

I didn't have time to implement a better way for adding apps to this list, so I'll explain the primitive and only usable way right now.

In /system/etc/Badass you will find a file called whitelist. This file can only contain apps in java class path form, separated by commas. Like this:

com.touchtype.swiftkey, org.adw.launcher, com.whatever.app

All the apps that you add to this list, will be written to the LowMemoryKiller at every boot.

LMK Aggressivity: this parameter makes app-killing more or less aggressive. It can be controlled inside the app.

Latest ZRam driver with LZ4 compression (activated at boot so you won't have to bother)

Sweep functions

When the screen is off...

Sweep2Wake

This gesture wakes the phone by sliding your finger from left to right in the middle of the screen

Its sensitivity is controlled by a single parameter (factor) which can be modified inside the app

DoubleTap2[Wake/Play/Pause]

This gesture wakes the phone with a double tap on the screen if the lock timeout of 5 seconds hasn't passed yet. If the timeout has passed, double tapping the screen will Play/Pause the music.

The Media Control feature (Play/Pause) can be disabled, making DoubleTap2Wake work even after the lock timeout has passed.

Pocket Keyguard

This feature prevents accidental unlocks when the phone is inside your pocket.

When the screen is on...

Sweep2Lock

Sweep4Menu

SweepKeys

All these functions work by swiping up from the first 3 pixels at the bottom of the screen(deadzone).

The Deadzone and the Sweep sensitivity are changeable in the app.

​

Internet

Westwood+ TCP Congestions Algorithm

Adaptive RED net scheduler backported from 3.4 upstream sources

Congestion window values tweaked

TCP Proportional Rate Reduction

Performance

Zen and ROW I/O schedulers

Triple Buffering

TinyRCU

Dynamic Filesync

Using the 20-50x faster frandom generator instead of the default random.

Never depleting entropy using Haveged and some new kernel code.

Dynamically changing kernel values based on suspend profiles (writeback ratios, cache pressure etc)

System cleaning every 3 days:

Zipalign every apk

Vacuum and Reindex every SQLite database

Clean the garbage data created by the system

Clean app caches

SpeedMod (disable kernel debugging)

Remove 98% of the active debugging code

USB Fast Charge

Native Multitask Enhancer

Replace services.jar Supercharging with a more native approach

Make Home app unkillable

Raise PreviousApp priority to make task switching faster

Handle CPU time allowed for the foreground app

Raise priority of the following processes

Kernel Threads

ALSA driver (audio playback)

Keyboard

SystemUI

Restrict resources used by the media scanner

Dev's last words (a.k.a. read this carefully before saying anything stupid)

This is a stable version and I call it final. I won't update it, unless there are some major bugs like setting phones on fire, giving them artificial intelligence or sh*t like that.

DON'T USE ANY OTHER TWEAK ON THIS KERNEL. These tweaks include, but are not limited to:

Performance Pack

Fly-On Mod

CrossBreeder

I/O Tweaks

V6 Supercharger

Whatever else with a cool name which has the words script, pack or mod in it

Don't get me wrong, these mods are good (most of them), but what's good is already included in the kernel itself

Use Greenify. It is an awesome app, and it does its job very well. I couldn't fully replicate its' features inside the kernel because I don't have access to Android APIs.

The first boot will be slow, due to the zipaligning and SQLite optimizing. Don't freakin' panic. This will happen only once in three days.

If you feel that the system is slow with the kernel, raise the Performance Bias, the LMK Aggressivity and maybe your max CPU frequency. The default values are optimized for ICS, not JB. Play with those values until you find that sweet spot.

Change your damn Superuser app. Use SuperSU or an insecure SU binary. The original SU binaries found on ROMs are freakin' slow nowadays.

Even better, use ICS. JellyBean is not for our low-end phones. But, your choice..

The key settings for the SweepKeys are ROM dependant. For example Recents SweepKey might not work on some JB ROMs. I can't do anything to fix this.

Don't be lazy. I'm here to help, but please show me that you've made some effort on the research for your questions.

And the thanks go to..

Androidarmv6 Team

Erikcas

psyke

A_U

Franco

Boype

Benee

AOKP Team

Paul Reioux (Faux)

Stratosk

zeppelinrox

Ezekeel

Downloads

Badass.v2(AOKB-JB).zip - 6.65 MB

Badass.v2(AOKP-ICS).zip - 6.63 MB

Badass.v2(AOSP-ICS).zip - 8.29 MB

Badass.v2(CM9.2).zip - 6.62 MB

Badass.v2(CM10.1).zip - 6.65 MB

Badass.v2(CM10).zip - 8.89 MB (UMS not working)

Installation

Boot into recovery

Wipe data

Re-flash your current ROM to avoid conflicts

Flash the appropriate kernel zip

Reboot and wait 5-10 minutes for the first boot to complete

Use the integrated app to control the kernel

Ramdisk sources:

Ramdisk-tass

XDA:DevDB Information

Badass.v2, a Kernel for the Samsung Galaxy Mini

Contributors

alin.p

Kernel Special Features: Sweep2Wake, DoubleTap2Wake, Native MultitaskEnhancer, Brain F*ck Scheduler

Version Information

Status: Stable

Created 2013-09-27

Last Updated 2013-09-27