[Q] MTK6589 / MT6589 Overclock - Help building Kernel - Android Q&A, Help & Troubleshooting

I have a Star S9500 with MTK6589 Cortex-A7 Quad Core @ 1.2GHz with PowerVR SGX544 Single Core.
I have the Kernel Source extracted from an Acer smartphone here: https://github.com/varunchitre15/MT6589_kernel_source .
In the MT6589_kernel_source/mediatek/platform/mt6589/kernel/core/mt_cpufreq.c file, in the line 127 has the code:
Code:
static unsigned int g_max_freq_by_ptp = DVFS_F1; /* default 1.2GHz */
If I change it to:
Code:
static unsigned int g_max_freq_by_ptp = DVFS_F0_0; /* OC 1.7GHz */
it changes from 1209000 KHz to 1703000 KHz, as in the line 70:
Code:
#define DVFS_F0_0 (1703000) // KHz
#define DVFS_F0_1 (1599000) // KHz
#define DVFS_F0_2 (1508000) // KHz
#define DVFS_F0_3 (1404000) // KHz
#define DVFS_F0_4 (1300000) // KHz
#define DVFS_F1 (1209000) // KHz
#define DVFS_F2 ( 988000) // KHz
#define DVFS_F3 ( 754000) // KHz
#define DVFS_F4 ( 497250) // KHz
I think I don't need to change de voltage as it is already set to the max supported by the Kernel.
I don't have problems with overheating or extreme battery drain, as I have the CPU Master Pro app and when the screen is off or he is overheating it sets to 500MHz x4.
I want to OC the GPU too, but I can't find the line to change te clock in the MT6589_kernel_source/mediatek/platform/mt6589/kernel/core/mt_gpufreq.c file.
I already built the Kernel in Debian OS succefully, but now I don't know how to put to .img to flash it!
Anyone can build the Kernel and publish it or just tell me what must I do?
EDIT: I just want to be able to play Real Racing 3 at 960p. I only get a great performance at standard FWVGA resolution and if I set 960x1708 @ 390 DPI screen the performance is very good except in Real Racing 3 and other graphical intense games.
Best regards,
Ivan Santos.

IvanSantosPT said:
I have a Star S9500 with MTK6589 Cortex-A7 Quad Core @ 1.2GHz with PowerVR SGX544 Single Core.
I have the Kernel Source extracted from an Acer smartphone here: https://github.com/varunchitre15/MT6589_kernel_source .
In the MT6589_kernel_source/mediatek/platform/mt6589/kernel/core/mt_cpufreq.c file, in the line 127 has the code:
Code:
static unsigned int g_max_freq_by_ptp = DVFS_F1; /* default 1.2GHz */
If I change it to:
Code:
static unsigned int g_max_freq_by_ptp = DVFS_F0_0; /* OC 1.7GHz */
it changes from 1209000 KHz to 1703000 KHz, as in the line 70:
Code:
#define DVFS_F0_0 (1703000) // KHz
#define DVFS_F0_1 (1599000) // KHz
#define DVFS_F0_2 (1508000) // KHz
#define DVFS_F0_3 (1404000) // KHz
#define DVFS_F0_4 (1300000) // KHz
#define DVFS_F1 (1209000) // KHz
#define DVFS_F2 ( 988000) // KHz
#define DVFS_F3 ( 754000) // KHz
#define DVFS_F4 ( 497250) // KHz
I think I don't need to change de voltage as it is already set to the max supported by the Kernel.
I don't have problems with overheating or extreme battery drain, as I have the CPU Master Pro app and when the screen is off or he is overheating it sets to 500MHz x4.
I want to OC the GPU too, but I can't find the line to change te clock in the MT6589_kernel_source/mediatek/platform/mt6589/kernel/core/mt_gpufreq.c file.
I already built the Kernel in Debian OS succefully, but now I don't know how to put to .img to flash it!
Anyone can build the Kernel and publish it or just tell me what must I do?
EDIT: I just want to be able to play Real Racing 3 at 960p. I only get a great performance at standard FWVGA resolution and if I set 960x1708 @ 390 DPI screen the performance is very good except in Real Racing 3 and other graphical intense games.
Best regards,
Ivan Santos.
Click to expand...
Click to collapse
Why don't you try to upload and share your compiled kernel (i.e zImage) with us, we can test it, and if it's really working, we can work on overclock gpu too..

IvanSantosPT said:
I have a Star S9500 with MTK6589 Cortex-A7 Quad Core @ 1.2GHz with PowerVR SGX544 Single Core.
I have the Kernel Source extracted from an Acer smartphone here: https://github.com/varunchitre15/MT6589_kernel_source .
In the MT6589_kernel_source/mediatek/platform/mt6589/kernel/core/mt_cpufreq.c file, in the line 127 has the code:
Code:
static unsigned int g_max_freq_by_ptp = DVFS_F1; /* default 1.2GHz */
If I change it to:
Code:
static unsigned int g_max_freq_by_ptp = DVFS_F0_0; /* OC 1.7GHz */
it changes from 1209000 KHz to 1703000 KHz, as in the line 70:
Code:
#define DVFS_F0_0 (1703000) // KHz
#define DVFS_F0_1 (1599000) // KHz
#define DVFS_F0_2 (1508000) // KHz
#define DVFS_F0_3 (1404000) // KHz
#define DVFS_F0_4 (1300000) // KHz
#define DVFS_F1 (1209000) // KHz
#define DVFS_F2 ( 988000) // KHz
#define DVFS_F3 ( 754000) // KHz
#define DVFS_F4 ( 497250) // KHz
I think I don't need to change de voltage as it is already set to the max supported by the Kernel.
I don't have problems with overheating or extreme battery drain, as I have the CPU Master Pro app and when the screen is off or he is overheating it sets to 500MHz x4.
I want to OC the GPU too, but I can't find the line to change te clock in the MT6589_kernel_source/mediatek/platform/mt6589/kernel/core/mt_gpufreq.c file.
I already built the Kernel in Debian OS succefully, but now I don't know how to put to .img to flash it!
Anyone can build the Kernel and publish it or just tell me what must I do?
EDIT: I just want to be able to play Real Racing 3 at 960p. I only get a great performance at standard FWVGA resolution and if I set 960x1708 @ 390 DPI screen the performance is very good except in Real Racing 3 and other graphical intense games.
Best regards,
Ivan Santos.
Click to expand...
Click to collapse
Any news? A Kernel upload could help you and the community.
However. Read this http://forum.xda-developers.com/showthread.php?t=1748297
This helped me to recompile a GNex Kernel... added missing SmartassV2 :laugh:

IvanSantosPT said:
I only get a great performance at standard FWVGA resolution and if I set 960x1708 @ 390 DPI screen the performance is very good except in Real Racing 3 and other graphical intense games.
Best regards,
Ivan Santos.
Click to expand...
Click to collapse
Wow, how you can that? 960x1708 @390 DPI.... can you spend a little more time to explain us how we can? :fingers-crossed:

I have Wiko Stairway with this processor (MT 6589), your kernel will work with my phone ?

Maybe this will help to pack to img:
http://forum.xda-developers.com/showthread.php?t=2364271
---------- Post added at 10:26 AM ---------- Previous post was at 10:15 AM ----------
http://forum.xda-developers.com/showthread.php?t=1587411

I use Virtuous Ten Studio (VTS) you can search XDA for it. Quite popular as it unpacks boot.img, allows edits to ramdisk, and you can swap zimage and pack it back together into a new boot.img
Also, it de-compiles, de-odex, blah blah blah.... Pretty much a 1 stop shop. Runs in windows. Sure beats doing all it from a cmd window!

IvanSantosPT said:
I have a Star S9500 with MTK6589 Cortex-A7 Quad Core @ 1.2GHz with PowerVR SGX544 Single Core.
I have the Kernel Source extracted from an Acer smartphone here:
Ivan Santos.
Click to expand...
Click to collapse
Ivan, I'm curious. You have a Star S9500 device. And you're using kernel source from an Acer smartphone???
Uhm, unless I am mistaken, you really shouldn't use kernel source from a different device, as the results could be bad. Unless the devices are identical and branded under a different name.
I also am searching kernel source for my ExPlay X-Tremer which uses the MTK6589 CPU.
Am quite interested in your results.
MD

