[DEV] [KERNEL] UNOFFICIAL - Jelly Bean optimized Kernel for A100

Search This thread

linuxsociety

Senior Member
Dec 18, 2010
431
349
Southern Kentucky
Current release: Version 2.0 (stable) [09/06/2012]

SOURCE CODE: Available at GitHub


*WARNING PLEASE USE AT YOUR OWN RISK*

DISCLAIMER

FIRST OF ALL THIS IS NOT AN OFFICIAL KERNEL, IT IS NOT SUPPORTED BY OFFICIAL CM10 ROMS OR ANY PREVIEW ROMS.
ONCE YOU INSTALL THIS KERNEL YOU WILL NOT BE SUPPORTED IN THE CM10 / CM9 OFFICIAL/UNOFFICIAL DEVELOPMENT THREADS
OF ANY FORUM i.e XDA, SLATEDROID, etc.. THIS MEANS THAT YOU MUST NOT REPORT ANY ANDROID / CM BUGS TO THE ORIGINAL
COMMUNTIY THREADS FOR THE ROM YOU USE! YOU MAY HOWEVER REPORT ANY CM/ANDROID/KERNEL RELATED ISSUES TO THIS THREAD ONLY!


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:
Code:
[URL="http://goo.im/devs/godmachine81/a100_kernel/gm-a100-v2.0-signed.zip"]version 2.0[/URL]
Previous Releases:

Code:
[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:

Code:
[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:
Code:
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):
#**Please note that toggling back and forth the scheduler will
#produce undesired effects, as it takes the system a few minutes
#to switch the process scheduler each time effectively. Imagine
#all processes that run in the backround are rearranged each time
#you switch the process scheduler. In other words you shouldn't
#toggle back and forth to make comparisons as they WILL NOT be
#effective immediately!!

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:

  1. Set Download path to: /sdcard/goomanager/ in "Settings" (This is important as the location on Android and TWRP need to both be exact same!)
  2. Go back to the main screen in Goo Manager and click Browse Compatible Roms
  3. Choose 'godmachine81'
  4. For kernels choose a100_kernel (you are welcome to look around in my other directories)
  5. Choose the release you wish to download
  6. Choose 'begin download'
  7. You will see a notification for 'Download Finished' - Tap on it
  8. It will prompt you to Select Zip(s) to flash, you may choose more than 1!
  9. 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'
  10. 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)
  11. 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:
2.0
  • Backport several bits mainline code from Linux 3.5 - including Security, ARM Libs, MM, and Android specifics
  • Zcache + Cleancache added
  • Ability to concatenate kernel cmdline configuration to Bootloader's cmdline without breaking compatibility with any bootloaders ( needed for zcache/cleancache to work)
  • Zram patches and updates
  • Clean up dmesg logs
  • Deadline IO Sched tweak (1:1 ratio writes/fifo) - VR remains default IOsched
  • CONFIG: turn off some verbose logging/debugging to reduce overhead, enabled Load Lens Correction Data to smooth out camera operation
  • TweakIO init script included by default to optimize disk read/write performance
  • Several other small patches and tweaks to underlying sources

1.6
  • Minor patches to sources and configuration

1.5
  • GPU voltage and frequency updates
  • Interactive governor updated from N7 grouper
  • Adjust frequency scaling per core for new interactive gov.

1.4
  • This release was a testing Xtreme release which has recently been removed due to lack of development

1.3a
  • Script: toggle-ag now included in zip, installs to /system/xbin/toggle-ag
  • Default IO Scheduler V(R)
  • Default CPU Governor Lulzactive

1.2b
  • Bug Fix release for 1.2 - BFQ randomly causing "black screen" issue immediately after boot animation, preventing full boot - reboot resolved issue in most cases, but comes back at random on boot - Setting default I/O scheduler to NOOP until BFQ issue is resolved.

