Current release: Version 2.0 (stable) [09/06/2012]
SOURCE CODE: Available at GitHub
Features
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:
Previous Releases:
Tools:
'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:
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:
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:
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]
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.
Code:
toggle-ag status
toggle-ag on
toggle-ag off
toggle-ag help
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:
- 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:
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
Last edited: