Current release: Version 2.0 (stable) [09/06/2012]
SOURCE CODE: Available at GitHub
*WARNING PLEASE USE AT YOUR OWN RISK*
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!
- 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 email@example.com to notify of outage as requested by afh admin, thanks!)
'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 Tool to Enable/Disable Autogroup and check the status.
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.Code:toggle-ag status toggle-ag on toggle-ag off toggle-ag help
Important info on toggle-ag script usage (from the script comments):
Goo Manager Support (NEW!)#**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
You can now download my custom kernels, tweaks, etc from Goo Manager, available on the Play Store. Goo Manager is similar to ROM Manager, except it works very well with TWRP 2.x
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 a200_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.
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.
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:
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.
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!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
- Minor update adds support for USB-DVB devices, provided in two separate files for convenience to users who do not wish to use DVB-USB all that is needed is the kernel package, for users who wish to use DVB please flash both the USB-DVB and the Kernel pkgs. **Warning please only install the USB-DVB package if you have the matching kernel pkg installed. This may require you download firmware for your DVB device to work, also for the modules to load automatically you will need an init script that loads the needed modules for the device - reason I didn't do this is because there are 79 different modules for universal support, it would be crazy to load them all for everyone all the time, so if you want this feature please do some research on how to get the proper modules (and firmware if needed) to load properly automatically via init script. For help join #iconia-dev on irc.freenode.net and look for godmachine81.
- Add support for USB devices [USB Audio, game controllers, mice, keyboards, etc]
- Adjust GPU/CPU voltages and frequencies - should have impact on GPU performance
- Interactive governor default again and backported from Nexus 7 / NVidia Grouper kernel v 3.1
- Script: toggle-ag now included in zip, installs to /system/xbin/toggle-ag
- Default IO Scheduler V(R)
- Default CPU Governor Lulzactive
- 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.
- 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
- 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.
- Add SmartAssv2 CPU Governor
- Fix LOCALVERSION
- Patched MMC_CAP_ERASE as precautionary to avoid hard brick
- 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 A200 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