1.2
  • Autogroup per UID instead of TTY task (huge improvement to autogroup on android)
  • Set BFQ as default I/O Scheduler
  • Allocator: Switch to SLUB from SLAB
  • Remove verbose debugging symbols
  • Set proper firmware/calibration paths for WiFi in configuration

1.1
  • Add userspace support for undervolting
  • GPU OC (400mHZ) on CPU OC > 1000mHZ
  • Fix "Recent Apps" bug - The glitchy behavior when loading an app cached in the "Recent Apps" menu. Pointed out by DarkNight
  • Tune SmartassV2 for better behavior and ideal freq set at 760mHZ
  • Add the following CPU Governors: Lionheart, SavagedZen, Lazy, Scary, Intellidemand, LagFree, Wheatley
  • Deprecated the non-autogroup release also known as (default)
  • various other improvements to CPU, voltage, video.

1.0.1b
  • Add SmartAssv2 CPU Governor
  • Fix LOCALVERSION

1.0.1
  • Patched MMC_CAP_ERASE as precautionary to avoid hard brick

1.0-pre
  • V(R) I/O scheduler Added
  • SIO I/O scheduler Added
  • Zram sources backported from 3.0 resolved compile issue

Alpha (First public download)
  • Overclock added: Min Freq: 216 Max Freq: 1504
  • CPU Governors: Lulzactive, Ondemand, Interactive, Conservative, Userspace, Performance, Powersave
  • IO Schedulers: Noop, Deadline, CFQ, BFQ
  • Autogroup or Default Kernel available
  • Patch for Tiny HAL - resolves popping in audio on JB/ICS

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

 
Last edited:

linuxsociety

Senior Member
Dec 18, 2010
431
349
Southern Kentucky
This kernel is pretty slick, tested a previous version of it, nothing but good things to say of it, hit thanks on your way to flash this.

Tapatalked from my Galaxy S II.

Same to all your projects pio_masaki! I always hit the "thanks" for you too buddy! BTW, the kernel you have been testing is the equivalent in the downloads section to the "default", you may want to take a stab at the "autogroup" kernel. I have been testing it with great responsiveness. Also added in SIO and tweaked some timings/voltages in the new downloads. Glad to hear you have had good results thus far :D
 

pio_masaki

Senior Member
May 7, 2012
4,577
3,651
Surprise, Az
Same to all your projects pio_masaki! I always hit the "thanks" for you too buddy! BTW, the kernel you have been testing is the equivalent in the downloads section to the "default", you may want to take a stab at the "autogroup" kernel. I have been testing it with great responsiveness. Also added in SIO and tweaked some timings/voltages in the new downloads. Glad to hear you have had good results thus far :D

Yup I have every intention of banging that new kernel, waiting a minute while I build yet another CM10 for further testing of the autobrightness levels, added a couple more slots into the array, should have it nailed this time.
 

linuxsociety

Senior Member
Dec 18, 2010
431
349
Southern Kentucky
Yup I have every intention of banging that new kernel, waiting a minute while I build yet another CM10 for further testing of the autobrightness levels, added a couple more slots into the array, should have it nailed this time.

Was really curious to see how BFS performed with Jelly Bean /ICS either one, but i've not had any luck with getting BFS to run stable so I removed it from my kernel tree for the time being. If i can get a full port to the grouper tree with all our device sources, I'm pretty confident I can get a newer revision of BFS to working. From most of my experience with other devices and other x86 systems though, the BFS doesn't out perform Autogroup anyway, but its mostly just curiosity that makes me want to go through all the trouble of getting it working with tegra2. On another note, I'm not sure why but regardless of the kernel or configuration I use Jelly Bean seems to have a weaker performance in any benchmark than the same kernel/configuration used in ICS. I'm yet to figure out where the bottleneck is in JB. (testing with linpack, quadrant, antutu benchmark all produce lower scores than with ICS) The thing that is most important to me is the actual user experience and feel that you get and not some benchmark score.. I can say that JB is very smooth and the scores don't mean nothing if you don't look at them!!
 
  • Like
