[KERNEL][3.4.5][Xtreme Sandy Kernel][Smoothness] for Micromax A117

Search This thread

Santhosh M

Inactive Recognized Developer / Contributor
First Custom Kernel for Micromax Canvas Magnus A117


WARNING:

Code:
I or xda is not responsible for any kind of damage to your device. Please use it at your own risk!

FEATURES :

As of now basic features added. Will keep updating new version regularly.

  • Lots of governors & I/O schedulers added ( Check below for list )
  • LZMA Compression for zImage and Gzip for ramdisk.
  • Google Snappy compression mode (v5)
  • Clean Cache Enabled
  • MTK Vermagic Hack
  • Optimized ARM algorithm ( Credits to @faux123 )
  • NTFS support.

Governors added :

  • Lulzactiveq
  • Nightmare
  • Smartass2
  • Nightmare
  • Pegasusq
  • Sakuractive
  • Intellidemand
  • zzmoove
  • Performance
  • Powersave

I/O schedulers added :
  • SIO
  • Fifo
  • Fiops
  • Row
  • Vr
  • Zen
  • Sioplus

Use Trickster mod App to change governors. For more detailed review on governors read post #3

Installation instructions :

  • Copy zip to your Sd card / Internal memory & reboot to recovery
  • Mount system ( mounts & storage -> Mount system )
  • Install zip
  • Reboot :laugh:

DOWNLOADS :

Xtreme Sandy kernel V 1.2

Note

Anyone who wants to include the Kernel in custom ROM's feel free to include after informing me. Also just link back to this thread

Older versions

V 1.0 : http://p.pw/babqRW ( Only compatible with Blu ROM

CREDITS :

@kashifmin for his support and guidance :cowboy:

@Siddhesh.K15 for working with me for months :)

Screenshots :

a117_kern.jpg


Screenshot_2014_07_03_23_51_00_1.png


Kernel sources :

https://github.com/sandymanu/A117_MT6589_kernel

XDA:DevDB Information
[KERNEL][3.4.5][Xtreme Sandy Kernel ][Smoothness] for Micromax A117, Kernel for the Micromax Canvas Magnus A117

Contributors
Santhosh M
Kernel Special Features:

Version Information
Status: Alpha
Current Stable Version: V 1.2
Stable Release Date: 2014-07-17

Created 2014-07-03
Last Updated 2014-07-23
 

Santhosh M

Inactive Recognized Developer / Contributor
FAQ's on Kernel :

What is a kernel? Why should I install it?
A: Click here to know the answer.

Will this work on all MT6589 / 6589T Phones?
A: NO

Is this kernel compatible with all ROMs?
A: This kernel works only on Stock ROM as of now. Other ROM's have to replace ramdisk.

Will this work on other clones of these devices such as Blu life One M ?
A: YES. It will work

Is this kernel recommended for daily use?
A: Yes!

What are the best governor+io combinations?
A: Hotplug+cfq, Smartassv2+cfq, Sakuractive+cfq. Read about governors & i/o schedulers & try them and give feedback on the thread so that others can know.
 
Last edited:

Santhosh M

Inactive Recognized Developer / Contributor
Explanation on Governors & I/O schedulers :

Read the below links for everything

http://xdaforums.com/showthread.php?t=1767797 ( All governors & schedulers explained )

http://xdaforums.com/showthread.php?t=2301294 ( All governors & schedulers explained )

For people who are lazy i have put through some here :p

Performance governor helps gaming according to people who tried my kernel in A250. I can't confirm the same here since i am not a gamer. So try that for gaming and let people know.

Intellidemand:

Intellidemand aka Intelligent Ondemand from Faux is yet another governor that's based on ondemand. Unlike what some users believe, this governor is not the replacement for OC Daemon (Having different governors for sleep and awake). The original intellidemand behaves differently according to GPU usage. When GPU is really busy (gaming, maps, benchmarking, etc) intellidemand behaves like ondemand. When GPU is 'idling' (or moderately busy), intellidemand limits max frequency to a step depending on frequencies available in your device/kernel for saving battery. This is called browsing mode. We can see some 'traces' of interactive governor here. Frequency scale-up decision is made based on idling time of CPU. Lower idling time (<20%) causes CPU to scale-up from current frequency. Frequency scale-down happens at steps=5% of max frequency. (This parameter is tunable only in conservative, among the popular governors)
To sum up, this is an intelligent ondemand that enters browsing mode to limit max frequency when GPU is idling, and (exits browsing mode) behaves like ondemand when GPU is busy; to deliver performance for gaming and such. Intellidemand does not jump to highest frequency when screen is off.

