[KERNEL] [ANY ROM] [ARM64] [3.10.56] [UBERTC-4.9] Extreme Kernel [K5 KILLER] A6020+ - Lenovo Vibe K5 Plus ROMs, Kernels, Recoveries, & O

Hello everyone! I'm here to share with you my custom kernel for lenovo vibe k5. this kernel contains overclock for CPUs and GPU, also undervolting and overvolting. This kernel is based on CM13 kernel source of @Shreps and @scritch007 ... now I will tell some specs of the overclocks and some resources...
#include
/*
* I am not responsible for bricked devices, dead SD cards, thermonuclear
* war, or the current economic crisis caused by you following these
* directions. YOU are choosing to make these modificiations, and
* if you point your finger at me for messing up your device, I will
* laugh at you.
*/
Click to expand...
Click to collapse
Minimum and Maximum CPU regulator voltages: 1,03V - 1,355V -> stock: 1,05V - 1,35V;
Minimum and Maximum GPU regulator voltages: stock: 1,225V / 1,225V -> modified: 1,285V / 1,285V;
PLL Voltages:
-SVS (Smart Voltage Scaling) mode: 1,725V;
-NORMAL mode: 1,8V (stock is 1,8V) ;
-TURBO mode (used in performance governor): 1,885V (+85mV, stock is 1,8V too).
Voltage levels for CPU:
level 1 to level 13: 1,03V (stock is 1,05V, so is -20mV undervolted);
level 14: 1,075V (stock is 1,1V, so is -15mV undevolted);
level 15 1,1V;
level 16 1,125V;
level 17: 1,133V;
level 18: 1,134V;
level 19: 1,13425;
level 20: 1,135V;
level 21: 1,136V;
level 22: 1,162V;
level 23: 1,1705V;
level 24: 1,1875V;
level 25: 1,2005V;
level 26: 1.2675V;
level 27: 1,2875V;
level 28: 1,345V.
*all the stock voltages starting from level 15, in stock is 1,1375V, so level 15 to level 21 is undervolted. Starting from level 22 to level 28, all is overvolted to sustain the overclock.
Now, the frequency levels, associate it to voltage tables:
-> For BIG cores:
1 200MHz
2 345MHz
3 400MHz
4 422MHz
5 499MHz
6 533MHz
7 652MHz
8 729MHz
9 800MHz
10 80MHz
11 883MHz
12 960MHz
13 1036MHz
14 1113MHz
15 1190MHz
16 1267MHz
17 1344MHz
18 1363MHz
19 1420MHz
20 1459MHz
21 1497MHz -> stock maximum
22 1536MHz -> OVERCLOCK
23 1574MHz -> OVERCLOCK
24 1612MHz -> OVERCLOCK
25 1632MHz -> OVERCLOCK
26 1651MHz -> OVERCLOCK
27 1689MHz -> OVERCLOCK
28 1950MHz -> EXTREME OVERCLOCK
For LITTLE Cores:
1 200MHz
2 249MHz
3 400 MHz
5 499MHz
12 800MHz
16 998MHz
17 1113MHz
21 1209MHz
26 1335MHz
27 1866MHz
So... Stock clockrates is undervolted a lot and overclocked clockrates is overvolted a lot too, but i've been tested all of them and my phone didn't burn, i hope your phone don't burn too
Oh... I've added some voltage quotient adjustments too, so, in last frequency more 45mV will be added depending of system load and -25mV will be decrased too in stock frequency depending system load.
Another things... This kernel haven't custom governors because i'haven't time already for add them but have a lot of needed stuff for hardware what isn't installed on lenovo stock rom and another custom roms... Some of these thins are:
-Qualcomm SVS (Smart voltage scalling with clock);
-WCD9306 HiFi processor drivers;
-QDSP6v2 Ultrasound HW driver;
-Thermal scaling drivers;
-Hardware monitoring with ADC current meter;
-Thermistor support (for battery safety in subsystem);
-Qualcomm camera header 3.1;
-Face detection engine support;
I'm forgetting... I've been incrased SM5414 charger charging current too! So your phone will charge too much faster with more charging current matching with Qualcomm Quick Charger 2.0 specifications.
So... you can see the tests on the screens, on benchmarks i not see a BIG difference on scores (tested with Antutu Benchmark) but in games like asphalt extreme... im running in full configurations without lags! But... BE CAREFUL, CAN OVERHEAT YOU PHONE WITH EXCESSIVE LOADS!
For my tests i've been stopped core control, thermal engine, vdd restriction, everything what can drops performance if temperature incrases, to stop thermal-engine you can type in terminal this two commands: "su" and "stop thermal-engine" -> I'm not responsible for anything what can damage your phone, you do what you want.
Stock and moded thermal engine configurations can variate the scores because the ambient temperature can be influent in this things... on my tests, i've tested in a 25�C room (my work laboratory).
Kernel Source: https://github.com/Vgdn1942/android_kernel_lenovo_msm8929
Original Source Code: https://github.com/boulzordev/android_kernel_lenovo_msm8929
Collaborators: @Luiz Paulo Damaceno , @scritch007 , @Shreps , @vgdn1942 , @Dreamstar
Thanks everyone!
Kernel flashable zip via TWRP Link: https://www.androidfilehost.com/?w=files&flid=138556 -> Future updates will be added here!
Tested on Lenovo VIbe K5 A6020l36 with Snapdragon 616! (1,5GHz BIG - 1.2GHz LITTLE) - Dont work on Snapdragon 415 versions because this kernel have a really big overclock in both clusters in clocks driver.
Changelog 06/12/2016
Added more governors
Added more overclock
Added Adreno Idler
Linux 3.10.51
Power Efficient Workqueues
Incrased UnderVoltage at stock clocks and lower clocks also, reduced the maximum overvoltage with overclock too ( -20~ -60 ~
-60 ~-120 )
Changelog 28/12/2016 - The last of the year 1
AnyROM Patch (thanks to @Dreamstar);
Added Faux sound control (thanks to @Dreamstar);
Added Simple GPU Algorythm;
Improved Adreno Idler;
Added Dynamic Fsync for higher I/O performance causing overall UX performance;
Added User Level thermal control working with thermal-engine -> this allow user control one of throttle temperatures (in this case pm8916tz, the temperature of power management IC);
Added Pocket Mod (for future ROM compilations);
Incrased swapness for an acceptable value;
Added O3 optimizations in kernel build;
Updated voltage mode battery management system with last codeaurora updates;
Reduced ncp6335d regulator slew rate and incrased maximum frequency from 670kHz to 710kHz to improve power efficiency and reduce overheating incrasing inductors impedance of buck converter;
Reduced fan53555 regulator slew rate;
Reduce stock frequencies voltage tables again (more automatic undervolt, something about -52mV for stock frequencies (1.49GHz and 1.20GHz);
Make mdss bandwidth value adaptive - 2,1GB/s ~ 2,35GB/s (Stock is 2GB/s);
Incrased a little more AC Charging current (but, its matching with SM5414 Charger IC limits);
Updated a little KGSL drivers;
Updated 2 years old some SOC audio files;
Minimum GPU Frequency reduced to 19MHz when in really IDLE state;
Added Alucard Hotplug;
Maked Power Efficient Workqueue enabled by default for awaked CPUs to save some power;
Overall Linux and Drivers minor update;
SW2Awake and DT2W is under developement, but, for DT2W you can use "half" function to awake device;
Code:
#include <some audio optimization file for enable 192kHz sample rate by default>;
#include <optimized init.qcom.post_boot.sh>;
#include <optimized thermal-engine for balanced heating / performance>;
#include <wlan.ko module>;
Now a little tutorial: How to obtain maximum performance with this kernel in benchmarks.
After installed, disable any powersave option from kernel configurations with any kernel configuration app, disable hotplug, set the maximum temperature to arround 63�C in kernel configuration app, and enable all cores, set they frequency to maximum as possible (1,95GHz for BIG and 1,86GHz for LITTLE); Now the dangerous part: go to terminal emulator and type:
Code:
su // to obtain superuser privileges
stop thermal-engine //to stop thermal-engine service
Now, go to your benchmark app and test, i recommend to you do this ONLY in cold days or with good refrigeration, for example, you can use the family's fridge for this .
Remember: the kernel doesn't enable automatically overclock, you need to do this by selecting maximum frequency you want, by stock I selected default frequencies to safety.
-Changelog 30/12/2016 - See you soon...
Updating regulator voltages for more undervolt at stock frequencies again (more again);
Added ClusterPlug for hotplug LITTLE Cluster when the system aren't in heavy parallel loads and enable all little cores when high parallel loads start;
Added an sysfs file for user put desired charging current (explanation at end) sm5414 charger specific modification;
Another updates in linux base;
Alucard hotplug disabled by default, but you can enable it to hotplug BIG cores based on system load;
Re-enabled Adaptive Low Memory Killer;
Updated sleep drivers;
Debugging DTS-Eagle API Driver to full support at DSP;
Added kernel level 192kHz for sound driver;
Some audio routing corrections;
Incrased torch brightness a little;
Thermal throttle set to 65�C;
Added new bootlogo, if you dont desire this, download the version with stock bootlogo;
Gesture functions stay buggy, only working half DT2W
-Changelog 07/02/2017
Under and Over voltages regulated again;
GPU Overclock Frequency reduction and added more frequency (powerlevels) steps to GPU;
Modification at DC/DC converters (clocks and maximum currents);
QuickChargeCurrent file minimum value modification;
ALSA updates;
Stills with UBER 4.9 TC;
Light RAM Overclock;
Bandwidth between GPU and Display reduction to reduce random reboot chances;
Little updates at Linux base and KGSL Drivers (kernel side);
F2FS Support;
Gesture functions stay buggy .
-> for user control maximum charging current:
--This mod will allow user set the maximum current of USB port when connected in AC charger, when is on USB, the charger is't changed, always 500mA!
--The SM5414 IC can deliver 2500mA without problems, but i limited the maximum at 2250mA.
--For the normal charge, i set 1650mA maximum, but you can go up to 2250mA without problems, also you can set values of 100mA to 2250mA with 50mA steps, for example: 100mA to 150mA, not to 120mA or 140mA, the driver will make approximations to the next or last step current. But you can jump for example of 1000mA for 2250mA, after 1 minute you saved the value the charger module will read the new value and set maximum corrent.
--The file is /sys/modules/sm5414_charger/parameters/quickchargecurrent , when you open file you will see 1650 number, this is my default value when maked the mod on driver, you can set according already explained.
OBS: if you try to set values up to 2250mA, the driver will not read and set to the maximum limited value, in this case, 2250mA.
OBS2: the readed current in apps like ampere or hwmonitor is an post-regulated current, so can be more than the USB current because inside we have buck converters, this converter type reduces the voltage (in case of charger form 5~6V to 4,4V for battery) and incrases the output current, because P=V*I in both sides, input and outpt (in ideal mode).
So... For 2016 its this.
Last Antutu Test with CM-14.1:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
New Antutu Benchmark tests with lineage-14.1:
:silly:

Wow! Good job bro. Thank you!
How about A6020a40? Does this kernel also support A6020a40 out of the box?
Sent from my cm_A6020 using Tapatalk

Scurzmann said:
Wow! Good job bro. Thank you!
How about A6020a40? Does this kernel also support A6020a40 out of the box?
Sent from my cm_A6020 using Tapatalk
Click to expand...
Click to collapse
I dont know, you need to test it, but i think works too.

Is there any chance we can get VOLTE?
Which build of CM 13 should i install to use this kernel? Because latest one include caf, and CM 13 which dont have CAF is very outdated.
Any way to use this on CM 13 based other ROM?

Plz make a kernel for cm14.1 based roms......android 7.1 roms are stable now bluetooth and video recording fixed in AICP ROM
Here is the link http://www.androidpit.com.br/forum/728429/lenovo-vibe-k5-rom-7-1-unofficial-aicp-android-ice-cold-project-12-1-lenovo-vibe-k5

So, are there no custom governors, not even the ones in the @scritch007's kernel?

Thanks man ! Finally I install this kernel on CM 13 (latest)
Auto brightness fix
So smooth no lag at all
battery drain
Very very very good battery life as compare to stock.
So only problem is crackling audio.
I think minimum sound is very loud.
Man we need more kernel then ROM.
Any other kernel with custom governor, and for better battery life.
Please!
BTW My device is vibe k5 plus a46 2 GB

netship said:
Thanks man ! Finally I install this kernel on CM 13 (latest)
Auto brightness fix
So smooth no lag at all
No battery drain
Very very very good battery life as compare to stock.
So only problem is crackling audio.
I think minimum sound is very loud.
Man we need more kernel then ROM.
Any other kernel with custom governor, and for better battery life.
Please!
BTW My device is vibe k5 plus a46 2 GB
Click to expand...
Click to collapse
UPDATE- hotplug not working.
I think CPU/GPU never throttle no matter how much battery/CPU temperature is.
So sometime it heat device.
Any way to throttle CPU .
I am gonna try kernel adiutar.

brajesh143 said:
Plz make a kernel for cm14.1 based roms......android 7.1 roms are stable now bluetooth and video recording fixed in AICP ROM
Here is the link http://www.androidpit.com.br/forum/728429/lenovo-vibe-k5-rom-7-1-unofficial-aicp-android-ice-cold-project-12-1-lenovo-vibe-k5
Click to expand...
Click to collapse
+1
Yes! we need custom kernel for cm14.1(more stable then cm 13).
BTW this kernel charge battery very fast.
Hope we gonna see update.
Can we get double tap to wake feature.

netship said:
+1
Yes! we need custom kernel for cm14.1(more stable then cm 13).
BTW this kernel charge battery very fast.
Hope we gonna see update.
Can we get double tap to wake feature.
Click to expand...
Click to collapse
+1. And yeah, having to press power button each time to wake the phone isn't so ideal. It would be very nice if double-tap-to-wake feature is implemented

In my opinion, you should also reduce the maximum frequency CPU to 1.7-1.8 GHz and add you custom governors.
Everything you do is great. I am very grateful for your work. I hope you will listen to the advice, then your work will enjoy many owners of our devices.

lytvynets221 said:
In my opinion, you should also reduce the maximum frequency CPU to 1.7-1.8 GHz and add you custom governors.
Everything you do is great. I am very grateful for your work. I hope you will listen to the advice, then your work will enjoy many owners of our devices.
Click to expand...
Click to collapse
I test it only once and it was great, now I'm using cm14.1 and waiting for a custom kernel for it.
I was thinking that maybe 1,8 and 1,4 ghz and governors will be great

Thank for your feedback guys, i'm learning to make more modifications in kernel... this is my first mods in a kernel, i also learning about custom governors and this feature (double tap to awake) and another things... i hope you will be patient, i'm doing this only in my free time (arround 1~2 hours by day maximum at night) and this will be a long developement process i think... now i'm will compile an cm13 with this kernel and after cm14.1 because my internet connection have an really poor speed. If someone wants help-me make contact =D

Luiz Paulo Damaceno said:
Thank for your feedback guys, i'm learning to make more modifications in kernel... this is my first mods in a kernel, i also learning about custom governors and this feature (double tap to awake) and another things... i hope you will be patient, i'm doing this only in my free time (arround 1~2 hours by day maximum at night) and this will be a long developement process i think... now i'm will compile an cm13 with this kernel and after cm14.1 because my internet connection have an really poor speed. If someone wants help-me make contact =D
Click to expand...
Click to collapse
thanks for your great work . can u make a one for stock rom a6020a46

Hi, sorry if this is the wrong place to ask but can anyone send me the stock rom mixer_path_skruh.xml file. Its in root/system/etc.
My device: k5 plus(6020a46)

This kernel is not working in A6020a40 ...mobile got bootloop..

pras11 said:
Hi, sorry if this is the wrong place to ask but can anyone send me the stock rom mixer_path_skruh.xml file. Its in root/system/etc.
My device: k5 plus(6020a46)
Click to expand...
Click to collapse
you will get it before today night , when i reach home i'll upload it for you not possible now as m on office now
Regard,
Hardik

Here is the kernel link for k5 / k5 plus with double tap to wake feature.

netship said:
Here is the kernel link for k5 / k5 plus with double tap to wake feature.
Click to expand...
Click to collapse
There are the same kernel, only double tap added, or there are other changes?
---------- Post added at 04:10 PM ---------- Previous post was at 04:06 PM ----------
Who can report experience of using this kernel on K5 plus? How to control frequency? What's the results in tests? Thx for answers)

Deleted

Related

[KERNEL][AOSP/AOKP][08/26/2012] Fluxi XX Kernel JELLYBEAN & ICS

Ktoonsez presents:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
​
Fluxi XX ICS kernel features
•Must-have for CyanogenMod and AOKP ICS
•Linux kernel 3.0.38
•Samsung open source update 4
•Own toolchain XX. 03, Linaro GCC 4.7.1 with NEON-FPU optimizations for ARM Cortex A9
•Optimized kernel configuration
•Compilertweaks
•ClockworkMod recovery xxTouch 5.5.0.4 complete customized & rebuilt
•xxTweaker app with huge range of functions
•Kernel backlight notification BLN, breathing, LED Fadeout / ** BLN & LED in xxTweaker ** /
•Backlight notification BLN / ** 100% compatible with BLN control ** /
•CPU OC/UV 100 1600MHz / ** per xxTweaker, voltage control, SetCPU or init.d script ** /
•District Governor, and Governor settings / **. CPU/governor in xxTweaker ** /
•OnDemand Governor significantly optimized with screen-off profile and boost at low frequencies.
•CPU hotplugging settings / b. CPU/hotplug in xxTweaker ** /
•Power management utilities / b. General, in xxTweaker ** /
•I/o Scheduler / ** General, in xxTweaker ** /
•Load current settings for AC, Misc and USB / ** General, in xxTweaker ** /
•GPU OC/UV 3step 67 400 MHz, 700 1200mV and threshold values / ** per xxTweaker, voltage control or init.d script ** /
•LCD density settings / b. General, in xxTweaker ** /
•ROM Manager / ** per xxTweaker ** /
•Automated Flash of multiple ZIP files in one pass / ** per xxTweaker ** /
•Screen cursor movement hysteresis / ** by xxTweaker or Tegrak touch move ** /
•Screen touch sensitivity (e.g. with display cover) / ** per xxTweaker ** /
•Volume of quiet to LOUDERER adjustable / ** sound settings in xxTweaker ** /
•Super Amoled + mDNIe, hot, wonderful colors without yellow stitch / ** configurable with xxTweaker ** /
•Screen brightness configurable / ** gamma level in xxTweaker ** /
•Screen color temperature configurable / ** shade in xxTweaker ** /
•.. .and much more
•Sources publicly under (I9100 version) https://github.com/myfluxi/xxICSKernel
•Sources publicly under (My I777 version) https://github.com/ktoonsez/xxICSKernel
Click to expand...
Click to collapse
Download CWM flashable zip kernel
****** IMPORTANT - I removed the xxTweaker from auto installing, use link below to get the newest one.
DO NOT USE THE OTA OPTION IT IS FOR I9100, IT FLASHES THE WHOLE KERNEL NOT JUST THE xxTweaker!!
ICS 7/29/2012
http://www.mediafire.com/?jx7b1b12wz849f0
JELLYBEAN 8/26/2012
WARNING: This kernel has updated WIFI and Bluetooth drivers. If you are going back to stock, you need to get those drivers back or those 2 devices will not work. Simply flashing a kernel will not do it unless it also flashs back those drivers (they are in "/system/lib/modules" folder).
http://www.mediafire.com/download.php?7x9mt83na522m6o
Download xxTweaker APK 0.3.9_rc2
http://www.mediafire.com/?rnhnt8lpfhgl83t
Click to expand...
Click to collapse
Link to original thread:
http://www.android-hilfe.de/kernel-...ernel-ics-xxtweaker-app-xxtouch-recovery.html
Special thanks go to myFluxi for the kernel of course and to bajee11 for the English version of xxTweaker and xator91 for the I9100 thread
Click to expand...
Click to collapse
xxTweaker
Troubles with getting xxTweaker working or showing up as installed
1. Clear data for xxTweaker
2. Uninstall xxtweaker
3. Open Superuser and press menu button, click preferences and update Su binary. EVEN IF IT SAYS YOU ARE UP TO DATE!!!!!!!!!!!!!
4. Go flash the newest kernel again
5. Done
If you are still having issues, do Step #3 again, make sure you don't have a file called "/data/.notweaker" and reboot and that should do it.
Click to expand...
Click to collapse
Some great information is post #2 about governors, schedulers and all that good stuff
Click to expand...
Click to collapse
FAQ's and general Help down in Post #2
Changelog in #3
Help with kernel to isolate issues with WIFI battery drain
http://forum.xda-developers.com/showpost.php?p=25876666&postcount=3
Some helpful information on what all these cool settings are in the xxTweaker:
Especially 6th and 7th posts (first page) are very helpful to understand most of the options. (Thanks to Droidphile for the information and to Bethrezen1453 for finding the link)
http://forum.xda-developers.com/show...php?p=23616564
A bit more info regarding what are the kernel options. (Many thanks to Droidphile for all the information)
Q. "What are these modes: IDLE, LPA and AFTR?"
A. Between screen off and deep sleep states, there are some idle modes supported by cpuidle driver. They are IDLE aka Normal Idle, LPA aka Deep Idle and AFTR aka ARM Off Top Running. Race to idle by CPU is implemented for power management.
In IDLE state, CPU is not clocked anymore, but no hardware is powered down.
In deep idle (LPA),a state after IDLE, again, the cpu is not clocked anymore like we guessed but some parts of hardware are powered down. Deep idle brings in real power savings and there is no need of putting a hard limit to frequency during screen-off; using a screen-off profile. (Good practice is to use a governor with built in screen off profile, than using an user-configured screen-off profile by putting a hard limit on frequency). Deep idle is not used when device is entering deep sleep and also when device is woken from suspend/deep sleep. While entering/exiting DEEP IDLE, CPU is set statically to SLEEP_FREQ and is not clocked below or above until it exits this state.
AFTR is a patch to support Top=Off mode for deep idle. Level 2 cache keeps it data during this mode.
We can have IDLE or AFTR modes with LPA enabled or disabled. (Obviously it is not possible to have IDLE and AFTR together)
Values:
0: IDLE
1: AFTR
2: IDLE+LPA
3: AFTR+LPA
Q. "What idle modes are recommended for power saving? How do i change it"?
A. Recommended for power saving is to enable AFTR and LPA, ie value 3
Example:
echo "3" > /sys/module/cpuidle/parameters/enable_mask
Q. "What is sched_mc?"
A. Linaro team invented sched_mc or Schedule Multi Core to make process scheduling multi-core aware. ie, utilize both cores wisely to save power and balance performance. Even though sched_mc is sort of an alternative to cpu hot plugging, we can use sched_mc with the default hot plug mode.
Possible Values:
0 : No power saving load balance, default in our exynos4210 Soc.
1 : Fill one thread/core/package first for long running threads. In our single-CPU dual-core device, multithreading does not come into picture, so load balancing is almost redundant to hotplugging.
2 : Also bias task wake-ups to semi-idle CPU package for power savings. (Bias new tasks to cpu1 if cpu0 is mostly filled with running tasks). This is 'overloading' CPU0 first.
Q. "What value is recommended for sched_mc?"
A. 1) If you find advantages to sched_mc, use sched_mc=1 for a possible battery saving. Anyhow since load-balancing is reduntant on hotplugging, it may not have any advantage on exynos chip.
2) For performance use 2. But do remember that loading CPU0 and leaving CPU1 can not do justice to hitting deep idle states sooner since second core can not enter deep idle. So extra performance or no performance, value 2 will drain some more battery, in the context of delayed didle.
3) To do justice to hotplugging, use value 0.
Example:
echo "0" /sys/devices/system/cpu/sched_mc_power_savings.
Schedulers that i recommend to use. Again massive thanks to Droidphile for the information.
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.
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.
Governors that i recommend to use. Information again by Droidphile.
Lulzactive:
This new find from Tegrak is based on Interactive & Smartass governors and is one of the favorites.
Old Version: When workload is greater than or equal to 60%, the governor scales up CPU to next higher step. When workload is less than 60%, governor scales down CPU to next lower step. When screen is off, frequency is locked to global scaling minimum frequency.
New Version: Three more user configurable parameters: inc_cpu_load, pump_up_step, pump_down_step. Unlike older version, this one gives more control for the user. We can set the threshold at which governor decides to scale up/down. We can also set number of frequency steps to be skipped while polling up and down.
When workload greater than or equal to inc_cpu_load, governor scales CPU pump_up_step steps up. When workload is less than inc_cpu_load, governor scales CPU down pump_down_step steps down.
Example:
Consider
inc_cpu_load=70
pump_up_step=2
pump_down_step=1
If current frequency=200, Every up_sampling_time Us if cpu load >= 70%, cpu is scaled up 2 steps - to 800.
If current frequency =1200, Every down_sampling_time Us if cpu load < 70%, cpu is scaled down 1 step - to 1000.
Conservative:
A slower Ondemand which scales up slowly to save battery. The conservative governor is based on the ondemand governor. It functions like the Ondemand governor by dynamically adjusting frequencies based on processor utilization. However, the conservative governor increases and decreases CPU speed more gradually. Simply put, this governor increases the frequency step by step on CPU load and jumps to lowest frequency on CPU idle. Conservative governor aims to dynamically adjust the CPU frequency to current utilization, without jumping to max frequency. The sampling_down_factor value acts as a negative multiplier of sampling_rate to reduce the frequency that the scheduler samples the CPU utilization. For example, if sampling_rate equal to 20,000 and sampling_down_factor is 2, the governor samples the CPU utilization every 40,000 microseconds.
Lionheart:
Lionheart is a conservative-based governor which is based on samsung's update3 source. Tweaks comes from 1) Knzo 2) Morfic. The original idea comes from Netarchy. See here. The tunables (such as the thresholds and sampling rate) were changed so the governor behaves more like the performance one, at the cost of battery as the scaling is very aggressive.
Lionheart goes well with deadline i/o scheduler. When it comes to smoothness (not considering battery drain), a tuned conservative delivers more as compared to a tuned ondemand.
Do not forget to enable the Lionheart tweaks you must have Conservative governor enabled through the configurator application and then select Lionheart tweaks
Links
*Droidphile thread regarding more info about governors and schedulers and more tweaks
http://forum.xda-developers.com/showthread.php?t=1369817
*Ext4 Optimization information
http://kernelnewbies.org/Ext4
*If you want to try alternative settings from mine and try settings near stock default go to the following thread by Geko95gek and check his great thread out.
http://forum.xda-developers.com/showthread.php?t=1466017"
7/29/2012 Changelog:
•Updated BFQ
•Updated Pegasusq
•Change packet filter settings to block multicast
•Etc.......
7/17/2012 Changelog:
•Linux 3.0.37
•Just some many to list so here is the short of it
•USB
•vhost
•mm
•raid
•PCI: EHCI
•eCryptfs
•ACPI
•etc................
Previous Changelog:
•USB driver from N7000
•Increased pipeline for USB
•Fix file permissions and cleanup of mali
•Increased USB Buffer count
•Correct intermediate freq step and conditional for cpufreq
Previous Changelog:
•Another few tweeks to logging
•Several Recovery updates
•File permissions for vibrator pwm value in Initramfs
Great auto brighness settings (custom backlight settings) from codeworx:
***** Make sure your Exynos Sensor is set to "Open Source" in xxTweaker General section *****
*****WARNING: If you apply the setting before adding ALL the values, you'll have to do a full wipe. *****
CWM Flashable (This sets all the custom backlight values from below in one zip. You will have to flash this everytime you do a Wipe Data/Factory Reset)
REMEMBER THAT THIS WILL NOT WORK IF YOU HAVE JUST WIPED ALL DATA AND THEN TRY TO FLASH THIS IN THE SAME RECOVERY SESSION, YOU NEED 1 REBOOT TO MAKE THIS WORK.
http://www.mediafire.com/?3dwevbpdh0p9j6z
Code:
0 12
6 18
9 26
14 30
20 34
30 39
46 45
68 51
103 59
154 67
231 77
346 88
519 101
778 116
1168 133
1752 152
2627 174
3941 199
5912 228
8867 250
nice!!!! you might need a little work on your dates, but i still except you bro.
task650 said:
nice!!!! you might need a little work on your dates, but i still except you bro.
Click to expand...
Click to collapse
LOL, copy pasted from original, fixing right now
Flashing now
This looks interesting. Might have to give it a try
Sent from my SGH-I777 using Tapatalk 2
task650 said:
nice!!!! you might need a little work on your dates, but i still except you bro.
Click to expand...
Click to collapse
Might need a little work on your grammar
Jp u know i love u
Red5 <3
Dang Ktoons!!!! At this rate we'll never get these kernals set in after a few battery cycles to see which is best!
Great job getting these kernals to us... you and task make this phone awesome!
Sent from my SGH-I777 using xda premium
Why u not has download link?!!
Red5 <3
dirtbikerr450 said:
Flashing now
Click to expand...
Click to collapse
Not sure what you are flashing man, I havent put up the link yet.
Colonel is at it again!
Sent from the Nodes of Ranvier
To keep guys entertained look at how this retard parked at my work today
Red5 <3
OP Updated:
Download CWM flashable zip
http://www.mediafire.com/?7888m7e9e7ysm86
Click to expand...
Click to collapse
ktoonsez said:
Not sure what you are flashing man, I havent put up the link yet.
Click to expand...
Click to collapse
I was just gonna say that! Thought there was something I wasn't seeing lol
Sent from the Nodes of Ranvier
U forgot xxtweaker lol
Red5 <3
Found it
http://forum.xda-developers.com/attachment.php?attachmentid=1060018&d=1336987618
Red5 <3
JordanElliott said:
Found it
http://forum.xda-developers.com/attachment.php?attachmentid=1060018&d=1336987618
Red5 <3
Click to expand...
Click to collapse
Just saw that, it didnt take my link but OP is fixed and here it is again:
http://forum.xda-developers.com/attachment.php?attachmentid=1060018&d=1336987618
Sweet something new to try out.
transmitted from the Dark Obelisk
Now your just showing off.