Reactions: Deshabilitado

linuxsociety

Senior Member
Dec 18, 2010
431
349
Southern Kentucky
Every time I download the zip file and try to flash it I get a Failed message. I am using TWRP to flash with.

In TWRP do you have MD5 verification enabled? If you do then it should work after you turn that off, the zip file is signed with SignAPK.jar so it should work without any issues. I have personally flashed both to my device using TWRP. If you are using adb through TWRP to push the .zip then you shouldn't be pushing it to /sdcard/ in recovery the proper location for internal storage is /data/media/ so if you have pushed it to /sdcard/ in adb then it will exist in a directory where permissions aren't accurate for the loader. Push with adb to /data/media if in recovery, or push to /sdcard/ if pushing with adb while your tablet is booted to Android OS.

If for some reason the .zip files are corrupted on github for other users please let me know and I will recompile, recompress, resign, and reupload.. Thanks
 

pio_masaki

Senior Member
May 7, 2012
4,577
3,651
Surprise, Az
I really don't like flashing from internal, and twrp, at least 2.1.1, says sdcard for whatever one is mounted. Keep that in mind when flashing in twrp. I think 2.2 says sdc instead. Also in jellybean it goes to storage/sdcard0 for internal sdcard1 for external sdcards. You can probably still use the old paths but those are the correct paths for jellybean.

Tapatalked from my Galaxy S II.
 
  • Like
Reactions: linuxsociety

das_webos_transformer

Senior Member
Feb 3, 2012
1,150
317
I copy everything to my SD card. You can flash from it.

Actually, I've only ever flashed from internal once, it was jb gapps



sent from my A1/500 Iconia slab of awsomeness
 
Last edited:
  • Like
Reactions: linuxsociety

pio_masaki

Senior Member
May 7, 2012
4,577
3,651
Surprise, Az
I copy everything to my SD card. You can flash from it.

Actually, I've only ever flashed from internal once, it was jb gapps



sent from my A1/500 Iconia slab of awsomeness

Well I'm not saying you can't its more of a personal call to never store stuff I don't want to lose on internal, especially since it gets wiped when I wipe for testing.

Tapatalked from my Galaxy S II.
 
  • Like
Reactions: linuxsociety

linuxsociety

Senior Member
Dec 18, 2010
431
349
Southern Kentucky
I think there may be some confusion when I say "internal" and "/sdcard" Assuming that one doesn't have an external sdcard, then /sdcard would be internal storage while in android OS (meaning ICS, Gingerbread, Honeycomb, Jellybean, etc), and that same path would be /data/media while in TWRP/CWM (Recovery mode). I've never had my external sdcard (removable one) to mount at /sdcard or /mnt/sdcard on my a100 so I assumed it was safe to recommend flashing from there as I have never had any issues with it, but like I mentioned in the previous post, /sdcard is only your internal user storage while booted into Android OS and not while in Recovery, while in Recovery the symlink doesn't exist so the right location is /data/media..

If anyone isn't familiar with the hierarchical file system and the mount points for their device, then I strongly encourage them NOT to use experimental ROMS, Kernels, etc. including this one. The kernel is a very critical part of the software on the device, and without a working kernel, you WILL NOT have a working device. So if something happens that you don't have the original kernel backed up and a way to flash it, or a full backup that you can access from recovery, then testing experimental kernels is like playing with fire..

A soft brick is highly possible if you obtain: A) the wrong kernel for your device B) a corrupted download kernel -OR - C) An experimental kernel that may be misconfigured or contain "bad" source code. << All of these can be repaired easily from recovery if you have a known good version to restore from, but if you have trouble flashing one kernel that is known to flash successfully for others, then what happens when you get the Fail message when trying to restore your working kernel/system??

Hope nobody takes this the wrong way, just trying to look out for people before things go bad. Good luck..
 
  • Like