Sakuractive:

This driver mimics the frequency scaling behavior in "on demand" but with several key differences. First is that frequency transitions use the CPUFreq table directly, instead of incrementing in a percentage of the maximum available frequency. Second "sakuractive" will offline auxillary CPUs when the system is idle, and online those CPUs once the system becomes busy again. This last feature is needed for architectures which transition to low power states when only the "master" CPU is online, or for thermally constrained devices

ZZmoove

ZZmove Governor optimized for low power consumption with the screen off, with particular attention to the limitation of consumption applications in the background with the screen off, such as listening to music. It has three settings: battery saver, balanced and performance. In addition to a performance boost, there is also the governor zzmove optimized.

Pegasusq/Pegasusd

The Pegasus-q / d is a multi-core based on the Ondemand governor and governor with integrated hot-plugging.
Ongoing processes in the queue, we know that multiple processes can run simultaneously on. These processes are active in an array, which is a field called "Run Queue" queue that is ongoing, with their priority values ​​arranged (priority will be used by the task scheduler, which then decides which process to run next).

To ensure that each process has its fair share of resources, each running for a certain period and will eventually stop and then again placed in the queue until it is your turn again. If a program is terminated, so that others can run the program with the highest priority in the current queue is executed.

SmartassV2:
Version 2 of the original smartass governor from Erasmux. Another favorite for many a people. The governor aim for an "ideal frequency", and ramp up more aggressively towards this freq and less aggressive after. It uses different ideal frequencies for screen on and screen off, namely awake_ideal_freq and sleep_ideal_freq. This governor scales down CPU very fast (to hit sleep_ideal_freq soon) while screen is off and scales up rapidly to awake_ideal_freq (500 mhz for GS2 by default) when screen is on. There's no upper limit for frequency while screen is off (unlike Smartass). So the entire frequency range is available for the governor to use during screen-on and screen-off state. The motto of this governor is a balance between performance and battery.

I/O Schedulers :

I/O Schedulers Explained

1: Noop:

Inserts all the incoming I/O requests to a First In First Out queue and implements request merging. Best used with storage devices that does not depend on mechanical movement to access data (yes, like our flash drives). Advantage here is that flash drives does not require reordering of multiple I/O requests unlike in normal hard drives.

Advantages:
Serves I/O requests with least number of cpu cycles. (Battery friendly?)
Best for flash drives since there is no seeking penalty.
Good throughput on db systems.

Disadvantages:
Reduction in number of cpu cycles used is proportional to drop in performance.


2: Deadline:

Goal is to minimize I/O latency or starvation of a request. The same is achieved by round robin policy to be fair among multiple I/O requests. Five queues are aggressively used to reorder incoming requests.

Advantages:
Nearly a real time scheduler.
Excels in reducing latency of any given single I/O.
Best scheduler for database access and queries.
Bandwidth requirement of a process - what percentage of CPU it needs, is easily calculated.
Like noop, a good scheduler for solid state/flash drives.

Disadvantages:
When system is overloaded, set of processes that may miss deadline is largely unpredictable.


3: CFQ:

Completely Fair Queuing scheduler maintains a scalable per-process I/O queue and attempts to distribute the available I/O bandwidth equally among all I/O requests. Each per-process queue contains synchronous requests from processes. Time slice allocated for each queue depends on the priority of the 'parent' process. V2 of CFQ has some fixes which solves process' i/o starvation and some small backward seeks in the hope of improving responsiveness.

Advantages:
Considered to deliver a balanced i/o performance.
Easiest to tune.
Excels on multiprocessor systems.
Best database system performance after deadline.

Disadvantages:
Some users report media scanning takes longest to complete using CFQ. This could be because of the property that since the bandwidth is equally distributed to all i/o operations during boot-up, media scanning is not given any special priority.
Jitter (worst-case-delay) exhibited can sometimes be high, because of the number of tasks competing for the disk.


5: SIO:

Simple I/O scheduler aims to keep minimum overhead to achieve low latency to serve I/O requests. No priority quesues concepts, but only basic merging. Sio is a mix between noop & deadline. No reordering or sorting of requests.

Advantages:
Simple, so reliable.
Minimized starvation of requests.

Disadvantages:
Slow random-read speeds on flash drives, compared to other schedulers.
Sequential-read speeds on flash drives also not so good.


6: V(R):

Unlike other schedulers, synchronous and asynchronous requests are not treated separately, instead a deadline is imposed for fairness. The next request to be served is based on it's distance from last request.

Advantages:
May be best for benchmarking because at the peak of it's 'form' VR performs best.

Disadvantages:
Performance fluctuation results in below-average performance at times.
Least reliable/most unstable.
 