Hi
Well, sorry but you cant OC an Mediatek SoC, it doesnt use those freq-values. Its still an mystery how to do it on that brand. since they will never share the FULL sourcecode.
All you will be able to do, by changing that is to display an "value" it will be only Visual, And not actually overclocked.
So just stop wasting your time on that. Will never work
You can also ask varun his also an kernel developer with experience on the MTK platform. Still the answer will be the same.
On an side note, you just build an kernel that will only work on the original acer device, not yours. It doesn't work that way lol
Its not all JUST about having the same SoC, there are other things:
Alps, magnetic sensor, proximity, etc that you need to config on kernel boardconfig to work on your device.
For packing /unpacking, since this is an MTK device, the best tool is Bruno Martins pack and unpack scripts:
forum.xda-developers.com/showthread.php?t=1587411
B.Regards

superdragonpt said:
Hi
Well, sorry but you cant OC an Mediatek SoC, it doesnt use those freq-values. Its still an mystery how to do it on that brand. since they will never share the FULL sourcecode.
All you will be able to do, by changing that is to display an "value" it will be only Visual, And not actually overclocked.
So just stop wasting your time on that. Will never work
You can also ask varun his also an kernel developer with experience on the MTK platform. Still the answer will be the same.
On an side note, you just build an kernel that will only work on the original acer device, not yours. It doesn't work that way lol
Its not all JUST about having the same SoC, there are other things:
Alps, magnetic sensor, proximity, etc that you need to config on kernel boardconfig to work on your device.
For packing /unpacking, since this is an MTK device, the best tool is Bruno Martins pack and unpack scripts:
forum.xda-developers.com/showthread.php?t=1587411
B.Regards
Click to expand...
Click to collapse
Exactly, not to mention trying to install a kernel meant for another device could have disastrous results...
As far as Full kernel source, I'm not even sure if the device manufacturers even have it. I suppose a lot of these devices are just "re-branded" clones, as I have been getting nowhere in answer on anything from Ex-Play, even citing GPL and such. "Somebody" has it, as 2 other ROMs (MIUI and Lewa) have 2 available ROMs, but I would guess they use the same zimage, considering they run the same OS version.
With the source, could check freq tables, and see if they use a speedo id that can be faked. But without current source, just don't know.
Still searching for the elusive kernel source

Moscow Desire said:
Exactly, not to mention trying to install a kernel meant for another device could have disastrous results...
As far as Full kernel source, I'm not even sure if the device manufacturers even have it. I suppose a lot of these devices are just "re-branded" clones, as I have been getting nowhere in answer on anything from Ex-Play, even citing GPL and such. "Somebody" has it, as 2 other ROMs (MIUI and Lewa) have 2 available ROMs, but I would guess they use the same zimage, considering they run the same OS version.
With the source, could check freq tables, and see if they use a speedo id that can be faked. But without current source, just don't know.
Still searching for the elusive kernel source
Click to expand...
Click to collapse
All the available kernel sources for the MTK platform can be found on my git:
https://github.com/dragonpt
And from varunchitre15 git:
https://github.com/varunchitre15?tab=repositories
As for OC, it was already tried in the past, yes after moding the kernel freq it shows OC values, but they are only Visual, MTK code is really weird.
About sourcecode, only some OEM's have release those, and it tooked ALOT of efforts for it (Petitions and so on), and all we got was the kernel source of course, and most of it it's NOT buildable (needs some fixs to compile).
As for my OEM, they said, they never got it, lol funny no?
This is one of the most ANTI-GPL, Closed Source Company i ever saw, in these last years...
Also Mediatek uses alot of Hacks on their code, i.e: the compiled zlmage needs an patch on kernel header to boot.
regards

superdragonpt said:
Also Mediatek uses alot of Hacks on their code, i.e: the compiled zlmage needs an patch on kernel header to boot.
regards
Click to expand...
Click to collapse
Thanks Mate. Yeah, looking over the sources, it's quite a mess in there! Tegra3 is so much more in order.
Will have to check my proc, and see which defconfig I use. Seems like a logical place to start. And talk about strange, they use only the Hotpug governor, although it seems several are available, but clearly they aren't set up for the device correctly as only Hotplug works, and the other configs have horrible performance.
Cheers

Moscow Desire said:
Thanks Mate. Yeah, looking over the sources, it's quite a mess in there! Tegra3 is so much more in order.
Will have to check my proc, and see which defconfig I use. Seems like a logical place to start. And talk about strange, they use only the Hotpug governor, although it seems several are available, but clearly they aren't set up for the device correctly as only Hotplug works, and the other configs have horrible performance.
Cheers
Click to expand...
Click to collapse
If you wanna start kernel compiling in this platform, the usuall config.gz wont work, if you are lucky enought you may find some old configs on kernel source code, then the "make oldconfig" should work, if the source doesnt have it then it will be an pain in the a## to compile.
Also some tips:
MTK kernels usually compile only with linaro toolchain 4.6.x or less, higher that this and its gonna be an mess with alot of compiler errors.
About the govs, yes on my tab(6589 soc) seems that the hotplug is the only one working ok, the other 2 govs seems that are only using the first 2 cores.
On the boardconfig, you can add several other govs, and IO,s, but i never add those, i may try that in the future and check if those extra govs work ok.
Regards

superdragonpt said:
If you wanna start kernel compiling in this platform, the usuall config.gz wont work, if you are lucky enought you may find some old configs on kernel source code, then the "make oldconfig" should work, if the source doesnt have it then it will be an pain in the a## to compile.
Also some tips:
MTK kernels usually compile only with linaro toolchain 4.6.x or less, higher that this and its gonna be an mess with alot of compiler errors.
About the govs, yes on my tab(6589 soc) seems that the hotplug is the only one working ok, the other 2 govs seems that are only using the first 2 cores.
On the boardconfig, you can add several other govs, and IO,s, but i never add those, i may try that in the future and check if those extra govs work ok.
Regards
Click to expand...
Click to collapse
Thanks for the tip on the toolchain. I usually use Google's latest. Never installed linaro as I really haven't seen a lot of difference in other testing comparisons. Generates a bunch of errors, but usually on things not specific to my device. Sloppy programming I guess.My guess is it's up to the device manufaturers responsibility to clean up the code.
Cheers

i am interested in under-voltage! very useful for battery time

I will be really happy is someone explains to me how can i overclock my mt6589?