[KERNEL][GPL][Linaro][WiFi/3G] motley b49 2013-02-24 (added dynamic GPU OC)

motley kernel for the Nexus 7 and Jellybean
Disclaimer: You know the gig...I am not responsible for damaging your device or voiding your warranty. Play at your own risk!
ROM devs/cooks: If you want to use this kernel in your ROM, I am fine with that, but please include a "thanks" and a link back to this thread. Thanks!
Requirements (please read carefully and visit the other dev threads as necessary)
You must be unlocked and rooted.
You must have custom recovery installed (CWM or TWRP) to install the kernel.
Busybox is required for init.d support.
Do a backup using custom recovery (CWM or TWR) so you can restore your boot.img and ROM if necessary!
Have your ROM zip in /sdcard so you can restore your ROM if necessary.
System Tuner is recommended for tuning the CPU, especially for voltage control.
Main Features
GPL compliant - source is kept up to date at github.com and released at the time the kernel is released to the public for all builds. Ask other devs to do the same!
Asus\Nvidia\Google Linux 3.1.10 base. All stock features are supported (camera, OTG, NFC etc.)
OC to 1.6GHz (optional)
Voltage control - be careful to not save the setting on boot until you are 100% sure!
GPU OC from 416 to 520MHz (default is 446, adjust as you wish up to 520MHz)
Dynamic EDP - allows EDP to remain enabled (safer), but with an added simple temperature throttle switch (based on Asus Prime)
Compiler optimizations (-O2) - using Linaro 4.7 ARM toolchain
I/O schedulers - row (default), SIO, V(R), CFQ, NOOP, and deadline
TCP Congestion Control - default cubic + several different algos to choose from.
ZRAM - must be enabled by a script
Governors - Interactive (default), Performance, OnDemand, PowerSave, Conservative
initramfs - insecure (your ROM must have busybox)
CIFS/UTF8, NFS, NTFS r/w, TUN - built-in, no need for any kernel modules
fsync sysfs enable/disable switch (defaults to fsync enabled)
kexec with hardboot (for supporting Linux/MultiROM)
Many other misc patches and tweaks (see github link below)
Install:
Check the requirements above!
Flash the zip using custom recovery (no need to wipe anything)
See post 2 for performance tweaks and more info
build #249 for Jellybean 4.2.2 - WiFi and 3G 2013-02-24
Added ability to change GPU clock speed at runtime (referenced franco, morific, and metallice git repos)
Added row io scheduler and set as default (Tatyana Brokhman)
Added TCP Congestion Control, several different algos to choose from. Default is cubic (stock).
Added optimized ARM RWSEM (Ezekeel)
Input patch (Henrik Rydberg)
View attachment motley_anykernel_N7_build_249.zip
build #247 for Jellybean 4.2.2 - WiFi and 3G 2013-02-17
Merged 4.2.2 patches
Updated Linaro toolchain to 2012.12
View attachment motley_422_nexus7_anykernel_build_247_446GPU.zip
build #246 for Jellybean 4.2.1 - WiFi and 3G
kexec\MultiROM support
Download from here since I posted in the MultiROM thread
build #244 for Jellybean 4.2 - WiFi and 3G - Recommended for WiFi and 3G on 4.2.x
446 GPU build (stock + 30MHz). Let's see if this fixes touchscreen issues for those having them. My theory is that after the GPU heats up, this starts to affect touchscreen behavior on some devices. This is likely what happened to me on build 234 when I was testing. The GPU definitely gets hot on this device even with normal usage at 484+. At 446 this doesn't happen. IMHO, we are reducing the life of the device by overheating the GPU repeatedly. My Antutu scores actually tested higher after I flashed the 446 build.
Supports Android Jellybean 4.2.x
Reverted some commits from 233
Removed KSM from config, no ROM is using this AFAIK
Panel clock reduced to match Nvida cardhu sources (74180000). Having the panel clock cranked up fakes out scores on some benchmark tests, but adds no real value.
View attachment motley_nexus7_anykernel_build_244_446GPU.zip
Previous builds and release notes
build #234 for Jellybean 4.2 - First properly working 3G build
Supports Android Jellybean 4.2.x
Only change - added CONFIG_USB_NET_RAW_IP=y to hopefully address any issues with 3G (reported working by DiamondBack)
View attachment motley_nexus7_anykernel_build_234_484GPU.zip
build #233 for Jellybean 4.2 - if you don't have issues with GPU OC @484, this build may work well for you.
Supports Android Jellybean 4.2.x
Updated to latest Linaro toolchain 2012.10.22 and tweaked some compiler options.
Should support 3G as I have merged the Google patches, but I have not tested this.
Removed WiFi PM_FAST toggle as I see no need for this (PM_MAX for better battery is already the default in stock)
Stopped logging temp warnings until lit gets to 65C near the EDP throttle limit.
Quad-core tweaks - referenced showp1984's bricked grouper kernel source
See github for other minor details.
View attachment motley_nexus7_anykernel_build_233_484GPU.zip
build #232 - Recommended for WiFi on 4.1.2
Added support for Android Jellybean 4.1.2
Updated to latest Linaro toolchain 2012.10.22.
View attachment motley_nexus7_anykernel_build_232_484GPU.zip (GPU OC 484MHz)
stable v1.1.1 - builds #218-220 - Recommended for WiFi on 4.1.0 or 4.1.1
Supports Android Jellybean 4.1.1 or 4.1.0
DVFS tweaks and drop top cpu frequency to 1600, not much is lost and it should now be stable for everyone I hope. We pushed the envelope to 1.7 and 1.624 and now we are back to real world sensible decisions. My Nenamark2 520 GPU scores actually went up.
Dynamic EDP temp adjusted from 67 to 68C to catch temp notifier quicker when cooling back down.
Other miscellaneous patches
Just in case, please note and then unset your saved voltage control settings before using the new version. You may need to clear your System Tuner App data to see the correct frequencies. Remember that the DVFS table and the scaling frequencies are different in some cases (see the second post for details)
View attachment motley_anykernel_nexus7_1.1.1_NoGPUOC_build_220.zip (GPU stock 416GHz)
View attachment motley_anykernel_nexus7_1.1.1_GPU484_build_219.zip (GPU OC 484MHz)
View attachment motley_anykernel_nexus7_1.1.1_GPU520_build_218.zip (GPU OC 520MHz)
alpha v1.1.0 - builds #213-215
Added fsync sysfs enable/disable switch (thanks Ezekeel). fsync is still enabled by default. For more info and how to disable, see post 2.
Experimental: now forging speedo id 4 and process id 2 so that EDP limits are slightly raised and it narrows everyone down to a common DVFS record for everyone. Raised Dynanic EDP governor to 67C (from 60C) to give a little more room before edp is allowed to enable.
Minor cpu voltage table tweaks aiming for slightly better battery for those that don't undervolt.
Lowered the cold offsets from 50 to 25 for the top 4 cpu voltage slots. This will give folks a little more breathing room when undervolting and may help cold performance a bit if your voltages are lowered close to their lower limit.
Deadline i/o scheduler (morfic's secret 1:1 sauce that I remember back from my Iconia A500 days!). SIO is still the default, but we can try it out and see what we think.
OnDemand really wasn't usable in it's stock state since it was so laggy, so I have made some tweaks to the tuneables and it seems to be better now for those that want to give it a spin. Interactive is still the default governor.
cpu transtition latency lowered - fairly certain that it only affects OnDemand governor and not Interactive (reference morfic and http://permalink.gmane.org/gmane.linux.ports.tegra/1649)
Reverted most of the adjustments to the tegra 3 algorirthim for bringing cpus online and offline. I think it livened it up, but at the expense of battery.
Added kernel config option BCMDHD_WIFI_PM (thanks Ezekeel). See post 2 on how to enable it (not recommended unless you have music steaming issues when the screen is off). Not yet tested.
Other miscellaneous tweaks
Just in case, please note and then unset your saved voltage control settings before using the new version. You may need to clear your System Tuner App data to see the correct frequencies. Remember that the DVFS table and the scaling frequencies are different in some cases (see the second post for details)
View attachment motley_anykernel_nexus7_1.1.0_NoGPUOC_build_214.zip (GPU stock 416GHz)
View attachment motley_anykernel_nexus7_1.1.0_GPU484_build_213.zip (GPU OC 484MHz)
View attachment motley_anykernel_nexus7_1.1.0_GPU520_build_215.zip (GPU OC 520MHz)
stable v1.0.12 - builds #175-177
Changed highest frequency back to 1.624GHz and core voltage back to 1200mV. After experimenting with higher core voltages and 1.7GHz probing our limitations, it just doesn't seem right on this tablet. Why fry the butter?
CPU voltage is capped at 1237, so don't set it higher than that if tuning.
Refresh rate now adjusted with GPU OC clock at compile time. Higher FPS should be realized at 484 and 520 for most (thanks to clemsyn for sharing his research and findings)
Adjustments to the tegra 3 algorirthim for bring cpus online and offline, especially for the OC frequencies.
Fixed GPU clock compile time switch. Removed 500MHz choice.
Set cpu frequency policy to 1.3GHz on startup. This should help with heat build-up on startup and users where the highest OC clock rate is not desired.
Lowest brightness setting set back to stock since several users were requesting it (18 back to 13).
Minor adjustment to the interactive governor to make it slightly more responsive when demands increase.
PowerHAL change so it doesn't mess with a couple other interactive governor tunables on init.
All frequencies throughout the power range should be used in a more balanced manner.
Just in case, please note and then unset your saved voltage control settings before using the new version. You may need to clear your System Tuner App data to see the correct frequencies. Remember that the DVFS table and the scaling frequencies are different in some cases (see the second post for details)
View attachment motley_anykernel_nexus7_1.0.12_NoGPUOC_build_177.zip (GPU stock 416GHz)
View attachment motley_anykernel_nexus7_1.0.12_GPU484_build_176.zip (GPU OC 484MHz)
View attachment motley_anykernel_nexus7_1.0.12_GPU520_build_175.zip (GPU OC 520MHz)
alpha v1.0.11 - builds #126-128
Changed highest frequency from 1.624 to 1.7GHz
Increased core voltage for the highest frequency to 1250mV. This should bring some increased stability at the highest two overclock frequencies (thanks to clemsyn and Pinoyto for their help)
Tweaked DVFS table for the GPU. It should now scale a bit better and still bring the same performance and the top end.
Lowest brightness setting increased from 13 to 18 (thanks to clemsyn). Lets give this a try and we can increase it further if need be. The brightness levels can be tweaked on the ROM side as well in the N7 device tree, at least when you build from scratch, so we don't want to be too limiting here.
PowerHAL fix now included /vendor/lib/how/power.grouper.so (thanks to imoseyon). See this post to see the code I changed.
(Removed download links since many were reporting random reboots. I think v1.0.12 is better anyhow)
stable v1.0.10 - build #110/111
CPU frequecies back to 1400, 1500, 1600, and 1624 (leaving the new highest setting)
DVFS table tweaks
Frequency table fix fix for 1624 (thanks to Clemsyn for bringing to my attention!)
Only stock and 484MHz GPU OC version - code switch is still there for those that want to compile and experiment. Moving beyond 484 doesn't show any benefit. My best Nenamark2 score 62.7 was achieved on 484MHz.
Just in case, please note and then unset your saved voltage control settings before using the new version. You may need to clear your System Tuner App data to see the correct frequencies. Remember that the DVFS table and the scaling frequencies are different in some cases (see the second post for details)
experimental v1.0.9 - builds #102-105
CPU OC to 1.624GHz - higher end CPU frequencies are now at 1408, 1504, 1600, and 1624 (old 1400, 1500, 1600, N/A)
DVFS table tweaks - Just in case, please note and then unset your saved voltage control settings before using the new version.
GPU versions stock, 484, 500 and 520MHz builds for testing
Added a GPU OC kernel config choice switch to allow compile time selection of GPU speed (446, 484, 500, or 520MHz).
NTFS r/w enabled
PegasusQ governor no longer built in, but code remains if we want to look further into when time allows.
Reduce some temp reporting kernel log spam until the temp gets a little higher
stable v1.0.8 - build #77/78
Added PegasusQ governor - experimental only, not enabled by default (thanks Samsung SGSIII source and gokhanmoral for tweaks)
Revert "HACK: block fbearlysuspend to not break androids crt-off animation"
Added LulzActive governor, but not built-in due to issues.
stable v1.0.7 - build #70/71
Voltage Control tweak - let's ignore the highest freq slot for show and
save since it shows 1.6GHz twice in the voltage table in System Tuner.
We are are only allowing 1200mV for 1.6, so the top slot is not
currently used. See my notes in post 2 about voltage control.
cpu-tegra: let's skip the temporary downclock and kernel log spam if the
custom Dynamic EDP throttle is not currently enabled.
ARM/VFP compiler optimization
compilation: fix annoying and serious warnings (thanks faux123!)
video: tegra: host: Fix error case memory leaks
When a submit fails, the related nvhost_job is not freed. Add an
explicit free. Also, 3D is mapping the save buffer, but it is not
unmapped (Nvidia)
mm: Ensure pte and pmd stores ordering (Nvidia)
Get rid of some more kernel log spam.
HACK: block fbearlysuspend to not break androids crt-off animation
(thanks codeworx, drewis (repo) and aaronpoweruser for pointing it out). This is untested (by me), but this may help with ROMs that
have this functionality (AOKP etc.)
cpu-tegra3: modified the hot-plug governor down_delay to be 1s
instead of 2s
stable v1.0.6 - build #47/48
GPU clock increased to 484MHz - Nenamark2 scores of 61+
More compiler optimizations (-fmodulo-sched, -fmodulo-sched-allow-regmoves, -funswitch-loops, -fpredictive-commoning, -fgcse-after-reload, -ftree-vectorize, -floop-interchange, -floop-strip-mine, -floop-block, -mfpu=neon )
Now using Koush's AnyKernel delivery method. Uses your existing ramdisk so you can easily use with any ROM.
stable v1.0.5 - build #39
Honor your max frequency fix - no more spikes
alpha v1.0.4 - build #38
Fixes units that can't OC (process_id = 3)
Linaro 4.7.1 toolchain -O2 (2012-06-25)
Increased panel clock rate - increases fps without further GPU clock Nenamark2 scores 59.6 best score so far for Nexus 7
ramdisk added back in boot 1.3GHz, but device still spikes to max allowed CPU freq sometimes (see update below, will be fixed in 1.0.5)
Minor clock and voltage adjustments - should run a bit cooler and use less battery.
Added GPU OC compile switch in case we want a non-OC GPU build.
Added some VPN/networking capabilities for those that need it (L2TP, IP_GRE_DEMUX,INET_AH, INET_XFRM_MODE_BEET)
Some unnecessary debugging options turned off. Should save kernel RAM usage.
Some say it made wifi signal stronger again for them, but I never had any issues. Might be the toolchain and its effect on the broadcom driver. Reports that it is better are fine with me!
alpha v1.0.3 - build #17
UV support, minor voltage adjustments
V(R) i/o scheduler added
ramdisk removed custom init.rc line...hope this will fix the stock units that weren't booting!
alpha v1.0.2 - build #6
Mild GPU OC from 416 to 446MHz - baby steps...its been rock solid so far. NenaMark 2 scores are up from 55 to 57.2fps. A future release may have two versions, one with GPU OC and one without.
Upgraded toolchain to GCC v4.6.3 optimized google version by ezterry, see http://forum.xda-developers.com/showthread.php?t=1686310)
alpha v1.0.1 - build #4
Limit frequency to 1.3GHz on boot. It can then be OC'ed from there. This should make it safer for those that can't OC or don't want to.
Changes to allow OC for Process ID's 0 and 1. Theoretically, these should be earlier release versions like IO and earlier.
alpha v1.0.0 - build #1
This initial alpha release is working well on a Nexus 7 16GB (Speedo ID 7/Process ID 2) on JB 4.1.1. There are no open issues that I know about. Looking for some advanced users and testers to give some feedback, and then we can hopefully make it even better!
Thanks to:
fordwolden - for his generous donation of a Nexus 7
Google and Asus for releasing a nice, open, and inexpensive tablet for the masses.
drewis (Andrew Sutherland) - for the base kernel on github
paulobrien - thanks for the CWM touch recovery
birdman and FadedLite for their Unlock\Rooting instructions
clemsyn for his ideas and insight
Git repo:
https://github.com/motley-git/Kernel-Nexus7
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
(http://www.gnu.org/copyleft/gpl.html)
More info
last_kmsg
Please provide the dmesg output or last_kmsg if you experience any issues (random reboot or crashes) that you think are attributed to the kernel. I ask that you please test with the default/stock kernel first for your rom before you blame the issues on this kernel. Wait for the tab to reboot, or if it doesn't wait long enough so you can capture a good log. If you place this on your /sdcard, it will be easy to capture. Boot into recovery, flash this zip, and then flash a known kernel that works. Then reboot, and go grab the last_kmsg in /sdcard.
View attachment LastKMESG.zip (thanks go to CekMTL, I always keep this handy since you gave it to me!)
Voltage Control
What is voltage control?
It is simply allowing for the cpu voltage to be changed on the fly for each frequency step. CPU voltage is typically lowered (undervolting) for certain frequency steps to conserve power. For an overclocked device, some devices need more juice to be stable than others. Voltage control allows others not to pay this penalty and they can lower the voltage as they see fit for their device and usage needs.
Is undervolting safe?
If the lowered voltage values you enter are stable for the tablet, then absolutely it is safe.
What are the benefits?
Better battery life and less heat
Additional Info on voltage control
Only System Tuner is displaying the DVFS table frequency labels correctly and I recommend that you use this if you want to play with voltage control. SetCPU is showing the scaling frequencies when it displays them in the UI, some of which are for the LP core. This is not correct and is misleading, so it is best not to use it for this kernel.
Since the tools available only allow for tweaking one DVFS table (the high powered G cores), voltage control is not currently possible for the LP core. It is not needed anyhow IMO and setting it too low could result in SOD. There is more battery saving to be had with the G cores anyhow if you are into this sort of tweaking.
The frequencies shown may have two values for one frequency. This is how it came with the factory kernel as well and I have only tweaked the top end of the DVFS table. It may seem weird, but this gives us direct access to the DVFS table. I would recommend keeping it as a staircase, just like Nvidia has it even though some frequencies are listed twice.
The freqs shown in the System Tuner display will match the DVFS table for the cpu_process_id for your tablet (seen in the kernel log at startup). All tablets won't display the same frequencies. There are at least two maybe three or four variants we have found so far for the Nexus 7 with Tegra 3 SoC #7.
Also, some may not know, but the tegra3 kernel also has automatic UV using a "cold" zone in where 50mV undervolting is done automatically when the cpu is cool. Take this into consideration when playing around.
GPU OC
Valid max GPU frequency is 416 - 520 MHz. If you try higher or lower clock speeds, it will fail and remain unchanged.
Examples:
Code:
echo 484 > /sys/devices/system/cpu/cpu0/cpufreq/gpu_oc
Code:
echo 520 > /sys/devices/system/cpu/cpu0/cpufreq/gpu_oc
Performance Tweaks
These are a couple of tweaks that many are using for faster benchmarks and better battery performance. Google it and decide for yourself if you like the risk or not. I recommend that you do a full backup in recovery and regularly backup your /data partion or cloud sync if you enable these options. Will many run them daily as I now do, there is some additional risk. These can be added to scripts and automated via init.d or other apps/tools that support them.
To disable fsync for better battery and better disk i/o performance:
Code:
echo 0 > /sys/class/misc/fsynccontrol/fsync_enabled
To enable fsync for better data integrity (default)
Code:
echo 1 > /sys/class/misc/fsynccontrol/fsync_enabled
Faster disk i/o - remount /data partition with noauto_da_alloc option (google it, better battery, less data integrity)
Code:
mount -o remount,noauto_da_alloc /data /data
TCP Congestion Control Algorithms
Only one can be set at a time, so only add one of the lines to your script. Here are some examples:
Code:
echo "reno" > /proc/sys/net/ipv4/tcp_congestion_control
echo "veno" > /proc/sys/net/ipv4/tcp_congestion_control
echo "vegas" > /proc/sys/net/ipv4/tcp_congestion_control
echo "westwood" > /proc/sys/net/ipv4/tcp_congestion_control
zRAM
What is zRAM?
This is a mainline kernel feature for Compressed RAM block device support (CONFIG_ZRAM)
http://en.wikipedia.org/wiki/ZRam
Like many of the other tweaks done in the Android world, ZRAM is another one of them that is controversial, probably because people only think in terms of immediate performance they can measure easily with benchmarks etc. *Here is my take...think I will add this to the Q&A section as well.
But, will it make my device faster? Will I score higher on benchmarks?
It depends, but for normal usage, the answer is no. zRAM is most useful for those that are configuring Android to be a true multitasking workhorse. For example, if I enable zRAM, open an bunch of apps at one time, and actually start to work towards depleting the memory of the system. *For example, say I open system tuner, a browser with several tabs, a word processing app, a game, and perhaps a picture viewing app or a movie. If I don't formally close out of each one by hitting back and just begin switching between apps and the home screen, you will see zRAM start showing benefits.*
If you tweak the Android memory and swappiness settings, this can also be useful in this type of environment.
How do I know it is initialized and working?
You can type "free" from an command line and see the swap space.
Also, you can look at the disksize to see if it is initialized
cat /sys/block/zram0/disksize
To see how much it is being used in your environment, you can look at the output from:
cat /sys/block/zram0/num_writes
cat /sys/block/zram0/num_reads
So, unless you have a heavy workload as stated above, then it won't be of a lot of use for normal Android users.
How do I enable zram?
It must be enabled by a script. Some ROMs may support activating it. If you need to do it yourself you have two choices.
1) Save this to a file and run the script from terminal, Script Manager or System Tuner.
2) Or better yet, save this to a file called 90zram (or whatever you prefer) in /system/etc/init.d and automate it (The ROM's ramdisk needs to supports init.d)
Code:
#!/system/bin/sh
# auto zram activation init script with busybox search
# by show-p1984
echo "[90ZRAM]: Firing up /system/etc/init.d/90zram";
if [ ! -e /sys/block/zram0/disksize ] ; then
echo "[90ZRAM]: ERROR unable to find /sys/block/zram0/disksize";
echo "[90ZRAM]: Is this a ZRAM kernel?";
echo "[90ZRAM]: ZRAM NOT ACTIVATED. (404)";
else
#find busybox in /system
bblocation=$(find /system/ -name 'busybox')
if [ -n "$bblocation" ] && [ -e "$bblocation" ] ; then
echo "[90ZRAM]: busybox found in:" $bblocation;
echo "[90ZRAM]: Setting ZRAM disksize.";
echo $((100*1024*1024)) > /sys/block/zram0/disksize
echo "[90ZRAM]: Starting ZRAM...";
bblocation=${bblocation%/*}
cd $bblocation
./busybox mkswap /dev/block/zram0
./busybox swapon /dev/block/zram0
echo "[90ZRAM]: ZRAM activated.";
else
echo "[90ZRAM]: ERROR! busybox not found!";
echo "[90ZRAM]: Is busybox installed? Symlinks set?";
echo "[90ZRAM]: ZRAM NOT ACTIVATED. (404)";
fi
fi
Flashed with CWR and it doesn't boot past the Google screen Is there something special I need to do?
*Edit*
I am on the new 4.1.1 "D" or whatever but right now I'm using the Atlantis "1.5" kernel and it works so I donno.
Thanks for another addition to the nexus 7 kernel community, love having different kernels to try.
Clienterror said:
Flashed with CWR and it doesn't boot past the Google screen Is there something special I need to do?
*Edit*
I am on the new 4.1.1 "D" or whatever but right now I'm using the Atlantis "1.5" kernel and it works so I donno.
Click to expand...
Click to collapse
Thx, please grab the dmesg output while booting or last_kmsg if you can. Working fine here, but this why I put it out as an alpha. Even if you boot off another kernel, if you can send a dmesg captured right after boot, that would help so I can see your SoC/Process ID numbers. There are two lines written just after boot with the info. On the Prime, we had different CPUs in some models, but it may just be a voltage issue. I have run Antutu and Quadrant several times without issues though. Not sure about the D update...I I have 4.1.1.
Edit: Version 1.0.1 released, please test again and leave feedback when you can. Please let me know when you received your tab. Is it an early IO version? If this doesn't do it, I most likely will need to increase voltages a bit. Hopefully I won't have to do this so we can keep battery life at it's best.
oh s^&*, you developing here also. oh yeah! glad to see you here buddy. so you have your nexus 7 already? now that i see you here also, i will be unlocking my nexus 7, once it arrives, sooner than i thought. welcome aboard...glad to see familiar faces around here
I had the same issue. Couldn't pass the boot screen after flashing. On 4.1.1 latest update as of July 15th
Sobai said:
I had the same issue. Couldn't pass the boot screen after flashing. On 4.1.1 latest update as of July 15th
Click to expand...
Click to collapse
Thanks, I am dying to take a look at a log to see how I am so lucky to have it working! I've added LastKMSG.zip to the OP. If someone with a booting problem can do the following, I would really appreciate it:
1) Put LastKMSG.zip on your /sdcard along with the newest kernel zip
2) Flash the kernel zip
3) Wait for it to boot, give it a few seconds and then hold power down to reboot if it doesn't do it on its own.
4) Go back into recovery and flash LastKMSG.zip
5) Flash another booting kernel or your current rom to recover.
6) Boot and retrieve the file /sdcard/last_kmsg
7) Attach the log here or PM me with a dropbox link or whatever.
Thanks!
Just got some good news from a gentleman that didn't have enough posts to share with us here yet, so he PM'ed me and said that I can share the details of his experience.
First report was more of the same, sounded familiar, more bad news...
Flashed your kernel and couldn't boot pasted Google screen. Restarted in to boot and couldn't get into recovery. Was stock rooted on the latest 4.11. Went back to stock. Looking forward to trying again, now I'm on Modaco's latest. I'll let you know how it goes.​
Next report was good using the latest version in the OP. Not sure, but this may help others.
Thanks! This kernel is fantastic! Makes this thing a real beast! Sorry I didn't give you the info you asked for! I got it Thursday from GameStop. The problems may have stemmed from the fact that I updated to 4.11 , rooted then side updated the newest little update and then ran a su zip to regain root (Paul o' Brian ROM) . I was also on his first cwm and then updated to his new one after I started from scratch. Loaded up his new ROM, rebooted then applied your 2nd kernel and this thing is hitting 15626 in CF benches!​
Not sure what is going on, but I can't explain it. It may be my 2nd version of the kernel that fixes it, but I am not sure since I haven't seen a log yet. I suppose something may be jacked up with the early versions of recovery or roms, but the I was using the the same early versions when I tested just fine....maybe folks are losing recovery and don't realize it? I did the second step to keep recovery that is now automated in r2. If anyone has any ideas, let me know.
New version released
New version released...see OP. GPU OC to 446MHz (up from stock 416)
Looking for more feedback
_motley said:
New version released...see OP. GPU OC to 446MHz (up from stock 416)
Looking for more feedback
View attachment 1204164
Click to expand...
Click to collapse
Just out of curiously, would you ever try 520mhz for the gpu, to try to get it to t30 speeds? Or maybe would you consider some kind of app interface like extweeks for the galaxy s2 & s3 to control the GPU clock speed and maybe voltages instead of different kernels. As I would personally love to get the GPU to about 460-500mhz Anyway when I get my n7 (hopefully in a day or two) I can't wait to try this out (I am spoilt by the much more powerful 440mhz mali-400mp in the s3, so I would love to try to narrow the power difference between the devices GPU wise)
Nice man! The new versions fixed everything boots great! Now if we can just figure out how to make the Overclock stick after you turn the screen on/off. I'm not sure how to tell if the GPU OC is sticking.
Sent from my Nexus 7 using xda app-developers app
danielsf said:
Just out of curiously, would you ever try 520mhz for the gpu, to try to get it to t30 speeds? Or maybe would you consider some kind of app interface like extweeks for the galaxy s2 & s3 to control the GPU clock speed and maybe voltages instead of different kernels. As I would personally love to get the GPU to about 460-500mhz Anyway when I get my n7 (hopefully in a day or two) I can't wait to try this out (I am spoilt by the much more powerful 440mhz mali-400mp in the s3, so I would love to try to narrow the power difference between the devices GPU wise)
Click to expand...
Click to collapse
Sure, we may push the GPU OC version a bit, but I always like to walk before we run to see how things go. I would like to monitor heat output, battery usage etc. and then move forward in steps. I am very happy with it right now, but dynamic configuration would also be cool. Let me know what you think once you have it hand.
Clienterror said:
Nice man! The new versions fixed everything boots great! Now if we can just figure out how to make the Overclock stick after you turn the screen on/off. I'm not sure how to tell if the GPU OC is sticking.
Click to expand...
Click to collapse
Awesome, glad to hear it! I don't think I see this issue with the OC sticking after you turn the screen off/on, but I will do more checking after work today.
_motley said:
Awesome, glad to hear it! I don't think I see this issue with the OC sticking after you turn the screen off/on, but I will do more checking after work today.
Click to expand...
Click to collapse
Thanks a ton! Yea if you go into setcpu and make it 1.6 then turn the screen off then on (unlock) set CPU slider still shows 1.6 but if you read under that the smaller text says its actually set at.1.3 again. It seems to be a problem with the Atlantis kernel also something to do with hardcoded CPU freqs I think. Oh I wanted 5k soooo bad rofl got this twice rofl.
Sent from my Nexus 7 using xda app-developers app
Clienterror said:
Thanks a ton! Yea if you go into setcpu and make it 1.6 then turn the screen off then on (unlock) set CPU slider still shows 1.6 but if you read under that the smaller text says its actually set at.1.3 again. It seems to be a problem with the Atlantis kernel also something to do with hardcoded CPU freqs I think. Oh I wanted 5k soooo bad rofl got this twice rofl.
Sent from my Nexus 7 using xda app-developers app
Click to expand...
Click to collapse
I've just made profiles that automatically set the clock to 1.5 when the screen turns on again and back to 1.5 when the screen turns off.
Edit*
Just tried the newest version and it failed to boot. Got stuck at the Google Logo. Here is the last_kmsg. Hopefully it helps
(had to put a .txt extension on it btw. Uploader wont let me upload w/o extension)
The Nexus 7 GPU is better than the Transformer Prime due to the faster RAM, so more bandwidth? If I'm correct? Thats why we see a higher Nenamark score at a lower clock?
This kernel looks very promising, excellent work! How much "play" have you had with upping the voltages, before the battery quits? On my TF, I can only go so far before the battery cannot provide enough juice, and it freezes on me. It would be interesting to know for people who want to OC really high. Does anything above 1.6 GHZ actually boot (heat and battery drainage aside)? It would be nice to OC up to 2.0 GHZ, if only for a proof-of concept. Finally, what are the temps you are getting on the higher clocks? It sounds like overheating may start becoming a real issue, and I was just curious.
The ram disk version rendered my tablet unbootable had to flash the Atlantis kernel from fast boot to get it back up and running.
Sent from my Nexus 7 using Tapatalk 2
Good work there, I would suggest adding Smartassv2 as well since it has been a good choice for many dev
I for the life of me can't get this kernel to OC. Tried System Tuner, Setcpu etc. Max only reads 1300mhz nothing shows higher beyond 1300. I have no clue what the deal is. I've tried wiping also. Even tried Atlantis' kernel. on his, it won't allow me to set anything. Max shows 0 and Min shows zero. I am running Pauls Modaco Jr3 and even tried it on EOS' new release. I'm beginning to wonder if its something diff internally. Anyone have any guesses?Also showing root as setcpu requests superuser permissions.
This is what my device shows
Board: grouper
Product: nakasi
Model: Nexus 7
Device: grouper
Build: JRO03D (Modaco Custom ROM Jr3)
google/nakasi/grouper:4.1.1/JRO03D?402395:user/release-keys
Manufacturer:asus
Brand:google
CPU ABI: armeabi-v7a
Kernel
Linux version 3.1.10-motley+([email protected]) (gcc version 4.6.3 (GCC)) #6 SMP
PREEMPT Tue Jul 17 00:52:59 EDT 2012

[RACER][KERNEL] MMB29V | CM-13.0 | CAF | CPUQUIET | 5 Plugs | DT2W | UC-OV | UBERTC 6

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
G+ Community - RACER KERNEL NEXUS 5: https://plus.google.com/u/0/communities/111573013590626593533
Donations through play store app: https://play.google.com/store/apps/details?id=com.racerkernelpal&hl=en
Donate through paypal:
RACER Kernels are built from android-6.0.1_r0.24 / cm-13.0 /cm-13.0-caf base. All features are working! It is fast, silky smooth and only sips battery. I make these builds purely for fun, and for myself, but am sharing these just in case others find it useful. I am only a cherry-picker and not an original developer. Those looking for original stuff, please head over to the work done by the great developers I have mentioned later in this post. I have been running this kernel with no problems. The plan is to keep improving it with regular updates. Do try this kernel and all feedback is welcome.
Enjoy extra battery life by enabling CPUQUIET Hotplug and disabling all other Hotplugs. Use Kernel Adiutor or Kernel Tweaker app to enable and tune CPUQUIET. This feature is now built into all RACER kernels.
DOWNLOAD LINKS
FOR MMB29V/ CM-13.0 / AOSP ROMS
RACER_M: racer features built over official cm-13.0 repo as base
FOR CM-13.0 CAF ROMS
RACER_CAF:.......... official cm-13.0-caf repo as base
RACER_CAF_MF............myfluxi's caf repo as base
Changelogs
Features
Read this before installing:
Boot Loop / Boot Hang (stuck with endless bootanimation) - This could be an issue, especially with AOSP ROMS that have a built in Super Su. See this for clues - http://forum.xda-developers.com/showpost.php?p=64453860&postcount=3262
The kernel can be set with any kernel app. Synapse is officially recommended because it can set almost all the features available. Most features of the kernel can be set with the script from here: https://www.androidfilehost.com/?w=files&flid=44487. Before flashing, you can change the settings in init.settings.rc to your liking. After boot you will have all your settings. If using Synapse, flash UKM 3.8.1 with every kernel update to make sure all new features are visible.
CPUQUIET can be set and tuned only with Kernel Tweaker app . Kernel Auditor can also be used to enable CPUQUIET but not tune it. Do not set any other hotplug on if your enable CPUQUIET.
F2FS Support: No need to modify the ramdisk of the ROM. The kernel does it for you.
For more on F2FS - benefits and working details, please visit: http://en.wikipedia.org/wiki/F2FS
Using the power-key to shut off the screen during charging will save battery and increase charging speed. This settings is available in Synapse / Wake
For best results, clear data from your kernel setting app, clean cache and dalvik, reinstall rom and kernel and boot
I do hope you like this release
Acknowledgements:
Google, @CyanogenMod, @show-p1984 , @myfluxi, @flar2, @franciscofranco, @neobuddy89, @savoca, @maxwen, @Tasssadar, @Cl3Kener, @faux123, Jaegeuk Kim <[email protected]> (Samsung, Inventor of F2FS)
Sources:
Build Sources-
https://github.com/rachanta/kernel_n5_racer/commits/racer-cm
https://github.com/rachanta/kernel_n5_racer/commits/racer-caf-mf
https://github.com/rachanta/kernel_n5_racer/commits/racer-caf
MPDecision, Bricked Thermal and Wake Controls - https://github.com/showp1984/bricked-hammerhead
AOSP Base - https://android.googlesource.com/kernel/msm/+/android-6.0.1_r0.24/
CM Base - https://github.com/CyanogenMod/android_kernel_lge_hammerhead/commits/cm-13.0
CM-CAF Base - https://github.com/CyanogenMod/android_kernel_lge_hammerhead/commits/cm-13.0-caf
CM-CAF-MF Base - https://github.com/myfluxi/android_kernel_lge_hammerhead/commits/cm-13.0-caf-160310
Build Platform:
Ubuntu 15.10, 64 Bit on Dell E5440
Toolchain - UBERTC GCC 6.0.0: https://bitbucket.org/UBERTC/arm-eabi-6.0
Hot plug settings for best battery life
This is how power user @FunkyRasta has mimicked @franciscofranco recommendations
http://forum.xda-developers.com/showpost.php?p=58794360&postcount=1451
http://forum.xda-developers.com/showpost.php?p=58794959&postcount=1453
Settings & Tunings from power users
From @xeraphael
http://forum.xda-developers.com/showpost.php?p=63311535&postcount=2693
Stable working range for RACER L7.0+
Posts by @FunkyRasta, reproduced here for the record:
A quick guide to MSM MPDecision and Three Phase Thermal control by show-p1984
Hotplug section „MSM MPDecsion” in Synapse:
I will not not explain stuff already explained in Synapse itself, I'd rather provide a point of reference and a few profiles for you.
Defaults values for reference:
Runqueue Threshold Hotplug CPU1 - 12
Runqueue Threshold Unplug CPU0 - 0
Runqueue Threshold Hotplug CPU2 - 20
Runqueue Threshold Unplug CPU1 - 7
Runqueue Threshold Hotplug CPU3 - 25
Runqueue Threshold Unplug CPU2 - 10
Runqueue Threshold Hotplug CPU4 - 0
Runqueue Threshold Hotplug CPU3 - 18
Time Threshold Hotplug CPU1 – 140
Time Threshold Unplug CPU0 - 0
Time Threshold Hotplug CPU2 - 140
Time Threshold Unplug CPU1 - 190
Time Threshold Hotplug CPU3 - 140
Time Threshold Unplug CPU2 - 190
Time Threshold Hotplug CPU4 - 0
Time Threshold Unplug CPU3 - 190
Slow Hotplug and Slow unplug of cores – Best battery life, great performance
Runqueue Threshold Hotplug CPU1 - 22
Runqueue Threshold Unplug CPU0 - 0
Runqueue Threshold Hotplug CPU2 - 37
Runqueue Threshold Unplug CPU1 - 18
Runqueue Threshold Hotplug CPU3 - 47
Runqueue Threshold Unplug CPU2 - 22
Runqueue Threshold Hotplug CPU4 - 0
Runqueue Threshold Hotplug CPU3 - 26
Time Threshold Hotplug CPU1 - 400
Time Threshold Unplug CPU0 - 0
Time Threshold Hotplug CPU2 - 400
Time Threshold Unplug CPU1 - 400
Time Threshold Hotplug CPU3 - 400
Time Threshold Unplug CPU2 - 400
Time Threshold Hotplug CPU4 - 0
Time Threshold Unplug CPU3 – 400
HINT: You can combine Hotplugs and Unplugs from these two profiles to get Default Hotplug/Slow unplug etc. mixes to achieve what you want. The presented profiles are delivered with Kcontrol app by show-p1984 himself, if you want to support him then buy it.
Thermal:
Here Synapse screwes up a bit when it comes to naming stuff.
Allowed Low/Mid/High Low should be Low/Mid/High Clear
Allowed Low/Mid/High High should be Low/Mid/High Limit
Firs let's talk about Limit values. If SOC reaches limit value of Low phase it throttles the freq to Allowed Low frequency value. Same goes for Mid and High. If a clear value is reached for Low phase the throttling goes off. Same goes for Mid phase if you set Mid Clear lower than Low Limit. If you set it higher the SOC will go in Low phase and analogically with Mid and High phases.
My recommended settings to keep phone cool without noticeable performance decrease. Completely different than default, which nearly doesn't throttle the phone till it is very hot to drop freq all the way down. Experiment with this values to your liking and compromise beetwen performance/temperature
Low limit – 58 low freq – 1958 MHz
Low clear – 55
Mid limit - 65 mid freq – 1728 MHz
Mid clear – 60
High limit – 70 high freq – 1574 Mhz
High clear - 63
Hope I helped !
For my nearly 40000 bench everything was stock apart and in fact I even set hotplug to slow. Stock thermal would be OK too, not my settings from guide that are supposed to keep phone cool.
With stock settings and stock thermal there's no way you could not have at least 39000 something.
For 43500 run I've raised thermal limits to 80 C, set hotplug Fast in Kcontrol, cooled my phone in the fridge and OC'ed to 2,5 Ghz. Later without cooling at 2,4 Ghz I got 42000.
And I've got to say that battery now on Racer is F***** AWESOME. Exactly two hours screen on with 50 percent battery left ! That's great considering I mostly get 3 hours something SOT from 100 percent with my use. Even greater given the fact that Lollipop drains battery with wifi on (misc battery use in battery history) and that I was playing real racing for 30 minutes.
I'm running 7.0 before it was limited to 2.8 GHz. Today factory images should be relased. Will flash one a post Antutu score with latest build and without any settings editing.
My phone has PVS 3 and undervolted by 35mV.
No cheating no per app setting. Just straight simple, four cores @2,2 GHz ,ondemand governor, deadline scheduler. Minimum freq all the way down to what Synapse allows. Hotplug as in my guide, slow hotplug (try with default) slow unplug. All free thermal phases rased above 80 C using Kcontrol (scroll down and hit apply ! That got me like two times, maybe that's why your antutu runs at 1,9 GHz)
Awesome!! Another Aicp ROM. I will try both flavors now!! Appreciate you're work!!
Sent from my Nexus 5 using XDA Premium 4 mobile app
razrlover said:
Awesome!! Another Aicp ROM. I will try both flavors now!! Appreciate you're work!!
Sent from my Nexus 5 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
No that was only the kernel.
Ah that's why i couldn't find it. Even better
Sent from my Nexus 5 using XDA Premium 4 mobile app
rachanta said:
No that was only the kernel. My AICP ROM with the RACER kernel is here:
http://www.androidfilehost.com/?fid=23329332407587747
Click to expand...
Click to collapse
Can I maybe ask what the difference between your aicp & the other one in these threads, either way I'm defiantly going to try the kernel.
Sent from my Nexus 5 using JellyBombed Tapatalk 2
aheeejd said:
Can I maybe ask what the difference between your aicp & the other one in these threads, either way I'm defiantly going to try the kernel.
Sent from my Nexus 5 using JellyBombed Tapatalk 2
Click to expand...
Click to collapse
AICP uses n3ohammer in which kexec hardboot patch is broken, because of which multi ROM does not work.
RACER is cyanogenmod + faux sound + kexec hardboot. MultiROM works. Everything works as it us supposed to. You are welcome to try.
Sent from my Nexus 5 using Tapatalk
Kernel update 22-04-2014
RACER KERNEL update - merged latest cyanogenmod commit
http://www.androidfilehost.com/?fid=23329332407588171
UNOFFICIAL AICP ROM WITH RACER KERNEL - UPDATE 22-04-2014:
http://www.androidfilehost.com/?fid=23329332407588175
Working on n3ohammer fix which is slated to be included in the official AICP ROM.
Latest Unofficial AICP Kernel & ROM
MultiROM enabled:good:
Kernel
http://www.androidfilehost.com/?fid=23329332407589785
ROM
http://www.androidfilehost.com/?fid=23329332407588832
Unofficial Builds update!
RACER KERNEL UPDATE 24-04-2014:
http://www.androidfilehost.com/?fid=23329332407588846
Changelog:
https://github.com/rachanta/kernel_h..._racer/commits
Coming Soon,,,
Official RACER ROM (AICP Unofficial with RACER Kernel)
UNOFFICIAL AICP KERNEL - UPDATE 24-04-2014:
http://www.androidfilehost.com/?fid=23329332407588790
Changelog:
https://github.com/AICP/kernel_lge_hammerhead/commits
UNOFFICIAL AICP ROM - UPDATE 24-04-2014
http://www.androidfilehost.com/?fid=23329332407588832
Note: This version may contain open commits not yet merged to github
Changelog:
http://gerrit.aicp-rom.com/#/q/statuspen,n,z
RACER ROM
Official RACER ROM (AICP Unofficial with RACER Kernel)
http://www.androidfilehost.com/?fid=23329332407589765
Does your kernel feature dt2w? Thanks for your hard work
Sent from my Nexus 5 using XDA Premium 4 mobile app
razrlover said:
Does your kernel feature dt2w? Thanks for your hard work
Sent from my Nexus 5 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
No dt2w or s2w atm. RACER is plain CM with faux and sound and kexec harboot.
Cool. Very smooth and fast
Sent from my Nexus 5 using XDA Premium 4 mobile app
razrlover said:
Cool. Very smooth and fast
Sent from my Nexus 5 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
My current build at the link has some CPUQUIET Hotplug elements that are supposed to improve battery performance, but their control is not fully functional. I am eliminating CPUQUIET in the next build which I am currently testing.
Sent from my Nexus 5 using Tapatalk
New RACER kernel build in up
New RACER Kernel build is up:
http://www.androidfilehost.com/?fid=23329332407588982
Changelog 25-04-2014:
https://github.com/rachanta/kernel_h..._racer/commits
- Default CPU Freq Governor set to 'ondemand'
- RACER Branding
rachanta said:
New RACER Kernel build is up:
http://www.androidfilehost.com/?fid=23329332407588982
Changelog 25-04-2014:
https://github.com/rachanta/kernel_h..._racer/commits
- Default CPU Freq Governor set to 'ondemand'
- RACER Branding
Click to expand...
Click to collapse
What's the advantages of your kernel? And can I flash it over resurrection remix rom? Thanks in advance

[Kernel][CM12.1][CM13.0][LOS14.1][J500FN/F][07.10]Hotplug enabled kernel

Code:
Your warranty is now void.
I'm not responsible for bricked devices, dead SD cards,
thermonuclear war, or you getting fired, because the alarm app failed. Please
do some research if you have any concerns about features included
before flashing it! YOU are choosing to make these modifications, and if
you point the finger at me for messing up your device, I will laugh at you.
So here it is. After testing for a few days I've decided to give out builds of CM 12.1 kernel with a little bit better CPU management.You may see improvement especially when you're not using 3G/LTE as it seems to drain battery almost as fast as before (depending on the use ofc). You'll get much better battery life on wifi though. You may tweak the settings using some kernel control apps but the recommended setup is already applied.
Features:
+ Bricked hotplug driver - turns off CPU cores if the CPU load is not big enough to need them.
+ Powersuspend - a driver that should turn off unused hardware components when screen is off
+ Quickwakeup driver - it allows some tasks to wake up the system to perform certain actions without fully resuming it
+ Min. CPU freq 200MHz (CM12.1 has it set to 800MHz but it seems we don't need it that high after disabling CRC checks)
+ Revised interactive governor target_loads to clock CPU more efficiently
Download:
Kernel:
CM12.1:
J500FN
J500F
J500G
J500H
J500M
J500Y
J5008
CM13:
J500FN
J500F
LOS14.1:
J500FN
J500F
J500H
J5008
GPU Max Frequency Limiting Scripts:
400 Mhz
475 Mhz
550 Mhz
650 Mhz
Installation:
Just flash the zip for your device in TWRP.
Changelog:
Code:
07.10.2017:
- First release rebased on @vince2678 kernel source and device trees (Will work only with his Los14.1 builds from now on, don't even try any older ROMs available)
- Added some tweaks by @Bulgaricus
24.07.2017:
- Rebased on newest LOS kernel
- Reimplemented some of tweaks previously reverted due to conflict (The most important being Display driver update, refresh rate should be better now)
30.05.2017:
- Merged upstream changes (new power hal compability etc.)
19.05.2017:
- Merged base kernel updates
- Enabled thermal core control
- Change throttling cpu temperature from 60°C to 80°C to avoid performance loss
- Enabled CPU_BOOST config
- Kernel now should boot on both LL and MM bootloaders (needs testing)
18.05.2017:
- First release for Lineage OS 14.1
- Rebased on @SoUnd001 kernel source (LOS 14.1 only)
- Drop CM1300/LOS13.0 support
02.03.2017:
- Fixed slow charging
- Cpusets tweaks for hotplug (multitasking related)
25.01.2017:
- Squashed update to 3.10.104
- Additional CPU & Battery tweaks
- Faster boot
16.01.2017:
- Major cleanup
- Tweaked recommended values
- Final release for CM12.1
- First release for CM13.0
08.01.2017:
- Added GPU OC up to 720MHz (you may change max frequency if you don't like OC or want it to be a little less thanks to the scripts included in downloads. Previous default freq was 400 MHz)
- Changed default gpu governor to simple_ondemand to avoid frequency bug described in #16
06.01.2017
- Initial release
- Added bricked hotplug driver
- Added powersuspend driver
- Added quickwakeup driver
- Changed CPU min freq. to 200MHz instead of 800MHz
- Optimized interactive's target_load
XDA:DevDB Information
Hotplug enabled kernel for Cyanogenmod 12.1/13.0, LOS 14.1, Kernel for the Samsung Galaxy J5
Contributors
Koloses, Nick Verse, ganesh varma, #Henkate, SoUnd001, vince2678, Bulgaricus
Source Code: https://github.com/hotplugj5
Kernel Special Features:
Version Information
Status: Stable
Created 2017-01-06
Last Updated 2017-10-07
GJ
great work on FN works pretty good
Awesome, can I request you to build one with 1.4 OC!? :silly:
Can you make for Ressurection Remix too?
Sent from my SM-J500FN using XDA Labs
Since most if not all of custom ROMs are similiar, this should work on RR, just try it. I'll look into overclocking later on since it's not the most needed feature and I wanted to release stable kernel first. I also plan adding adreno idler.
Koloses said:
Since most if not all of custom ROMs are similiar, this should work on RR, just try it. I'll look into overclocking later on since it's not the most needed feature and I wanted to release stable kernel first. I also plan adding adreno idler.
Click to expand...
Click to collapse
Yep, it's confirmed working on RR..
Well, GPU overclock seems to work (3D score) . We'll see about CPU later on as it doesn't seem to have any impact other than showing time in state. I'll add GPU OC to the next build.
First screenshot is without GPU overclock, second is overclocked GPU.
Sent from SM-J500 CM12.1
So to install this on RR we just have to flash in TWRP?
Sent from my SM-J500FN using XDA Labs
Cm 13 on lolypop bootloader will work?
Does this hurt the hardware in anyway? (Not using overclocking of course)
Sent from my SM-J500FN using XDA Labs
Koloses said:
Well, GPU overclock seems to work (3D score) . We'll see about CPU later on as it doesn't seem to have any impact other than showing time in state. I'll add GPU OC to the next build.
View attachment 3994178View attachment 3994179
Sent from SM-J500 CM12.1
Click to expand...
Click to collapse
I got higher GPU score without overclock (879).
Benchmarks may or may not reflect the real phone performance. Personally im against OC.
Any CM kernel should work on RR as well, since RR is using cm kernel.
Oh I didn't mention: First ss shows the score without OC (860) The second is OC'd (979) I'll test it further though because antutu is rather heavy benchmark. OC possibility will be included anyway but I'm thinking about making it enabled out of the box or not.
I did repeat it several times and just took 2 random screenshots from before and after. I'll edit the post to include that.
Sent from SM-J500 CM12.1
Koloses said:
Oh I didn't mention: First ss shows the score without OC (860) The second is OC'd (979)
I did repeat it several times and just took 2 random screenshots from before and after. I'll edit the post to include that.
Sent from SM-J500 CM12.1
Click to expand...
Click to collapse
Oh well, thats clearly an improvement
But im still against OC. I didnt experience any game lag when ive been playing.
OC will lead to higher temperature & battery drain. Personally, i prefer to use phone without OC, since it performs well.
Perhaps you can do a test with temperature when using CPU/GPU OC?
Alright tested this kernel and it works outstanding! My battery life has been improved and I really like that I can see how the cores turn themselves off when they are not needed, in Kernel Adiutor.
Works perfectly on RR
Sent from my SM-J500FN using XDA Labs
#Henkate said:
OC will lead to higher temperature & battery drain. Personally, i prefer to use phone without OC, since it performs well.
Click to expand...
Click to collapse
We'll see. Adreno Idler may compensate GPU OC battery drain, I need to test the temperatures too. It's only a matter of setting up default settings though because I also want to let people configure things to fit them while providing recommended configuration out of the box.
I could always apply OC out of the box and add flashable zip with init.d script to set stock frequency on boot so I won't have to build boot image twice for all the devices. Sounds fair to me.
Sent from SM-J500 CM12.1
Koloses said:
We'll see. Adreno Idler may compensate GPU OC battery drain, I need to test the temperatures too. It's only a matter of setting up default settings though because I also want to let people configure things to fit them while providing recommended configuration out of the box.
I could always apply OC out of the box and add flashable zip with init.d script to set stock frequency on boot so I won't have to build boot image twice for all the devices. Sounds fair to me.
Sent from SM-J500 CM12.1
Click to expand...
Click to collapse
I have tested Adreno Idler and according to latest Kernel Adiutor, it goes to 200mhz when phone is in idle so it is working fine and also i think there are less switches between GPU frequencies than before. Just like the other people, i have noticed battery improvement too using Adreno Idler. But read msm-adreno-tz governor bug below.
The GPU governor called simple_ondemand is working nice too. I searched for 1080p youtube video and GPU frequency stays at 200 always when watching a video (assuming the screen is not touched), which is great and can improve the battery alot for that task and also for reading.
Unlike simple_ondemand, msm-adreno-tz used to stay at 300-400mhz when watching same video. I havent tested yet with Adreno Idler though, but simple_ondemand seems a great choice for tasks like watching a video or reading something long.
When i tested msm-adreno-tz frequencies for first time (with the command from adreno idler thread, but the path is different for J5), i have found that msm-adreno-tz:
- use 300mhz freq when phone is in idle with screen on and on homescreen
- when you touch/keep sweeping with the finger on the screen (e.g. on homescreen), the GPU frequency goes to 200. It gets lowered instead higher LOL.
GPU MSM-ADRENO-TZ BUG, default on all kernels, both on stock and cm based roms.
If screen goes off (or you turn the screen off), then you turn it on, and then it goes off again (or you power it off) WITHOUT UNLOCKING THE PHONE AND TOUCHING THE SCREEN AFTER UNLOCK the GPU will stay at 400mhz until you turn the screen on, unlock and touch it.. This doesnt happen with simple_ondemand, where GPU stays at 200mhz always when screen is off or phone is in idle with screen on. Even if you dont have a lockscreen, the bug still persist.
GPU staying at 400mhz when screen is off, means that it will use power useless, for no reason. And also, it can lead to slower charging. I dont know how much power it use, but i know that it counts.
Unfortunately, even with Adreno Idler i see that the bug is still present. Or perhaps i havent implemented Adreno Idler properly? But i think i did.
This is the governor bug i wanted to talk about. I wanted to make a thread under general section.
I recommend simple_ondemand governor, although i see that it has more switches between GPU frequencies, it can lead to higher battery backup for tasks like watching a video or reading something long.
Im sorry for going a bit off-topic
EDIT:
@Koloses:
Run following commands in terminal to see the current GPU frequency, updated constantly:
PHP:
adb shell
cd /sys/devices/soc.0/1c00000.qcom,kgsl-3d0/devfreq/1c00000.qcom,kgsl-3d0
while true; do cat trans_stat; busybox sleep 0.1; done
The "*" shows the current frequency.
Total transitions = the number of total switches between frequencies.
Development talk is never ever an offtopic to me
Anyway, where did you get Adreno Idler from? https://forum.xda-developers.com/an...dreno-idler-idling-algorithm-devfreq-t3134872 This seems to be an official thread regarding it and explanation of how it works seems fine. It needs powersuspend, but we have that in kernel already. I'll look into implementing it after getting home.
Sent from SM-J500 CM12.1
Koloses said:
Development talk is never ever an offtopic to me
Anyway, where did you get Adreno Idler from? https://forum.xda-developers.com/an...dreno-idler-idling-algorithm-devfreq-t3134872 This seems to be an official thread regarding it and explanation of how it works seems fine. It needs powersuspend, but we have that in kernel already. I'll look into implementing it after getting home.
Sent from SM-J500 CM12.1
Click to expand...
Click to collapse
I got Adreno Idler 1.1 from other msm8916 kernel, as i had some troubles with the commits from the official thread ( i dont remember what troubles lol). I got PowerSuspend 1.5 from same kernel.
Im not sure if PowerSuspend is working. I enabled the debug mode, but i cant find any PowerSuspend line in dmesg, kmesg, neither logcat. But i have power_suspend folder & lib, and also i see that it is on hybrid mode, both in Kernel Adiutor and system file.
Also, in logcat (taken since boot), i see following error:
PHP:
W/libsuspend( 942): Error writing 'on' to /sys/power/state: Invalid argument
I/libsuspend( 942): Selected wakeup count
It is trying to write "on" to state file.
/sys/power/state file has two words: frezee mem.
#Henkate said:
I got Adreno Idler 1.1 from other msm8916 kernel, as i had some troubles with the commits from the official thread ( i dont remember what troubles lol). I got PowerSuspend 1.5 from same kernel.
Im not sure if PowerSuspend is working. I enabled the debug mode, but i cant find any PowerSuspend line in dmesg, kmesg, neither logcat. But i have power_suspend folder & lib, and also i see that it is on hybrid mode, both in Kernel Adiutor and system file.
Also, in logcat (taken since boot), i see following error:
PHP:
W/libsuspend( 942): Error writing 'on' to /sys/power/state: Invalid argument
I/libsuspend( 942): Selected wakeup count
It is trying to write "on" to state file.
/sys/power/state file has two words: frezee mem.
Click to expand...
Click to collapse
@Koloses
I have found this in ramdisk:
init.zygote32.rc:
Code:
service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server
class main
socket zygote stream 660 root system
onrestart write /sys/android_power/request_state wake
[B][COLOR="Red"]onrestart write /sys/power/state on[/COLOR][/B]
onrestart restart media
onrestart restart netd
Thats why i got that error while booting, but i dont know why libsuspend is mentioned at the error. Also, there is no android_power folder.
This is on stock kernel 5.1.1.
Good work @Koloses !!! Keep up buddy Just to notify I had 31.800+ benchmark score with the well known kernel 5.1.1. of dj steve, without overheating... Personally I prefer more performance instead of battery life, so if you keep on tweak and overclock your kernel would be nice maybe a separate zip. To enable it. Have a nice day man!

[Kernel][EAS][Overclocked] No Gravity [Q][Pie][Oreo][2020-09-27][UberTC]

NoGravityKernel
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
No Gravity Kernel 2.0 + 4.0 App Trailer
Why is it called NoGravity kernel?​
The OnePlus company decided to give the Snapdragon 810 V2.1 to our device. It comes with a little increase in GPU clock speed (from 600MHz to 630MHz) BUT it also comes with a CPU downclock going from 2.0GHz to 1.77GHz on the big cluster to avoid overheating issues. No overclocked kernel has been made for PIE/OREO so this is the reason why I made this kernel. This Kernel is for Performance but it still gets descent battery life due to some added features (see below).
The Kernel will boot using stock (OnePlus 2) CPU frequencies that correspond to the Balanced Profile. Other profiles for battery, performance and gaming can also be switched to in my app.
To tweak the kernel easily, here's my No Gravity app! featuring custom profiles (Battery, Balanced, Performance, Gaming and Gaming+). My kernel offers some features that cant be found in other kernel tweaking apps. You can find them lower in the thread.)
Detailed info about the EAS Kernel in post#3.
-Overclocked CPU (Little 1.56->1.9Ghz, Big 1.8-> 2.2Ghz)
-CPU Underclocked to 302 MHz(idle) and undervolted
-The two CPUs (big and little cpu) can be configured completely separate in terms of min/max frequencies and governors
-Undervolted for better battery life and temps
-Using custom thermal engine for better performance (Less thermal throttling)
-Voltage Control
-Jaw dropping Applications Opening speed
-Unlocked PUBG HDR+Extreme options (Disabled by default, enable it in app)
-DDR Bus boost for frame rendering
-No Gravity app! support
-DTS Eagle Drivers added for better sound
-GPU Overclocked to 650 MHz
-GPU Underclocked to 27 MHz on idle
-Added Adreno Idler
-AdrenoBoost 2.1
-Updated Cpusets for even more smoothness
-Backported Pixel timekeeping
-Smarter GPU
-Disabled ZRAM
-DDR Input Boost
-Max screen off frequency tunable
-Dynamic File Sync
-Slimbus Overclock
-Thermal Throttling Slider
-Added Governors (Chill, Relaxed)
-Added Fingerprint boost
-Added WakeBoost module
-Faux Sound support
-Gestures Support
-FastCharge drivers Support (Now the charging rate is fast even when screen on without increasing temps that much!)
-Maximum charge rate over USB 3.0 increased from 500mA to 900mA
-WireGuard Support
-Added and Using ZEN I/O Scheduler as default for app opening speed && overall Smoothness
-Added Maple, SIO and FIOPS I/O Scheduler
-KCAL Support
-K-Lapse Support
-Blocked wakelock (Boeffla)
-Added Hotplug (Core_ctl)
-Added Gentle fair sleepers toggle
-Debloated
-New battery screen animation with percentage
-F2FS Support leading to ~10% faster write speeds compared to EXT4
-Based on Linux version 3.10.108
-Kernel & App update checker
-Balance, Performance, Battery, Gaming and Gaming+ Profiles for NGK & NGK EAS
-Max Cluster Overclock toggles to apply maximum overclock frequencies to Little and/or Big Cluster
-Custom Profile Creator Page that let's you create and share profiles with the NGK community (/SDCARD/NGK/PROFILES/)
-Displays most accurate CPU temperatures for Little and Big clusters separately
-GPU Stats page to show every GPU Frequencies time in state stats
-NGK Stats Page showing last gaming session FPS+ Chart, battery drain, avg CPU temps & avg Battery temps, toggle for enabling NGK Stats Overlay displaying FPS and following optional features:
-CPU Temps/Freqs
-GPU Temps/Freqs
-Battery Temps/Percentage
-App optimization (ART) Button
-PUBG HDR+Extreme config unlocker
-Thermal Switch to select between NoGravity thermal config and stock
-NGK Bootanimation
-NGK Overlay
-PocketMode Switch to turn off fingerprint sensor when device is in pocket or on table face down
-Proximity Gestures Switch to pulse ambient dispay on Hand Wave
-Pick-Up Gesture Switch to pulse ambient display when device is taken
-Pixel 3 Flip to Shhh feature
-Resolution Changer to switch between 1080p FHD and 720p HD resolutions
-Battery Current Limit Switch to disable or enable BCL on low battery percentage
-Sound page lets user download DTS:Eagle apps (Headphone:X or Ultra)
-CPU Temperature Limit slider to set thermal throttling temps
-K-Lapse Night mode and Brightness mode toggles
-Video Recording Codecs Selector (H.264, H.265, H.265+)
-Backlight Dimmer button to help reduce eye strain
-DDR Input Boost toggle
-Apply On Boot to apply user settings on boot
-EAS page to tweak Load tracker, governors and dynamic schedtune boost!
-More info on those in the app
Most of my work will be on Energy Aware Scheduling Kernel version since NGK is really solid and stable,,,
This kernel works on Android 10, PIE and OREO ROMs.
DO NOT FLASH ON STOCK OXYGEN OS! ​
Initial boot might heat up device a bit, which is normal - Let it settle
I recommend before coming to conclusion, give it at least 2 complete charge cycles and then raise any issue.
Max fully stable overclock is Little/Big 1.8GHz/2.1GHz
Both max 1.9GHz and 2.2GHz may be unstable and are not reacheable using app profiles. They still can be reached using the max overclock toggles the app provide.
Flash No_Gravity_Kernel-vX.X.zip file in TWRP (Latest TWRP Recovery Recommanded)
(Optional) - Clear cache and Dalvik
Made your choice?
Download Links
No Gravity Kernel
Anti Gravity Kernel
NGK-EAS (Post#3)
No Gravity App
Anti Gravity Thread
As I put a lot of time and effort into this project, I now accept donations feel free to help me a little
Donate
Older NGK builds
Q-PIE-OREO AOSP Based Roms
Q-PIE-OREO LineageOS Based Roms
v3.2 Q-PIE-OREO AOSP Based Roms
v3.2 Q-PIE-OREO LineageOS Based Roms
v3.1 Q-PIE-OREO AOSP Based Roms
v3.1 Q-PIE-OREO LineageOS Based Roms
v3.0 Q-PIE-OREO AOSP Based Roms
v3.0 Q-PIE-OREO LineageOS Based Roms
v2.7 Q-PIE-OREO AOSP Based Roms
v2.7 Q-PIE-OREO LineageOS Based Roms
v2.6 PIE-OREO-NOUGAT AOSP Based Roms
v2.6 PIE-OREO-NOUGAT LineageOS Based Roms
v2.5 PIE-OREO-NOUGAT AOSP Based Roms
v2.5 PIE-OREO-NOUGAT LineageOS Based Roms
v2.4.2 PIE-OREO-NOUGAT AOSP Based Roms
v2.4.2 PIE-OREO-NOUGAT LineageOS Based Roms
v2.4.1 PIE-OREO-NOUGAT AOSP Based Roms
v2.4.1 PIE-OREO-NOUGAT LineageOS Based Roms
v2.4 PIE-OREO-NOUGAT AOSP Based Roms
v2.4 PIE-OREO-NOUGAT LineageOS Based Roms
v2.3 PIE-OREO-NOUGAT AOSP Based Roms
v2.3 PIE-OREO-NOUGAT LineageOS Based Roms
v2.2 PIE-OREO-NOUGAT AOSP Based Roms
v2.2 PIE-OREO-NOUGAT LineageOS Based Roms
v2.1 PIE-OREO-NOUGAT AOSP Based Roms
v2.1 PIE-OREO-NOUGAT LineageOS Based Roms
v2.0 PIE-OREO-NOUGAT AOSP Based Roms
v2.0 PIE-OREO-NOUGAT LineageOS Based Roms
v1.9.2 OREO-NOUGAT AOSP Based Roms
v1.9.2 OREO-NOUGAT LineageOS Based Roms
v1.9.1 OREO-NOUGAT AOSP Based Roms
v1.9.1 OREO-NOUGAT LineageOS Based Roms
v1.9 OREO-NOUGAT AOSP Based Roms
v1.9 OREO-NOUGAT LineageOS Based Roms
v1.8 OREO-NOUGAT AOSP Based Roms
v1.8 OREO-NOUGAT LineageOS Based Roms
v1.7 OREO-NOUGAT AOSP Based Roms
v1.7 OREO-NOUGAT LineageOS Based Roms
v1.6 OREO-NOUGAT AOSP Based Roms
v1.6 OREO-NOUGAT LineageOS Based Roms
v1.5 OREO-NOUGAT AOSP Based Roms
v1.5 OREO-NOUGAT LineageOS Based Roms
v1.4 OREO-NOUGAT(advanced gestures broken for the LineageOS based ROMs (dt2w works)
Changelog
Public Changelog of private startup builds
post#2 for public released build changelogs.
ScreenShots
See screenshots section at the top of the thread!
​
Credits
ShreyanshLodha, Lord Boeffla, Benschhold, Grarak, Francisco Franco, arter97 and also Shreesha.
Thanks To: ShreyanshLodha for helping me out a bit at the begining and to Utkarsh Omer for deeply testing the kernel before stable releases.
XDA:DevDB Information
NoGravity Kernel, Kernel for the OnePlus 2
Contributors
Pierre2324
Source: [url]https://github.com/Pierre2324/NGK_android_kernel_oneplus_msm8994[/URL]
Version Information
Status: Stable
Current Version: 3.5
Created: 2018-03-15
Last Updated: 2020-09-27
NoGravityKernel EAS​
Kernel Features EAS
Same features as Non-EAS kernel + the following
Energy Model fitting OnePlus 2 and NGK's overclock
Schedtune + Dynamic Schedtune Boosting
Sched and Schedutil Governors
Optional SQRT frequency selection algorithm
PELT & WALT Load Trackers
Prefer Idle tunable
1000Hz Time Interrupt frequency to fit Pixel Phones instead of previous 300Hz
3.18 Kernel Preempt
3.18 CpuFreq upstreams
Using cpu_input_boost driver for event based boosting (replacing cpu_boost)
Many more upstreams and backports to our 3.10.108 kernel
Download Links
EAS Q-PIE-OREO AOSP Based Roms
EAS Q-PIE-OREO LineageOS Based Roms
As I put a lot of time and effort into this project, I now accept donations feel free to help me a little
Donate
Changelog
Public Changelog of private startup builds
post#2 for public released build changelogs.
Source: [url]https://github.com/Pierre2324/EAS_NGK_android_kernel_oneplus_msm8994[/URL]
More info on EAS and the specific implementation for OnePlus 2
EAS | Energy Aware Scheduling
Notice : I will not tell you everything about it.. I'll just do my best to summarise it up and, most importantly, say what's the implementation of it in my kernel compared to newer phones... I don't know everything and may do some mistakes (english mistakes included ) if I do, let me know but still should be on track. I will highlight important words in bold. Also for better kernel tuning, please use my app as its made for our specific implementation of EAS.
Intro: Well Google mostly wanted a better/smarter algorithm to ramp up frequencies than the current cpu-boost driver.. So they started to make the kernel smarter on their 3.18+ kernel seen on Pixel Phones. They wanted to port EAS to their previous phones (Nexus 5x and 6p) having 3.10 kernel like the OnePlus 2 but they didn't.. They started porting it with a pretty basic implementation with a bad energy model, a pretty old version of the battery oriented Per Entity Load Tracking, a pretty basic Schedtune support too and the old Sched governor instead of the newer SchedUtil governor used on current/newer phones. That basic implementation was actually the first releases here on XDA before 3.0 update.
Energy model: At the base of a good EAS implementation there's an Energy Model containing compute capacities and energy cost tuples for each Cluster (big.Little). That way, its possible to estimate the cost of task placement on CPU. Hmm okay that was a big sentence here.. Well to summarise it up, some tasks need more compute capacity to run nicely (smoothly,fast,etc) so need more power which will cost more to run and depending on the task it may need to run on the Big cluster. I say that the kernel is smarter that way, since it will try to set tasks on cores that needs less power to run while still being fast enough for the task. It will also decide to use a shallow core instead of waking another from deeper since the energy model also specify wakeup costs.
What I did for the Energy Model until now: Since the Angler energy model that was used in first releases was pretty bad, I converted it to a frequency / cost model instead of capacity / cost which is now much easier to manipulate instead of speedbins. I then recalculated costs for each frequencies with some graphs including voltages for every frequencies to determine cost for both Cluster. For overclocked frequencies, I had to extrapolate/interpolate trend lines I had in those graphs. That way, we now have an Energy Model that corresponds better to our OnePlus 2 device. Some changes might need to be done later on, but it seems okay for now.
Sched Governor: EAS's Sched or newer Schedutil both use SMP -> Symmetrical multiprocessing instead of previous HMP -> heterogeneous multi-processor found for interactive, ondemand, etc... HMP and SMP both have in mind that multiple CPUs are running, but on SMP no CPU is selected as the Master CPU.. both CPU cooperate as friends.. Well we all know there is a big difference between our little and big CPU and this is why the governor is not alone in EAS..On the other side, HMP knew exactly which cpu was more powerful and while this is good since its easy to implement and fast, this is why its not too battery friendly..
What I did to Sched governor until now: Well no specific feature comes to my mind, but it got optimised alot by backporting amd upstreaming some part of it from higher kernel versions (mostly 3.18)..
Schedutil Governor: Schedutil is the governor every phone uses right now by default I guess. Sched is not even there anymore if I'm not mistaken.
What I did to Schedutil governor until now: Shedutil got backported from 3.18 to the kernel. From my tests, it's been more stable than Sched for below reasons:
o Took less time for the kernel to settle after booting.
o Frequencies stay low and do not jump everywhere when simply looking at the screen.
o Improved latency
Its now possible to switch between them using my app. I wanted to make a comparison between both but couldnt find enough info on them to really tell you precise differences. I can only say Sched is predecessor of Schedutil so I assume Schedutil can only be more efficient.
Load Tracking: Whether its PELT (Per Entitty Load Tracking) or WALT (window assisted load tracking) both increase efficiency since they do not affect frequencies directly and instead of just placing tasks on any cpu it analyzes it and the amount of energy needed for it is estimated. This smart way of doing things make system quicker since it can run more tasks for less energy. This is what EAS is all about.. smoothest UI possible with lowest impact on battery. PELT is more battery friendly as it ramps frequencies up and down slowly.. On the other side, WALT ramps up and down really fast making UI smoother and snappier since every task is done as fast as possible so cpu can idle and go to sleep faster.
What i did to load tracking: I optimised PELT and added WALT.. Its now possible to switch between them using my app.
Comparison between WALT & PELT
Souce: https://fr.slideshare.net/mobile/linaroorg/walt-vs-pelt-redux-sfo17307
Frequency ramp up
Frequency ramp down
As you can see, WALT ramps up way quicker than PELT leading to smoother UI. Also tasks are done more quickly. On the other side, it's also possible to see that PELT may be better is some specific use cases as when another job needs to be done a little after due to it not ramping down frequencies completely. This way, WALT would need to ramp up again while PELT would be ready.
Schedtune: Exposes 2 tunnables to userspace: schedtune boost and schedtune prefer idle into cgroups. There are actually 4 cgroups background, foreground, rt and top-app. The first tunable (schedtune boost) takes an integer between -100 and 100, 0 being the default value meaning the most energy efficiency which means that it will be using the lowest frequency to do what it needs. An higher value will add an % offset to the normally used frequency. The second tunable (schedtune prefer idle) when set to 0 (default value) will simply do what EAS says it to do. When set to 1 it will prefer setting tasks on idle cores to reduce latency. Pretty easy to say the second one is less energy efficient.
What I did to Schedtune: Some improvements to it have been added for sure since first release. I've set top-app
default value to 1 instead of 0 to bias tasks on big cores. This way, it also improves latency for Dynamic Schedtune Boost.
Background has been set to -10 to reduce its impact. Gaming and Gaming+ profiles are using more aggressive values so they are not recommended for other tasks than gaming as this may give you higher battery drain during normal usage.
Dynamic Schedtune Boost: It's pretty easy to understand and its a pretty nice feature made initially by joshuous on the OnePlus 5 if Im not mistaken. It simply sets a user specified value to schedtune boost dynamically a cgroup so it can go back to 0 afterwards to not hurt battery. It's mostly used in cpu-boost for input boosting.. Then why not just use the input boost that worked well on HMP? Well to that I would say: how do you know the input boost frequency value you've set is the correct one for what your specific usage? Input boost will boost to a user specified value but what if that value is okay for chrome but too high for simply scrolling in a text file? Well that's it.. EAS is able to find the frequency needed depending on usage + the dynamic boost it will simply make things faster and smoother by adding a positive offset to the frequency used but dynamically so it can revert back to 0 afterwards and save battery while phone is actually doing nothing or when your simply looking at the screen.
What I did to dynamic schedtune boost untill now:Well I added it to our kernel by backporting the feature from a pixel kernel and adapted it to our phone. Due to some limitation we can only dynamically boost top-app.. at least for now.. I could add other cgroups quite easilly but its not really needed as top-app is the most important/effective one. I'll add more later if its actually needed.
To tweak it: Use the EAS page in my app... make sure you don't set any frequency boost in any kernel manager, tweak input boost ms and dynamic stune boost value. Note: enabling Dynamic Schedtune Boost in my app will automatically erase any previously set input boost frequency so it works correctly.
PowerHAL: For proper EAS people say it needs proper PowerHAL.. The kernel itself cant make what a PowerHAL can do since it cant read some userspace events and all. Lets say boost on input touches can be done with a good PowerHAL so less job is done by the kernel.
What I did for PowerHAL untill now: Well I'm aware of what a PowerHAL could bring tho no PowerHAL has been done for EAS on for old kernels.. That doesn't mean I couldn't modify a newer one to fit our phone but I made a lot of tweaks in the kernel directly to prevent that. A PowerHAL is compiled with a ROM directly so could be harder to replace. So what I did is put some nice features to mimic PowerHAL behaviours like Dynamic Schedtune Boost, DevFreq boost on app launches, fingerprint boost and more nice features directly in kernel that allows (for some of them) to be tuned by the user.
More features and development can be seen in changelogs.
If you have any questions feel free to post them. If I made any mistake feel free to correct me.
Changelog:
Previous Changelogs:
3.4.1 Build:
Kernel:
Revert latest LPM changes to fix a blackscreen issue
NoGravity Kernel App v3.4.2:
General:
Updated Profiles
New App & Kernel Update checker
Small fixes
OnePlus 2:
Nothing specific to OP2 added
Pocophone-Mi8:
Modified NGK Thermals to fit NGK thermal locking mecanism
DT2W Toggle added to Kernel Page (mainly for OOS)
Updated Backlight Dimmer
New NGK stats page
-Shows last session average FPS
-NGK overlay service toggle to show FPS,CPU & GPU stats in real time on screen
3.4 Build:
Kernel:
Faster app opening
Added Memfd call for new Android 10 ROMs
Various CPU, GPU, devreq & cpubw optimisations
Proper DDR bus boost when rendering frames to the display (to fit our old kernel)
And more under the hood changes
Kernel EAS:
Updated to latest NGK changes
*Notes :
-I would recommend turning off No Gravity app toast notifications from Magisk Manager app.
3.3 Build:
NoGravity Kernel App v3.3:
General:
Updated Profiles
Lowered Magisk Toast Messages*
Max GPU Freq Selector
Added an option to refresh GPU Stats
Updated descriptions
OnePlus 2:
DDR Input Boost Toggle
Pocophone-Mi8:
New GPU Page:
-GPU Stats
-KLapse (Brightness and Daytime modes)
-Backlight Dimmer
Kernel:
Faster app opening
DDR Bus boost on input now disabled by default (use my app to enable it again)
Backported,cleaned up some GPU stuffs
Removed some bloat
Lowered heat and battery drain
Many optimisations
And more under the hood changes
Kernel EAS:
Updated to latest NGK changes
Fixed a notification/call sound distortion
*Notes :
-I would recommend turning off No Gravity app toast notifications from Magisk Manager app.
3.2 Build:
NoGravity Kernel App v3.2:
General:
Updated Profiles
Auto-dismiss Apply on boot notification
Updated descriptions
OnePlus 2:
Fixed App opening on AGK
Fixed EAS Dynamic Schedtune Bug
Pocophone:
New Kernel Page to let you control:
-Thermals:
Stock one || Evaluation (NGK’s default)
-Thermal Suspend API:
OFF || ON (NGK's default)
-Battery Thermal Throttling Removal:
OFF || ON (NGK’s default)
-SELinux Switch:
Enforcing (NGK’s default) || Permissive
New DTS Eagle (Sound) Page
Kernel:
Faster app opening
DDR Bus boost on input (Q Gestures, Animations are much better)
Various changes to make the UI smoother
Backported some small changes from the Pocophone F1 kernel (gpu, cpuidle)
Better Dynamic FSync
Removed some bloat
Many optimisations
Blackscreen fix (Device screen not turning on issue)
And more under the hood changes
Kernel EAS:
Updated to latest NGK changes
Quite a lot of EAS,Sched,Cpufreq,LoadTracking changes
*Notes :
-Make sure you flash Magisk after flashing the kernel
-As always when you wipe cache and dalvik, make sure you charge atleast once overnight so ART Optimisation does its job while charging at 100%.
3.1 Build:
NoGravity 3.1 App:
Pocophone support added (Profiles and cluster temps only for now)
Small fixes/optimisations
*Notes :
-You may need to uninstall previous app for it to install
-I recommend using my app over others to tweak EAS kernel since its made for the specific OnePlus 2 implementation
Kernel:
Debloated the kernel leading to smaller kernel
Compiling Optimisations
Removed Simple Low Memory killer (Yea algorithm is better but too aggressive even if its made for 4GB devices) This also fixes some black screen issues.
Improved latency
And more under the hood changes
Updated to latest LineageOS changes
Kernel EAS:
Updated to latest NGK changes
*Notes :
-Make sure you flash Magisk after flashing the kernel
3.0 Build:
NoGravity 3.0 App:
Fixes for Android 10
New EAS page to change Load tracker, governor and enable dynamic schedtune boost!
Added 60FPS app download link since NGK now supports 60FPS
Boot delay removed
No more annoying persistent notification!
Thermals and codecs switching should now work for everyone
DTS Eagle page updated
Adapted profiles for EAS
Small fixes/optimisations
*Notes :
-You may need to uninstall previous app for it to install
-I recommend using my app over others to tweak EAS kernel since its made for the specific OnePlus 2 implementation
Kernel:
60FPS Video Recording support added (This app is needed)
New more efficient Simple Low Memory Killer
CPU-Boosting, Fingerprint, Cache, MMC & Sched optimisations
Improved F2FS (700 commits+) averaging about 10% better write speeds over EXT4 in my tests
Battery improvements (mostly to screen off drain)
And more under the hood changes
Adapted to Android 10
Updated to latest LineageOS changes
Kernel EAS:
Rebased completely to make video recording work
1000Hz Time Interrupt frequency to fit Pixel Phones instead of previous 300Hz
Energy model:
-Now uses frequencies instead of capacity
-Recalculated to fit OnePlus 2 frequencies + NGK’s Overclock
CPU Boost driver:
-Added and fits EAS
-Input boost tunable added*
-Various boost events added
Schedtune:
-Modified boosting
-Dynamic Schedtune Boost added
New prefer_idle tunable
Schedutil governor added!
-Window Assisted Load Tracking (WALT) added + optimisations and integrated along already
existing Per Entity Load Tracking (PELT)
Sched governor:
-Improvements
-WALT & PELT improvements
Preempt:
Backport preempt from 3.18 kernel
CPUfreq:
-Upstreams to 3.18 and some hooks from 4.9
A lot of Upsteams/Backport from 3.18 to our 3.10 kernel
A lot of Scheduler improvements
Updated with latest NGK changes
And more under the hood changes
Adapted to Android 10
2.7 Build:
NoGravity 2.7 App:
New Backlight Dimmer feature added to GPU page
*Notes :
-You may need to uninstall previous app for it to install
Kernel:
Fixed stucked on 1+ logo while charging issue
While at it, improved that charging screen with battery percentage and colors
Fixed big cores turning off randomly or when gaming resulting in same/constant performance for every sessions or benchmark
Updated to latest LineageOS changes
2.6 Build:
NoGravity 2.6 App:
New App Settings Page
Fast NGK App opening after boot toggle added to app settings*
New Camera Page
New video recording codecs switches added => H.264(Default), H.265(Lower file size) and H.265+(Better Quality)*
Kernel:
DeepSleep issue is fixed!
Reworked Battery profile to make it usable and quite smooth
Battery optimisations
AdrenoBoost modifications to fit NGK’s GPU Overclock and help battery
BCL modifications
Little faster app opening speeds
UI optimisations
Updated to latest LineageOS changes..
[/STRIKE]Placed some performance-critical IRQs and kthreads onto the performance CPU cluster in order to improve performance[/STRIKE] (2.5.1 feature removed in 2.6 to fix deep sleep issues)
And more under the hood changes
*Notes :
-Possibility to remove the delay before opening the app after boot. This works on new ROMs. Old ROMs like Shreesha’s Pixel Experience will need the delay to be enabled.
-H.264 is default OnePlus 2 codecs. H.265 (lowered bitrates) will give you same quality but much lower file sizes. H.265+ may give you slightly better quality with same(stock) bitrates (same file sizes). Best file size reduction will be seen in 4K.
2.5.1 Build:
NoGravity 2.5 App:
Same app just updated Android File Host link because of the "no mirrors found" issue...
Kernel:
Smoothness improvements
GPU maximum frequency is now 650MHz on balance profile instead of 450MHz since not everyone uses profiles and some people like to game on balance too. This will give better gaming experience on default profile.
[*]Random phone not waking up after going in DeepSleep issue should be fixed not fixed will be in next build go 2.4.2 instead if you encounter this issue
Updated to latest LineageOS changes.. Video recording fixed!
2.5 Build:
NoGravity 2.5 App:
K-Lapse Night & Brightness modes toggles added to GPU page
Max overclock toggles states after reboot fixed
No Gravity EAS support
Kernel:
Lowered minimum brightness
Minimum brightness tunable added
K-Lapse Support added
Smarter GPU decisions leading to better battery
Fixed an issue where the device could get laggy for some time after DeepSleep
Placed some performance-critical IRQs and kthreads onto the performance CPU cluster in order to improve performance
Fixed Slimbus Overclock (Old feature now added correctly)
Kernel EAS (EXPERIMENTAL)*:
First build!
Same features as NGK without extra governors
Sched Governor and Schedtune added
*Notes : this is an experimental build and will be updated and tweaked in futur releases… so battery/performance/smoothness might not be the best for now
2.4.2 Build:
NoGravity 2.4.2 App*:
Fixed Profiles QSTile
Still Secret feature for now will update changelog later...
Kernel:
Fixed a major battery drain issue
*Notes : If app doesn't install just uninstall previous app version before installing the new one.
2.4.1 Build:
No Gravity 2.4.1 App*:
CPU temperature colors fixed
Secret feature revealed: AGK Kernel support
Kernel:
Fixed Random annoying Kernel Panic after reboots
Fixed some little tweaks that were not applying correctly
Kernel smoothness and performance will now be more consistent after waking up/deepsleep
Some minor under the hood changes
*Notes : Uninstall previous app version before installing the new one.
2.4 Build:
No Gravity 2.4 App:
Yea you read it right, it's back and better!
Apply on boot behavior updated.. The app now detects when it gets root access and notifies the user it's ready to be opened.
New Sound tab including both DTS:app downloads (Headphone:X and Ultra)
Fixed some parts of profiles not applying correctly
PocketMode now disables Double Tap 2 Wake on LineageOS based ROMs also
Startup screen updated
Fixed a small issue for Max overclock toggles
Added colors to CPU temperatures
New More-Info "(i)" buttons
Kernel:
Lineage based kernel rebased for smoothness and fixed camera on latest LineageOS Rom
AOSP updated to boot on new/upcoming AOSP Roms
Undervolted for better battery life
Tweaked wakelocks for better battery life
Kernel and Profiles optimisations for battery life, performance and smoothness
Optimised kernel compilation for performance
Interactive governor optimisations for performance and smoothness
Max screen off frequency and more settings added to Interactive governor (Default 960MHz)
Brought back lost GPU AdrenoBoost parameter
DTS Eagle Drivers added for better sound (Working with latest Headphone X and Ultra)*
Disabled ZRAM entirely instead of having it low
Kernel now sets NOOP I/O Scheduler when screen goes off for better battery life and reduced resume latency
Calmed down phone vibration intensity
*Notes : I would recommend Headphone X for customizations.. You can get the flashable apps and read more about them in my app or here: https://forum.xda-developers.com/android/software/port-dtsx-ultra-dts-headphonex-t3896233
2.3 Build:
No Gravity 2.3 App:
Pixel 3 Flip to Shhh feature added (Beta feature may drain battery)
PocketMode now disables DT2W when device is in pocket (DT2W may get disabled, yea thats a small issue that can happen so you need to enable it again in your favorite kernel tweaker app)
Less sensitive pickup wake
Fix Max OC on little cluster when apply on boot enabled
Fix temperature limit slider initialisation
Profiles tweaked for battery life and performance
Kernel:
HotSpot fixed! kernel updated to latest LineageOS changes
SIO and FIOPS I/O Scheduler added
Even faster app opening speed
FingerPrint Optimizations
Kernel tweaks for battery life and performance
Many kernel optimisations
*Notes : If apps do not seem to open fast after an update, charging the phone overnight fixes it. After a clean flash, full art cache is generated only when phone is idling at charging with 100% battery.
2.1 Build:
No Gravity 2.2 App:
Fix “on device shutdown” operations for Android PIE
Fix app opening check right after booting
No more in app lag
Unified Notification for services
No Gravity Spectrum 3.1 App:
New GPU Stats page to show GPU frequencies time in state stats
Big Cluster’s Cores behaviour has been reworked for Pie. This leads to better performance and battery for corresponding Profiles (see post below for more details)
Advanced Descriptions Popups fixed (on long click of titles ending with "*")
Pick-Up device to pulse Ambient Display [Still Experimental] may get app force close when device moves too much I will still try to fix this in future builds
Kernel:
Super fast app opening speed*
Big Cluster’s Cores fixed
Faux Sound Control partially added: Mic & Headphone boost
GPU time in state table like CPU added
Kernel, CPU & Memory Optimisations added
*Notes : If apps do not seem to open fast after updates from now on, as weird as it looks, charging the phone overnight fixes it. Me and my testers couldn't find why this happens.
2.0 Build:
No Gravity Spectrum 3.0 App:
Android Pie Support added
Pick-Up device to pulse Ambient Display [Experimental] may get app force close when device moves too much this will be fixed in future builds
Kernel:
Some Pie commits added
Little Cluster now disables (hotplugs) cores correctly
1.9.2 Build:
No Gravity Spectrum 2.4 App:
App now works with any DPI!
Resolution changer
Changes were made to every profiles.. they are now more battery friendly
(Take a look at Post#3 for more details)
Switches can now be toggled by pressing their description
Updated descriptions (including on long click of titles)
Kernel:
USB 3.0 max. charging rate improved (from 500mA to 900mA)
Wake boost module added
Latest Lineage based ROMs Notification LED fix
1.9.1 Build:
No Gravity Spectrum 2.3.1 App:
App speed is now as fast as before
Bug fixes
No Gravity Spectrum 2.3 App:
Proximity Gestures Switch added to pulse ambient display
Added an option to Save and Load Voltage configs
Toggles to apply maximum cluster overclock (Little: 1.9GHz | Big: 2.2GHz)
Apply on boot switch added to Profiles and Performance+ section
Kernel:
Wireguard support added
Updated No Gravity flash screen logo
1.9 Build:
No Gravity Spectrum 2.2 App:
Voltage control added so it fits my kernel
Getting Root Animation added
Black screen bug fixed(if encountered again just kill from recents and open again)
High dpi device fixed (min 380 max 500+)
Set ZEN I/O scheduler for balance and performance profiles
New Thermal Switch description
Now app sets balance profile just before the device shuts down/reboot to ensure beginning of next boot uses stock frequencies* (fixes boot issues on some devices)
Kernel:
Set ZEN as default I/O scheduler
Added back 1.9GHz frequency as Little Cluster now never use overclocked frequencies during boot time (max stable overclock still 1.8GHz)
Added Dynamic Fsync
Added back BFQ IO scheduler
Added missing governors(Chill, Relaxed) to Lineage build
Added missing Maple I/O Scheduler to LineageOS build
Added missing Adreno Idler switch to kernel tweak apps to LineageOS build
And more CPU optimisations…
*Notes : boot crashes should be close to not present anymore, but for the people who faced them in previous builds, it's highly recommended to install/update the new " NoGravity Spectrum v2.2 " apk and run it before flashing the rom
1.8 build:
No Gravity Spectrum 2.1 App:
No Gravity theme
Thermal Selection switch added to select between stock or no gravity’s thermal config
Pocket Mode switch added (Quick Setting tile also included)
SELinux switch added
BCL switch added
Kernel:
Removed 1.9GHz frequency on Little Cluster (fixes boot for the remaining non booting devices)
Fix voltage Controls that wasn’t working properly (voltage control guide added to xda thread post#199)
Added missing big cluster frequencies in voltage control tab
Added ZEN I/O Scheduler
Fingerprint optimisations
And many kernel optimisation…
1.7 build:
Brought back unlocked frequencies (Little 1.9GHz | Big 2.2GHz) more info in notes section of OP
Returned to stock thermal config
Modified Spectrum app support (details about every profiles in Post#2)
Gaming heating issues fixed using Gaming/Gaming+ Spectrum profiles
Added Voltage control
Undervolted Little and Big 302MHz(idle) frequencies for lesser standby battery drain
Optimised Spectrum Profiles for NoGravity
Re-enabled Battery Current Limit (BCL)
Added Temperature throttle control
1.6 build:
Various Random Reboot Fixes. now this NoGravity kernel should be stable!
Big Cluster max frequency is now 2016MHz (more testing will be done for higher frequencies wanted to have a completely stable build)
Faster Charge over USB
Now Big Cluster boots without overclock (Just like the Little Cluster does)
Added lost Big Cluster 1766MHz frequency
1.5 build:
LineageOS support! There are now 2 versions AOSP && LineageOS.
Disabled Battery Current Limit (BCL) that turns off cores when under 20% battery.
CPU Underclock Little && Big 384MHz-> 302MHz.
Rollback to 1.8GHz on the little cluster as 1.9GHz frequency is not
fully working for everyone will do more testing if you want that freq back

			
				
Install this Kernel on AOSiP
All fine so far seems very smooth and stable.
The temperature also looks good. I will continue testing but I think this is a promising project. Thank you:good::fingers-crossed:
Does it have under volting support?? So that reducing the voltages can also reduce temps while using the device at OC frequencies.
chintu1234 said:
Does it have under volting support?? So that reducing the voltages can also reduce temps while using the device at OC frequencies.
Click to expand...
Click to collapse
not yet I will try to implement it on a later update
fonfox said:
Install this Kernel on AOSiP
All fine so far seems very smooth and stable.
The temperature also looks good. I will continue testing but I think this is a promising project. Thank you:good::fingers-crossed:
Click to expand...
Click to collapse
Thanks good to know it works on AOSiP Rom!
Gestures are not working on LOS 15.1 Shreesha's latest Build otherwise phone has become more snappier than before and no phone heating issue faced for a whole day
Good news! 1.5 builds for AOSP and latest LineageOS based ROMs are coming...
rahul9871 said:
Gestures are not working on LOS 15.1 Shreesha's latest Build otherwise phone has become more snappier than before and no phone heating issue faced for a whole day
Click to expand...
Click to collapse
Thanks for trying my kernel! What a surprise it worked on LineageOS I didn't expect that, I am compiling right now the 1.5 update that will work on LineageOS and AOSP.
Thanks for Update
It is a safety reason that the 1.9GHz stage for little is eliminated. With me the V1.4 ran without problems at 1.9GHz.
V1.5 little max frequenzie is now 1804MHz but its enough. Also min Step 302MHz is fine
Sot is fine with all time overclocked
V1.4 and last time with updated V1.5
fonfox said:
Thanks for Update
It is a safety reason that the 1.9GHz stage for little is eliminated. With me the V1.4 ran without problems at 1.9GHz.
V1.5 little max frequenzie is now 1804MHz but its enough. Also min Step 302MHz is fine
Click to expand...
Click to collapse
for me too it ran without problem, the reason is that it wasn't working for everyone. Some had bootloops. We'll see in the futur...
fonfox said:
Sot is fine with all time overclocked
V1.4 and last time with updated V1.5
Click to expand...
Click to collapse
How old is your phone?
shrimetal said:
How old is your phone?
Click to expand...
Click to collapse
Nearly 2 years but bsttery is fine
And this Screenshot is with half day wifi usage
Compared to stock kernel battery life on this kernel is equal or better.
I'm also do not gaming etc.
Which app to overclock?
VinX90 said:
Which app to overclock?
Click to expand...
Click to collapse
Kernel Adiutor from Playstore
Why you don't read the OP first Post
Thanks @ Pierre2324 for lastest version of your kernel. Gestures are working again on LOS 15.1
rahul9871 said:
Thanks @ Pierre2324 for lastest version of your kernel. Gestures are working again on LOS 15.1
Click to expand...
Click to collapse
Thanks to you for using my kernel!

Categories

Resources