rubenhardy

Senior Member
Nov 15, 2010
72
12
Bangalore
Huawei Nexus 6P
Excellent work !!

Android Original development was the only place there was not activity in magnus dashboard, you have unleashed it with the bang. ! Hope it can be used on magnus stock rom in coming days. !! Cheers :cyclops::highfive:
 
  • Like
Reactions: Santhosh M

xxNms007xx

Member
Jun 7, 2014
13
8
Delhi
Finally *wipes tears* an awesome work by an awesome dev ! thnkz for all the support.... :good::good::good: keep developing gr8 :) :highfive:

waiting for more :D
 
  • Like
Reactions: Santhosh M

Santhosh M

Inactive Recognized Developer / Contributor
Xtreme Sandy kernel V 1.2 released

Now compatible with A117 stock ROM

Changelogs

  • Compatible with A117 stock ROM
  • Lulzactiveq and nighmare governors added ( Lulzactive gives great performance. Can be used for gaming )
  • Xtreme smoothness

DOWNLOADS :

Xtreme Sandy kernel V 1.2

Post feedback &give your suggestions in the thread if you are trying kernel so that others can benefit from it.

Thanks
Santhosh
 
Last edited:

Sek her

Member
May 31, 2014
24
3
Cant download

:confused:
Xtreme Sandy kernel V 1.2 released

Now compatible with A117 stock ROM

Changelogs

  • Compatible with A117 stock ROM
  • Lulzactiveq and nighmare governors added ( Lulzactive gives great performance. Can be used for gaming )
  • Xtreme smoothness

DOWNLOADS :

Xtreme Sandy kernel V 1.2

Post feedback &give your suggestions in the thread if you are trying kernel so that others can benefit from it.

Thanks
Santhosh

Cant download..............
 

Geek-DROID

Senior Member
Feb 5, 2014
86
77
Xtreme Sandy kernel V 1.2 released

Now compatible with A117 stock ROM

Changelogs

  • Compatible with A117 stock ROM
  • Lulzactiveq and nighmare governors added ( Lulzactive gives great performance. Can be used for gaming )
  • Xtreme smoothness

DOWNLOADS :

Xtreme Sandy kernel V 1.2

Post feedback &give your suggestions in the thread if you are trying kernel so that others can benefit from it.

Thanks
Santhosh

I'm glad you got it working on the STOCK ROM. :D But I do have a request? Can you please add features like Sweep2Wake and all? I know it eats battery, but options can be available. Just a request. :) Thanks. I appreciate your work, the kernel is really smooth.Can we? :D

Full Regards.
 

Santhosh M

Inactive Recognized Developer / Contributor
I'm glad you got it working on the STOCK ROM. :D But I do have a request? Can you please add features like Sweep2Wake and all? I know it eats battery, but options can be available. Just a request. :) Thanks. I appreciate your work, the kernel is really smooth.Can we? :D

Full Regards.