Reactions: pio_masaki

linuxsociety

Senior Member
Dec 18, 2010
431
349
Southern Kentucky
Well I'm not saying you can't its more of a personal call to never store stuff I don't want to lose on internal, especially since it gets wiped when I wipe for testing.

Tapatalked from my Galaxy S II.

I have never had to wipe the internal user storage AKA /data/media & /sdcard while testing any build, Of course it would be very easy to mess things up and accidentally wipe it from recovery, but I've never ran into any issues needing my internal SD wiped (so far).

Pio_masaki you could be talking about something else by internal storage though? Like /system or / or somewhere other than /data/media, /mnt/sdcard[0-] ?
 

pio_masaki

Senior Member
May 7, 2012
4,577
3,651
Surprise, Az
I have never had to wipe the internal user storage AKA /data/media & /sdcard while testing any build, Of course it would be very easy to mess things up and accidentally wipe it from recovery, but I've never ran into any issues needing my internal SD wiped (so far).

Pio_masaki you could be talking about something else by internal storage though? Like /system or / or somewhere other than /data/media, /mnt/sdcard[0-] ?

No I mean internal SD. I fully wipe /data including /data/media. Occasionally I dd zero them all too.

Tapatalked from my Galaxy S II.
 

tidewaterns

Senior Member
Oct 26, 2010
546
27
Virginia Beach, Virginia
In TWRP do you have MD5 verification enabled? If you do then it should work after you turn that off, the zip file is signed with SignAPK.jar so it should work without any issues. I have personally flashed both to my device using TWRP. If you are using adb through TWRP to push the .zip then you shouldn't be pushing it to /sdcard/ in recovery the proper location for internal storage is /data/media/ so if you have pushed it to /sdcard/ in adb then it will exist in a directory where permissions aren't accurate for the loader. Push with adb to /data/media if in recovery, or push to /sdcard/ if pushing with adb while your tablet is booted to Android OS.

If for some reason the .zip files are corrupted on github for other users please let me know and I will recompile, recompress, resign, and reupload.. Thanks