chenrp said:
i am interested in under-voltage! very useful for battery time
Click to expand...
Click to collapse
Check Varun's Git sources, it's there...
rdlegy said:
I will be really happy is someone explains to me how can i overclock my mt6589?
Click to expand...
Click to collapse
There's nothing to explain at this point. It simply CAN'T be Overclocked, Mediatek Code isn't the same as (i.e)Qualcomm ...
(It's so Messy --...)
Regards

mtk and spd are the two biggest chinese chip companies that don't provide source code, you won't be able to modify your device except root it for some work

Related

[Module] X8Overclock | v004 - Multiple freq | X8 | X10 mini | X10 mini pro | 11-04-11

Rom cookers: if you include this module in your ROM, please make a link to this post in your release post, so your users can know how to work with it and update the module themselves
Intro: (dev post)
Since the X10 kernel is working, we might have a hope that someday we will have our custom kernels. If we can have custom kernels, we can do the overclocking easily.
Until that day, we will still have to overclock with modules. To make overclocking works with our current kernel, as far as I can see, we need to do the following things:
1. Patch cpufreq data to change maximum reported freq (these value will be read by Android for further controls). cpufreq will then call the low-level acpuclock functions to change real cpu freq.
2. Patch acpuclock data + code to change real cpu freq.
Right now I'm working a proof-of-concept module, with finished 1 and half of 2. I will need to patch acpuclock code in the running kernel to make the frequency applicable.
That means, right now, Android reported that I have a 800MHz MSM7227, although it's running at 600MHz, and cpufreq's governor accepts to change to the maximum 800MHz (it's 600MHz for real). We will need to patch acpuclock code to change PLL and apply the correct divisor.
Source on github : https://github.com/doixanh/X8Features
Release history
April 11. v004. Default to 691MHz. Multiple frequencies are available for SetCPU: from 614MHz to 826MHz. You can now change frequencies with SetCPU - much like with custom kernels! You can even SetCPU freq at boot.
April 07. v003. Compatible with SetCPU. Easier for code maintenance.
April 06. v002 for mini pro. x8oc module for x10 mini pro released! Be warned: I didn't have your x10mini pro hardware so I didn't test it throughoutly.
April 06. v002 for mini. x8oc module for x10 mini released! Be warned: I didn't have your x10mini hardware so I didn't test it throughoutly. 710MHz was reported not too stable. A lower freq is more stable.
April 06. v002. Experimental! It maybe very unstable! Undervoltage for all frequencies except the max freq (Reduced voltages for 128MHz, 245MHz, 320MHz, 480MHz). This can potentially save battery. I need test results for saving battery from you guys
April 05. v001. Default to 710MHz.
Requirements:
- Rooted
- Baseband x15
- xRecovery (for automatic installtation)
- Dare!
Installation:
a. Manual installation : it will be better if you can do this way.
- Download appropriate x8oc-vXXX.zip (for X8), or x8oc-vXXX-x10m.zip (for X10 mini), or x8oc-vXXX-x10mp.zip (for x10 mini pro) below, unzip
- Remount /system as rw
- Push x8oc.ko in to /system/lib/modules
- Edit /system/etc/hw_config.sh, add one line at the beginning
Code:
insmod /system/lib/modules/x8oc.ko # x8 overclock
For people who want to set specific freq at boot, write the following instead of the code above:
Code:
# x8 overclock
insmod /system/lib/modules/x8oc.ko
sleep 2
echo xAB > /proc/x8oc
Where AB is your desired code for that frequency. Test the frequency carefully before applying it at boot!
(you can edit hw_config.sh by pulling it to your PC, edit, and push it back)
- Reboot your phone
b. Automatic installation : much like x8gesture, I will have to prepare update.zip for each ROM. I'm pretty busy now, so be patient.
General instruction
- When you install x8oc, SetCPU will not recognized the new max frequency. Don't touch the slide and/or change the governor. If you do that, the new frequency will be lost. You will have to reboot your phone to get the new freq.
- For geeks only: it is possible to change maximum frequency after you install x8oc. With following command, you can replace AB to other values to change max freq:
Code:
echo xAB > /proc/x8oc
20 to change to 614MHz
21 to change to 634MHz
22 to change to 653MHz
23 to change to 672MHz
24 to change to 691MHz
25 to change to 710MHz
26 to change to 730MHz
27 to change to 749MHz
For example, set to 749MHz:
Code:
echo x27 > /proc/x8oc
This feature still works with v004
Somebody asked about the meaning of AB above. If you look at the source you will understand
In short :
- AB is stored in hexadecimal
- Max frequency = AB (in decimal) * 19.2MHz
Example:
AB = 27 means AB = 0x27 = 39 (in decimal)
Real frequency = 39*19.2 = 748.8 MHz
You can put 28, 29, for even higher frequency... but I don't recommend to do that. It was unstable for me.
x10 mini / x10 mini pro users:
Support for x10 mini / x10 mini pro has been added since 06-04-11. However, I don't have your hardware so you must test this module before install it:
- Push x8oc.ko to /system/lib/modules
- Run the following command
Code:
insmod /system/lib/modules/x8oc.ko
If the phone is still working, no crash, no black screen, then it works.
Until you're sure that it works with your hardware, don't install it to hw_config.sh or you will get boot loops and may severely damage your hardware
Disclaimer
This module is dangerous! It may cause severe damage to your hardware. I'm not responsible if this module kills your lovely phone. Use it at your own risk!
Donations are welcome
PLEASE DON'T SPAM IN THIS THREAD WITH UNCONTRIBUTED POSTS.
Can you share the source code of your module?
I was too lazy to build a separated module for OCing Everything is a mess inside my current x8gesture module
I'll try to do something more and then separate OC into a new module.
info about MSM7227 CPU:
http://pdadb.net/index.php?m=cpu&id=a7227&c=qualcomm_msm7227
Holy sh*t. They included bunches of controllers inside this MSM 7227
Max. 800MHz Qualcomm MSM7227 Turbo, Embedded 320MHz DSP (GSM, GPRS/EGPRS Multislot Class 12, EDGE, UMTS Release 6, 7.2 Mbps HSDPA, HSUPA 5.76 Mbps, MBMS baseband), 400MHz modem processor, Adreno 200, OpenGL ES 2.0, OpenGL ES 1.1, OpenVG 1.1, EGL 1.3, Direct3D Mobile, SVGT 1.2, DirectDraw,
Click to expand...
Click to collapse
Is there anyway to enable that turbo mode by moding? It must be locked somewhere, the safe clock is 600mhz, but it might run 800mhz or more stable too, might be battery draining issue, or overvoltage necessity but with scaling that should not be a real issue, if only used to extreme situations, and, for a bit of time.
f.e. Samsung Galaxy Ace has same CPU and it run at 800Mhz
This is a great project and it looks very promissing.
ZTE Blade has same cpu and they had problems overclocking just the main core, but in the end they solved it, I guess you could take a look at their solution as well.
And thanks again for the dualtouch module.
I read many overclocked kernel sources for MSM7227 in difference devices. What they did was to modify acpuclock.c :
1. add new freqs to freq_table
2. add new freqs to clkctl_acpu_speed arrays
3. modify acpuclk_set_div to set PLL for overclocked freqs
Because acpuclock is initialized very early during boot process, cpufreq (initialized much later) will read those available freqs from acpuclock to apply to its governors.
In our case, because we cannot modify acpuclock in the kernel before it's initialized, our module will be loaded much later than both acpuclock and cpufreq. Therefore, my approach is to modify (inline patch) both acpuclock and cpufreq in memory, while the kernel is running.
So far, as mentioned in OP, I modified cpufreq and acpuclock data (as in 1. and 2.), so that Android thinks that max freq is set at 800MHz. We will have to do some inline memory patches to acpuclock function to change PLL for freqs more than 600MHz during runtime. More precisely, we need to patch acpuclk_set_div function.
I did a quick study about ARM instruction set, looked for branch (and branch with links) instructions. I managed to redirect calls to acpuclk_set_div to my own function in module, so that acpuclock_set_rate calls to my function, instead of the original one. However, it seems that the param received by my function is always NULL.
Looking for reasons and solutions. Any suggestions?
@racht: no, we thank you for your hard work in your Hackdroid ROMs.
It seems that I made a mistake. acpuclk_set_div was not separated as a function. Instead, the compiler included it in the caller function (acpuclk_set_rate). This will be a big big big problem for us to hijack the call.....
Hope everything works out! 200mhz is a big jump
Can u share your sources?
Maby i can help you
Sent from my U20i using XDA Premium App
I will need to rewrite the module, because everything is placed in my x8gesture I will do it soon.
The initial commit is pushed to github at : https://github.com/doixanh/X8Overclock
All contributions are welcome.
as an example of omap3
http://code.google.com/p/milestone-overclock/
This project consists of a kernel module for OMAP3 phones with Android to unlock any processor frequency/voltage combination and a companion graphical app to ease the configuration. The phone must be rooted so that the kernel module can be loaded.
The module has an interface in /proc/overclock/* that allows enabling and disabling of overclock in runtime without rebooting. No flashing of custom roms or kernels is needed, since that is not even possible with the Milestone, Droid X and others.
andrej456 said:
as an example of omap3
http://code.google.com/p/milestone-overclock/
This project consists of a kernel module for OMAP3 phones with Android to unlock any processor frequency/voltage combination and a companion graphical app to ease the configuration. The phone must be rooted so that the kernel module can be loaded.
The module has an interface in /proc/overclock/* that allows enabling and disabling of overclock in runtime without rebooting. No flashing of custom roms or kernels is needed, since that is not even possible with the Milestone, Droid X and others.
Click to expand...
Click to collapse
Thats good idea but edit is needed because X8 does not have 1,2 processor
EDIT: With 800 processor thats so close x10 1000 processor,cant imagine how fast x8 will be
as-mario said:
Thats good idea but edit is needed because X8 does not have 1,2 processor
EDIT: With 800 processor thats so close x10 1000 processor,cant imagine how fast x8 will be
Click to expand...
Click to collapse
to not fit in the x8, but the wiki to be useful
if we take this as an example you can write a module
sorry for my english
It seems that my approach is like milestone-overclock. Their CPU is different, but we can know that we're having a good direction.
Good news: I managed to hijack calls to acpuclk_set_rate (the function contains acpuclk_set_div). This way, we can write our own set_rate and set_div function.
Destination is not too far away
YES, YES and YES! It's running at 684MHz! Will upload a screenshot soon!
This below screenshot is taken at 710MHz with only CPU test
It seems that our CPU is not stable above 748MHz.

[KERNEL] Bricked-Kernel Grouper/Tilapia

Welcome to the most customizable N7 kernel on xda
Bricked-Kernel Nexus 7 (grouper)
Replaced NVIDIA's strange hotplug manager with my own: tegra_mpdecision​
Features:
Based upon Googles tegra3 source
Fixed section mismatches
Various other fixes (look @ github)
Compiled with gcc4.7.2 toolchain (linaro 09.12)
Replaced NVIDIAs hotplug manager with tegra_mpdecision (better battery life + performance)
Extensive sysfs interface for mpdecision with all the tuneables you want
Highly modified ondemand governor for tegra3 & mpdecision (this is the only recommended governor atm)
Fixed usage of 51Mhz clock
GPU OC (416/484/520Mhz)
Truly variant free CPU OC for all devices (51 - 1600Mhz)
Fixed max cpufreq resets throughout the kernel
All cores now use the max frequency (before: only in singlecore, otherwise -100Mhz)
Undervolting (faux123)
Default clocks: 102min & 1300max (+100Mhz overclocked) & 475 Maxscroff
earlysuspend/lateresume for ondemand including special screen off settings to save power
Aroma Installer by amarullz
cmdline interface for cpu min/max/maxscroff/gpuoc/scheduler/governor
---Just flash the kernel with your desired settings, no more need for oc apps. Reflash if you want to change sth. It's that easy!
FSync Control by Ezekeel
export t3 variant to debugfs by faux123 (adb shell cat /sys/kernel/debug/t3_variant)
lowered panel min brightness to 8
ZRAM
enabled NFSv3&4
Check the compare links for the rest ​
Where is tha Changelog???
There will be no more changelogs.
Instead the download pages were outfitted with compare links to github for each download.​
How to install?
Flash through recovery. #done.​
Where to complain about errors/bugs?
Please use the Issuetracker for bugs/errors/feature wishes!
Issuetracker @ https://code.google.com/p/bricked/issues/entry
[email protected]
IRC Chat: Freenode IRC #bricked​
Download:
No Guarantees! If it kills your grandmother or your device, I am NOT responsible! If you understand this:
(If you download, please hit Thanks below my post! Thank you!)
>>> DOWNLOAD <<<​
Donor List:​
> Hall of fame <
With special thanks to all N7 piggy bank donors!
Thank you very much!​
Source:
​
Benchmark:
Knowledge base:
What is tegra_mpdecision?
100% kernel based multi core decision! (should cpu1/2/3 be online or not, do we need the low-power/ninja core now?)
This replaces the stock nvidia hotplug solution.
Check /sys/kernel/tegra_mpdecision/conf/ for the configuration.
startdelay = time until mpdecision starts doing it's magic (20000)
delay = time between checks (130)
pause = if something else plugs in the cpu, fall asleep for 10000ms (10 secs)
scroff_single_core = Force low-power mode if screen is off (1)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
min_cpus = min cpus to be online, cannot be < 1. Default: 1
max_cpus = max cpus to be online, cannot be > 4. (if you set it to 2 and min_cpus to 1 you will basically have a dualcore) Default: 4
idle_freq = a value against that will be checked if a core +/- is requested. (475000)
lpcpu_up_hsyteresis = minimum number of requests that have to be send in order to switch to low-power mode (4)
lpcpu_down_hsyteresis = minimum number of requests that have to be send in order to switch to g-mode (quadcore-mode). Overridden by a requested freq that is higher than the max supported lp-mode frequency. (2)
If cpu0 is below that value and a core up of another cpu is requested, nothing will happen.
If any other cpu is above that value and a core down of that cpu is requested, nothing will happen. (otherwise it would now put down that cpu even though it is still working, which isn't what we want)
Hot plug thresholds (aka now it gets 'complicated')
This small formula calculates which value will be used: (number_of_cpus_online - 1) * 2
The result of this formula will be the nwns_threshold where a new cpu is hotplugged.
The result of this formula + 1 will be the nwns_threshold where a cpu is unplugged.
nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)
Example:
One cpu is online.
(1 - 1) * 2 = 0 ergo:
nwns_threshold_0 = cpu1 will be hotplugged at this value
((1 - 1) * 2) + 1 = 1
nwns_threshold_1 = cpu0 will be unplugged at this value
This will regulate when we switch to lp-mode, effectively replacing the quadcore g-mode core with the ninja lp-mode core.
Two cpus are online.
(2 - 1) * 2 = 2 ergo:
nwns_threshold_2 = cpu2 will be hotplugged at this value
((2 - 1) * 2) + 1 = 3
nwns_threshold_3 = cpu1 will be unplugged at this value
etc...
(all times are in ms)
If you want to see the mpdecision magic happening:
Code:
adb shell
cat /proc/kmsg | grep 'MPDEC'
mpdecision's input event boost, aka project butter
This will boost your min cpu speed if you touch the screen or press a button and gives you full control.
In those events the min cpu freq will be risen to a predefined value (look below) on every online cpu. This boosts overall reaction times and smoothness a lot. (works similar to the qcom mpdecision binary)
Configuration files:
[email protected]:/sys/kernel/tegra_mpdecision/conf # ls
boost_enabled
boost_freqs
boost_time
All of them work like the usual sysfs files, except one special case:
boost_freqs will list all frequencies from cpu 0 to cpu x. Cpu 3 and any following cpu will share one frequency.
To change those frequencies echo the cpu number + the frequency in khz. To change the boost freq of cpu3 (and 4,5,6,7,8, etc) the echo would look as follows:
Code:
echo "3 1026000" > /sys/kernel/tegra_mpdecision/conf/boost_freqs
for cpu0:
Code:
echo "0 1026000" > /sys/kernel/tegra_mpdecision/conf/boost_freqs
Defaults:
Code:
cat /sys/kernel/tegra_mpdecision/conf/boost_freqs
910000
910000
760000
620000
Recommended governor?
Ondemand.​Why do I have no WLAN?
This kernel is too big for our boot.img with WLAN included into the kernel, so it is built as a module. That means it needs to be inserted into the kernel upon boot up, which needs to be automated for maximum comfort = userinit (init.d) support.
The zip adds init.d support to your ramdisk, if that fails for some reason the wlan module cannot be inserted.
if
Code:
adb shell lsmod
doesn't show this:
Code:
tun 14060 0 - Live 0x00000000
cifs 239646 0 - Live 0x00000000
bcmdhd 433083 0 - Live 0x00000000
Then init.d support is probably missing.
You can test it by going to /system/etc/init.d/ and executing 00wlan.
Code:
adb shell
su
. /system/etc/init.d/00wlan
Wait a few seconds and try to enable wifi and repeat the above lsmod command (should now show bcmdhd as live, you can execute 01cifs and 02tun too).
If WLAN now works, init.d support is missing.
You need to have busybox installed in order to be able to get init.d support going, this shouldn't be a problem for most people, since it is usually installed when rooting your phone anyway (and who does unlock but not root their phone? :/)
It does not matter if busybox is installed in /system/bin or /system/xbin, my script will detect the location upon flashing and patch the ramdisk accordingly.
If no busybox is found, the script will add init.d support to your ramdisk with the default location: /system/xbin/busybox. All you need to do is install busybox there and reboot your phone.
​
show-p1984 said:
Knowledge base:
(under construction)
tegra_mpdecision manual:
coming soon(tm)
Click to expand...
Click to collapse
looks great is this kernal compatible with cm10 based roms such as paranoid android
Flypants101010 said:
looks great is this kernal compatible with cm10 based roms such as paranoid android
Click to expand...
Click to collapse
Yes, ofc
Running cm10 nightlies myself.
show-p1984 said:
Yes, ofc
Running cm10 nightlies myself.
Click to expand...
Click to collapse
All AOSP roms work with Bricked
* Hello World *
What tweaks did you make to on-demand, if you don't mind me asking? The only thing I've noticed is that frequency switching seems to happen faster & more often.
Feel like flashing something tonight!
Sent from my Nexus 7 using xda premium
I tried flashing this a few times and it fails with each try.
Dabaum said:
What tweaks did you make to on-demand, if you don't mind me asking? The only thing I've noticed is that frequency switching seems to happen faster & more often.
Click to expand...
Click to collapse
I mostly adapted it to work with the lpcore while the screen is on and also with special power saving setting while the screen is off.
The 2 phase frequency was changed to accomplish that.
It also applies a powersave bias while screen is off.
Additionally I changed the settings to allow faster scaling with less load. (70% > freq incr)
Source is currently being uploaded, but since I kept the history intact it is taking ages. You can look it up there in more detail once the source is up
airmaxx23 said:
I tried flashing this a few times and it fails with each try.
Click to expand...
Click to collapse
With what message?
I guess because your recovery does not identify your device as 'grouper'.
show-p1984 said:
With what message?
I guess because your recovery does not identify your device as 'grouper'.
Click to expand...
Click to collapse
It just says failed, I've had no problems flashing anything else and I'm flashing mutilple times a day usually.
airmaxx23 said:
It just says failed, I've had no problems flashing anything else and I'm flashing mutilple times a day usually.
Click to expand...
Click to collapse
It most certainly does not say "failed" and nothing else. Look harder.
Using twrp recovery me and my beta testee had no problems at all.
show-p1984 said:
It most certainly does not say "failed" and nothing else. Look harder.
Using twrp recovery me and my beta testee had no problems at all.
Click to expand...
Click to collapse
It says "unable to open zip file. Error flashing zip."
show-p1984 said:
Yes, ofc
Running cm10 nightlies myself.
Click to expand...
Click to collapse
And just to be clear, with non-CM based ones as well? I'm running the 'Glazed' ROM....
airmaxx23 said:
It just says failed, I've had no problems flashing anything else and I'm flashing mutilple times a day usually.
Click to expand...
Click to collapse
Nothing wrong with the zipfile, maybe corrupted download? did you do md5 hash check before flash?
It's either your custom recovery or a corrupted download, period.
ps. Happy Flashing.
airmaxx23 said:
It says "unable to open zip file. Error flashing zip."
Click to expand...
Click to collapse
corrupt download? checked md5/sha1?
corrupt phone upload? checked md5/sha1?
friedsonjm said:
And just to be clear, with non-CM based ones as well? I'm running the 'Glazed' ROM....
Click to expand...
Click to collapse
As long as it is AOSP you should be fine.
But just try it and report back, then we are all a bit more enlightened
(Sorry, I can't possibly test all the ROMs out there ^^)
T-junk said:
Nothing wrong with the zipfile, maybe corrupted download? did you do md5 hash check before flash?
It's either your custom recovery or a corrupted download, period.
ps. Happy Flashing.
Click to expand...
Click to collapse
If I try downloading it directly to my tablet the resulting file is only 17.51K in size, downloading it with a computer takes care of the problem.
airmaxx23 said:
It says "unable to open zip file. Error flashing zip."
Click to expand...
Click to collapse
I get the same.
Sent from my Nexus 7 using xda premium
airmaxx23 said:
If I try downloading it directly to my tablet the resulting file is only 17.51K in size, downloading it with a computer takes care of the problem.
Click to expand...
Click to collapse
StrangerWeather said:
I get the same.
Click to expand...
Click to collapse
I guess same problem for you StangerWeather.
Try downloading on your pc, I will look into that webserver issue tomorrow. (or maybe it's a chrome issue? who knows ^^)

[KERNEL] Bricked-Kernel Mako

Welcome to the most customizable N4 kernel on xda
Bricked-Kernel Nexus 4 (mako)​
Features:
* Based upon Googles msm 3.4 source
* Various other fixes (look @ github)
* Compiled with gcc4.7.2 toolchain (linaro 09.12)
* -O3 optimized
* Snapdragon S4 & CortexA15 optimizations
* Sweep2wake
(Disabled as default, activate through an app like KControl or over sysfs: echo 1 > /sys/android_touch/sweep2wake)
* DoubleTap2Wake
(Disabled as default, activate through an app like KControl or over sysfs: echo 1 > /sys/android_touch/doubletap2wake)
* replaced qcoms hotplug binary with msm_mpdecision (IN-KERNEL, better battery life + performance)
* Extensive sysfs interface for mpdecision with all the tuneables you want (/sys/kernel/msm_mpdecision/)
* replaced the thermald binary with my IN-KERNEL solution. (/sys/kernel/msm_thermal/)
* export krait version to: /sys/kernel/debug/krait_variant
* modified ondemand governor
* Allow OC up to 1,83Ghz, faux123 (from a thermal point of view that is now SAFE)
* Allow UC down to 94,5Mhz
* Fixed min cpufreq resets
* Undervolting (faux123)
* Default clocks: 384min & 1512max
Zip features:
* ramdisk module insertion
* removes governor overrides from the ramdisk
* adds init.d support to your ramdisk (if not already supported)
Check the compare links for the rest ​
Where is tha Changelog???
There will be no more changelogs.
Instead the download pages were outfitted with compare links to github for each download.​
What is sweep2wake?
How to install?
Flash through recovery. #done.​
How to uninstall?
Flash this through recovery:
Bricked_uninstaller
Bye.​
Where to complain about errors/bugs?
Please use the Issuetracker for bugs/errors/feature wishes!
Issuetracker @ https://github.com/showp1984/bricked-mako/issues
[email protected]
IRC Chat: Freenode IRC #bricked​
Download:
No Guarantees! If it kills your grandmother or your device, I am NOT responsible! If you understand this:
(If you download, please hit Thanks below my post! Thank you!)
>>> DOWNLOAD <<<
​
Donor List:​
> Hall of fame <
Thank you very much!​
Stock Nexus4 JELLYBEAN JWR boot.img (flash this if you come from another kernel)
Source:
​
What is msm_thermal?
Kernel based 3-phase thermal control!
This replaces your /system/bin/thermald binary which is renamed by the installer to thermald_bck.
It will throttle your cpu speed to keep it cool and unleash it if the cpu has cooled down enough. (3 phases: low, mid and high)
Check /sys/kernel/msm_thermal/conf/ for the thermal configuration
allowed_max_high = highest threshold (phase 3)
allowed_max_low = remove the throttling if we cooled down to this (clr_thrshold)
allowed_max_freq = max frequency if throttled (limit)
[...]mid[...] = same as above, just for phase 2
[...]low[...] = Lowest threshold (phase 1)
check_interval_ms = how often shall we check? (sampling rate)
Default: 100ms (=0.1sec)
shutdown_temp = if we reach this shut down the device!
Default: 80°C
If you want to see msm_thermal doing it's job:
Code:
adb shell
cat /proc/kmsg | grep 'thermal'
What is msm_mpdecision?
100% kernel based multi core decision! (should cpu1/2/3 be online or not?)
This replaces your /system/bin/mpdecision binary which is renamed by the installer to mpdecision_bck.
Check /sys/kernel/msm_mpdecision/conf/ for the configuration.
startdelay = time until mpdecision starts doing it's magic (20000)
delay = time between checks (70)
pause = if something else plugs in the cpu, fall asleep for 10000ms (10 secs)
scroff_single_core = if the screen is off, don't plug in cpu1/2/3. Additionally: Unplug all cpus except cpu0 when screen is turned off (1)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
min_cpus = min cpus to be online, cannot be < 1. Default: 1
max_cpus = max cpus to be online, cannot be > 4. (if you set it to 2 and min_cpus to 1 you will basically have a dualcore) Default: 4
idle_freq = a value against that will be checked if a core +/- is requested. (486000)
If cpu0 is below that value and a core up of another cpu is requested, nothing will happen.
If any other cpu is above that value and a core down of that cpu is requested, nothing will happen. (otherwise it would now put down that cpu even though it is still working, which isn't what we want)
Hot plug thresholds (aka now it gets 'complicated')
This small formula calculates which value will be used: (number_of_cpus_online - 1) * 2
The result of this formula will be the nwns_threshold where a new cpu is hotplugged.
The result of this formula + 1 will be the nwns_threshold where a cpu is unplugged.
nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)
Example:
One cpu is online.
(1 - 1) * 2 = 0 ergo:
nwns_threshold_0 = cpu1 will be hotplugged at this value
((1 - 1) * 2) + 1 = 1
nwns_threshold_1 = cpu0 will be unplugged at this value
Since we can't unplug cpu0 this is '0'.
Two cpus are online.
(2 - 1) * 2 = 2 ergo:
nwns_threshold_2 = cpu2 will be hotplugged at this value
((2 - 1) * 2) + 1 = 3
nwns_threshold_3 = cpu1 will be unplugged at this value
etc...
The default values are:
NwNs_Threshold: 12, 0, 25, 20, 32, 28, 0, 35
TwTs_Threshold: 140, 0, 140, 190, 140, 190, 0, 190
Where the position and function of the number equals the result of the above explained formula.
(all times are in ms)
If you want to see the mpdecision magic happening:
Code:
adb shell
cat /proc/kmsg | grep 'MPDEC'
mpdecision's input event boost, aka project butter
This will boost your min cpu speed if you touch the screen or press a button and gives you full control.
In those events the min cpu freq will be risen to a predefined value (look below) on every online cpu. This boosts overall reaction times and smoothness a lot. (works similar to the qcom mpdecision binary)
Configuration files:
[email protected]:/sys/kernel/msm_mpdecision/conf # ls
boost_enabled
boost_freqs
boost_time
All of them work like the usual sysfs files, except one special case:
boost_freqs will list all frequencies from cpu 0 to cpu x. Cpu 3 and any following cpu will share one frequency.
To change those frequencies echo the cpu number + the frequency in khz. To change the boost freq of cpu3 (and 4,5,6,7,8, etc) the echo would look as follows:
Code:
echo "3 1026000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
for cpu0:
Code:
echo "0 1026000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
Defaults:
Code:
cat /sys/kernel/msm_mpdecision/conf/boost_freqs
918000
918000
702000
594000
How does sweep2wake work? Does it keep my phone awake?
Short answer: No.
Long answer:
Sweep2wake works with IRQs (Interrupts).
An interrupt can be best imagined as you doing something, like shopping at the local super market, when someone jumps in front of you and punches you into your family jewels. You will most certainly not just continue shopping.
In technical terms: An Interrupt interrupts the normal operation of a program and executes "special" code instead.
So if you touch your screen, an interrupt is send on which the touch driver reacts. That's it.
Since we have a capacitive touchscreen you also do not need to worry about any pressure onto the screen.
If you want to disable sweep2wake execute this command on your phone (adb shell or directly), you can also add it to an init.d script.
Code:
echo "0" > /sys/android_touch/sweep2wake
(echoing "1" activates it, which is the default setting)​Recommended governor?
Ondemand.​Why do I have no WLAN?
Due to this kernels very high optimization settings it is too big for our boot.img with WLAN included into the kernel, so it is built as a module. That means it needs to be inserted into the kernel upon boot up, which needs to be automated for maximum comfort.
The zip adds this to your ramdisk, if that fails for some reason the wlan module cannot be inserted.
if
Code:
adb shell lsmod
doesn't show this:
Code:
tun 14701 0 - Live 0x00000000
cifs 275399 0 - Live 0x00000000
wlan 2964650 0 - Live 0x00000000 (C)
Then something went wrong. (My fault)
You can test it by executing
Code:
adb shell
su
insmod /system/lib/modules/wlan.ko
Wait a few seconds and try to enable wifi and repeat the above lsmod command (should now show wlan).
If WLAN now works, I messed up.
Open a new issue in the issue tracker and it will be fixed asap.​Last release for 4.2.2?
STABLE: 20130622_233007_master-8fa9be1
BETA: 20130727_023549_exp-d64cabc​
If you look for an app to control your kernel: http://forum.xda-developers.com/showthread.php?p=47773391#post47773391
it is finally here!!!
i spy sweep2wake
So over clock is safe with this???
Sent from my Nexus 4 using XDA Premium HD app
Looking forward to trying this out! Looks awesome. Just out of curiosity is there any reason why this zip is so much larger than the zips for other kernels?
I can't wait to get bricked!
alewis2k12 said:
So over clock is safe with this???
Sent from my Nexus 4 using XDA Premium HD app
Click to expand...
Click to collapse
OP is your friend
Sent from my Nexus 4 using xda premium
---------- Post added at 08:38 PM ---------- Previous post was at 08:38 PM ----------
Locksmith81 said:
OP is your friend
Sent from my Nexus 4 using xda premium
Click to expand...
Click to collapse
It's a yes
Sent from my Nexus 4 using xda premium
Flashed it and will report soon
Do it need to wipe cache ??
jarjar124 said:
it is finally here!!!
i spy sweep2wake
Click to expand...
Click to collapse
Soon(tm)
I am currently making final adjustments to sweep2wake
Perhaps it will be a christmas present?
alewis2k12 said:
So over clock is safe with this???
Click to expand...
Click to collapse
From a thermal point of view: Yes.
But if you set a too high clock and your chip craps out because of too much voltage, that won't save it.
Overclocking is dangerous. It will never be safe, the thermal guard just makes it as safe as on any other phone.
cmikeh2 said:
Looking forward to trying this out! Looks awesome. Just out of curiosity is there any reason why this zip is so much larger than the zips for other kernels?
Click to expand...
Click to collapse
Yes, because of sooooo many optimizations I pumped into the kernel it was getting pretty big, too big for it to fit inside the boot.img with the ramdisk. SO I had to remove stuff from the kernel and put it into modules (wlan,cifs,tun) which are inserted into the kernel upon boot.
You won't feel the difference but it enabled me to include these optimizations.
(the prima wlan module is 22megs or so... freaky big thing.)
mpttrung said:
Flashed it and will report soon
Do it need to wipe cache ??
Click to expand...
Click to collapse
It wipes cache for you.
show-p1984 said:
Soon(tm)
It wipes cache for you.
Click to expand...
Click to collapse
Opps ! It stucks at Google logo @@
I am using stock, any idea ??
mpttrung said:
Opps ! It stucks at Google logo @@
I am using stock, any idea ??
Click to expand...
Click to collapse
I am too on stock, works for me though.
Gimme last_kmsg after you got it into recovery.
show-p1984 said:
I am too on stock, works for me though.
Gimme last_kmsg after you got it into recovery.
Click to expand...
Click to collapse
Red : what do u mean ??
mpttrung said:
Opps ! It stucks at Google logo @@
I am using stock, any idea ??
Click to expand...
Click to collapse
Were you on Franco's kernel?
harpo1 said:
Were you on Franco's kernel?
Click to expand...
Click to collapse
Yeah ! U got stucked too ???
Anybody got a safe OC limit?? And thanks for the help....and coming from Franco as well
Sent from my Nexus 4 using XDA Premium HD app
alewis2k12 said:
Anybody got a safe OC limit?? And thanks for the help....and coming from Franco as well
Click to expand...
Click to collapse
1.7 should be safe, apq8064 is built with that max freq in mind.
Though to be clear: THERE IS NO SAFE OC FREQ. OC IS ALWAYS DANGEROUS!
To all those who have problems, I will provide a stock boot.img in the first post. (gimme a few seconds)
Stock Nexus4 boot.img (flash this if you come from another kernel)
mpttrung said:
Yeah ! U got stucked too ???
Click to expand...
Click to collapse
Yeah if you're kernel hopping make sure you reset back to stock. :good:
UZ7 said:
Yeah if you're kernel hopping make sure you reset back to stock. :good:
Click to expand...
Click to collapse
Flash to stock using fastboot ?
you could also reflash your rom

[KERNEL] Bricked-Kernel Flo/Deb

Welcome to the most customizable N7 2013 kernel on xda
Bricked-Kernel Nexus 7 2013 (flo/deb)​
Features:
* Based upon Googles msm 3.4 source
* Various other fixes (look @ github)
* Compiled with gcc4.7.2 toolchain (linaro 09.12)
* -O3 optimized
* Snapdragon S4 & CortexA15 optimizations
* vastly improved touchscreen drivers, which made it rock stable even before Google patched the firmware
* Sweep2wake
* DoubleTap2Wake
* replaced qcoms hotplug binary with msm_mpdecision (IN-KERNEL, better battery life + performance)
* Extensive sysfs interface for mpdecision with all the tuneables you want (/sys/kernel/msm_mpdecision/)
* replaced the thermald binary with my IN-KERNEL solution. (/sys/kernel/msm_thermal/)
* export krait version to: /sys/kernel/debug/krait_variant
* modified ondemand governor
* Allow OC up to 1,83Ghz
* Fixed min cpufreq resets
* Undervolting
* Sound Control (faux123)
* Default clocks: 384min & 1512max
Zip features:
*** ON-THE-FLY-RAMDISK EDITS!
*** THIS KERNEL USES YOUR RAMDISK, it will just modify it on the fly while flashing. These changes are not creating any incompatibilities with roms/other kernels. (Except those roms which intentionally go incompatible to stock/aosp on a driver level)
* removes min freq overrides from the ramdisk
* removes governor overrides from the ramdisk
* adds init.d support to your ramdisk (if not already supported)
* modifies stock ondemand settings
* add module insertion
Check the compare links for the rest ​
Where is tha Changelog???
There will be no more changelogs.
Instead the download pages were outfitted with compare links to github for each download.​
What is sweep2wake?
Yes that is a mako, works the same way on the flo though ​
How to install?
Flash through recovery. #done.​
How to uninstall?
Flash this through recovery:
Bricked_uninstaller
Bye.​
Where to complain about errors/bugs?
Please use the Issuetracker for bugs/errors/feature wishes!
Issuetracker @ https://github.com/showp1984/bricked-flo/issues
[email protected]
IRC Chat: Freenode IRC #bricked​
Download:
No Guarantees! If it kills your grandmother or your device, I am NOT responsible! If you understand this:
(If you download, please hit Thanks below my post! Thank you!)
>>> DOWNLOAD <<<​
Donor List:​
> Hall of fame <
Thank you very much!​
Source:
​
What is msm_thermal?
Kernel based 3-phase thermal control!
This replaces your /system/bin/thermald binary which is renamed by the installer to thermald_bck.
It will throttle your cpu speed to keep it cool and unleash it if the cpu has cooled down enough. (3 phases: low, mid and high)
Check /sys/kernel/msm_thermal/conf/ for the thermal configuration
allowed_max_high = highest threshold (phase 3)
allowed_max_low = remove the throttling if we cooled down to this (clr_thrshold)
allowed_max_freq = max frequency if throttled (limit)
[...]mid[...] = same as above, just for phase 2
[...]low[...] = Lowest threshold (phase 1)
check_interval_ms = how often shall we check? (sampling rate)
Default: 100ms (=0.1sec)
shutdown_temp = if we reach this shut down the device!
Default: 80°C
If you want to see msm_thermal doing it's job:
Code:
adb shell
cat /proc/kmsg | grep 'thermal'
What is msm_mpdecision?
100% kernel based multi core decision! (should cpu1/2/3 be online or not?)
This replaces your /system/bin/mpdecision binary which is renamed by the installer to mpdecision_bck.
Check /sys/kernel/msm_mpdecision/conf/ for the configuration.
startdelay = time until mpdecision starts doing it's magic (20000)
delay = time between checks (70)
pause = if something else plugs in the cpu, fall asleep for 10000ms (10 secs)
scroff_single_core = if the screen is off, don't plug in cpu1/2/3. Additionally: Unplug all cpus except cpu0 when screen is turned off (1)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
min_cpus = min cpus to be online, cannot be < 1. Default: 1
max_cpus = max cpus to be online, cannot be > 4. (if you set it to 2 and min_cpus to 1 you will basically have a dualcore) Default: 4
idle_freq = a value against that will be checked if a core +/- is requested. (486000)
If cpu0 is below that value and a core up of another cpu is requested, nothing will happen.
If any other cpu is above that value and a core down of that cpu is requested, nothing will happen. (otherwise it would now put down that cpu even though it is still working, which isn't what we want)
Hot plug thresholds (aka now it gets 'complicated')
This small formula calculates which value will be used: (number_of_cpus_online - 1) * 2
The result of this formula will be the nwns_threshold where a new cpu is hotplugged.
The result of this formula + 1 will be the nwns_threshold where a cpu is unplugged.
nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)
Example:
One cpu is online.
(1 - 1) * 2 = 0 ergo:
nwns_threshold_0 = cpu1 will be hotplugged at this value
((1 - 1) * 2) + 1 = 1
nwns_threshold_1 = cpu0 will be unplugged at this value
Since we can't unplug cpu0 this is '0'.
Two cpus are online.
(2 - 1) * 2 = 2 ergo:
nwns_threshold_2 = cpu2 will be hotplugged at this value
((2 - 1) * 2) + 1 = 3
nwns_threshold_3 = cpu1 will be unplugged at this value
etc...
The default values are:
NwNs_Threshold: 12, 0, 25, 20, 32, 28, 0, 35
TwTs_Threshold: 140, 0, 140, 190, 140, 190, 0, 190
Where the position and function of the number equals the result of the above explained formula.
(all times are in ms)
If you want to see the mpdecision magic happening:
Code:
adb shell
cat /proc/kmsg | grep 'MPDEC'
mpdecision's input event boost, aka project butter
This will boost your min cpu speed if you touch the screen or press a button and gives you full control.
In those events the min cpu freq will be risen to a predefined value (look below) on every online cpu. This boosts overall reaction times and smoothness a lot. (works similar to the qcom mpdecision binary)
Configuration files:
[email protected]:/sys/kernel/msm_mpdecision/conf # ls
boost_enabled
boost_freqs
boost_time
All of them work like the usual sysfs files, except one special case:
boost_freqs will list all frequencies from cpu 0 to cpu x. Cpu 3 and any following cpu will share one frequency.
To change those frequencies echo the cpu number + the frequency in khz. To change the boost freq of cpu3 (and 4,5,6,7,8, etc) the echo would look as follows:
Code:
echo "3 1026000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
for cpu0:
Code:
echo "0 1026000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
Defaults:
Code:
cat /sys/kernel/msm_mpdecision/conf/boost_freqs
918000
918000
702000
594000
How does sweep2wake work? Does it keep my phone awake?
Short answer: No.
Long answer:
Sweep2wake works with IRQs (Interrupts).
An interrupt can be best imagined as you doing something, like shopping at the local super market, when someone jumps in front of you and punches you into your family jewels. You will most certainly not just continue shopping.
In technical terms: An Interrupt interrupts the normal operation of a program and executes "special" code instead.
So if you touch your screen, an interrupt is send on which the touch driver reacts. That's it.
Since we have a capacitive touchscreen you also do not need to worry about any pressure onto the screen.
If you want to disable sweep2wake execute this command on your phone (adb shell or directly), you can also add it to an init.d script.
Code:
echo "0" > /sys/android_touch/sweep2wake
(echoing "1" activates it, which is the default setting)​Recommended governor?
Ondemand.​Why do I have no WLAN?
Due to this kernels very high optimization settings it is too big for our boot.img with WLAN included into the kernel, so it is built as a module. That means it needs to be inserted into the kernel upon boot up, which needs to be automated for maximum comfort.
The zip adds this to your ramdisk, if that fails for some reason the wlan module cannot be inserted.
if
Code:
adb shell lsmod
doesn't show this:
Code:
tun 14701 0 - Live 0x00000000
cifs 275399 0 - Live 0x00000000
wlan 2964650 0 - Live 0x00000000 (C)
Then something went wrong. (My fault)
You can test it by executing
Code:
adb shell
su
insmod /system/lib/modules/wlan.ko
Wait a few seconds and try to enable wifi and repeat the above lsmod command (should now show wlan).
If WLAN now works, I messed up.
Open a new issue in the issue tracker and it will be fixed asap.​
If you look for an app to control your kernel: http://forum.xda-developers.com/showthread.php?p=47773391#post47773391
Wohoooooo the best kernel on sensation thread now reaches nexus 7!!! That's awesome :highfive:
Sent from my Nexus 7 using xda app-developers app
Drunken_elk said:
Wohoooooo the best kernel on sensation thread now reaches nexus 7!!! That's awesome :highfive:
Click to expand...
Click to collapse
It's been on the flo since September the 19th, there just wasn't an xda thread for it
Oh damn . Anyway good choice to add the thread
Sent from my Nexus 7 using xda app-developers app
no fsynch trigger? or just not mentioned in features?
L-ViZ said:
no fsynch trigger? or just not mentioned in features?
Click to expand...
Click to collapse
Whoever disables fsync is a maniac. It is not in this kernel and will never get in. That's my totally honest opinion.
Using a no fsync, or 'dynamic' fsync kernel is the equivalent of jumping from a skyscraper with nothing but a napkin.
Best Nexus 5 kernel il now on N7 ! Awesome ! Thank's for this
Envoyé depuis mon Nexus 7 avec Tapatalk 4
Assume this is based on the new 4.4.1?
Sent from my Nexus 4 using Tapatalk
ogrillion said:
Assume this is based on the new 4.4.1?
Click to expand...
Click to collapse
Indeed.
Hey man, good to see more talented kernel devs on this device, yours was one of my favourites back on my HTC One X
Any chance of merging kexec patch for multirom support?
http://forum.xda-developers.com/showthread.php?t=2457079
Nexus 7 LTE
Stock rooted KOT49E
Faux Kernel
show-p1984 said:
Indeed.
Click to expand...
Click to collapse
Oh god ! Downloading now !
Envoyé depuis mon Nexus 7 avec Tapatalk 4
Can you include the MultiROM patch in the kernel?
Sent from Tapatalk, using Tapatalk
show-p1984 said:
Indeed.
Click to expand...
Click to collapse
made for 4.4.1 means only usable on 4.4.1 or works on 4.4 too?
Will this brick my phone
Does Slimport work with this? I have had other kernels flick out after 5 minutes or so.
Sent from my Omni 4.4 Galaxy S3. Proud Googy Beta tester.
Works with CM11?
L-ViZ said:
made for 4.4.1 means only usable on 4.4.1 or works on 4.4 too?
Click to expand...
Click to collapse
I can tell you that I am running it on Bruce's 4.4 odexed and is running brilliantly so far. Installed it early this morning and running great so far.
Quiksilver78 said:
Works with CM11?
Click to expand...
Click to collapse
It should.
Give it a try, the install process make a backup of your current Zimage, if something goes wrong, just flash the uninstaller and your'll get back to your unmodified rom.
lionelia said:
It should.
Give it a try, the install process make a backup of your current Zimage, if something goes wrong, just flash the uninstaller and your'll get back to your unmodified rom.
Click to expand...
Click to collapse
Turning on WiFi caused boot loops for me lol
I figured it wasn't supposed to work so I didn't report it so I flashed slimkat

[KERNEL][SM-T510] Minhker kernel

= Device : SM - T510
= Version : 14.6 =
= Chipset : Exynos7904 - mali G71 mp2 exynos7885
= Android : kernel tested =
= Tipe : Overclock, Underclock, UnderVolt =
= Developer : @minhka98 XDA =
= Contact : @Minhker Telegram ID =
= Contact for want suprort your devices =
================================================== =
================================================== =
= Overclocked kernel increase performance 30% =
= From a antutu score of 122k to 159k =
= Banance performance and battery =
================================================== =
================================================== =
= Overclock Big cpu from 1,9Ghz to 2,1Ghz =
= Overclock Litte cpu from 1,6Ghz to 1,7Ghz =
= Underclock Big cpu from 936mhz to 208mhz =
= Underclock Litte cpu from 449mhz to 208mhz =
= Overclock Gpu from 845mhz to 1,1Ghz =
= Reduce min_threshold and Max_threshold for Gpu =
= Reduce Vontage Cpu,Gpu,Mif and Int for Battery =
= Repair Freq of Thermal =
= Repair Bus suport Cpu,Gpu =
= Add more Governor =
= Removing Security Stuffs =
= Ect........ =
= Using magisk 19.3 =
= không biết có ai cảm ơn không ta "_" =
================================================== =
thanks to @midhunvnadh for kernel Source
link kernel t510
https://drive.google.com/file/d/15pVAxJIA20_A9fmcIqY5v29Xl3_gkzvy/view?usp=sharing
another kernel a30 a30s a20 a10 a40 m20 m30 in here
https://drive.google.com/drive/u/0/folders/1Th6l0s0FCPUMrGeZien68IzHstrI92_o
XDA:DevDB Information
[KERNEL][SM-T510] Minhker kernel, Kernel for the Samsung Galaxy Tab A series
Contributors
minhka98
Source Code: https://github.com/minhker/android_kernel_samsung_gta3xlwifi
Kernel Special Features:
Version Information
Status: Testing
Created 2020-08-09
Last Updated 2020-08-09
Mày làm cách overclock máy samsung tab e (t561y) đi
@minhka98
Do not think that there are no people on this forum who can speak Vietnamese. Please pay attention to Admin. to the edge!
kathvings said:
@minhka98
Do not think that there are no people on this forum who can speak Vietnamese. Please pay attention to Admin. to the edge!
Click to expand...
Click to collapse
what do u want
minhka98 said:
what do u want
Click to expand...
Click to collapse
I want to report to the administrator. that you swore in this status! Be the decent person!
I flashed this kernel.
Few things to note :
1) Big Cluster only clocks to 2184Mhz, unlike the 2.3Ghz that has been posted.
2)GPU OC goes till 1.1Ghz, not the 1.3Ghz that has been posted.
3)No voltage and Power level control for the GPU, as posted by the OP.
4)Schedutil has been removed and replaced with the default hmp governors: interactive, performance , powersave ......
5) No voltage control for CPU.
kathvings said:
I want to report to the administrator. that you swore in this status! Be the decent person!
Click to expand...
Click to collapse
If you can't handle a swear word (in any language) I might suggest getting off xda?
UlOlLyfZ said:
I flashed this kernel.
Few things to note :
1) Big Cluster only clocks to 2184Mhz, unlike the 2.3Ghz that has been posted.
2)GPU OC goes till 1.1Ghz, not the 1.3Ghz that has been posted.
3)No voltage and Power level control for the GPU, as posted by the OP.
4)Schedutil has been removed and replaced with the default hmp governors: interactive, performance , powersave ......
5) No voltage control for CPU.
Click to expand...
Click to collapse
Thanks for repot
I have used this kernel for the past week and a half.
I use my tab for media consumption like Youtube, Netflix.
I don't play any games on my tab.
I've been using the Legion OS GSI along with this kernel, and it has been the best I have ever experienced on this device.
Battery backup is great.
The screen on time is great. I get anywhere from 8 to 10.5 hrs, during media consumption.
Responsiveness is good, though I do have the little cluster set to performance and the big cluster on interactive.
Overall, this kernel + LegionOS GSI = amazing combo for this tab.
I would love it if the other features mentioned in my earlier post (which are in the OP but not in the kernel ) were finally added, but even as it is , this kernel is pretty good.
UlOlLyfZ said:
I have used this kernel for the past week and a half.
I use my tab for media consumption like Youtube, Netflix.
I don't play any games on my tab.
I've been using the Legion OS GSI along with this kernel, and it has been the best I have ever experienced on this device.
Battery backup is great.
The screen on time is great. I get anywhere from 8 to 10.5 hrs, during media consumption.
Responsiveness is good, though I do have the little cluster set to performance and the big cluster on interactive.
Overall, this kernel + LegionOS GSI = amazing combo for this tab.
I would love it if the other features mentioned in my earlier post (which are in the OP but not in the kernel ) were finally added, but even as it is , this kernel is pretty good.
Click to expand...
Click to collapse
Nice
i tried to flash on a stock rom (rooted unlocked) but it doesn't works. bootloop for me.
does anyone try it yet?
i'm using an sm-t510
Hey guys just a quick question:
Is it good for gaming? Does this focus on battery life or performance more?
Pls reply I've been searching for a week now.
this still under development? or abandoned?
Link for download is not work
can someone repost the kernel? link is broke.

Categories

Resources