[Acer Iconia Tab A100] linuxsociety:
Current release: Version 2.0 (stable) [09/06/2012]

SOURCE CODE: Available at GitHub

Features

CPU Overclocking up to 1500mHz (default is set at stock 1000mhz)

Stable GPU Overclock @ 450mhz (scales from 300 - 450)

Userspace CPU undervolting support

Brick prevention/precaution - disabled MMC_CAP_ERASE function from kernel

I/O Schedulers: BFQ, CFQ, SIO, DEADLINE, NOOP, V(R) (Default VR as of v1.3 - prior to 1.2 default = deadline)

Autogroup Scheduler patched to work with Android via User ID task grouping

CPU Governors: Lionheart, SavagedZen, Lazy, Scary, Intellidemand, LagFree, Wheatley, Lulzactive, SmartAssv2, Interactive, Ondemand, Powersave, Userspace, Performance (depending on ROM - interactive governor is usually set as default gov from userspace during init)

ARM libs from Linux 3.x (v2.0+)

Android Drivers from Linux 3.x (v2.0+)

Linux Security from Linux 3.x (v2.0+)

Cleancache + Zcache Support (v2.0+)

Working Zram - to enable see instructions below (v2.0+)

Fixed Video driver glitches (v1.4+)

Cleaned up tons dmesg errors and warnings (v2.0+)

Memory management fixes and patches from 3.x (v2.0+)

Alsa SoC Tiny HAL patch for better compatibility with Jelly Bean and ICS (reduces/eliminates popping sounds)

Plus various other improvements to kernel configuration and code.

Downloads: (if anyone experiences issues downloading from the androidfilehost mirrors please contact admin@androidfilehost.com to notify of outage as requested by afh admin, thanks!)

Current Stable:

[URL="http://goo.im/devs/godmachine81/a100_kernel/gm-a100-v2.0-signed.zip"]version 2.0[/URL]

Previous Releases:

[URL="http://beta.androidfilehost.com/?fid=9390062577138008066"]version 1.5[/URL]
[URL="https://github.com/downloads/godmachine81/Acer-A100-JellyBean-Custom-Kernel/godmachine-a100-kernel-v1.3a-signed.zip"]version 1.3a[/URL]
[URL="https://github.com/downloads/godmachine81/Acer-A100-JellyBean-Custom-Kernel/godmachine-a100-kernel-v1.2b-signed.zip"]version 1.2b[/URL]
[URL="https://github.com/downloads/godmachine81/Acer-A100-JellyBean-Custom-Kernel/godmachine-a100-kernel-autogroup-v1.1-signed.zip"]version 1.1[/URL]
[URL="https://github.com/downloads/godmachine81/Acer-A100-JellyBean-Custom-Kernel/godmachine-a100-kernel-autogroup-v1.0.1b-signed.zip"]version 1.0.1b[/URL]
[URL="https://github.com/downloads/godmachine81/Acer-A100-JellyBean-Custom-Kernel/godmachine-a100-kernel-autogroup-v1.0.1-signed.zip"]version 1.0.1[/URL]
[URL="https://github.com/downloads/godmachine81/Acer-A100-JellyBean-Custom-Kernel/godmachine-a100-kernel-autogroup-v1.0-signed.zip"]version 1.0-pre[/URL]

Tools:

[URL="https://github.com/downloads/godmachine81/Acer-A100-JellyBean-Custom-Kernel/toggle-ag.sh"]toggle-ag[/URL] Tool to Enable/Disable Autogroup and check the status.

'toggle-ag' now included with kernel zip as of 1.3a and is located at /system/xbin/toggle-ag - You may run from a terminal or create Script Manager widgets for each of the script arguments:

toggle-ag status
toggle-ag on
toggle-ag off
toggle-ag help

Please remember that this script has to be ran as root if you plan to enable/disable autogroup, however you may run as regular user to check the status or get the help dialog.

Important info on toggle-ag script usage (from the script comments):

Goo Manager Support (NEW!)

You can now download my custom kernels, recovery, tweaks, etc from Goo Manager, available on the Play Store. Goo Manager is similar to ROM Manager, except it works very well with my release of TWRP 2.2.2.0.

First time use instructions:

Set Download path to: /sdcard/goomanager/ in "Settings" (This is important as the location on Android and TWRP need to both be exact same!)

Go back to the main screen in Goo Manager and click Browse Compatible Roms

Choose 'godmachine81'

For kernels choose a100_kernel (you are welcome to look around in my other directories)

Choose the release you wish to download

Choose 'begin download'

You will see a notification for 'Download Finished' - Tap on it

It will prompt you to Select Zip(s) to flash, you may choose more than 1!

After you have selected all the zips you want to flash, go to the option 'Order and flash selected' or if you want to add a zip from a custom location, choose the 'Add zip from another location option'

Once in the Order and flash menu, it is important that you set the order to flash in the proper order, when you are sure it is right, then click Flash (First time you use Goo Manager, it will prompt you that an OpenRecovery is needed, choose that you already have one)

After You click flash, the system will reboot to TWRP, flash your .zip files, and reboot back to android without any user interaction.

ZRAM

What is it?

Zram was developed so that systems with a limited amount of physical ram may allocate a percentage of that to a system swap device using compression. By compressing the data that is in the swap space you can fit more data into the same amount of ram. For example App#1 is consuming 500mb of a total 725mb ram, this leaves you with 225mb free. If you have Zram enabled then App#1 may begin to swap to the zram device, when doing this you will have an advantage, because any amount of data from App#1 that gets swapped out to Zram will be compressed meaning it is actually using less physical ram. So instead of only 225mb free of 725mb you may now end up with something more like 400mb free because data from App#1 is compressed in Zram, in this example thanks to compression you cut the 500mb memory usage of App#1 to 325mb. Zram should have a minimal impact on performance while giving you the benefit of fitting more data into the amount of physical ram your device has.

HOWTO

This kernel includes functional ZRAM support, however to take advantage of it you must enable it from userspace (Android). Cyanogen Mod has an option in Settings > Performance > Memory to enable Zram, however it doesn't properly work - I'm not sure exactly how it is coded in the cm sources, but when you enable zram it doesn't create the zram swap device like it should. To work around this I wrote the following flashable .zip files that contain a script to automatically create the zram swap device at boot, please download and flash the size you wish to allocate to zram:

Zram - 100MB (14% ram)

Zram - 150MB (20% ram)

Zram - 200MB (28% ram)

Zram - 250MB (34% ram)

Zram - 300MB (41% ram)

Zram - 350MB (~50% ram)

To Disable/Remove Zram

In the event that you want to disable Zram then just remove the file(s) at:

/system/etc/init.d/50zram-*

After the 50zram- file has been removed, just reboot your device and you will no longer have Zram enabled. To re-enable just reflash one of the above files.

Flash Back stock kernel?

For those who wanted it: stock-kernel-signed.zip click here to download the stock ICS Kernel - This is the Stock CM kernel from The Android_Device_Acer_A100 Prebuilts on github.

To cut down on general discussion in this thread please note that I have been in the Freenode IRC Dev channel a lot lately. server: irc.freenode.net channel: #iconia-dev - My IRC handle is godmachine81 Join me there for general discussion if you don't mind. Thanks!

Video of Kernel in action on CM10 (appologize for audio and poor quality)

*All references to the Xtreme releases has been removed due lack of time needed to maintain it aside from the stable releases - will update the thread when I Xtreme development gets back underway

ChangeLog:

If you would like to help out with the continuance of kernel development for your Acer Iconia Tab A100 please consider a small donation to help out with bills, baby formula, wipes, diapers, etc. All donations are very appreciated by my family and I! Thanks :D

​