I do not have MD5 verification enabled. Every time I try to flash it gets to the Verifying partition sizes then I get a failed in red on the screen.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 39
    Current release: Version 2.0 (stable) [09/06/2012]

    SOURCE CODE: Available at GitHub


    *WARNING PLEASE USE AT YOUR OWN RISK*

    DISCLAIMER

    FIRST OF ALL THIS IS NOT AN OFFICIAL KERNEL, IT IS NOT SUPPORTED BY OFFICIAL CM10 ROMS OR ANY PREVIEW ROMS.
    ONCE YOU INSTALL THIS KERNEL YOU WILL NOT BE SUPPORTED IN THE CM10 / CM9 OFFICIAL/UNOFFICIAL DEVELOPMENT THREADS
    OF ANY FORUM i.e XDA, SLATEDROID, etc.. THIS MEANS THAT YOU MUST NOT REPORT ANY ANDROID / CM BUGS TO THE ORIGINAL
    COMMUNTIY THREADS FOR THE ROM YOU USE! YOU MAY HOWEVER REPORT ANY CM/ANDROID/KERNEL RELATED ISSUES TO THIS THREAD ONLY!


    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:
    Code:
    [URL="http://goo.im/devs/godmachine81/a100_kernel/gm-a100-v2.0-signed.zip"]version 2.0[/URL]
    Previous Releases:

    Code:
    [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:

    Code:
    [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:
    Code:
    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):
    #**Please note that toggling back and forth the scheduler will
    #produce undesired effects, as it takes the system a few minutes
    #to switch the process scheduler each time effectively. Imagine
    #all processes that run in the backround are rearranged each time
    #you switch the process scheduler. In other words you shouldn't
    #toggle back and forth to make comparisons as they WILL NOT be
    #effective immediately!!

    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:

    1. Set Download path to: /sdcard/goomanager/ in "Settings" (This is important as the location on Android and TWRP need to both be exact same!)
    2. Go back to the main screen in Goo Manager and click Browse Compatible Roms
    3. Choose 'godmachine81'
    4. For kernels choose a100_kernel (you are welcome to look around in my other directories)
    5. Choose the release you wish to download
    6. Choose 'begin download'
    7. You will see a notification for 'Download Finished' - Tap on it
    8. It will prompt you to Select Zip(s) to flash, you may choose more than 1!
    9. 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'
    10. 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)
    11. 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:
    2.0
    • Backport several bits mainline code from Linux 3.5 - including Security, ARM Libs, MM, and Android specifics
    • Zcache + Cleancache added
    • Ability to concatenate kernel cmdline configuration to Bootloader's cmdline without breaking compatibility with any bootloaders ( needed for zcache/cleancache to work)
    • Zram patches and updates
    • Clean up dmesg logs
    • Deadline IO Sched tweak (1:1 ratio writes/fifo) - VR remains default IOsched
    • CONFIG: turn off some verbose logging/debugging to reduce overhead, enabled Load Lens Correction Data to smooth out camera operation
    • TweakIO init script included by default to optimize disk read/write performance
    • Several other small patches and tweaks to underlying sources

    1.6
    • Minor patches to sources and configuration

    1.5
    • GPU voltage and frequency updates
    • Interactive governor updated from N7 grouper
    • Adjust frequency scaling per core for new interactive gov.

    1.4
    • This release was a testing Xtreme release which has recently been removed due to lack of development

    1.3a
    • Script: toggle-ag now included in zip, installs to /system/xbin/toggle-ag
    • Default IO Scheduler V(R)
    • Default CPU Governor Lulzactive

    1.2b
    • Bug Fix release for 1.2 - BFQ randomly causing "black screen" issue immediately after boot animation, preventing full boot - reboot resolved issue in most cases, but comes back at random on boot - Setting default I/O scheduler to NOOP until BFQ issue is resolved.

    1.2
    • Autogroup per UID instead of TTY task (huge improvement to autogroup on android)
    • Set BFQ as default I/O Scheduler
    • Allocator: Switch to SLUB from SLAB
    • Remove verbose debugging symbols
    • Set proper firmware/calibration paths for WiFi in configuration

    1.1
    • Add userspace support for undervolting
    • GPU OC (400mHZ) on CPU OC > 1000mHZ
    • Fix "Recent Apps" bug - The glitchy behavior when loading an app cached in the "Recent Apps" menu. Pointed out by DarkNight
    • Tune SmartassV2 for better behavior and ideal freq set at 760mHZ
    • Add the following CPU Governors: Lionheart, SavagedZen, Lazy, Scary, Intellidemand, LagFree, Wheatley
    • Deprecated the non-autogroup release also known as (default)
    • various other improvements to CPU, voltage, video.

    1.0.1b
    • Add SmartAssv2 CPU Governor
    • Fix LOCALVERSION

    1.0.1
    • Patched MMC_CAP_ERASE as precautionary to avoid hard brick

    1.0-pre
    • V(R) I/O scheduler Added
    • SIO I/O scheduler Added
    • Zram sources backported from 3.0 resolved compile issue

    Alpha (First public download)
    • Overclock added: Min Freq: 216 Max Freq: 1504
    • CPU Governors: Lulzactive, Ondemand, Interactive, Conservative, Userspace, Performance, Powersave
    • IO Schedulers: Noop, Deadline, CFQ, BFQ
    • Autogroup or Default Kernel available
    • Patch for Tiny HAL - resolves popping in audio on JB/ICS

    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

    9
    Hey guys I just done some code cleanup and a few patches and have a new kernel build that will most likely be version 1.6 if there are no major issues (new ones) you can download it here: gm kernel a100 version 1.6

    Please report any issues you might have that wasn't an issue in 1.5 release before I update the OP, I will hold off on updating the OP for a couple days to give everyone time to test it and report back. Thanks everyone!

    Some changes in 1.6:
    • New Deadline IO Sched fifo/writes ratio 1:1 (VR still default)
    • Increase Max/Min memory read-ahead
    • Cleaned up some dmesg spam
    • Fix the unreported issue of debug_fs (glad I caught it myself heh)
    • Included init script to tweak disk I/O (if you don't like this you can remove /system/etc/init.d/50tweakio)

    Don't expect major performance changes with this release, it's mostly just a few minor patches and corrections to the 1.5 release and the version bumped to stay at the same release as the A200/A500 gm kernels. However you will notice better benchmarking scores due to the Tweaked IO settings, but as far as actual user experience you won't be able to notice it as much unless you do a lot of database reads/writes.

    Thanks again!

    **Edit: My Kernel is now available via goo.im so you can use Goo Manager from the Play Store and download and flash my kernel with ease. Also if you use my TWRP it is supported very well with Goo Manager, just be sure that you set your Goo Manager download path to /data/media/GooManager/ After you do this, when you choose to flash with Goo Manager, it will automatically reboot to recovery, flash your new kernel, then reboot - So no user interaction is required. Also the TWRP Recovery by me is available through Goo Manager in flashable form
    7
    This kernel is pretty slick, tested a previous version of it, nothing but good things to say of it, hit thanks on your way to flash this.

    Tapatalked from my Galaxy S II.
    4
    And remember kiddies, don't piss off the devs!

    Sent from my A100 using xda premium

    Ok, lets not keep the arguments going on here please. Everyone get along and realize that nobody has left and only temporary actions are being placed on how things are hosted and listed by me. I will be continuing to work with the A100 for the community, but I won't make any promises that I can't keep for sure. God-Droid Rom is from now on off-topic in my kernel threads or anywhere else on XDA until further notice. (no rudeness intended) If you'd like to discuss anything related to the GodDroid roms, please do so on the Goo.IM page at: http://goo.im/devs/godmachine81/a100_roms/

    Thanks everyone for such great feedback and please remember that without the community working together we never get anywhere!
    3
    Sorry for disappearing guys :(

    Sorry for making you guys think I have died, Just read the last couple of entries in this thread. I can go ahead and explain why the kernel doesn't work with the 4.3 Roms. WPA_Supplicant isn't compatible with my kernel in the newer roms, you may be able to port the WPA_Supplicant from the roms in which I supported with my kernel UP to the 4.3 / 4.4 Roms and get it working that way. I can't test much myself as I no longer own the device and my development has unfortunately ended on the Iconia Tabs. I am however happy that so many users had great results from my kernel during the lifetime of their tablets and still continue to enjoy the benefits of the kernel I provided them with, actually I am surprised to see that it is still one of the most used kernels for the Iconia Tabs still in existence.

    I will ask any or all users that really appreciate the work I contributed to the device (which consisted of several months worth of work - being up several days/nights testing and developing) to please donate to help with further development on newer devices and quite possibly bringing back development to these devices (If I can get another one).

    If someone was willing to contribute a working Iconia A100/A200/A500 device to me I'd be willing to pick up where I left off and release some newer ROMS and Kernels to support your device. The Iconia Tabs where a great milestone in my development of android roms/kernels, and I really appreciate all the positive support received by the users. Right now I am struggling to get by and working doing hard manual labor, so my time available to do development work is minimal, especially on a device I no longer own. And we all know that doing manual hard labor doesn't bring much money in to support a family with kids, and sure doesn't allow me to spare the money to buy devices.

    Again, If you feel like my work has been of value to you and your Iconia Tab, please help a developer out as I do my work out of the heart and free of charge, but in order to continue and possibly pick back up on development I'll have to have funds to support my time I put into it. Any and All donations are greatly appreciated by my family and I.

    Lance (aka godmachine81)