Thanks for the review. Ya s2w is possible. Need to edit touch panel driver codes and it comes to lot of lines. Personally no interest to work on it.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 19
    First Custom Kernel for Micromax Canvas Magnus A117


    WARNING:

    Code:
    I or xda is not responsible for any kind of damage to your device. Please use it at your own risk!

    FEATURES :

    As of now basic features added. Will keep updating new version regularly.

    • Lots of governors & I/O schedulers added ( Check below for list )
    • LZMA Compression for zImage and Gzip for ramdisk.
    • Google Snappy compression mode (v5)
    • Clean Cache Enabled
    • MTK Vermagic Hack
    • Optimized ARM algorithm ( Credits to @faux123 )
    • NTFS support.

    Governors added :

    • Lulzactiveq
    • Nightmare
    • Smartass2
    • Nightmare
    • Pegasusq
    • Sakuractive
    • Intellidemand
    • zzmoove
    • Performance
    • Powersave

    I/O schedulers added :
    • SIO
    • Fifo
    • Fiops
    • Row
    • Vr
    • Zen
    • Sioplus

    Use Trickster mod App to change governors. For more detailed review on governors read post #3

    Installation instructions :

    • Copy zip to your Sd card / Internal memory & reboot to recovery
    • Mount system ( mounts & storage -> Mount system )
    • Install zip
    • Reboot :laugh:

    DOWNLOADS :

    Xtreme Sandy kernel V 1.2

    Note

    Anyone who wants to include the Kernel in custom ROM's feel free to include after informing me. Also just link back to this thread

    Older versions

    V 1.0 : http://p.pw/babqRW ( Only compatible with Blu ROM

    CREDITS :

    @kashifmin for his support and guidance :cowboy:

    @Siddhesh.K15 for working with me for months :)

    Screenshots :

    a117_kern.jpg


    Screenshot_2014_07_03_23_51_00_1.png


    Kernel sources :

    https://github.com/sandymanu/A117_MT6589_kernel

    XDA:DevDB Information
    [KERNEL][3.4.5][Xtreme Sandy Kernel ][Smoothness] for Micromax A117, Kernel for the Micromax Canvas Magnus A117

    Contributors
    Santhosh M
    Kernel Special Features:

    Version Information
    Status: Alpha
    Current Stable Version: V 1.2
    Stable Release Date: 2014-07-17

    Created 2014-07-03
    Last Updated 2014-07-23
    9
    FAQ's on Kernel :

    What is a kernel? Why should I install it?
    A: Click here to know the answer.

    Will this work on all MT6589 / 6589T Phones?
    A: NO

    Is this kernel compatible with all ROMs?
    A: This kernel works only on Stock ROM as of now. Other ROM's have to replace ramdisk.

    Will this work on other clones of these devices such as Blu life One M ?
    A: YES. It will work

    Is this kernel recommended for daily use?
    A: Yes!

    What are the best governor+io combinations?
    A: Hotplug+cfq, Smartassv2+cfq, Sakuractive+cfq. Read about governors & i/o schedulers & try them and give feedback on the thread so that others can know.
    7
    Explanation on Governors & I/O schedulers :

    Read the below links for everything

    http://xdaforums.com/showthread.php?t=1767797 ( All governors & schedulers explained )

    http://xdaforums.com/showthread.php?t=2301294 ( All governors & schedulers explained )

    For people who are lazy i have put through some here :p

    Performance governor helps gaming according to people who tried my kernel in A250. I can't confirm the same here since i am not a gamer. So try that for gaming and let people know.

    Intellidemand:

    Intellidemand aka Intelligent Ondemand from Faux is yet another governor that's based on ondemand. Unlike what some users believe, this governor is not the replacement for OC Daemon (Having different governors for sleep and awake). The original intellidemand behaves differently according to GPU usage. When GPU is really busy (gaming, maps, benchmarking, etc) intellidemand behaves like ondemand. When GPU is 'idling' (or moderately busy), intellidemand limits max frequency to a step depending on frequencies available in your device/kernel for saving battery. This is called browsing mode. We can see some 'traces' of interactive governor here. Frequency scale-up decision is made based on idling time of CPU. Lower idling time (<20%) causes CPU to scale-up from current frequency. Frequency scale-down happens at steps=5% of max frequency. (This parameter is tunable only in conservative, among the popular governors)
    To sum up, this is an intelligent ondemand that enters browsing mode to limit max frequency when GPU is idling, and (exits browsing mode) behaves like ondemand when GPU is busy; to deliver performance for gaming and such. Intellidemand does not jump to highest frequency when screen is off.

    Sakuractive:

    This driver mimics the frequency scaling behavior in "on demand" but with several key differences. First is that frequency transitions use the CPUFreq table directly, instead of incrementing in a percentage of the maximum available frequency. Second "sakuractive" will offline auxillary CPUs when the system is idle, and online those CPUs once the system becomes busy again. This last feature is needed for architectures which transition to low power states when only the "master" CPU is online, or for thermally constrained devices

    ZZmoove

    ZZmove Governor optimized for low power consumption with the screen off, with particular attention to the limitation of consumption applications in the background with the screen off, such as listening to music. It has three settings: battery saver, balanced and performance. In addition to a performance boost, there is also the governor zzmove optimized.

    Pegasusq/Pegasusd

    The Pegasus-q / d is a multi-core based on the Ondemand governor and governor with integrated hot-plugging.
    Ongoing processes in the queue, we know that multiple processes can run simultaneously on. These processes are active in an array, which is a field called "Run Queue" queue that is ongoing, with their priority values ​​arranged (priority will be used by the task scheduler, which then decides which process to run next).

    To ensure that each process has its fair share of resources, each running for a certain period and will eventually stop and then again placed in the queue until it is your turn again. If a program is terminated, so that others can run the program with the highest priority in the current queue is executed.

    SmartassV2:
    Version 2 of the original smartass governor from Erasmux. Another favorite for many a people. The governor aim for an "ideal frequency", and ramp up more aggressively towards this freq and less aggressive after. It uses different ideal frequencies for screen on and screen off, namely awake_ideal_freq and sleep_ideal_freq. This governor scales down CPU very fast (to hit sleep_ideal_freq soon) while screen is off and scales up rapidly to awake_ideal_freq (500 mhz for GS2 by default) when screen is on. There's no upper limit for frequency while screen is off (unlike Smartass). So the entire frequency range is available for the governor to use during screen-on and screen-off state. The motto of this governor is a balance between performance and battery.

    I/O Schedulers :

    I/O Schedulers Explained

    1: Noop:

    Inserts all the incoming I/O requests to a First In First Out queue and implements request merging. Best used with storage devices that does not depend on mechanical movement to access data (yes, like our flash drives). Advantage here is that flash drives does not require reordering of multiple I/O requests unlike in normal hard drives.

    Advantages:
    Serves I/O requests with least number of cpu cycles. (Battery friendly?)
    Best for flash drives since there is no seeking penalty.
    Good throughput on db systems.

    Disadvantages:
    Reduction in number of cpu cycles used is proportional to drop in performance.


    2: Deadline:

    Goal is to minimize I/O latency or starvation of a request. The same is achieved by round robin policy to be fair among multiple I/O requests. Five queues are aggressively used to reorder incoming requests.

    Advantages:
    Nearly a real time scheduler.
    Excels in reducing latency of any given single I/O.
    Best scheduler for database access and queries.
    Bandwidth requirement of a process - what percentage of CPU it needs, is easily calculated.
    Like noop, a good scheduler for solid state/flash drives.

    Disadvantages:
    When system is overloaded, set of processes that may miss deadline is largely unpredictable.


    3: CFQ:

    Completely Fair Queuing scheduler maintains a scalable per-process I/O queue and attempts to distribute the available I/O bandwidth equally among all I/O requests. Each per-process queue contains synchronous requests from processes. Time slice allocated for each queue depends on the priority of the 'parent' process. V2 of CFQ has some fixes which solves process' i/o starvation and some small backward seeks in the hope of improving responsiveness.

    Advantages:
    Considered to deliver a balanced i/o performance.
    Easiest to tune.
    Excels on multiprocessor systems.
    Best database system performance after deadline.

    Disadvantages:
    Some users report media scanning takes longest to complete using CFQ. This could be because of the property that since the bandwidth is equally distributed to all i/o operations during boot-up, media scanning is not given any special priority.
    Jitter (worst-case-delay) exhibited can sometimes be high, because of the number of tasks competing for the disk.


    5: SIO:

    Simple I/O scheduler aims to keep minimum overhead to achieve low latency to serve I/O requests. No priority quesues concepts, but only basic merging. Sio is a mix between noop & deadline. No reordering or sorting of requests.

    Advantages:
    Simple, so reliable.
    Minimized starvation of requests.

    Disadvantages:
    Slow random-read speeds on flash drives, compared to other schedulers.
    Sequential-read speeds on flash drives also not so good.


    6: V(R):

    Unlike other schedulers, synchronous and asynchronous requests are not treated separately, instead a deadline is imposed for fairness. The next request to be served is based on it's distance from last request.

    Advantages:
    May be best for benchmarking because at the peak of it's 'form' VR performs best.

    Disadvantages:
    Performance fluctuation results in below-average performance at times.
    Least reliable/most unstable.
    6
    Xtreme Sandy kernel V 1.2 released

    Now compatible with A117 stock ROM

    Changelogs

    • Compatible with A117 stock ROM
    • Lulzactiveq and nighmare governors added ( Lulzactive gives great performance. Can be used for gaming )
    • Xtreme smoothness

    DOWNLOADS :

    Xtreme Sandy kernel V 1.2

    Post feedback &give your suggestions in the thread if you are trying kernel so that others can benefit from it.

    Thanks
    Santhosh
    4
    Is there a way to overclock the gpu....I have read that it can be done through custom kernels

    Nope, not on MTK SoC's.
    The GPU OC's that you see on other threads, actually performs worse ...

    @OP,

    I would like to draw your attention here: http://xdaforums.com/showthread.php?t=2779017

    Can we get these all features? Take your time. Just a suggestion.

    Most of the "features" there are useless / fake ...

    I have used 4.6.3 toolchain Except Dynamic fsync,S2w & power suspend rest are there in this kernel. Certain file systems i have not enabled as they are of no use. All those Governors & schedulers are also there in this.


    You can use Gnueabi Linaro 4.6.x Toolchain:
    -->
    much better than GCC stock 4.6.x and works on "Stock Sources" :

    (TO use 4.7+ Toolchains, you need to fix some inline calls on source ... So for now you can stick with this ...)

    https://github.com/dragonpt/Wiko_Da...rm-unknown-linux-gnueabi-linaro_4.6.4-2013.05

    You'll get better performance...

    Regards ;)