[Kernel][EAS][Overclocked] No Gravity [Q][Pie][Oreo][2020-09-27][UberTC] - OnePlus 2 Android Development

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!

Related

[Kernel] Vindicator [UberTC6/Strict-Alias/Ofast][5.1][GPU OC/UV] [Release-2.4]

{
"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"
}
"I Don't Always Run Custom Kernels. But When I Do, I Run Vindicator"
-Worlds Most Interesting Man
Pushbullet Tag: vindicator
Vindicator OTA Updater App: https://play.google.com/store/apps/details?id=com.mcswainsoftware.vindicator.ota
if there are any bugs, contact developer Jacob
You can also follow me on G+ if you would like:
[email protected]
Intro:
This is the first kernel I've ever developed. I just started developing on android a few months ago so I'm brand new to this. I don't consider myself a developer, I'm just good at figuring things out, all credit goes to the real hard workers coming up with original ideas like Franco, Imo, Flar and Faux. Initially this was built as a kernel to compile with my ROM I'm working on but I decided I would let others get a chance to use it as well. I hope you like it and I won't be offended if you hate it. All ideas are welcome and I'll try to help as best I can. If you wish to use this kernel in a rom , feel free! Although I would love it if you let me know just for my own curiosity.
For those looking for a similar experience, but much closer to stock, I suggest giving Zen Kernel a try!​
Goal:​Keep kernel as lean as possible while adding certain, desirable features and optimizing for maximum performance and battery life. The default settings should be optimal for a balance of battery and performance without a need to tweak.​
Disclaimer:​If your phone blows up, its not my fault. If your phone somehow gains perpetual battery life, I'll take full responsibility.​
Features:​-Zen Kernel Base
-Android 5.1
-BFS Cpu Scheduler (Ported By @bbedward)
-Latest Linux 3.10.x
-Compiled With Uber ToolChain 6.0
-Compiled With Ofast, Strict-Aliasing, Graphite, A15 Tweaks, And Loop Nest Optimizations
-Various Other Build Optimizations
-Optional GPU OC To 700Mhz.
-GPU Initial Freq. Is 110Mhz Instead Of 240Mhz Saving Power.
-Additional GPU Steps
-CAF Power Saving Patches
-CPUIdle Driver Updated To Linux 4.0
-Slub Allocator Updated To Linux 3.18
-GPU UnderVolted
-Workqueue Updated To Linux 3.18
-Init Updated From Upstream
-Power Efficient Workqueues
-Low Power Ram Mode Enabled
-Kernel Same Page Merging
-ZenDecision Quad Core Driver
-Hotplug Affinity Enhancements
-Kexec Hardboot/MultiRom(See FAQ For Help)
-UKM Built In And Modified. Just Install Synapse App.
-Savocas Color/Gamma Control
-Lowered Regulator And Screen Voltages
-Lowered Screen Clock Speed
-Lowered Retention Voltages
-Moto QuickWakeup
-Faux's Simple GPU Governor
-Frandom (Efficient Random Number Generator)
-Hardware Floating Point Processing
-ZRam
-ZSMalloc
-I2C Min Freq. Reduced
-Cruft Free
-Slimmed Down(Increased Size Is Due To Optimizations & UKM Not Bloat)
-Tons Of Debugging Removed
-Many Misc. Optimizations
-35mhz Min Freq, 3.09ghz Max
-Several WakeLocks Removed, Such As Sensor_Ind and hsic.
-MPDecision Disabled By Default
-MSM HotPlug
-Mako Hotplug
-Adjustable Thermal With Lean Kernel Mods
-IntelliActive Governor Added
-FIOPS, ROW & BFQ IO Schedulers Added
-Tons Of IO Fixes/Performance Boosts
-No Force Encrypt. Changed To Encryptable.
-Crypto Optimizations For Enhanced IO Throughput When Encrypted
-Voltage Control
-Westwood TCP Algorithm
-PIE & HHF Network Schedulers(reduced latency)
-Tons Of CAF Commits
-Merged In Most Of Franco's Code
-Merged In Parts Of Faux123's Code
-Merged Significant Portions Of Lean Kernel Code
-Optimized RWSEM
-Many Parts Pulled From Upstream
-Merged In All CAF And Franco Interactive Commits Into Interactive
-Francos Conservative Governor
-CPU Boost Completely Removed(Replaced With Franco's)
-Wake Gestures
-F2FS Support
-LK Config
-Vibration Control
-Asynchronous FSync
-Init.D Support
-Potentially Something I Forgot...
Downloads:
[AFH] Kernel: https://www.androidfilehost.com/?w=files&flid=25836
Downloads also through app and pushbullet
Amazing Donors!:
JackPollard
Maybelle
Credits:
Imoseyon
bbedward
Flar2
Franco
Faux123
Linaro
Code Aurora Foundation
Cl3Kener
Engstk
Yank555
Mistertac (Best Tester Ever)
RIPng(DespairFactor)
Neobuddy89
apb_axel
Google
Motorola
If I Missed You Lemme Know!​
XDA:DevDB Information
Vindicator Kernel, Kernel for the Nexus 6
Contributors
Xileforce
Source Code: https://github.com/XileForce/Vindicator
Kernel Special Features: I'm special.
Version Information
Status: Stable
Current Stable Version: 2.3
Created 2015-02-06
Last Updated 2015-05-3
Changelog:
1.0:
-Merged Latest Lean Kernel Code
-Merged Latest Franco Code
-Franco's Thermal Management Replaces Thermald
-Zram ported from Linux 3.19 upstream Using LZ4
-VM Memory Tweaks. (Vfs cache, swappiness,etc)
-I2C min frequency reduced from 50mhz to 19.2mhz
-Retention voltages dropper further
-Removed most Tracers
-Reduced Several Regulator Voltages
-Various CAF Patches
-Disable IO Stats
-Disable More Debugging
-Disable Gentle Fair Sleeper(better performance)
-ZSMalloc ported from Linux 3.19 upstream
-ZPool Ported from Linux 3.19 upstream
-Cut DMA latency in half
-Optimize SFCK Compression
-Reduce Swappiness
-Optimize Dirty Ratios
-Disable HSIC_Host wakelock by default
-Reduce Wlan wakelocks further
-Increase Bark/Pet Time
-Possibly More I Missed.
1.1:
-Savocas New Color/Gamma Control
-Lowered All Regulator Voltages Across The Board
-Lowered Screen Voltages And Screen Clock Speed(no detrimental effects noticed yet)
-Add Under clocked and Over clocked step for L2Cache
-Add 110mhz And 430Mhz GPU Slots
-Fix Simple On Demand Governor
-Additional Build Optimizations
-Integer Square Root Optimizations(3x faster)
-Lower GPU Bus Frequency @ 700mhz(battery and stability)
-Potentially Reduce BlueSleep Wakelock(testing report back please)
-Remove IO Debug
1.2:
-Merged Latest LeanKernel
-Added Option To Disable BlueSleep Wakelock Via Terminal
-Reduced BlueSleep By Default
-Readahead Optimizations
-More Voltage Reductions
-Power Suspend Updated To 1.7
-OC SlimBus
-Revert L2 OC
-Latest Franco Merged In
-Update To Linux 3.10.69
-Fix Ramdisk Issues
-Raise InteractiveX Default Screen Off To 730Mhz
-Lowered Power Draw Further At 35mhz
1.3:
-Added Motorola Quick Wakeup
-UKM Built In. Use Synapse App
-Added Aggressive Build Optimizations
-Merged In New Lean Kernel
-Greatly Reduced GPU Power Draw
-Added Bricked Hotplug
-Added MSM Limiter
-FSync Toggle
-Optimized LZ4 A Bit
-Some CAF Patches
-Increased Available Entropy
1.4:
-Merged In Latest Franco Code
-Removed Bricked Hotplug
-Defaulted Power Aware Scheduling On(Adjust In LkConfig)
-Added Power Efficient Workqueue(Better Battery Life)
-Optimized Timer Code
-Added Westwood TCP Alg.(Best One IMO)
-Updated UKM To Latest
-Updated MSM Limiter
-Numerous CAF/Linaro Patches
-Screen Power Draw Reduced Further
-USB Fast Charge
-Various Code Optimization Patches
-Added Toggles For Arch Power And Gentle Fair Sleepers
-Network Speed Tweak
-Don't Force Sync On Suspend
1.5:
-Kexec-hardboot/multirom support(Huge thanks to team member @jamcswain for porting that!) See FAQ For Help.
-Merged Lean 1.17
-Update To Linux 3.10.71
-Optimize Low Memory Killer For ZRam
-About 50 CAF Patches For Numerous Things(Thanks Neobuddy)
-WiFi Patches
-Crypto,IO,Memory Optimizations
-Entropy Optimizations
-DT2W Fixes
-Screen,GPU Patches
1.6:
-Android 5.1 (Massive Thanks To Imoseyon for merging it in)
-Latest Lean Merged
-Latest Franco Merged
-Mako Hotplug Updates
-Intelliplug V4
-Misc Fixes
-Default Power Aware Scheduler Off Again (Change In lkconfig)
1.7:
-Merged Latest Lean
-Merged Latest Franco
-Ramdisk Fixes For Roms(All Imoseyon)
-IO Boosts
-Updated Linaro ToolChain
-Boot Time Speedup(Jamcswains idea)
-InteractiveX Tweaked(Franco's Idea)
-Numerous CAF Patches
-Mako Hotplug Updates
1.8:
-Merged Latest Lean
-Merged Latest Franco
-Switched Toolchain To Custom Compiled Linaro
-Speed Up Boot Further
-Tons Of CAF Patches
-Audio Fixes/Patches
-800Mhz GPU Step
-MSM Limter Removed
-Added Moto Predictive Touch Driver(Better Responsiveness)
-Updated FB Notifiers
-Disabled MPDecision By Default. Mako Is Default Now
-FIOPS Is Default IO Scheduler Now
-Added Moto Low Memory Killer Optimizations
-CPUfreq and Ext4 Optimizations
-More Debugging Disabled
-Various Other Optimizations And Updates
-Update To Linux 3.10.72
-Probably Stuff I Forgot
1.9:
-Merged Latest Lean Kernel
-Fix USB OTG
-Fix Wake Gestures
-Default To QuadCore Mode For Mako
-Ensure 35Mhz Is Min Freq. on Boot(Fixes Weird Issue)
-Modified UKM/Synapse To Control Wakelocks (Misc Tab)
-Merged Latest Hydra Kernel Changes/Patches
-Fix Battery Drain On BlueTooth
-Frequency Mitigation Preventer V2 (In LKConfig)
-Stability Fixes
1.9.1:
-In Call Audio Fix
1.9.2:
-Updated With Official Multirom/Kexec Hardboot Patch
2.0:
-Merged Latest Franco And Lean Code
-Linux 3.10.73
-Several Memory Leaks Fixed
-Reboot/Bootloops Fixed
-!00's Of Patches
-SELinux Permissive By Default
-Compiled With SaberMod 5.0
-Screen Frequency Reverted To Stock
-Tweaked Interactive Touchboost Parameters Further
-Replaced IntelliPlug With MSM Mpdecision
-Added Back MSM Limiter
-FB Notifiers now Enabled By Default. Toggle Added To Synapse
-Merged In Some Hydra Kernel Ramdisk Fixes
-GPU OC Reduced Back To 700Mhz
-Add Power Aware Scheduling to Synapse (CPU Settings Page)
-Fix Synapse To Display CPU Bin On Front Page
-Revert FastBoot Mods For Now (Buggy)
-KCal Fixes
-MSM_HSIC WakeLock Now Enabled By Default With Divisor Of 5 (Change In Synapse Or LKConfig)
-Mako Hotplug Load Threshold Set Back To 80
-Misc Optimizations
2.1:
-Completely Rebuilt From Scratch Upon Zen Kernel With Input From bbedward
-Some features may be missing atm and may get added back in down the line.
-BFS Cpu scheduler. IMO a significant upgrade over CFS, the standard one used by almost every kernel. Should give better battery life and performance. THIS IS ONE OF THE BIGGEST CHANGES A KERNEL CAN MAKE
-Cleaned up the source and fixed issues.
-EXT4 and F2FS updated with upstream commits.
-Per CPU VMA Caching From Upstream
-BFQ and ROW IO Schedulers
-Touchboost Adjustments For More Butter
-Fauxs Simple GPU Governor
-Lowered the default voltage on 1.497ghz 10mv by default
-Compiled With Ofast Instead of Os (Ofast Is the heighest gcc optimization level, one step above O3. Os optimizes for size, rather than speed.)
-Compressed with optimized XZ rather than LZ4 to keep size down
-Latest lean and Franco merged in.
-Adaptive Low Memory Killer enabled
-So much stuff....and I honestly have no idea on how to write a changelog for a rebase...its an entirely new kernel...
2.2:
-Compiled With UberTC 6.0 (Figured We Would See How It Compares To SM 6)
-Compiled With Graphite Optimizations
-Compiled With Loop Nest Optimizations(An Extremely Aggressive Optimization)
-Compiled With loop-unroll-and-jam(A companion optimization to loop nest also aggressive)
-Small GPU Tweaks
-Greatly increased encrypted IO Performance
-Arm Specific Optimization Patches
-Added Heavy Hitter Filter(Another Network Optimization That May Also Reduce CPU Usage)
-Added Proportional Integral Controller Enhanced(Yet another network optimization algorithm designed to reduce latency and increase efficiency when doing latency sensitive things such as streaming)
-Optimize boot/compressed for Krait
-Addition Branch Optimizations and Inter Procedural Optimizations
-Support CM12.1 Ramdisk
-Optimize ROW and Deadline
-Add Bluesleep Wakelock Toggle
-Reduce Wlan_Ctrl Wakelock
-Default Wlan_rx wakelock divisor to 5
-Default msm_hsic divisor to 6
-Fix lkconfig frequency stuff
-Default below 40% frequency changing OFF
-Cleanup frequency mitigation stuff in lkconfig.
-Add Westwood
-Use amended interruptible threads (reduces cpu load)
-Disable add random on IO
-Reset cpu dma latency to stock...idk what it does so i shouldnt touch it...
-Revert Ram OC (IDK if it even worked)
-Add smb135x wakelock toggle
-A GPU Patch
-Raise default touchboost to 500ms.
-Optimize memcpy and memmove
-Significantly Optimize Console Framebuffer
-Enable non-cacheable streaming enhancement
-Add GPU Compile Optimizations
-Disable a lot more debugging
-Boot with 2.649ghz max freq for stability
-Add OC up to 3.033ghz. Highly unstable IMO but its an option for the brave.
-Cleanup Ramdisk
-Raise voltage a bit on 2.88 for stability.
-Disable useless resource counters to save processing power and battery.
2.3:
-Update CPUIdile Driver and CPUIdle Governors almost completely to linux 4.0(Several Years Worth Of Commits)
-Updated CPUFreq Driver Nearly To Linux 4.0
-Update Suspend/Sleep Driver Mostly To Linux 4.0
-Update SLUB Allocator To Linux 3.18
-Update Block(IO Stuff) From Upstream A Bit.
-Upstream Scheduler Patches
-3.09Ghz CPU Step Added (Likely Quite Unstable) Some People Like That Stuff
-Amperage On 3.03Ghz bumped up a tad for stability.
-Linux 3.10.75
-Frandom random number generator added(Extremely Fast Random Number Generator)
-Power Efficiency Patches From Code Aurora
-Fixed Crash When Switching CPU Govs.
-BFS Updates!
-Update Ondemand to Linux 3.18
-Default OnDemand To Simms22's Preferences
-Merged Latest Franco Code
-Merged Latest Lean Code
-Merged Latest Zen Code
-Franco's Conservative governor updated
-Some Interactive updates
-Color control updates
-ARM Specific Updates
-F2FS Updates
-GPU Driver Updates
-Memory Leak Fixes
-Stability Fixes
-Updated ToolChain
2.4:
-Updated To Linux 3.10.77
-Merged Latest Lean Kernel
-Merged Latest Zen Kernel
-Update Workqueue To ~ Linux 3.18
-Enable Ram To Enter Low Power Mode
-Update mm.h And Memblock from upstream
-Default IO Scheduler To BFQ. Its Been Tested To Be Best For Interactivity
-Upstream Init A Bit
-A Few Patches To SMP
-Upstream Cgroups And Memcg Significantly
-Disable RunQueue Stats. Pointless Bloat and CPU Overhead only needed for mpdecision
-Added Power Efficient WorkQueues Patch From Upstream(This Gives better battery life at the cost of a likely unnoticeable performance hit. Enabled by default. Toggle in synapse CPU settings page)
-Hotplug Efficiency Patch(Optimizes Hotplugging To Handle The Transfer Of Processes From One Core To Another Much Better)
-ZenDecision Added
-Added A Toggle For Mako(Currently Only Works To Disable Mako. Ill Work On It Further In 2.5 Credit to bbedward for this
-GPU Tweaks To Make It Smoother
-UnderAmped(Reduce Current For Every Frequency Up To 2.7ghz. Should Save Power. Experimental)
-Added KSM Tweaked For Android(Disabled By Default, Scans Few Pages, and does so very rarely. I didn't notice a battery hit with it on. Optimizes ram use)
-Franco Kernel Updater Profile Updates
-Ramdisk Modifications(May Fix Some Rom Issues)
-Fix For Ondemand Crashing(Hopefully)
-Misc Tweaks & Patches
-Hotplug Affinity Fixes
-Various Power Saving Patches
-Optimize Copy_Page For Modern Arm Processors
-Do Jiffies Conversions At Compile Time Rather Than Runtime(Saves The Cpu Work)
-Optimize For Our L1/L2 Cache Size
-Allow Options To Be Passed To Memory Barrier Instructions
-2 Patches To Improve File System Performance
-HRTimer Optimizations
-Make Binder Mutex Realtime To Reduce Chance Of SurfaceFlinger Being Blocked
-Keep Track Of ASID Allocations And Try To Reuse Them In Certain Cases To Improve Performance
-Don't Compile CPUIdle Ladder Governor. It doesn't get used anyways.
-Allow Rescuer Thread To Do More Work
-Reduce Runqueue Lock Contention
-don't use compound_head() in virt_to_head_page() this showed around a 1.8% performance improvement in some cases
-Small MultiCore Scheduling Improvement
-Definitely Some Stuff I Forgot
FAQ's
1. How Do I Enable Mako Hotplug?
To enable mako hotplug use your favorite kernel control app like faux or trickster. As of 1.8 it is the default hotplug. In trickster you have to turn off both mpdecision and intelliplug. In faux you need to simply select User Control in the Hotplug Section. The hotplug can be configured using Franko Kernel Updater App.
2. Does This Work With CM12 Theme Engine?
Yes, this works with CM12 Theme Engine and should work on all ROMs properly.
3. How Can I Force All 4 Cores Online All The Time?
First you must enable mako hotplug. Then you need to use Franco's kernel updater app or another app that allows you to tweak mako hotplug settings. In fku app select CPU manager then hotplug control. Change load threshold to 0. Additionally if you just want to make it use 4 cores more often. Lower this number below 80 as desired. This should also be possible to tweak via terminal however I've never used that method.
4. Does This Have D2W, S2W, etc?
Yes, those are part of LK which means they are include in this kernel.
5. Help! I think its making me bootloop!:
This may only apply to specific ROMs and I'm unsure ofnwhy it would change anything but users have reported this to fix the issue. If you are trying a fresh install of a ROM boot on stock kernel first, reboot, then install this kernel.
6. You Broke My Phone! Fix It!:
It will be quite hard for me to figure out what is going on if you don't provide details and a log of what happened. To get a log use any file manager with root support and navigate to sys/fs/pstore I then need the console one.
7. What Kernel Tweaking App Should I Use? What About For Tweaking Screen???:
I now Use synapse as my goto app for kernel tweaking since version 1.3. To control the screen I use the app made by Savoca who created the color control we use http://downloads.codefi.re/savoca/kcal
8. Why Add Zram? We Already Have 3gb Of Ram!
Zram was added in build 1.0 as an experiment of sorts to see how much is was actually being used. V 1.0 introduced a bunch of tweaks to the kernel that essentially make it use more ram in order to give better battery life and performance. Zram was put in place to offset this in a way.
9. Wut Is A LZ4?
LZ4 is a compression algorithm used by the kernel. LZ4 is currently the fastest supported option in the Linux kernel and had to be ported from upstream. It is significantly faster than XZ compression which is what we used prior. The downside is it results in slightly larger file sizes due to a lower compression ratio. However with modern hardware this should be moot. The gains should theoretically be noticed as a general performance bump. Boots should be faster. IO should be marginally faster. Anything that's compressing or decompressing stuff, such as ZRam and encrypted devices will utilize this in a big way. Because its compressing and decompressing so much faster it can also be assumed it is saving battery via less CPU cycles.
10. What Is Strict Aliasing And Why Should I Care?:
One of the big things Linaro does with improving Android's performance is fixing violations of what's known as "the strict aliasing rule." A pointer is said to alias another pointer when they both refer to the same location of memory. This is OK and not an uncommon thing to do. The strict aliasing rule is that pointers of different types should never refer to the same location of memory (aka alias each other). Strict aliasing allows a compiler to make some assumptions when compiling and optimizing code that it otherwise couldn't. It's actually one of the biggest optimizations you can do and it is fairly hard to add which is why most people don't. Here's a nice read up on it http://cellperformance.beyond3d.com/articles/2006/06/understanding-strict-aliasing.html#benefits
11. Come on man. 35mhz is pointless bro!:
A common misconception is that if two frequencies run at the same voltage. They use equal power. In fact this couldn't be less true. The equation for power draw has four variables. Two of which are frequency and voltage. Essentially it is the frequency multiplied by the square of the voltage. Then you would take that and multiply it by a few other things such as capacitance. However that is irrelevant for our purposes as it will not effect the relative results. This means that 35mhz running at 500mv will use about 3x less power than 98mhz at 500mv. Now we say well what about compared to 300mhz? I can stably run that at around 650mv. Maybe slightly less. This equates to about 15x less power usage at 35mhz. Well now that we know that. Who cares? Its not like 35mhz will even get used. Its too low! I beg to differ. I would almost guarantee that if you are not running mpdecision 35 MHz will be within the top 3 most used frequencies. Most likely the top used below sleep. And every time it uses that over 300mhz you are saving 15x the power. Additionally 35mhz also runs at a cache frequency of 35mhz as opposed to 300mhz cache frequency and runs a lower bus speed/voltage saving additional power. The same goes for 98mhz. Hope this helps clear things up.
12. How Do I Disable BlueSleep Wakelock?
Open terminal emulator app. Type su then hit enter then type echo 0 > /sys/module/wakeup/parameters/enable_bluesleep_ws all on one line. It won't say anything but if you turn on Bluetooth and check your wakelocks you shouldn't see the wakelock there anymore. This needs to be set on each boot currently. If you experience Bluetooth connectivity issues don't disable this. To enable it again either reboot or run the same command with a 1 instead of a 0.
13. How Do I Use MultiRom???:
To use multi ROM first you must download the MultiRom App from this location http://tasemnice.eu/bordel/MultiROMMgr-v1.180.apk the play store version doesn't work with shamu yet. Then you will need to open it, go to settings and tap the version number until you are a developer. Then click override manifest URL and for manifest URL enter http://tasemnice.eu/multirom-test/manifest.json the. Go back to the main page. You should now have MultiRom and recovery boxes checked. Click install, reboot etc. To install a ROM. Download a ROM you like, go to twrp, click advanced,MultiRom,add ROM. Select internal storage and the Your zip file. Flash it but don't reboot! After that go back and select "list ROMs" select the ROM u just flashed still and click flash zip and select your gapps,supersu etc. After that simple reboot and select your new ROM on boot use the MultiRom app to manage your ROMs.
More will be added as they come up and I think of them.
Configuration Guide:
The following can be done using your favorite kernel tweaking app. I use synapse.
Clock Speed:
To begin I prefer to leave my max clock speed at the stock 2.649ghz. Set min CPU as low as it can go. As of current release this is 35. For the adventurous you can try 2.88ghz. Often I bump the voltage 12mVolts on 2.88 to be safe.
To find your CPU binning run this command in terminal emulator OR look at the first page in synapse near the bottom:
su (enter)
cat /proc/cpu/msm_acpu_pvs (enter)
(Put a space between cat and /proc)
note that the number may be displayed at the beginning of the next line.
It will then display a number from 0-15. 15 being the best. Don't stress over it too much if you score low, its not the end of the world. It just means you need marginally more voltage to run each frequency.
GPU:
As of Alpha 1.3 the GPU can now be over clocked to 700mhz. This is completely optional. To verify your over clock change the GPU governor to performance and see if it spikes to 700 every so often. If it does it worked! If it doesn't you may need to set the frequency to something else then back to 700 again. It remains to be seen what kind of benefits the GPU over clock will give but it is there for those who want it. The recommended GPU governor is the stock msm adreno one. If you encounter lag in games you can try changing it to performance temporarily while playing that game. Simple on demand is a more performance oriented governor.
Governor:
Most people will probably want to just leave this set to interactive. Its a really good governor that is being actively devolped by CAF, Google, and Franco. It also hooks into Francos CPU Boosting interface. Its "smarter" than OnDemand and generally considered to offer better battery life. If you want even more smoothness some consider OnDemand to provide a bit better performance, however you may get slightly worse battery life. This is because OnDemand ramps up to max frequency when there's is load put on the CPU and then slowly works its way down. Interactive scales through the frequencies on the way up and down which saves battery life but prevents it from jumping to max speed as fast if it is needed. Simms22 recommends using the OnDemand governor with "upthreshold" set to 98 and the sampling rate set to 15000. That is the default setting of the Trinity Kernel. Mistertac made the great suggestion of turning the max screen off frequency down to 600mhz if using the interactiveX governor. This will prevent any misbehaving apps from keeping CPU ramped up while screen is off and give better idle drain. The actual number you would have to type in would be 652800 for the screen off frequency. The Conservative Governor is greatly modified by franco, Its no longer a super slow governor as it once was. It also hooks into his cpu boost control interface meaning you get cpu boost when using it. Conservative prefers the lower frequencies, however so if you find yourself having lag, you may want to switch to another.
PowerSuspend:
The only working options in V1.6 of the PowerSuspend driver are lcd_panel and Userspace which can be found in the miscellaneous section of FauxClock. I suggest leaving it at the default choice of LCD_PANEL. In FauxClock if you navigate to the cpu idle/stats area you will be presented with more options. You should see a list of C-states. For example C0: wfi and C1: retention. These are essentially low power states that the cpu can enter to save power. The higher the C number the deeper the sleep. Last I heard, the optimal configuration was to enable C0, C1, and C3. Paired with lowered Retention voltages, this should give you a very low idle drain.
Hotplugging:
Next go to hot plugging section and disable MPDecision(make poor decision) and enable intelliplug or, enable Mako Hotplug(Franco's) by either selecting user control as your hotplug, or disabling both mpdecision and intelliplug. Tweaking for them is split up below.
IntelliPlug:
FauxClock allows you to further configure intelliplug. If you want more battery set it to Conservative (4) mode which will hotplug the CPU more conservatively and save you battery, essentially this means it will use less cores if it can. For most people, leaving it on Balanced (4) mode will be fine. If you want further battery savings you can set it to EcoPerformance (2) or even EcoConservative (2) which will only use a max of 2 cores. IntelliPlug is able to use a single core unlike Mako Hotplug.
Mako Hotplug:
As far as I know the only way to tweak Mako Hotplug is either through the terminal app, synapse or through Francos app. In Francos app select cpu manager, then Hotplug Control. The main one you will need is load threshold. The default is 80. The higher this number, the more load the cpu needs to be under before it will plug the 3rd and 4th cores. 80 is actually pretty good value for most people and it will use the extra 2 cores when it really needs them. If you want to force all 4 cores on for whatever reason, you can achieve this by setting the load threshold to 0. This will effectively disable hotplugging. Of course you can always find a middle ground as well.
Via Terminal:
The sysfs interface for mako hotplug is...
/sys/devices/virtual/misc/mako_hotplug_control
To adjust... Use echo commands...
Ex:
echo 0 > /sys/devices/virtual/misc/mako_hotplug_control/load_threshold
The above command would set the load threshold to 0.
Thanks Rignfool!
Voltage Control:
Next go to voltage control. I'm a Bin 5 and I can use a 48mVolt undervolt without becoming unstable. Rember! Never set voltages to apply on boot until you have tested them for a few hours first! Most people can probably get away with a 36mVolt undervolt and nearly everyone should use at least a -24mVolt UV. Also remember that if you are running an over clock you may not want to undervolt that frequency. If you find yourself running into freezes or random reboots remove the undervolt!
Thermal:
This kernel comes with the latest IntelliThermal Driver from Faux123, which is a highly configurable thermal driver, as well as Franco's Thermal Driver which is the stock option. It is recommended you use IntelliThermal over Franco's if you wish to customize the values. Change this option under the Thermal Manager section of FauxClock. The optimal settings that I have found are 70 degrees for frequency throttle, and then somewhere between 70 and 80 for core throttle temp, depending on how safe you want to be. Stock is 80 degrees. Leave all cores checked for both frequency throttling and core throttling. I also leave on GPU Thermal Control, but if you encounter periodic lag in games you may wish to disable it. I also leave Core Thermal Control on as well, though I'm not entirely sure what it does lol. Also FYI, the sliders beneath those two options are showing you the current status of them, they are not sliders you can move.....trust me...I tried for like 5 minutes before I realized and felt like a moron....
I/O Settings:
For I/O scheduler select FIOPS. FIOPS is superior to the other schedulers in nearly every way. It is a scheduler designed for flash storage which is what our phones use. My testing has shown that 1536 is the best readahead buffer. Less or more is detrimental.
ZRam:
ZRam is something designed to optimize the ram of a device. What typically happens when a device runs out of space in ram is it is forced to use something called swap. Swap is normally a partition of a hard drive or ssd depending on what is available where the ram can copy some of it's contents to free up space. The problem is even the fastest SSDs are many many times slower than ram. Android by default doesn't have swap, however it does use a low memory killer which essentially goes through and clears out apps that are in ram to free space. ZRam makes a compressed partition inside the ram itself which then acts as a swap partition. Basically when ram begins to fill up. It compresses data and sticks it in a sealed off area of the ram. This let's it stuff way more stuff into ram than normal. To enable ZRam I use fauxclock. Trickster for whatever reason does not work. In FauxClock go to memory settings, then set the Zram size to 300mb and click apply disk size. Then turn it on and set on boot. You have now essentially boosted the available ram via compression!
VM Settings:
There are numerous tweaks you can do to the VM. For this I use FauxClock but IK Kernel Aduitor can do this as well. In FauxClock navigate to memory manager. The first thing to tweak is an option called swappiness. This control is used to define how aggressive the kernel will swap memory pages. Higher values will increase agressiveness. I defaulted this to 10 however the default is 60. This will use more ram but give better performance. Next is VFS Cache Pressure. This controls the tendency of the kernel to reclaim the memory which is used for caching of directory and inode objects. The default used to be 200. Its now defaulted to 10 meaning more ram usage but more performance. Next up is dirty ratio and dirty background ratio. Some things pass through ram and stay there for a bit until they get flushed to the flash storage. These controls essentially dictate how long it should wait before flushing to the flash storage. The longer you can delay it the better performance and battery you achieve, at the cost of ram. Setting these higher will increase ram usage but increase performance. I recommend a background ratio of 30 and a dirty ratio of 50, however feel free to tweak them as you desire.
Color Control:
Next you may want to adjust Screen RGB, value, saturation, hue and contrast. WrinkleFree over in the Lean Kernel thread did extensive testing with a professional grade $1000 screen calibration tool. You can use this app http://downloads.codefi.re/savoca/kcal to control the screen.
For the most truly color accurate screen at D6500K:
Red - 248
Green - 246
Blue - 255
If you prefer a slightly cooler screen and the tuning the iPhone uses which is D7400K:
Red - 237
Green - 235
Blue - 255
More info can be found about color calibration here: http://forum.xda-developers.com/showpost.php?p=57265483&postcount=620
As for saturation. I like to turn it up a bit and make the colors pop a bit more so I leave it around 65. But quite honestly saturation,value,contrast,and hue are going to come down to tweaking it and finding what you like most. Have fun!
These settings are meant to be used as a starting point. Depending on your cpu binning and desires you will probably want to tweak these slightly to fit your needs. I'll add more as new features get added, I learn more, and I think of stuff to add Hope it helps someone!
Sweet! Good work man.
Thanks for sharing.
It does support the CM Theme Engine, right ?
x0nar said:
Thanks for sharing.
It does support the CM Theme Engine, right ?
Click to expand...
Click to collapse
Yessir using it as we speak
Seems buttery enough. Will let you know the battery life on Bliss 2.0
x0nar said:
Seems buttery enough. Will let you know the battery life on Bliss 2.0
Click to expand...
Click to collapse
Good to hear so far. Don't forget to lower your min frequency . Also I recommend either Conservative or Interactive governors ATM as they hook into the new CPU boost. I'll be posting a full configuration guide probably tomorrow. Hope you like it.
New kernel , SUPER
Fauert said:
New kernel , SUPER
Click to expand...
Click to collapse
Hope you like it! No doubt I'll be hearing many bug reports when I wake up tomorrow
I've been testing this kernel on a few different Roms without any issues at all really so everyone should be happy with it.
If anyone gets any reboots though do try and get logs [emoji106]
Xileforce said:
Good to hear so far. Don't forget to lower your min frequency . Also I recommend either Conservative or Interactive governors ATM as they hook into the new CPU boost. I'll be posting a full configuration guide probably tomorrow. Hope you like it.
Click to expand...
Click to collapse
Looking forward to your guide.
Nice kernel. Jist one thing, may be is a feature i dnt know but only 2 cores online when i tried tu push all cores on, just stay with 2 or 1 core on. I changed the hotplug but still the same
Sent from my Nexus 6 using XDA Free mobile app
Bestplayer55 said:
Nice kernel. Jist one thing, may be is a feature i dnt know but only 2 cores online when i tried tu push all cores on, just stay with 2 or 1 core on. I changed the hotplug but still the same
Sent from my Nexus 6 using XDA Free mobile app
Click to expand...
Click to collapse
Are you trying to do this for a Benchmark?
Using the Faux app you can first set it to Intelliplug , then Performance (4) Cores and that should get you there.
If not, try setting it that way and reboot. I've noticed with this phone that I've had to reboot a lot for my changes to actually take correctly.
Cpu2 and cpu3 are stuck in performance...
And does anyone know where in sysfs to adjust mako hotplug?
rignfool said:
Cpu2 and cpu3 are stuck in performance...
And does anyone know where in sysfs to adjust mako hotplug?
Click to expand...
Click to collapse
Gotcha.. Well once Mr Xile wakes up I'm sure he'll have something for you, not sure myself.
Mistertac said:
Gotcha.. Well once Mr Xile wakes up I'm sure he'll have something for you, not sure myself.
Click to expand...
Click to collapse
I found it... And I learned a new Linux command in the process...
Haven't done a full battery test yet, but I seem to be getting the best I've seen so far.
Bestplayer55 said:
Nice kernel. Jist one thing, may be is a feature i dnt know but only 2 cores online when i tried tu push all cores on, just stay with 2 or 1 core on. I changed the hotplug but still the same
Sent from my Nexus 6 using XDA Free mobile app
Click to expand...
Click to collapse
Currently if you disable all hotplugs or if you use fauxclock to set it to usercontrol that enables Franco's mako hotplug. Thats why in an app such as faux you cannot easily force two cores online. However if you use Franco's updster app you can go to CPU manager then hotplug control and if you lower the load threshold it will hotplug more frequently. Setting this to 0 will force all cores online. Additionally as mistertac said. Using b intelliplug on either performance(4) mode or balanced(4) will use all 4 cores pretty frequently as well.

[KERNEL] [v0.14] [MM 6.0.0 Stock ROM] Frankenclark

Introduction
This is a kernel for XT1572/XT1575 built from stock sources (marshmallow-6.0.0-release branch) with cherry picks from other kernels and some ports/mods done by me. It started as a personal build tailored to my preferences but just thought I'd share in case somebody might find it useful. My main goal is building the smoothest kernel I can get so performance is top priority.
This kernel is for stock ROM MPH24.49-18*
Disclaimer
Although I have experience with Linux kernels on desktops and servers this is my first Android kernel. I've been running this kernel on my XT1572 for a few days and seems pretty stable but that doesn't mean it's risk free. In fact I wouldn't dare to install it if you don't have a proper backup and some basic skills to deal with unexpected situations.
Features
Aroma Installer
CPU profile scripts (see this)
Color control (KCAL)
Frandom
Updated to kernel version 3.10.101
Overclocking (a53: 1536MHz a57:2016MHz)
Underclocking (302MHz)
Additional CPU governors (ElementalX, Intelliactive, Lionheart, BioShock, BluActive, Wheatley, InteractiveX/Interactive, Impulse, Zzmoove)
Additional I/O schedulers (SIO, FIOPS, Zen, BFQ, SIOPLUS)
Bricked Hotplug
Updated ZRAM driver
Updated Lowmemorykill driver
Basic init.d support
KSM and UKSM
Voltage readings
Fsync on/off
Touchboost on/off
Vibration control
KEXEC Hardboot (MultiROM support)
Patched cdrom code (DriveDroid support)
DoubleTap2Wake/Sweep2Wake/Sweep2Sleep (EXPERIMENTAL)
Power efficient workqueues
Support for additional FS: NTFS, NFS, CIFS
Additional Xpad drivers (read this)
Device as USB trackpad/keyboard driver (read this)
WiFi module optimizations
Many minor optimizations
Optimization flags
UBER Toolchain 4.9
Installation instructions
Download ZIP and flash from TWRP/Flashify. Read the following notes carefully before flashing.
Important notes:
This kernel is still experimental, make a proper backup first
You need to be rooted
DO NOT play with DT2W/S2W before reading the release notes and the update
In case you want to tune some parameters (ie: CPU frecuencies) I recommend you install EX Kernel Manager, Kernel Adiutor or Kernel Adiutor-Mod.
If you're using Kernel Adiutor to control vibration or TCP congestion read this.
Questions? Read the FAQ before posting.
Download
Latest version is v0.14 (see release notes)
https://www.androidfilehost.com/?w=files&flid=49225​
Donations
Although quite a deal of the important work has been done by the developers mentioned in the Credits section I spend many hours working on this. If you feel like helping me out I'd appreciate some tiny donations to cover some minor expenses.
​Thanks to all of you who have donated, it's very much appreciated.​
Profiles
One of the FAQ in most kernel related threads is "What are the best settings for .....?". This is the 10 million question since the usage pattern can be very different for each user. However, I understand less experienced users will appreciate some hints in this department, so that's why I'm posting some basic settings you can use as a starting point.
It's your job to further tune them to suit your needs. You should be able to modify these settings with whatever Kernel Control App you like the best, although not all settings are available in every app, in such a case tune those you can. The list is not complete (just the most importante settings) and is loosely based on Kernel Adiutor arrangement.
Please, keep in mind these are subjective values (based of personal preferences or popularity) and some people might like other settings for whatever reasons.
Performance Profile: Very smooth and responsive but average battery life
CPU
LITTLE Cluster
CPU Governor: bluactive
CPU Max Frequency: 1536MHz
CPU Min Frequency: 302MHz​BIG Cluster
CPU Governor: bluactive
CPU Max Frequency: 2016MHz
CPU Min Frequency: 302MHz
NOTE: If you get N/A or weird values when trying to change settings on BIG cores it means both have been hotunplugged. To work around this select "performance" governor, make your desired changes and then select you previous governor.​CPU Boost
Input Boost Frequency Core 1: 960MHz​
Hotplug
MSM MPDecision
Minimum CPU online: 2
Maximum CPU online: 6
Max Cores Screen Off: 2
Idle Frequency: 384MHz​
Thermal
Core Control: Off
VDD Restriction: Off
Temperature Throttle: On​
GPU
Max Frequency: 600MHz
Min Frequency: 180MHz
Govenor: cpufreq​
I/O
Scheduler: noop
Read-ahead: 1024KB​
Balanced Profile: Above average battery life with good performance on most situations
CPU
LITTLE Cluster
CPU Governor: interactive
CPU Max Frequency: 1440MHz
CPU Min Frequency: 302MHz​BIG Cluster
CPU Governor: interactive
CPU Max Frequency: 1632MHz
CPU Min Frequency: 302MHz
NOTE: If you get N/A or weird values when trying to change settings on BIG cores it means both have been hotunplugged. To work around this select "performance" governor, make your desired changes and then select you previous governor.​CPU Boost
Input Boost Frequency Core 1: 960MHz​
Hotplug
MSM MPDecision
Minimum CPU online: 2
Maximum CPU online: 5
Max Cores Screen Off: 2
Idle Frequency: 768MHz​
Thermal
Core Control: Off
VDD Restriction: Off
Temperature Throttle: On​
GPU
Max Frequency: 600MHz
Min Frequency: 180MHz
Govenor: msm-adreno-tz​
I/O
Scheduler: noop
Read-ahead: 1024KB​
Battery Profile: Good battery life at the expense of somewhat limited performance
CPU
LITTLE Cluster
CPU Governor: ondemand
CPU Max Frequency: 1440MHz
CPU Min Frequency: 302MHz​BIG Cluster
CPU Governor: ondemand
CPU Max Frequency: 1632MHz
CPU Min Frequency: 302MHz
NOTE: If you get N/A or weird values when trying to change settings on BIG cores it means both have been hotunplugged. To work around this select "performance" governor, make your desired changes and then select you previous governor.​CPU Boost
Input Boost Frequency Core 1: 960MHz​
Hotplug
MSM MPDecision
Minimum CPU online: 1
Maximum CPU online: 3
Max Cores Screen Off: 2
Idle Frequency: 960MHz​
Thermal
Core Control: Off
VDD Restriction: Off
Temperature Throttle: On​
GPU
Max Frequency: 450MHz
Min Frequency: 180MHz
Govenor: simple_ondemand​
I/O
Scheduler: noop
Read-ahead: 1024KB​
Thanks To/Credits
vadimtk
flar2
franciscofranco
nimrodsv
anarkia1976
savoca
myfluxi
AudioGod
osm0sis
nychitman1
jollaman999
imoseyon
showp1984
HashBang173
neobuddy89
rehpyc
Alcolawl
soniCron
Spasticdroid
XDA:DevDB Information
Frankenclark, Kernel for the Moto X Style (Pure)
Contributors
dirtyhank
Source Code: https://github.com/dirty-hank/frankenclark/
Kernel Special Features:
Version Information
Status: Beta
Current Beta Version: 0.14
Created 2016-01-10
Last Updated 2016-10-11
Changelog
v0.14 (2016-08-29)
Proper KCAL control (thanks to @Spasticdroid)
Updated xpad driver for compatibility with gamepads/controllers (thanks to @Spasticdroid)
Driver to use device as USB trackpad and keyboard (thanks to @Spasticdroid)
Misc minor updates (see github)
100Hz version uses stock compiler flags
v0.13 (2016-06-21)
Update to Linux Kernel 3.10.102
Misc minor updates (see github)
New start-up CPU governor profiles: bluactive, maddog and silverfish
v0.12 (2016-05-15)
Disable DT2W/S2W while phone call is in progress
New CPU governors: impulse, zzmoove
New and updated CPU profile scripts
Runtime CPU profile switcher script (see release notes)
Minor changes to Aroma installer
v0.11.1 (2016-05-01)
Aroma Installer update (see release notes)
v0.11 (2016-04-27)
Aroma Installer
Better camera focus
Less CPU usage from DT2W/S2W
Minor updates and bugfixes
v0.10 (2016-04-03)
Updated lowmemorykiller driver
BFQ and SIOPLUS I/O schedulers
Updated ZRAM driver (on by default)
User togglable WLAN wakelocks
Basic init.d support (see release notes)
Misc minor updates
v0.9 (2016-03-20)
Update to Linux Kernel 3.10.101
Bug fixes
Changes from Google update to N5X and N6P (see release notes)
v0.8 (2016-03-06)
Update to Linux Kernel 3.10.99
Power efficient workqueues
NTFS support
NFS and CIFS support (you'll probably need additional user space binaries)
v0.7.1 (2016-02-28)
Workaround for the dimmed screen upon unlock bug when DT2W/S2W is enabled
v0.7 (2016-02-21)
Hotplug thresholds tuned to keep BIG cores offline more often
KEXEC Hardboot (MultiROM support)
Patched cdrom code (full DriveDroid support)
DoubleTap2Wake/Sweep2Wake/Sweep2Sleep (HIGHLY EXPERIMENTAL, Read this)
v0.6 (2016-02-07)
Vibration control (non-haptic)
Relaxed CPU macros for better power usage
File hosting now on AndroidFileHost
v0.5.2 (2016-02-03)
Fixed USB and WiFi Tethering
Minor tweaks
v0.5.1 (2016-02-01)
Changes to installer
v0.5 (2016-01-31)
Update to Linux Kernel 3.10.95
InteractiveX governor (as patches to the interactive gov)
Bricked Hotplug
KSM and UKSM (disabled by default, use Kernel Adiutor to enable)
Many minor optimizations
WiFi module optimizations
Modules recompilation
Disabled core_ctl (due to broken module after some internal changes to kernel)
Voltage readings (any attempt to modify values is silently ignored)
v0.4.1 (2016-01-24)
Prevent msm_performance from messing with the user selected min/max CPU frequencies
v0.4 (2016-01-23)
New CPU governors (ElementalX, Intelliactive, Lionheart, BioShock, BluActive, Wheatley)
New I/O scheduler (Zen)
Default I/O scheduler set to noop with a read ahead of 1024kb
Fixed bug CVE-2016-0728
Minor optimizations
Introduce ZIP installer (Anykernel2)
v0.3 (2016-01-18)
Color control (KCAL)
frandom support
New optimization flags
ZRAM disabled by default
v0.2 (2016-01-14)
Updated to Linux kernel 3.10.94
Underclocking (302MHz)
v0.1 (2016-01-10)
First public version
FAQ
I get random reboots, what is happening?
This kernel overclocks both clusters by default (a53: 1536MHz a57:2016MHz) and although this is very safe for most devices some CPUs are in the lowest spot of the binning spectrum and can't handle O/C very well. In such a case use a kernel control app (see the OP for references) to limit the maximum CPU frequencies, play with them until you find stable values for your device.​
What are the best settings for battery life/performance/whatever?
That's hard to tell as every user is different. You can find some basic profiles in the OP you can use as a starting point. Notice the differences between then and build you own.​
Why do some BIG cluster settings display N/A?
Why can't I change some settings on the BIG cluster?
If you get N/A or weird values when trying to change settings on BIG cores it means both are offline ("hotunplugged"). To work around this select "performance" governor, make your desired changes and then select you previous governor. You can also disable hotplug, make the changes, and enable hotplug again.​
DoubleTap2Wake doesn't work sometimes. How can I get it to work all the time?
When device goes into suspend mode first tap is often missed (I suspect this is caused by Moto Sensor Hub). If you tap three times and get the timing right you'll probably make it work most of the time. As an alternative, Sweep2Wake works almost all the time​
DT2W/S2W is acting weird or disabling itself
Make sure Moto Display is disabled. Open the Moto app, click on the stars in the top right corner, select Display and set to Off​
Can I use this kernel in ROM X/Y/Z?
This is for stock ROM MPH24.49-18 only. It'll probably work on any stock based ROM but not guaranteed.​
I use stock ROM but WiFi is not working
Due to some internal changes all modules had to be recompiled (WiFi included). In order to expose the new modules without modifying the system partition I had to implement a hack that requires root. Make sure you're properly rooted.​
What's the deal with ZRAM?
ZRAM is a technique to increase memory available to the apps at the expense of CPU time. Memory space from apps not being used is compressed into a memory swap area and uncompressed on the fly whenever needed. As you can imagine this compress/uncompress process burns CPU cycles, potentially leading to worse battery life, lag and higher temperatures. Since this device comes with 3GB I can only think of one scenario where ZRAM can be beneficial: heavy multitaskers who care more about apps not reloading than battery life. For the rest of users enabling ZRAM doesn't make much sense in my opinion, and that's why it's disabled by default.
UPDATE: v0.10 includes an updated ZRAM driver that improves performance significantly. So much so that the benefits seem to outweigh the costs and it's been enabled by default.​
What's the deal with KSM/UKSM?
Since many apps use the same libraries/resources it's very likely that at any given time there are multiple copies of the same data on different memory locations. KSM/UKSM tries to take advantage of that fact by scanning memory pages periodically and consolidating that multiple copies into a single shared copy. Much as like ZRAM it can have a good effect on heavy multitasking performance but at the expense of CPU cycles, and thus it's only recommended in the same scenario as ZRAM. Disabled by default​
Ok, so do I enable ZRAM/KSM/both/neither?
I honestly think most users will be better off not using neither. If you feel like you need extra RAM I'd try KSM first, then ZRAM. Using both at the same time is overkill unless you are an ultra multitasker, in which case you should probably get a 4GB device anyway ​
How do I get WiFi on 6.0.1?
It's a modem version mismatch issue, you need to downgrade the modem. See this post.​
Love to see more options! Thanks for sharing!!
Yeah this will be very good
Only One think that would be awesome try to implement the double tap to wake
Awesome! More custom kernels are always welcome are there many governors to choose from?
krohme said:
Awesome! More custom kernels are always welcome are there many governors to choose from?
Click to expand...
Click to collapse
Right now only the stock governors are available but I plan on adding a few
Can't we install it through twrp???
guraki said:
Can't we install it through twrp???
Click to expand...
Click to collapse
Yes, TWRP supports boot image flashing
I lost root after the kernel install....
---------- Post added at 03:22 PM ---------- Previous post was at 02:39 PM ----------
Seems to work fine!!! Any battery life expectations?
guraki said:
I lost root after the kernel install....
---------- Post added at 03:22 PM ---------- Previous post was at 02:39 PM ----------
Seems to work fine!!! Any battery life expectations?
Click to expand...
Click to collapse
As I said on the OP my main goal is performance/smoothness, so I haven't specifically sought better battery life. That being said I'm getting about the same battery life as stock with better performance, that works for me.
Nevertheless, I'm very interested on how it works for other configurations and usage patterns.
@dirtyhank could you please add hotplugging to the kernel? Preferably one that allows you to select how many cores to run as well as which ones, as in run the two A57s and turn off the four A53s. Currently I'm running two A53s at 1.2Ghz and the remaining four cores are always off.
The screenshot is from Lolipop, and it is the only reason why I havent upgraded to MM. Turning off cores definitely makes a difference on battery life.
Also, if possible, adding a lower speed to the min speed. Will gladly test anything you thow my way. Thanks in advance.
Is there any chance for a CM13 version and a DT2W fork from elementalx?
sir-harlekin said:
Is there any chance for a CM13 version and a DT2W fork from elementalx?
Click to expand...
Click to collapse
DT2W maybe, CM13 unlikely.
very nice thank you! slowly slowly we getting more and more things. Just making sure this is only for stock based rom/s Thanks!!
cerobles1 said:
@dirtyhank could you please add hotplugging to the kernel? Preferably one that allows you to select how many cores to run as well as which ones, as in run the two A57s and turn off the four A53s. Currently I'm running two A53s at 1.2Ghz and the remaining four cores are always off.
The screenshot is from Lolipop, and it is the only reason why I havent upgraded to MM. Turning off cores definitely makes a difference on battery life.
Also, if possible, adding a lower speed to the min speed. Will gladly test anything you thow my way. Thanks in advance.
Click to expand...
Click to collapse
What kernel are you using on LP?
patt2k said:
very nice thank you! slowly slowly we getting more and more things. Just making sure this is only for stock based rom/s Thanks!!
Click to expand...
Click to collapse
Yep, stock ROM, I'll edit the OP
dirtyhank said:
Yep, stock ROM, I'll edit the OP
Click to expand...
Click to collapse
Awesome gonna flash this soon
I hope a port for CM based roms might be possible in the future! Thanks for sharing your work and replying so quickly!
dirtyhank said:
Yep, stock ROM, I'll edit the OP
Click to expand...
Click to collapse
Getting bootloop on TruePure rom 2.4. Anything I can try to avoid bootloops?

[KERNEL][4.4.302+][for Android 9] A2N Kernel for Galaxy S8/S8+/Note8 (Exynos) [R61]

Revive your Samsung Galaxy S8 / S8 Plus phone in 2023!
Fastest custom kernel world-wide with lots of innovative features!
Supports all S8 / S8+ Plus / Note8 Exynos Variants Running Android 9
A2N Kernel Special Features
Google Play - certified device
SafetyNet: OK
100 % compatible with latest Magisk
Banking apps works fine
Charger control for faster charging
Battery IDLE and battery care
Stable CPU OC up to 4 x 2,8 GHz
Stable GPU OC up to 20 x 839 MHz
Adjustable CPU / GPU - Max Temp
Adjustable Battery Max Temp
Voltage control for all clocks (CPU lit/big - GPU - RAM - bus clocks etc..)
Fixed time to full battery
Flashlight tuning
Wireguard backend support - always latest version
DriveDroid backend support
Dex with any HDMI adapter - thanks @ Barna Keresztes
Samsung Dex: WQHD support with every adapter - thanks @ craftingmod
Higher SOT - with new battery up to 10 h, with old battery see screenshots
Wi-Fi calling & VoLTE works
S8: RAM upgrade - 3679 @ 3717 MB
Note8: RAM upgrade - 5339 @ 5376 MB
SELinux in permissive mode - thanks @Noxxxious
DRM - L3 stable streaming
Replaced SSWAP with zRam (RAM compression) - with fast LZ4 compressor
Added backend NTFS, CIFS and NFS support
Removed enforced device encryption - you can enable it in Android security settings
HMP driver fix
Added extra gamepads drivers: Xbox / Sony PS / Nintendo Wii
Ability to set different CPU Freq while screen ON/OFF
Ability to use only the little CPU
Proper support for Korean version (proper Wi-Fi power)
and many more ...
This Kernel Aims are to
reduce the power consumption
reduce device heat
improve the performance
make it more smooth
reduce RAM usage
improve RAM management
extend device features
and many more ...
A2N Kernel Control - App Features
Best way to tune this kernel to your needs
Note: 3-party kernel manager apps do not work with this kernel.
-- Charger control
-- Battery care
-- Battery IDLE mode
-- Battery thermal control
-- Custom resolution for HDMI/DEX
-- CPU/GPU OC control with voltage control
-- Limit CPU max_freq on suspend
-- CPU/GPU governor tuning incl. input-booster
-- CPU/GPU DVFS thermal throttling control (ability to adjust the max allowed CPU/GPU temp)
-- GPU power-policy always_on
-- Performance profiles
-- SWAP/zRam
-- Backend Network stuff like NFS, CIFS, WIREGUARD etc..
-- Wi-Fi-Band selection
-- Torch brightness control
-- Notification LED-RGB - adjust blink_on, blink_off delay
-- Accelerometer calibration
-- Load kernel module - NTFS.
-- Advanced Power Menu - ability to reboot to recovery / download-mode
-- And many more!
DOWNLOAD
Installation from Scratch
(assuming you are using latest stock ROM)​
Settings --> Phone Info --> Software info --> build number (tap 7 times)
Tap 2 times the back-key
Developer settings --> enable "OEM unlock"
Download TWRP for S8 / S8+ / Note8 accordingly (the .tar version, for ODIN flash over PC)
Download latest A2N Kernel for S8 / S8+ / Note8 or for Korean variant: S8 / S8+ / Note8 accordingly and put the file in USB-thumb or in micro-sd-card
Download latest Magisk.apk
Rename Magisk.apk to Magisk.zip and put the file in USB-thumb or in micro-sd-card
Power off​
Boot in Download-mode​
Flash the .tar twrp file with ODIN (disable "auto-reboot" and "reset time")​
Reboot directly to TWRP​
wipe ---> format data ---> "yes" (type yes) and ENTER.​
Flash latest A2N Kernel​
Flash Magisk.zip​
Optional but recommended: flash AdAway_hosts_patcher_g95x.zip (battery drain fix for vanced YouTube and vanced YT music)​
Reboot to system and enjoy !​
Note: first boot takes around 15 minutes for proper app optimization !​
Update A2N Kernel
Download and flash latest A2N Kernel for S8 / S8+ / Note8 or for Korean variant: S8 / S8+ / Note8 accordingly​
Flash Magisk.zip​
Reboot to system and enjoy !​
Current Bugs and Changelog
FAQ
Disclaimer​
I am not responsible for anything that happens after flashing the work provided here.
Sharing is caring, so according to the (much unwelcomed) rule 12 you can use my open source on GitHub without my explicit consent or credits. But this is where the caring stops as I do not allow you to use any of my own provided files (except for unmodified stock files). Section 3 of this rule states that you can try to bypass my explicit consent by releasing it as your own when you succeed to make significant changes to the work, otherwise i'll report you and your thread will be removed.
Credits​
Linus Torvalds - Linux kernel
Google - Android kernel patches
Samsung - device kernel source
@corsicanu - TWRP recovery - original thread
@S.AMU for providing FTP-Server
000webhost - Webhosting
@Noxxxious for the nice disclaimer text
XDA members - Reporting bugs
Minimum stable version: R54
Contributors
ace2nutzer
Source Code: https://github.com/ace2nutzer/Samsung_dreamlte_Kernel
Buglist - A2N Kernel R61
None
Changelog
A2N Kernel R61
RAM: improved memory management and fixed bug
USB: fixed tethering instability issue (needs more testing)
GPU: trigger kernel panic on GPU fault instead to issue a soft-reset
Removed buggy gaming_mode
GPU power-policy: force to use "coarse_demand" on suspend if "always_on" is enabled - saves battery (around 30 mA!)
CPU/GPU DVFS: reduced "gpu_dvfs_sleep_time" from 8 to 4 ms
GPU: fixed soft-reset issue caused by buggy HMP driver - this should fix GPU freezes and lags!
HMP: fixed bugs and adjusted tunables to be more aggressive - (faster and smoother)
CPU: updated ondemand gov
CPU: updated input-booster driver to be more efficient (more smooth, less battery draining!)
GPU: disabled shader cores hotplugging for better performance!
Updated ramdisk
A2N Kernel Control V61
CPU/GPU DVFS: added ability to check "Peak Temperature"
Misc: LED-RGB: added power control
CPU-BIG: removed CPU-Hotplug feature (redundant)
GPU: replaced "Gaming Mode" with "Boost"
GPU: added power-policy for "Always On"
CPU-BIG: merged "Input Booster" into "Boost"
CPU-LIT: removed "Boost" (redundant)
Audio: moved "PM-QOS" to "Debug" menu
Fixed bugs and improved performance
Older Changelogs
A2N Kernel R60
RAM: Fixed regression from R59 in memory management
RAM: improved multitasking
LED-RGB: added a new sysfs interface to force low_powermode_current
CPUSETS: moved "surfaceflinger", "systemui" and "InfinityWallpaper" to little CPU to save battery
A2N Kernel Control V60
RAM: optimized zRam routine
Misc: optimized red LED (ability to force low_powermode_current instead of dynamic_current)
Updated strings (help text)
A2N Kernel R59
Re-enabled CONFIG_MEMCG - to reduce memory usage
LMK/HPA: updated driver for better memory management - by me
CPU/GPU: updated voltages - increased a bit for stability
Fixed USB-JIG feature
SELinux: fake enforcing enabled by default
LMK: updated minfree values to work more efficient with updated LMK driver
Init: removed init.d.a2n - instead we use now default init.d folder
A2N Kernel Control V59
GPU: improved "Gaming Mode"
RAM: simplified swap control
CPU/GPU: added ability to check temperature
Updated defaults & fixed bugs
A2N Kernel R58
Source update to LK 4.4.302 (only memory management)
zRam: updated driver to LK 4.9.337
zRam: tiny bug fix
A2N Kernel Control V58
Fixed bugs
A2N Kernel R57 (Hotfix)
Fixed low FPS in games
Improved RAM
Improved DVFS for CPU/GPU
Added "gaming mode"
A2N Kernel Control V57
CPU: allow input booster up to 5000 ms
GPU: added "gaming mode"
A2N Kernel R56
Updated wireguard to the latest version
CPU DVFS: removed hardcoded voltages for stock Freqs (since it's painful)
CPU: re-added Samsung patch for app launch boost (all cores at max Freq while opening an app)
CPU: fixed big CPU hotplug feature
A2N: removed kernel settings lock caused by 3rd-party apps or (wrongly applied) user init.d scripts
Memory management: sync with Android kernel 4.4.194 + some other optimizations
LMK: updated driver
CPU/GPU: reduced device heat (since it's painful for the battery)
A2N Kernel Control V56
CPU: disabled CPU input booster by default
CPU/GPU: disabled CPU boost by default
Audio: set PM-QOS-BIG to 741 MHz (if you face audio issue, increase it)
CPU/GPU: removed voltage control for stock Freqs (still possible over shell script)
CPU: fixed CPU boost and up_threshold doesn't able to change after using CPU hotplug feature
CPU/GPU: set DVFS temp to 60 °C
Fxed other minor bugs
Debug menu: added DRM L1/L3 patch (only in demo version available or Google will kill me!!!)
A2N Kernel R55
Camera: fixed lags
GPU: re-added 260MHz-step
GPU: relaxed aggressive powersaving (using GPU power-policy "always-on" is no longer needed!)
RAM: optimized CMA/RBIN usage (more efficient RAM usage)
CPU: fixed cpu-hotplug instabilities
CPU: added ability to hotplug big CPU or only while suspend(screen OFF)
Screen: reverted to 214MHz while screen ON - caused screen tearing while scrolling in chrome-browser
Fixed "memory allocation failure order: 0" warnings
Added upstream patch to fix read_ahead_kb performance
Overall improvements (performance, battery life, memory management etc)
Improved boottime
A2N Kernel Control V55
GPU: re-added 260MHz-step
CPU: added ability to hotplug big CPU or only while suspend(screen OFF)
Bug fixes
Improved app performance
Kernel R54
CPU/GPU DVFS: improved stability & performance
Improved boottime
A2N Kernel Control V54
Fixed zRam
Bug fixes
Improved app performance
Kernel R53 (Hotfix)
HMP: fixed overheating issue
CPU: improved stability for 2,8 GHz step
Kernel V. 2022.10.14
Audio: re-added PM-QOS 1170 MHz for big CPU
Fixed random reboots introduced from previous release
CPU/GPU: updated voltage table
Lowered last_kmsg size from 2MB @ 1MB
Fixed tiny bugs in various drivers
DTS: updated source code and added korean DTS for S8/S8+/Note8
Korean devices: set proper WLAN_REGION= 200 for proper WiFi power
Screen: reduced min_freq 214 MHz @ 134 MHz for power save
Network: re-added PM-QOS to fix some issues
CPU/GPU: removed useless freq steps and updated governor
CPU/GPU: updated logic of DVFS driver
Devfreq: fixed wrong suspend/resume Freq settings for RAM, INT, LCD and so on
CPU: use min_freq = 832 MHz for LIT (CPU IDLE fix)
HMP_CUSTOM: optimize up/down-threshold more aggressive
Charger Control: updated chg_float_voltage from 4.35 V to 4,40 V for properly charging battery to 100%
DTS: user proper thermal zome name for CPU, so apps can detect CPU/GPU/BAT temp properly (remove also useless/duplicate temp sensors for better view in stats apps !!)
Updated kernel config
A2N Kernel Control V5.2
CPU/GPU: added voltage control for stock max_freq and OC Freq steps
Audio: add both pm-qos for lit/big CPU
Fixed bugs
Updated app defaults
Improved app performance
Kernel V. 2022.08.23
Audio UHQ: re-implemented on big CPU
Fixed deep sleep issue (caused by UHQ audio patch)
HMP_CUSTOM: tiny optimizations
Re-enabled several kernel security features
Re-enabled all HID drivers as suggested by Google
CPU/GPU OC: updated custom DVFS table for better OC stability - thanks @PORTER2002 for testing 2,8GHz stability
Fixed Samsung DexPAD - S-PEN works now - thanks @Illutorium for testing
Fixed as well other Samsung accessoires
Dex should still work with 3rd-party adapters as well
GPU: added some more optimizations, especially for Vulkan render
Optimized various system clocks for higher efficiency
Optimized input booster for higher efficiency - it uses now Freqs from "balanced" profile to be more power efficient
GPU: slow screen orientation should be fixed as well
Audio: fixed audio scratching when adding a lot of filters
A2N Kernel Control V. 5.1
GPU: voltage control: synced voltages from kernel release
Performance Profiles: updated all profiles
CPU: updated "little only" switch
Audio: UHQ: replaced PM-QOS-LIT with PM-QOS-BIG since we use now audio on big CPU
Updated defaults
Kernel V. 2022.07.01
DEX: bug fix for 3rd-party HDMI adapters
DVFS table: removed hardcoded OV for big CPU by me
Reduced power consumption for IDLE + low Freq steps (especially for Note8)
UHQ Audio: exported pm_qos_lit to userspace (to fix audio scratching)
A2N Kernel Control V. 5.0
Audio: added UHQ pm_qos_lit control (to fix audio scratching)
Kernel V. 2022.06.24
Charger Control: fixed bugs in LPM and battery IDLE feature
CPU/GPU/RAM/etc...: added voltage control
CPU/GPU: improved OC stability (CPU lit works stable @ 2 GHz for me)
Sound: updated pm_qos - should reduce sound scratching while idle and screen off
A2N Kernel Control V. 4.9
GPU: added voltage control for OC steps (stable up to 839 MHz)
CPU: added "little only" (for powersave)
updated defaults
Kernel V. 2022.06.12
GPU: updated voltage table - stable OC up to 839 MHz !!!
Kernel V. 2022.05.13
HMP_CUSTOM: updated driver
Audio: fixed stuttering - thanks @MUNISH MONGA for report and tests
DRM switched to L3 (Netflix fix)
Improved stability
A2N Kernel Control V. 4.8
Debug: added "fix permissions" (useful if you use this app with other kernel manager apps)
Improved stability
Bug fixes
A2N Kernel Control V. 4.7
Improved stability
Bug fixes
Kernel V. 2022.04.26
USB: fixed MTP/PTP/USB-tethering connections
USB-OTG: fixed SSD/HDD connection - thanks @PORTER2002 for testing
HMP_CUSTOM: updated driver - reduced delay on task migration - fixed background tasks that was sometimes going back to BIG CPU !
Disabled stacktrace
Changed dexopt to "speed" - for quick app launch
Kernel V. 2022.04.20
Improved stability
Improved memory management
Improved multitasking
Fixed BT issues
Fixed MTP Android version
Fixed compatibility issues with emulators apps like Windows emulator
Optimized USB-OTG driver
USB: improved speed for USB-tethering
Added support for F2FS
A2N Kernel Control V. 4.6
Screen: added HDMI/DEX custom resolution changer (to fix low resolution / refresh rate)
Misc: fixed MTP driver version Android
Screen: moved input booster to CPU
Source update
Reduced startup time
Improved stability
Fixed bugs
Kernel V. 2022.04.06
Stability fix
Improved memory management
Improved multitasking
CPU/GPU: updated DVFS driver - allowed again up to 100 °C
Compiled with -O3 - for higher speed
Enabled CONFIG_SYSVIPC - required for some emulator apps
DEX: allowed all resolutions (presets) as well for HDMI 1.4b (experimental)
USB-OTG: enabled support for HID, PRINTER & MASS_STORAGE (experimental)
Added better support for secure folder in kernel - not tested yet
(to enable it on custom ROMs with secure folder support, after you flashed this kernel and Magisk, write this simple cmd to your init.d script: "start secure_storage", save and reboot.)
A2N Kernel Control V. 4.5
CPU/GPU: DVFS max allowed 100 °C
Stability fix (kernel & app)
MISC: added MTP version changer
Improved performance (kernel & app)
Know issues: MTP version changer is broken in kernel and will be fixed soon.
Kernel V. 2022.03.11
Fxed lags with and without zRam enabled
CPU/GPU: ondemand gov --> updated scaling logic
CPU/GPU: decreased Freq switching delay from 40 to 20 ms
I/O: increased throughput - read_ahead_kb: 32 @ 256 KB
Overall improvements (speed, responsiveness, lagfree and battery life)
A2N Kernel Control V. 4.4
RAM: added page-cluster and read_ahead_kb tunable
Updated defaults
Kernel V. 2022.03.05
Improved stability - needs some testing now
Improved memory management
Improved performance & battery life
CPU/GPU: updated DVFS driver - reverted to max 95 °C
CPU/GPU: updated ondemand boost logic - uses only min/max freq to reduce freq switching related lags !
Fixed potential deep sleep issues
NET: moved L2TP & Wireguard to modules - (you can load modules over A2N full app or over init.d script)
GPU: updated driver - memory allocation improvements
USB-OTG: should support now also USB 2.0 & USB 1.1 devices (not only USB 3.0) - needs testing
Dex: re-added patch: enable Dex with any HDMI adapter (was accidentally removed)
Experimental: Dex: support more resolutions
A2N Kernel Control V. 4.3
Network: added L2TP & Wireguard support
Updated defaults
Bug fixes
Improved stability
Kernel V. 2022.02.06
Improved stability
Optimized memory management
Enabled CONFIG_USER_NS
Added Note8 support - (DUG6)
Source code update --> DUG6 (jul 2021)
Tiny updates to WiFi and HMP driver
Charger Control: increased default Max charging Temp: 35 @ 40 °C
A2N Kernel Control V. 4.2
Added Note8 support
Kernel V. 2022.02.02
Improved stability
HMP: improved for battery and speed
CPU/GPU: updated DVFS driver
Lib: sync LZ4 LZO ZLIB with LK 5.16.2
Ashmem: sync with AK 4.9.194
Samsung Dex: WQHD support with every adapter - thanks @ craftingmod
A2N Kernel Control V. 4.1
Improved stability
Updated defaults (swappiness=175)
CPU/GPU: DVFS Max 95 @ 100 °C
Kernel V. 2022.01.16
Improved stability
zRam: backport from Android kernel 4.9.194 (incl. zsmalloc and lz4 lib)
A2N Kernel Control V. 4.0
Bug fixes
Improved performance
Kernel V. 2022.01.10
Improved stability
CPU: updated HMP driver
Optimized MIF & INT Freqs qos-requirements
Removed F2FS driver
Kernel V. 2021.12.20
Fixed random reboots
CPU/GPU: governor update
CPU/GPU: DVFS update - for stability & performance
SELinux: removed fake enforce (enable MagiskHide in Magisk)
Phone status: official (fake)
Wireguard: source update
A2N Kernel Control V. 3.9
Bug fixes
Improved performance
Improved stability
Updated settings
Kernel V. 2021.12.06
Another attempt to fix random reboots
Swap: reverted zRam driver to stock - with some fixes by me
Improved LPM charging
Updated torch sysfs interface - for ultra bright torch
Updated kernel config
Disabled CONFIG_MEMCG (memory resource controller)
Optimized LMK driver (minfree values - should fix bad multitasking)
Wireguard: source update
A2N Kernel Control V. 3.7
Re-added autostart on boot
Torch: increased Max value: 15 @ 17 (Stock: 10)
Bug fixes
Improved stability
Reduced mobile data usage
Updated defaults
Kernel V. 2021.10.29
Fixed random reboots
Fixed apps force close
Reduced device heat
Improved memory management - especially multitasking
Updated Wireguard to the latest version
Fixed minor bug in Wi-Fi driver
Updated USB OTG drivers
CPU/GPU: updated DVFS (OC driver) and ondemand governors
Updated / fixed moisture detection for USB and jack port
HMP_CUSTOM: updated to allow to use all 8 cores at the same time for just one app (if the app has at least 8 threads)
Disabled "CONFIG_RT_GROUP_SCHED" as suggested by Google AOSP upstream, for the proper handling of real-time tasks
Added support for CIFS/SMB V2 + V3 and NFS V.4.2
CIFS: Fixed infinite loop when using hard mount option
SELinux: optimized "fake enforce" hack
Swap: updated zRam driver
A2N Kernel Control V. 3.6
RAM: LMK: added 64 MB choice,
added "Swappiness" tunable
CPU: Little: re-added "Disable Boost" and "up_threshold"
Switched to "DarkMode"
Bug fixes
Improved stability
Reduced mobile data usage
Updated defaults
Kernel V. 2021.06.03 (Hotfix)
Charger Control: Fixed AFC regression
Kernel Config: re-enabled CONFIG_PGTABLE_MAPPING
Disabled CONFIG_RBIN - maybe this will fix zRam random reboots (needs some testing)
Kernel V. 2021.05.30
CPU/GPU: updated ondemand gov
Charger Control V. 2.9: optimized AFC handling
Kernel Config: re-enabled CONFIG_SECURE_OS_BOOSTER_API for maximum speed for iris, fingerprint and face unlock
Disabled CONFIG_PGTABLE_MAPPING - maybe this will fix zRam random reboots (needs some testing)
Kernel V. 2021.05.22
zRam: set to 50 % size by default
improved stability
Memory Management: optimized low-memory-killer to have min 192 MB free RAM
for quick response even if RAM is in high pressure state
Torch: fixed torch control interferences with Android's quick settings
SELinux: added ability to fake enforce status (in demo app)
CPU big/lit: updated ondemand gov for the better smoothness and battery life - up_threshold 95 by default
CPU big/lit: up_threshold=95 and disabled boost always fixed on suspend for more power saving
CPU little: increased min_freq to 598 MHz, up_threshold 95 and enabled boost but on suspend it'll use 455 MHz for power saving
GPU: updated ondemand gov for more powersaving - up_threshold 95 - boost enabled
GPU: removed unused governors
Input Touch Booster: disabled by default for more power save
A2N Kernel Control V. 3.5
New: check for new A2N Kernel release on app launch
Misc: fixed torch control interferences with Android's quick settings
Updated defaults
Bug fixes
Removed redundant buttons
Reduced network traffic and debugging
Kernel V. 2021.04.17
Source code update: DTF1 -> DUA3 - thanks @ Samsung
HMP_CUSTOM: update - should fix several bugs e.g. with BT
zRam: updated driver for higher efficiency in MM and higher security (encryption) - thanks @ minchank
zRam: improved performance and compression ratio
MM: optimized CMA*/RBIN* usage - for the better memory allocation
MM: saved around 100 MB of a wasted RAM from RBIN - zRam driver will use it now
Debug: reverted some debug log buffers sizes to stock - probably it caused some instabilities
Fixed BT disconnections - thanks @traversone for testing in Android-Auto !
Improved stability
HMP_CUSTOM: updated driver
Optimized MM
zRam: updated LZ4 lib
Encryption: enabled hardware acceleration
Optimized boot-script for boot glitch fixup (needs some testing)
Added some patches e.g. EXFAT support provided by @ remilia15
Some more minor kernel tweaks
Uploaded also patched stock kernel - DUA3
Uploaded twrp with latest a2n kernel inside
*MM = Memory Management
*CMA = Contiguous Memory Allocator
*RBIN = recyclable reserved RAM for camera (228 MB)
A2N Kernel Control V. 3.4
Charger Control: added USB-CDP ( for USB charging in cars)
CPU/GPU: optimized DVFS
Profiles: Performance Plus: allow custom Freqs
Network: added more TCP congestions algorithm
Advanced Power Menu: updated
Kernel V. 2021.03.24
Fixed audio call recording - thanks @rostifaner for help
Charger Control: added support for USB-CDP (used in cars) - thanks @traversone for report and log
Thermal Throttling: driver update and allow up tp 95 °C stable CPU/GPU Temp (adjustable over the app or script) and add a proper overheat protection
Added more TCP congestions algorithm
lib/lz4: updated to LK 4.11.12 (for zRam stability and performance)
zRam: decreased overhead and reduced memory usage
I/O: increased read_ahead_kb for max speed
mm/zsmalloc: removed all samsung changes
Enable WQ_POWER_EFFICIENT_DEFAULT & MALI_DMA_FENCE
Custom HMP: update
Kernel V. 2021.02.06
Fixed device heating up - this time for real
CPU/GPU: added my custom (DVFS) thermal throttling driver
range: 45 - 85 °C
default: 65 °C**
adjustable temperature separately for CPU/GPU !
STABLE OC up to 2.8 GHz !! ***
Fixed random reboots - thanks @rostifaner for the hint !
Swap: added more optimizations for zRam
** Max possible performance only @ 85 °C for CPU/GPU !
*** I was able to pass Geekbench + 3DMark @ CPU 2.8 GHz / GPU 572 MHz with DVFS 85 °C
A2N Kernel Control V. 3.3
CPU/GPU: replaced "Cool Freq" (DVFS) with "Max Temperature"
Profiles: updated "Performance Plus" BIG-CPU 2.5 @ 2.8 GHz
Optimized reboot routine
Kernel V. 2021.01.26
Fixed device heating up
CPU/GPU: optimized thermal throttling (performance)
A2N Kernel Control V. 3.2
CPU/GPU: updated "Cool Freq" (DVFS)
Kernel V. 2021.01.20
Optimized system clocks
Fixed stability issues with/without zRam from previous release
Charger Control: added battery volt & battery (charge) max_temp interface
Reverted all temperature settings to stock
HACK: allow to reset battery capacity without JIG
FIX: fast charging in LPM and any issues with fast charging, likely with wireless fast charging
CPU: updated ondemand governor
GPU: added a simple ondemand governor
Source code cleanups
Reduced log buffer to the Min
Reenabled touch booster driver
Swap: improved zRam performance (page-cluster reset to stock)
Wi-Fi: allow to disable 5 GHz or 2.4 GHz band (this will fix severe issues with Wi-Fi routers that doesn't allow to use different SSID for 2.4 GHz / 5 GHz band)
Extended driver
RAM: 3724 MB
A2N Kernel Control V. 3.1
Power: added "Battery Voltage Check"
fixed 3500 mA current for S8+
added "Battery Cycles" & "Real Battery Capacity" and allow to reset it
added "Max Charging Temperature"
CPU/GPU: readded "up_threshold" & "Disable Boost"
added "Increase Sampling Rate"
Added more dialogs / checks
RAM: optimized "Drop Caches / Buffers"
Screen: readd "Input Boost Duration"
Added a quick 3-way reboot menu
Network: added "Wi-Fi Band Set"
Stability fix
Grammar fixes
Updated defaults
A2N Kernel Control V. 3.0
Improved stability
Kernel 2020.11.06
Fixed graphical screen glitches at resolutions > 1080
Optimized system clocks
RAM: Allowed to use higher RAM Freq - 1794 @ 2093 MHz (if Supported by binning)
CPU: updated cool freq logic - by default it uses system default (depending on binning)
GPU: improved stability, performance and readded OC up to 839 MHz
GPU: added "Cool Freq" Interface as well like on CPU for better handling of the higher Freqs > 572 MHz (since fully disabling DVFS would overheat the Phone)
CPU: Fixed Suspend Max Freqs feature
Power: Updated Charger Control to V. 2.6
Charger Control 2.6: increased default charging current to:
AC/USB-PD: 1500 @ 2200 mA(S8) / 1800 @ 2600mA (S8+)
Wireless: 900 @ 1200 mA
Disabled a lot of excessive debugging / log spamming / tracing
RAM: 3710 @ 3727 MB (with latest stock kernel it's 3679 MB)
Source cleanup
Fully disabled INPUT_BOOSTER to avoid painfully battery draining even when it's not needed e.g, if you just keep your finger on the Screen
CPU: switched from conservative gov to ondemand (conservative gov was cool but it's time for the new sh!t !)
SWAP: improved zRam Stability (disabled PGTABLE_MAPPING ... caused freezes and random reboots for me)
Patched system binary "dex2oat" to run only on big CPU - faster Apps optimization after wiping dalvik-cache and in general also it speeds up usual app installation and updating time from Play Store
More responsive, smoother and better performance ..... better battery life as well ?? - Let me know as i didn't test it yet
A2N Kernel Control V. 2.9
GPU: re-added OC up to 839 MHz
GPU: added GPU Cool Freq
Power: added Battery Cycle Info
Apply settings earlier on boot
Updated defaults / text
Fixed crashes
Kernel 2020.09.27
RAM: Optimized memory management - higher memory pressure for better multitasking even without swap
Charger Control V.2.5: increased max allowed batt temp to 45 °C - faster charging for Wireless and Cable
LED-RGB: allowed also to disable lowpower-mode for RED and GREEN LED
BIG CPU: enabled BOOST by default
CPU: enabled touch booster by default with 500 ms duration
Charger Control V.2.5: fixed battery level wrongly increasement when battery level is high at around 95 % and battery idle mode is active
Fixed all bugs with Battery iDLE, Battery Care and the mess with RGB-LED (now it finally works properly)
GPU: Removed Freq steps > 572 MHz since it doesn't work stable
GPU: added some useful sysfs interfaces to /sys/kernel/gpu (for debugging)
More responsive and smoother
A2N Kernel Control V. 2.8
RAM: added very easy and fail-safe control over Low-Memory-Killer
CPU: added CPUSET Control - ability to disable some unstable cores in order to get higher stable overclock rate
CPU: added ability to set a custom max_freq for Screen OFF
Misc: added ability to optimize also GREEN and RED LED
Reworked App layout
Updated defaults / Profiles
Removed unnecessary features
Simplified usage
Kernel 2020.08.27
Charger Control: increased high_temp_recover from 40 @ 43 °C (faster charging)
Battery Care: Fixed Blue LED / Non-Charging randomly
A2N Kernel Control V. 2.7
Compiled with SDK 29 (Google Play requirement)
Power: fixed "Battery IDLE mode" description
Kernel 2020.08.24
Improved Performance - also more smoother
LED-RGB: Proper handling of BLUE LED for Battery Care / Battery IDLE
Extended Input Support for mouse, keyboard, joysticks and touchscreen panels
A2N Kernel Control V. 2.6
Misc: LED-RGB: replaced "disable low-power-mode" with "Optimize Blue LED" (higher brightness in the darkness)*
* Since only the Blue LED needs an increasement
Kernel 2020.08.11
Fixed Call Audio
Kernel 2020.08.06
Source update DTC6 --> DTF1
Ramdisk Update DTEA --> DTF1
Partially enabled HMP Driver for proper handle of both CPU's
Updated Charger Control to V. 2.4: added support for battery idle* and battery care
LED-RGB: added ability to adjust blink delays for missed notifications
LED-RGB: added ability to disable low_power_mode - higher LED brightness in the darkness
Power: USB: ability to disable water detection
Drivers: enabled support for Xbox / Sony PS / Nintendo Wii / Gamepads
CPUSETS: moved some tasks and services (e.g. Audio encoder) to the little CPU in order to relieve the big CPU, improving performance for foreground Apps !
Optimized some system clocks
*= when battery is in idle, the LED will light up BLUE
A2N Kernel Control V. 2.5
Power: added battery care support (e.g. stop charging at 95 %)
Power: added battery idle feature (power your phone over cable-only)
Power: added ability to disable water detection (to deal with wrong water detection)
Misc: added ability to adjust LED-RGB blink delays (for missed notifications)
Misc: LED-RGB: added ability to disable low-power-mode (higher LED brightness in the darkness)
RAM: added ability to drop all caches and buffers (to free some RAM)
Kernel 2020.06.03
Ramdisk Update DTC1 -> DTEA
defconfigs: switched back to EXT4_FS_ENCRYPTION *
Build.prop tweaks (dalvik-heap)
* if you are using device encryption and your device can't boot with this release, then flash previous release
A2N Kernel Control V. 2.4
CPU: DVFS: unlocked all Frequencies - allows to disable CPU DVFS entirely
GPU: DVFS Fix
Kernel 20200519
Source Update DTA6 -> DTC6
Charger Control: allowed higher chg_temp - should charger faster, especially for 3000+ mA
defconfigs: re-enable Gear VR related drivers
Kernel 20200513
Memory Management: reverted to stock minfree values - slightly optimized
Dex with any HDMI Adapter - thanks @ Barna Keresztes from GitHub
zRam: stability Fix
init.d Fix
Improved Demo App auto installation - stability fix
Kernel 20200509
Memory Management: decreased memory pressure since it caused hangs
init.d Fix
Improved Demo App auto installation
Kernel 20200507
FIXED: VoLTE and Wi-Fi Calling for all ROMs and SIM Cards (especially Jio 4G VoLTE) - thanks @Orangelelo for testing
Charger Control: AFC Fix
enabled CONFIG_IP_NF_TARGET_TTL
FIXED: random reboots from previous version
FIXED: Lags from previous Version
Wi-Fi: Driver bug fix
Improved Demo App auto installation
Kernel 20200427
Charger Control: Driver update to V. 2.2
Charger Control: Auto AFC - user friendly
Charger Control: Fixed Wireless Charging overheat issue - thanks @Ranbir7878 for testing
Charger Control: Reduced heat when charging with > 5 V (AFC aka fast charging)
Charger Control: Fixed S8+ max charging current 3000 -> 3500 mA
RAM: optimized multitasking - fixed (restarting) notifications
Kernel config: disabled MPTCP
Binary Code Optimizations (CRC, Crypto, FPU, NEON)
Fixed init.d interferences with A2N App Full Version
Fixed Demo App auto installation - thanks @ChronoMonochrome for help
A2N Kernel Control V. 2.3
Updated Defaults
Power: Auto AFC (removed switch)
GPU: DVFS Fix (3D improvement)
Power: added batt temp
Bug Fix - Fixed interferences with init.d scripts
A2N Kernel Control V. 2.2
Request Root on App startup
Bug Fix
Kernel 20200403
FIXED: moving Apps to micro-sd card
FIXED: USB-PD Charging
RAM: optimized memory management - especially improved Multitasking
RAM: increased dalvik heap from 512 to 768 MB
Updated Kernel Config
Disabled HMP - this Kernel uses hardcoded CPUSETS (background tasks only on small CPU and foreground tasks only on big CPU)
Optimized system Clocks
CPU: conservative gov update - added Boost Control - in order to switch from min to max freq immediately
UFC/CPU: use stock cool_freq by default - 1469 MHz (but you can increase it over the App up to 2002 MHz)
GPU: Optimized OC - now Freq's higher than 572 MHz are also available but uses the same Voltage like 572 MHz (before the voltage wasn't set at all)
GPU: Enabled DVFS by default - (but you can disable it in A2N Kernel Control App if you need higher 3D Performance even on high temps)
Charger Control: updated driver to V. 2.1
SWAP: optimized zRam
Re-Added Wireguard importer - latest version
Updated kernel source to DTA6
Updated Ramdisk to DTC1
A2N Kernel Control V. 2.1
GPU: unlocked all steps up to 839 MHz
CPU: added Boost Control - in order to switch from min to max freq immediately
GPU: allows to disable DVFS - for higher 3D Performance
Updated defaults and Performance Profiles
A2N Kernel Control V. 2.0
Improved Stability
Allowed to use the App in Offline-Mode - Check "INFO" in the App description in google Play
Kernel 20200117
Fixed Device Encryption
NET: total available tcp congestion algorithm: cubic(default), reno, bic, westwood
Fixed Wifi-Calling (VoLTE already worked in previous release)
HMP: re-eneabled and reworked / optimized for max speed + Battery life
zRam: optimized for full speed (use all 8 cpu cores at the same time)
added choice for loading one of the three sizes: 25, 50 or 75 % of the RAM size
Improved Memory Management + Multitasking
Cooling Control: Added interface for adjusting the cool down CPU Freq max limit
Optimized input booster - enabled hmp_boost by default
Default USB Config is now sec_charging (if u need MTP or else, enable yourself in statusbar)
Higher performance + Better battery lifetime + smoother
Uploaded also new TWRP powered with this kernel release inside + fixed USB MTP
A2N Kernel Control V1.9
Performance Profiles: optimized for higher efficiency
Network: added TCP Congestion Control (cubic, reno, bic, westwood)
RAM: Swap / zRam: added choice for size 25 %, 50 % and 75 % of total RAM
CPU: Device Cooling Control: allows to change the CPU Max Freq limit for cool down
Cooling Control: check if there is currently an cooling event
Screen: Reworked Input Boost Control - Adjust Freq and duration
Bug Fix: Fixed back arrow
Kernel 20191224
Fixed Audio in Calling
Fixed VOLTE / Wifi-Calling
Fixed boot loop if magisk canary was installed
Charger Control: added support for USB-PD and increase default charging current for S8+ from 1500 to 1800 since it has higher capacity
Charger control: increased max charging current from 3000 to 3500 mA for S8+
Swap: optimized zRam
RAM: optimized Multitasking
Overall improvements - performance, battery, scrolling
Removed Wireguard
Improved my TWRP Version stability
Uploaded also updated/optimized twrp for S8/S8+ and stock kernel for reference purposes
This Version may fix a bunch of other bootloop issues with custom ROMs - Needs testing!
A2N Kernel Control V1.8
Power: added USB-PD current control
Charger control: increased max charging current for S8+ from 3000 to 3500 mA
Charger control: increased default charging current for S8+ from 1500 to 1800 mA
CPU: added all available overclock frequencies steps - for both CPUs
Kernel 20191216
Kernel source code update DSI1 --> DSJC
Ramdisk update DSI1 --> DSK9
Updated conservative gov
Re-enabled input_booster by default since it makes scrolling on chrome browser smoother (Home Tab)
Disabled HMP driver since it caused randomly overheating issue
Foreground tasks will run only on big CPU while background tasks will run only on small CPU - this will eliminate tasks migration relates delays between both clusters completely
Updated GPU config
Optimized system clocks like MIF clock and so on
Reduced boottime: cluster0 @ 1,9 GHz and Cluster1 @ 2,5 GHz during boot sequence
Reverted all the network stuff to stock (only the disabled ones .., not new enabled features)
Changed back to stock: ECRYPT to EXT4 encryption
Added filesystem encryption support for F2FS
Fixed USB Tethering (tested on win xp lol)
Cluster0 min_freq 715 @ 455 MHz back for screen ON in order to save some power
Fixed several errors from logs
A2N Kernel Control V1.7
Screen: updated input booster (for max smoothness)
CPU/Profiles: Cluster0 is back stock min_freq of 455 MHz (still smooth )
Perf. Profiles: added Performance Plus and updated the other profiles
Fixed app reset settings if stock kernel was installed (now settings will survive if u go back to a2n kernel)
Added new menus RAM + Network and sorted things properly into it
Kernel 20191118
Attempt to fix randomly heating up
HMP: Calibrated Tunables - now it works properly when the Small Cpu is overclocked
Removed OC Freqs for the Big CPU - not stable (caused miscalculations)
Improved performance and battery life
More smoothly and more responsive
Extras:
Uploaded also twrp recovery including this kernel version for S8 / S8+ (fixed instability and improved speed)
A2N Kernel Control V1.6
CPU/Profile: Removed OC Freqs for Big CPU (was not stable)
Performance Profile works properly now
Kernel 20191114
Fixed stability + performance issues from previous Version
Charger Control: set AC / WC current 1200 @ 1500 mA by default
Updated kernel config
Enabled CONFIG_NETFILTER_XT_TARGET_NFLOG and CONFIG_NETFILTER_XT_TARGET_LOG to support Afwall
Optimized CPU/GPU Governor
Disabled input booster by default - but it can be enabled in userspace (e.g. over scripts or App)
Re-enabled HMP Driver - but this time patched to finally work PROPERLY
Added KVM Support - (low-level VM support for max performance)
Optimized zRam - max_compression_streams = 4 @ 8
Optimized memory management
Improved performance and battery life
More smoothly and more responsive
Extras:
Uploaded also twrp recovery including this kernel version for S8 / S8+
Uploaded also patched stock kernel - Fixed Camera
A2N Kernel Control V1.5
Power: AC / WC current 1200 @ 1500 mA by default
Removed unsafe Frequencies Steps
Updated defaults and strings
GPU: added min Freq control
Screen: added input booster control (Freq and time)
Kernel 20191019 BETA
FULL Android 9 Pie Support
Based on Stock Source Code DSI1
Ramdisk DSI1
Compiled with the OFFICIAL ARM/Linaro GCC 8.3
Optimized Memory Managent
Improved Performance
Improved Battery Life
Reduced Device heat
More Responsive
Fixed Laggs (especially for some 2D Games)
Increased Efficiency
RAM: 3485 @ 3711 MB
Unlocked higher CPU/GPU Freq Steps - Thanks @Noxxxious
SELinux in permissive mode - Thanks @Noxxxious
Disabled SSWAP
Added zRam Support with fast LZ4 Compressor
Added KSM Support - patched for Android by me
Optimized Input Booster
Fixed very bad CPU IDLE
CPU: Interactive @ conservative gov - for higher efficiency
Added Wireguard Support
CPU: Cluster 0: Screen ON min_freq 455 @ 715 MHz to Fix Lags - 455 MHz Step is used for Screen OFF
Compiled with DEFAULT_USE_ENERGY_AWARE / WQ_POWER_EFFICIENT_DEFAULT - for better Battery Lifetime
Optimized Crypto, NEON SIMD Hardware Acceleration (e.g. faster device encryption due of hardware acceleration)
Disabled HMP since it serves nothing - Hardware doesn't allow to use real cpu_hotplugging ...
Added Charger Control 2.0 by me - Allows to configure custom max input current from 100 - 3000 mA in 100 mA Steps separately for AC / USB 2.0 / USB 3.0 / Wireless - that means real Fast Charging even with Screen ON - Allows even to charge at max current possible with 3rd-party Chargers !!
Added Flashlight Torch Control - You can adjust Brightness of your Torch from 1 - 15 - Default/Stock Kernel is just 5
SELinux: Removed Audit dependency - Thanks @ kerneltoast && arter97
Added Support for F2FS
Accurate remaining time to full charged battery
init.d Support
And many more Kernel Tweaks - i can't list them all here ... changelog is already too long isn't it ?! :laugh:
A2N Kernel Control V1.4
The best Way to manage this Kernel for full functionality (3rd-party Kernel Manager Apps will not work properly with this Kernel)
Compiled with API 28 Android 9 Pie
Power: Charger Control - Allows to configure custom max input current from 100 - 3000 mA in 100 mA Steps separately for AC / USB 2.0 / USB 3.0 / Wireless - that means real Fast Charging even with Screen ON - Allows even to charge at max current possible with 3rd-party Chargers !!
Added switch for "Adaptive Fast Charging" so u can directly toggle AFC in the App.
Ability to check actual accepted charging current and Input Voltage
CPU: OC Control: Cluster 0: up to 2002 MHz and Cluster 1: up to 2808 MHz
CPU Governor tuning: Adjust up_threshold to balance between Battery Lifetime and Performance separately for each Cluster
GPU: OC Control up to 839 MHz
Hardcoded Performance Profiles:
--> Powersave (Underclocked)
--> Balanced (Kernel Default)
--> Performance (Overclocked)
Misc: switch for zRam, KSM
Misc: Torch Brightness Control - up to 3 times brighter flashlight than with a stock Kernel !!
Misc: Ability to load kernel Module for CIFS and NFS with just one Tap
Misc: Accelerometer Calibration
Debug: u can call this Menu over the App built-in Menu (3 dot) - ability to save logcat and dmesg with one tap to your sdcard ..
Kernel 20190105
Patched ramdisk to fix Copy & Paste and maybe VoLTe too ?
Enabled 12 usb_audio drivers for testing (Modules)
Disabled some left overs useless drivers
A2N Kernel Control [G95x] V1.2
Compiled with API 26 instead 28
We use still API 26
Kernel 20181231
Sources update - CRGH -> CRL3
Fixed WifiCalling / VoLTE (not confirmed yet)
Compiled with latest GCC 8.2 ARM Toolchain
Fixed ADB
Re-enabled USB Sound Card Drivers
Optimized Memory Management
USB-OTG: Updated Max Vbus draw Current from 500 mA -> 900 mA, since USB 3.0 Spec allows 900 mA
Updated AC Charge Current from 1000 -> 1200 mA
and AC Fast Charge Current from 2000 -> 2200 mA
A2N Kernel Control [G95x] V1.1
Supports now all Galaxy S8 & S8 Plus with Exynos Chip
Adjusted AC Charge Current according to the CRL3 Source from 1000 -> 1200 mA
and AC Fast Charge Current from 2000 -> 2200 mA
Updated Tips for CPU-Max-Freq on Suspend
Kernel 20181209
Fixed mount ext-sdcard
Uploaded new Packages: stock kernel, twrp fully patched with latest A2N Kernel
Full Version of A2N Kernel Control for Galaxy S8 is now available!
A2N Kernel Control [G950] V1.0
Initial Release - All Features you can see in the built-in Demo App by flashing the Kernel package
Supports for now only G950F
Kernel 20181205
Initial Release - All changes compared to the Stock Kernel u can find it in Post #1 "A2N Kernel Features"
Based on Stock CRGH Source
Compiled with GCC Linaro 7.3.1
FAQ
Q: With which ROMs this Kernel is 100 % Compatible ?
A: Currently only with Android 9 custom ROMs, but Samsung stock ROM is recommended.
Q: Is this Kernel 100 % Safe ?
A: Yes.
Q: Will this Kernel Overheat the Phone if I use Highest Settings ?
A: No, you can't do anything wrong. Your phone has hard- and software overheat protection.
Q: How to Revert all Changes Made by this Kernel ?
A: Flash latest 3-parted stock ROM with ODIN or flash the Samsung kernel from my download site.
Q: How to bypass SafetyNet ?
A: Anable MagiskHide in Magisk app.
Q: How i can Tune this Kernel ??
A: Everytime you install or update this kernel you will face an red (demo) app "A2N Kernel Control..." open this app, and it'll redirect you to Google Play to get the full version (blue app).
Q: Can i use and Tune your Kernel with other Kernel Manager Apps ?
A: Yes, but you need first to unlock kernel with the A2N app full version.
Q: I've Installed the Full Version of the App, Will it Change any Kernel Settings by Default if i do not Change them ?
A: No, default app settings = default kernel settings.
Q: I've the Full Version of the A2N Kernel Control App, Do i still need the Demo Version of the App ?
A: Yes, there are some special features in-app-menu like "Fake Enforce" and debugging features for easy bug reports.
Q: How to Charge from 10 % to 100 % In just 1 h ?
A: E.g. set "AC Current Max" and "Maximum Charging Temperature" to the Max.
Q: How to get Max Speed for e.g. Highest FPS in Games ?
A: Set BIG / LITTLE CPU and GPU Freq to the Max, but avoid to use "unsafe" Freq's.
Then set CPU / GPU --> DVFS --> "Maximum Temperature" to the Max.
Now you can even cook an egg on your phone !
Q: Will my Custom A2N Settings Survive if i install Stock Kernel and then going back to A2N Kernel ?
A: Yes, as long as you don't uninstall it.
Q: Can i use your Kernel Control App with other Custom Kernels ?
A: No, it's not universal kernel manager app.
Q: My A2N App is Crashing after an Update, how to fix it ?
A: Re-install it. If it doesn't help, wipe dalvik-cache in recovery.
Q: My A2N App shows: "Please check your internet connection" - But i've good internet connection. - How to fix it ?
A: Settings --> network settings --> use private DNS server like "dns.adguard.com" - confirmed to work by user @Arnz09 - see his post here.
Otherwise send me a pm with the screenshot and you current location (city)
Q: Why I get lower benchmark scores with this kernel compared with the Samsung kernel ?
A: This kernel uses by default Max CPU/GPU DVFS Temp 65 °C to reduce the device heat. You can buy the full version of the A2N app to set the DVFS Temp up to 100 °C to get higher scores than on stock kernel.
Q: Why the Android Battery setting "fast charging" has no effect on this kernel ? - It charges always with around 1500 mA.
A: Because it would conflict with the built-in charger control.
The default charging current of approx. 1500 mA means no fast charging by default, even if you actually see "fast charging" in the notification section. This is also useful to reduce battery stress and device heat. To charge even with higher speed/current than on stock kernel you need to buy the full version of the A2N app.
Q: Why I've to pay money for just changing kernel settings ?
A: Well quality has its price. Also nobody forces you to use this kernel.
You can flash other custom kernels or flash the Samsung stock kernel from my download site. Good luck !
Q: When we get an update ?
A: This kernel is almost 100 % stable and works very well. Also this phone is now a bit "old" and therefore don't expect frequent updates.
Also don't ask for ETA's and if you do anyway, I'll ignore.
Q: How to fix audio stutering ?
A: Increase the PM-QOS-LIT / PM-QOS-BIG Freq in A2N app in debug menu --> "Audio" section.
Q: What is the benefit of editing the voltage table ?
A: to increase OC stability increase voltage and to decrease the device heat, decrease voltage. Last one will improve performance due to less throttling ! So it depends on your needs.
Q: How much is safe to undervolt ?
A: approx -50 mV is considered to be "safe".
Q: How to Report Bugs ?
- Please DO NOT report bugs if you are:
--- using "unsafe" Freqs
--- not using the latest release !
--- not using Samsung stock ROM (based stock ROMs are custom ROMs !)
A: Open the red A2N Kernel Control demo app and check in-app-menu (3 dots) then "Debug" and then on "logcat and dmesg" if you faced an app crash or if some features didn't work.
If the phone rebooted randomly, then tap on "last_kmsg". You will find the logs in your internal storage. After that you can attach them here in your bug report, by clicking "Attach files".
ROM:
Kernel version:
A2N app version:
BUG:
How to reproduce:
Same bug with stock kernel ? : YES / NO
Download stock kernel for bug reference: S8 / S8+ / Note8
BUG REPORTS THAT DO NOT FOLLOW THESE RULES WILL BE IGNORED !!!
Play playstore app support only galaxy ace 2 ?
unfortunately something went wrong with the s8 app release.
need to contact Google later.
please be patient.
are u going to release a version for sm-g955f? your kernel sounds rly interesting would appreciate that.
thanks! maybe yes ... if many users want it.
G95/ g955/ f/ n?
For now it's only for G950F and only tested to work 100% stable with the CRGH Build.
Tested for very long time on my G950F.
Honestly i don't like to build software for a device i don't own .. and even not to mention to release Software without to test it on my own.
However if'll receive positive Feedback then i'll buy all S8 Variants in order to build a perfect Kernel for you Guys !
But for now lets start with this.
I'll test and update this Kernel on latest available Stock ROM...
So, stay tuned
Thank you very much, I will continue to pay attention to it. I am G955N.
I have s8+ g955f. I know that it is only for s8 but anyway, I tried to test the kernel, it is booting up but I have no touch screen. I would be more than happy to test any test build if you decide to make it for s8+ too in the future.
Στάλθηκε από το SM-G955F μου χρησιμοποιώντας Tapatalk
installed with rom deodex ambasadii deo mod v1.3 and it works perfectly, only with mtweaks I can not regulate much, especially the battery current, moreover, why is there only interactive and deadline scheduler? another interesting feature is the dex only with the cable, I have to buy it so I try it, great job, when the app comes out in the play store I try it better, now I want to test consumption.
@ace2nutzer could you send me the apk of the kernel controller in trial version on telegram, my nikname is @ pablonik79
I really cant wait to use it on s8+. Thx for your efforts #respectthedevs
G955f not available?
If the kernel I only for s8 variant it shouldn't be posted on cross device topic....I think?
But anyway, nice futures so it'll be nice to have a new alternative for both devices. There's not much development in s8/+ especially from kernel side.
Thx for your work
installed this kernel on my s8 g950fd,my sd card cant be identified
Why CRGH when latest build is CRK1(november) ?
Lmperio said:
installed this kernel on my s8 g950fd,my sd card cant be identified
Click to expand...
Click to collapse
Im same, g950f says its corrupted, flash another kernel and its back.
This kernel soynds very promising, can't wait to try it on my S8+ when it comes out for the S8+?
Initial Release
Changelog
Kernel 20181205
Initial Release - All changes compared to the Stock Kernel u can find it in Post #1 "A2N Kernel Features"
Based on Stock CRGH Source
A2N Kernel Control [G950] V1.0
Initial Release - All Features you can see in the built-in Demo App by flashing the Kernel package
Version Info
This Thread // Kernel is only for G950x.
I'll release G955x Kernel and App in a new Thread just to keep things more sorted.
----------------------------------------------------------------------------------------------------------------------------------
Lmperio said:
installed this kernel on my s8 g950fd,my sd card cant be identified
Click to expand...
Click to collapse
53EYA said:
Im same, g950f says its corrupted, flash another kernel and its back.
Click to expand...
Click to collapse
Which Filesystem are u using on the sdcard?
pablonik79 said:
installed with rom deodex ambasadii deo mod v1.3 and it works perfectly,
Click to expand...
Click to collapse
This Kernel is optimized to work best with the Stock ROM, but it's nice to hear that it works as well with custom ROM.
only with mtweaks I can not regulate much, especially the battery current,
Click to expand...
Click to collapse
Yeah that's normal it's a fully optimized custom Kernel, all features works only with the original Kernel Control App from me. Using such "Universal" Kernel Manager Apps can even make your Phone unstable and will not make things better. That's why i build for every Device // Kernel a separate Kernel Control App.
Otherwise i would build also an Universal Kernel App ... but it's not that efficient and this is what u Guys definitely don't want for sure.
moreover, why is there only interactive and deadline scheduler?
Click to expand...
Click to collapse
Because we only need one good working CPU Governor and I/O Scheduler ... right ?
Short and easy explanation:
Interactive: it's the perfect gov for low latency workloads. - So it's perfect for Android to have a smooth and quick response experience.
Deadline: It's optimized for Flash Devices, it's simple and stable - Also appropriate for Android.
All other Gov and I/O are unstable or will decrease the Performance and or battery lifetime ...
(at least not very appropriate for Android .... however there's also I/O sched "ROW" or "FIOPS" which would be also ok for android, but they are not that stable like "deadline" and the difference in I/O Performance isn't that much.
So i've removed them so that u Guys can't change (accidentally) this important Drivers.
when the app comes out in the play store I try it better, now I want to test consumption.
Click to expand...
Click to collapse
G950 App comes hopefully Today out .. unless Google will block it again.
could you send me the apk of the kernel controller in trial version on telegram, my nikname is @ pablonik79
Click to expand...
Click to collapse
Sorry, there's no Trial Version at all ... only the Demo u can find in the Kernel Package.
But i know, u can't Tweak anything.... Please wait for the full Version.
Thank u very much Guys for your Appreciation. :good:

[ZeusROM/KERNEL][N960F/N][Q][BLKMQ|WBT|GCMA|LTO|SimpleLMK]-Truly Most Powerful Kernel

Hello, XDA! Me and @Da-BOSS would like to publish the Ultimate Kernel - Zeus :victory: .
Without too much hassle, let's see what this Kernel brings to our beloved Note 9.​
{
"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"
}
Behold the wall of features
Android Q kernel is based from Google sources Android-Q branch with applied on top of it Samsung's kernel sources.
Since there is no more ELS repository for Android Q kernels.. I made a branch on the same repository on Github called [ZeusELS] which is purely a completely stock kernel with linux upstreamed always to the latest :angel: that's if anyone wanted to develop a new kernel from scratch also.. ZeusELS is based from Google sources Android-Q branch with applied on top of it Samsung's kernel sources too ! :fingers-crossed:
Download links are always at the end of this post
ZeusROM Features for Android Q
[*] It is just simply a replicate of DevBaseROM from @_alexndr but with more debloats and Zeus Kernel ready inside... just flash it and it is ready
Kernel Features for Android Q
Imported N960FXXS4DTA5 kernel sources
Used updated ramdisk N960FXXS4DTA5
The kernel is now compiled with GCC 10.0.1 along with LTO [Link Time Optimization] using the latest updates available for [isl,mpc,mpfr,zlib,etc..] GCC is self compiled with all kind of flags optimizations applied for maximum performance benefits and increase code quality
Using GCC LTO with all fixes and optimizations which leads to faster kernel operations and less kernel code bloating which will lead to less kernel size in which allows me to make room and use O3 kernel optimizations which will increase kernel size a little bit for results in significantly improved hackbench performance, which is a sign that overall performance in the kernel is improved. It works especially well in conjunction with LTO.
Implemented/Using [W.B.T.] Write Back Throttling driver which increases IO performance and smoothness of the kernel operating generally.. what it does is...
[Enable throttling of buffered writeback to make it a lot
more smooth, and has way less impact on other system activity.
Background writeback should be, by definition, background
activity. The fact that we flush huge bundles of it at the time
means that it potentially has heavy impacts on foreground workloads,
which isn't ideal. We can't easily limit the sizes of writes that
we do, since that would impact file system layout in the presence
of delayed allocation. So just throttle back buffered writeback,
unless someone is waiting for it.]
Implemented hybrid poll mode With this hybrid scheme, we can achieve big latency reductions while still using the same (or less) amount of CPU.
Implemented various patches from 4.10/4.14/4.19 imported
Simple LMK! first in the history of Samsung smartphones with all updates and patches applied
Undervolted everything on the SOC from RAM,CPU,Camera,CPU Bus,etc..
Reduced SELinux expensive calls for audit and disabled entirely
Updated SchedUtil to the latest patches & updates
Updated SchedUtilX to the latest patches & updates
Implemented IOwait and Use it + Make IOwait boost more energy efficient
Re-adjusted Samsung values on nearly everything volts,battery,ram,etc..
Using the S10/N10 Values to our beloved Note9 for Exynos hotplugging drivers
Using CPU Assist driver and updated its values
Disabled all kind of Debuggings, loggings, tracings aggressively kernel size is under 30MB!
Boost DevFreq whenever a new frame kicks
Added PowerSuspend Driver which will help on battery saving extensively and integrated it to display driver
Using HTC's Fsync named [Asynchronous Fsync] and made it working as default for Note 9
Implemented Sched Yields to force sleep whenever it kicks in
Moved MMC driver to SCHED_FIFO thread to reduce the impact of
load on IO performance.
Applied O3 compiling flags to Crypto drivers for increase performance
Tuned Up ALMK [Adaptive LowMemoryKiller] values and use it by default
Adapted and Implemented Force Reclaim driver from Lenovo and use it by default
Killed Samsung's poor RBIN memory management
Implemented CMA from Qualcomms devices and Use it as a replacment of Samsung's RBIN here what does it do..
[CMA pages are designed to be used as fallback for movable allocations
and cannot be used for non-movable allocations. If CMA pages are
utilized poorly, non-movable allocations may end up getting starved if
all regular movable pages are allocated and the only pages left are
CMA. Always using CMA pages first creates unacceptable performance
problems. As a midway alternative, use CMA pages for certain
userspace allocations. The userspace pages can be migrated or dropped
quickly which giving decent utilization.]
Introduce and Implement and Use GCMA [Guaranteed Contiguous Memory Allocator] read below what it does..
[While demand for physically contiguous memory allocation is still alive, especially in embedded system, existing solutions are insufficient. The most adapted solution is reservation technique. Though it serves allocation well, it could severely degrade memory utilization. There are hardware solutions like Scatter/Gather DMA and IOMMU. However,
cost of these additional hardware is too excessive for low-end devices. CMA is a software solution of Linux that aims to
solve not only allocation but also memory utilization problem. However, in real environment, CMA could incur unpredictably slow latency and could often fail to allocate contiguous memory due to its complex design. We introduce a new solution for the above problem, GCMA (Guaranteed Contiguous Memory Allocator). It guarantees not only memory space efficiency but also fast latency and success by using reservation technique and letting only immediately discardable to use the area efficiently. It shows 15 to 130 times faster and more predictable allocation latency without system performance degradation compared to CMA.]
Implement binderfs for Andorid IPC
Wakelock Blocker is used by default and it already blocks the needed wakelocks by default
Added DropCache feature which will help with memory management on the long run
Tuned Adaptive LMK to work Asynchronously
Implemented ZRAM Deduplication feature which will..save amount of memory usage by zram. Read below the benefits...
[Android is one of the biggest users to use zram as swap and it's
really important to save amount of memory usage. There is a paper
that reports that duplication ratio of Android's memory content is
rather high. And, there is a similar work on zswap that also
reports that experiments has shown that around 10-15% of pages
stored in zswp are duplicates and deduplicate them provides some
benefits.]
Implemented ZSWAP same-filled pages handling feature look below what does it do..
[Zswap is a cache which compresses the pages that are being swapped out
and stores them into a dynamically allocated RAM-based memory pool. This patch adds a check to identify
same-filled page before compression of the page. If the page is a
same-filled page, set zswap_entry.length to zero, save the same-filled
value and skip the compression of the page and alloction of memory in
zpool. Improvemnt in preformance varies between 19% ~ 32% increased performance in store time & 49% ~ 85% increased performance in loading time]
Implement B-tree function and Made ZSWAP to Use it by default which will lead to the following IO bogo operations: * original: 73778.8 * btree: 393999
WireGuad using the latest version always
Added MoroSound!
Brought a collection of Paranoid Android & Xiaomi patches to our beloved Note9 devices
Tuned UFS net boost table
Speed up scatterlist to roughly a 2x performance gain & Speed up cache entry creation for mbcache2
Implemented some fucntions & drivers from 4.14 Kernel and use it on Note 9 [which have 4.9 Kernel]
Using Jump Lable on the kernel read below what does it do..
[This option enables a transparent branch optimization that makes certain almost-always-true or almost-always-false branch conditions even cheaper to execute within the kernel.
Certain performance-sensitive kernel code, such as trace points, scheduler functionality, networking code and KVM have such branches and include support for this optimization technique.
If it is detected that the compiler has support for "asm goto", the kernel will compile such branches with just a nop instruction. When the condition flag is toggled to true, the nop will be converted to a jump instruction to execute the conditional block of instructions.
This technique lowers overhead and stress on the branch prediction of the processor and generally makes the kernel faster.]
Using Jump Lable Relative References on the kernel read below what does it do..
[Reduce the size taken up by absolute references in jump label
entries themselves and the associated relocation records in the
.init segment, add support for emitting them as relative references
instead.This reduces the size of the __jump_table by 33%, and
gets rid of the RELA section entirely.]
Improve ION cache accounting
Added Fingerprint Boost Driver
Low Memroy Killer features... LMK Fast RUN, OOM Reaper, Process reclaim
Updated ZRAM & ZSWAP with LZ4,ZSTD,LZO compression algorithm
Implemented Devfreq Boost driver and updated it... look below what it does
"This driver boosts enumerated devfreq devices upon input, and allows for
boosting specific devfreq devices on other custom events. The boost
frequencies for this driver should be set so that frame drops are
near-zero at the boosted frequencies and power consumption is minimized
at said frequencies. The goal of this driver is to provide an interface
to achieve optimal device performance by requesting boosts on key
events, such as when a frame is ready to rendered to the display."
Introduced a centralized Energy Model (EM) management framework which aggregates the power values provided by drivers into a table for each performance domain in the system.
Using always the latest GCC 10 Build with LTO self compiled
Added battery Store mode [used to limit charging] advanced use only & Unstable power detection driver and made it optional through HKTweaks app (Google it)
Added battery charging control!! [The first on XDA & outside XDA]
Kernel size decreased from 39MB to 28~29MB from the debloating the kernel! [Truth to be told the Lightest Kernel on XDA & Outside XDA]
WireGuad using the latest version always
Added MoroSound! because many requested it
Optimized GPU futher by speeding up rendering frames to the display driver
Disabled security options that reported it might slow down kernel operation upto 30% [Thanks @arter97!]
Tuned UFS net boost table
Fixed CPUSet driver & updated block core for faster operations
Optimized block driver that should help shaving off a few cycles of the I/O hot path
Improve event-poll driver which make wakelocks less likely to happen
Improved/Optimized hrtimer, alarmtimer, timers drivers
Added Spinlocks, Qspinlocks, RWLocks, QRwlock, Atomic drivers & updated it
Optimized Dcache & ARM driver to improve cache-line alignments performance
Optimized CGroup to have a dedicated kmem_cache pool and avoid costly dynamic memory allocations.
Dynamtic Shedtune driver implemented and updated it with the latest patches
Clean up garbage/unused codes from CPU governers
Optimized IO up to 34% improvement in the I/O latency.
Removed a lot of garbage code and cleaned it up
Updated lib lz4 modules from 2013 to 2018/2019 including all updates which makes it possible to enable applications to use fast and/or high compression depending on the use case
State notifier driver enabled
Linux Up streaming kernel updated to the latest always
Applied PSI driver on RAM , CPU , IO Drivers... see what it does...
[When systems are overcommitted and resources become contended, it's hard to tell exactly the impact this has on workload productivity, or how close the system is to lockups and OOM kills. In particular, when machines work
multiple jobs concurrently, the impact of overcommit in terms of latency and throughput on the individual job can be enormous.
In order to maximize hardware utilization without sacrificing individual job health or risk complete machine lockups, this patch implements a way to quantify resource pressure in the system.]
Compiled it with GCC 10 with the latest updates applied & custom optimizations is used
Implemented FRANDOM
Fade Ramp Control
SELinux Permissive/Enforced
Boeffla WakeLock Blocker
Added Unstable Power Detection through HKTweaks app (Google it)
CPU Max Freq for LITTLE - Max Freq 2002MHz Min Freq - 455Mhz
CPU Max Freq for BIG - Max Freq 2946MHz Min Freq - 650Mhz
Sky's the limit.. OC'ed CPU Quad Core to 2.31Ghz & Dual Core to 2.65Ghz! [Default on stock kernel is 1.8GHz Quad & 2.3GHz Dual]
Implemented Power saving work-ques and made it optional for those who don't like power saving
Updated F2FS to the latest updates taken from Android-Q Google sources! needs ROM modifications to get F2FS working on /data partition
HMP is synced with Googles latest scheduler changes
Kernel Features for Android Pie
Imported N960FXXU4CSK1 kernel sources
Used updated ramdisk N960FXXU4CSK1
Implemented Devfreq Boost driver and updated it... look below what it does
"This driver boosts enumerated devfreq devices upon input, and allows for
boosting specific devfreq devices on other custom events. The boost
frequencies for this driver should be set so that frame drops are
near-zero at the boosted frequencies and power consumption is minimized
at said frequencies. The goal of this driver is to provide an interface
to achieve optimal device performance by requesting boosts on key
events, such as when a frame is ready to rendered to the display."
Taken SDCard drivers from Note10.
Introduced a centralized Energy Model (EM) management framework which aggregates the power values provided by drivers into a table for each performance domain in the system.
Possible fix for 1950Mhz to be forced to 2GHz
Added & enabled BBR tcp optimizations and networking operations optimizations... using fq_codel+bbr
[Observed a significant increase in BBR throughput (measured using netperf), in a basic wifi setup.]
Implemented further more CPU optimization for power consumption from Nvidia!! to Enhance power efficiency and adapted it to our Note9 device
Using always the latest GCC 10 Build with LTO self compiled
Optimized UKSM function and KSM along with it
Add ROW scheduling algorithm & ROW driver... mechanism of it is...
[The ROW scheduling algorithm will be used in mobile devices as default
block layer IO scheduling algorithm. ROW stands for "READ Over WRITE"
which is the main requests dispatch policy of this algorithm.
The ROW IO scheduler was developed with the mobile devices needs in
mind. In mobile devices we favor user experience upon everything else,
thus we want to give READ IO requests as much priority as possible.
The main idea of the ROW scheduling policy is:
If there are READ requests in pipe - dispatch them but don't starve
the WRITE requests too much.]
Added battery Store mode [used to limit charging] advanced use only & Unstable power detection driver and made it optional through HKTweaks app (Google it)
Added battery charging control!! [The first on XDA & outside XDA]
Made automated driver for read-ahead size decision when inserting any OTG/USB external storage on the device to optimize file processing performance.
Kernel size decreased from 39MB to 34.9MB from the debloating the kernel! [Truth to be told the Lightest Kernel on XDA & Outside XDA]
WireGuad using the latest version always
GFS - Gentle Fair Sleepers options provided to have more battery life
Added MoroSound! because many requested it
Initial support for Nethunter users
Optimized GPU futher by speeding up rendering frames to the display driver
Disabled some security options that reported it might slow down kernel operation upto 30% [Thanks @arter97!]
Added/Implemented UKSM
Brought a collection of Paranoid Android & Xiaomi patches to our beloved Note9 devices
Tuned UFS net boost table
Fixed CPUSet driver & updated block core for faster operations
Optimized block driver that should help shaving off a few cycles of the I/O hot path
Added SIMD & VSDO Technology
Added Power suspend driver and integrated it to display driver
Improve event-poll driver which make wakelocks less likely to happen
Improved/Optimized hrtimer, alarmtimer, timers drivers
Added Spinlocks, Qspinlocks, RWLocks, QRwlock, Atomic drivers & updated it
Added Dynamic Fsync driver and made it available with normal Fsync driver
Introduce CPUSet Assist driver for optimized multitasking
Optimized Dcache & ARM driver to improve cache-line alignments performance
Optimized CGroup to have a dedicated kmem_cache pool and avoid costly dynamic memory allocations.
Added Sweep2wake, Doubletap2wake and Sweep2sleep for Samsung Galaxy Note 9
CPU Input driver implemented and updated
Micro-optimizations for Ion driver, Binder, PCI Exynos drivers, hotplug driver,F-ECM driver.
CPU-Boost driver implemented and updated to the latest version including all kind of patches and updates from Sony,Xiaomi, and Nvidia
Dynamtic Shedtune driver implemented and updated it with the latest patches
Clean up garbage/unused codes from CPU governers
Optimized IO up to 34% improvement in the I/O latency.
Using Galaxy S10 + Note 10 HMP extracted drivers combined and implemented it to our be loved Note 9!
Introduced [Host Performance Booster] HPB driver from Pixel 3! & Adapted it to our Note9!! Please read below what HPB can do...
[HPB is essentially caching of the NAND chip’s FTL (flash translation layer) L2P (logical to physical) mapping tables into the hosts (SoCs) main memory. This allows the host driver to look up the target L2P entry directly without betting on UFS’s limited SRAM to have a cache-hit, reducing latency and greatly increasing random read performance. The authors of the feature showcase an improvement of 59-67% in random I/O read performance due to the new feature. It’s worth to mention that traditional Android I/O benchmarks won’t be able to show this as as those tend to test read speeds with the files they’ve just created.]
(Source of this info ---> Here)
Added Ainur audio driver for those who want to use DTS Audio mods
Applied PSI driver on RAM , CPU , IO Drivers... see what it does...
[When systems are overcommitted and resources become contended, it's hard to tell exactly the impact this has on workload productivity, or how close the system is to lockups and OOM kills. In particular, when machines work
multiple jobs concurrently, the impact of overcommit in terms of latency and throughput on the individual job can be enormous.
In order to maximize hardware utilization without sacrificing individual job health or risk complete machine lockups, this patch implements a way to quantify resource pressure in the system.]
Implemented AnyKernel Installer for the kernel so now Kernel will be flashed as a zip file! no more lockscreen/Samsung account issues (Make sure to clean install ROM if you have Samsung account issues)! [Big Thanks to @klabit87 for his awesome help! & @djb77 for his permission to use some of his scripts]
Updated Ramdisk to the latest build
Updated Kernel build base to the lastest available
Removed a lot of garbage code and cleaned it up
Updated lib lz4 modules from 2013 to 2018/2019 including all updates which makes it possible to enable applications to use fast and/or high compression depending on the use case
State notifier driver enabled
Linux Up streaming kernel updated to the latest always
Added IO governor & Updated to the newest version/patches:-
-Anxiety
-Maple
-SIO
-FIOPS
-Marrow
-Tripandroid
Implemented IO Switcher Driver (Taken from Oreo kernel) which will save more battery by switching IO Governor to 'Noop' when Screen Off and switch back to CFQ when is On for maximum battery and optimization + without need any user intervention... it does this automatically.
Fixed USB issues
Compiled it with GCC 10 with the latest updates applied & custom optimizations is used
Implemented FRANDOM
Fade Ramp Control
Compatible with DriveDroid
WireGuard Support
SELinux Permissive/Enforced
Boeffla WakeLock Blocker
Added Unstable Power Detection through HKTweaks app (Google it)
Using CPUAssist & StuneAssist
Implemented SchedUtilX CPU Gov and made it as default
Implemented Blu_schedutil CPU Gov
CPU Max Freq for LITTLE - Max Freq 2002MHz Min Freq - 455Mhz
CPU Max Freq for BIG - Max Freq 2946MHz Min Freq - 650Mhz
Sky's the limit.. OC'ed CPU Quad Core to 2.31Ghz & Dual Core to 2.5Ghz! [Default on stock kernel is 1.8GHz Quad & 2.3GHz Dual]
Implemented Power saving work-ques and made it optional for those who don't like power saving
Updated F2FS to the latest updates taken from Oreo!
CPU Input driver implemented and updated
Battery polling & NFS wakelock control
State notifier driver
SimpleLMK [Oreo feature for the moment]
GPU OC [Oreo feature for the moment]
And a lot more, that you need to find .
FDE.AI & L Speed & Nuked Script it's been tested for Zeus kernel & ROM and me as a Kernel Developer I officially support it. It is been tested for everything.. stability , performance and improved battery life
Everyone give full support to those developers @Paget96 , @FeraVolt :fingers-crossed:
====================================================================================================
ZeusROM Q Version
For N960F/FD users:-
GoogleDrive Download Link:-
Download Link Here
Mega Download Link:-
Download Link Here
MD5:- a1d7cc2991435c74cf843b0ff468e70c
For N960N users:-
GoogleDrive Download Link:-
Download Link Here
Mega Download Link:-
Download Link Here
MD5:- aa656b105dfcf00a8e76e33e11b7beb4
====================================================================================================
Kernel Q Version
Here
Kernel Pie Version
Here
Telegram Link
mod edit - link removed
I recommend using Hktweaks app through this link.. it fully supports Zeus kernel
Here
Credits:-
Samsung Open Source Release Center for the Source code
Google for AOSP Common Kernel Source
@osm0sis for Android Image Kitchen
@klabit87 for his scripts :highfive:
@farovitus for ELS
@djb77 for scripts
@Anastasis Vasileiadis for his help to provide the needed changes for NetHunter to work
@Arteush for providing a proper scripts to get it working with all TWRP (Especially his own ones)
@Eamon for compile script
And every one that made Android a beautiful world! :fingers-crossed:
XDA:DevDB Information
Zeus Kernel, Kernel for the Samsung Galaxy Note 9
Contributors
azZA_09, Da-BOSS, All users on telegram group
Source Code: https://github.com/THEBOSS619
Kernel Special Features: F2FS, Custom CPU BUS, Debloated Code, Power Suspend Driver, CPU OC, CPU Bus Mods, Driver Mods, Pocket Judge Idle, GCC Mods, IO Switcher, UFS Mods, DynFsync, Host Performance Boost[HBP], HMP mods, Ainur Audio, SIMD & VSDO
Version Information
Status: Stable
Created 2019-08-28
Last Updated 2020-04-14
In order to Install the Kernel:
- Flash the Kernel in TWRP
- Flash Magisk
Recovery to be used - https://forum.xda-developers.com/galaxy-note-9/development/recovery-twrp-galaxy-note-9-t3929901
Thanks a lot @Arteush and @yarpiin for your hard work!
Magisk to be used - https://forum.xda-developers.com/apps/magisk/official-magisk-v7-universal-systemless-t3473445 - (Beta Version)
When you want to report a bug, provide logcat, ROM, Kernel Version and a way to replicate the bug.
For logcat, use https://github.com/Tortel/SysLog
How To Convert To F2FS Without Losing Data
Notice -You MUST have TWRP F2FS compatible recovery
1 - Backup your [Data] partition and your [Internal Storage](if possible)
2 - Warning backing up [Data] partition doesn't include your internal storage files like (Images,Musics,Video,etc..)
3 - Once finished, Convert /Data & /Cache Partition to F2FS
4 - Go to TWRP settings.. and tick [] at [Use rm-rf instead of formatting]
5 - Restore your backup.
6 - Done!
Sorry for the duplicates, use this thread till the other ones are deleted!
Thank you for your big contribution... the kernel wouldn't reach this level without you & your patience & most importantly your motivation & passion to keep pushing the kernel to the edge
Thank you from all my heart O
Thanks for your precious efforts my friend.
I am using latest kernel with latest ambasadii. Working like a charm.
How to keep the cpu freqiencf locked ?
I have no words to describe this!!! Kernel is super fast, super smooth and the apps are opening in lighting speed! I can't believe what im seeing here. THANK YOU, THANK YOU!
Sent from my [device_name] using XDA-Developers Legacy app
---------- Post added at 10:45 AM ---------- Previous post was at 10:01 AM ----------
samsung account failed to sign me in. maybe check this out.
Sent from my [device_name] using XDA-Developers Legacy app
karapoutsoglou said:
I have no words to describe this!!! Kernel is super fast, super smooth and the apps are opening in lighting speed! I can't believe what im seeing here. THANK YOU, THANK YOU!
Sent from my [device_name] using XDA-Developers Legacy app
---------- Post added at 10:45 AM ---------- Previous post was at 10:01 AM ----------
samsung account failed to sign me in. maybe check this out.
Click to expand...
Click to collapse
What baseband. CSG5 or CSG2
azZA_09 said:
-Go into TWRP recovery
-After that, Install Magisk
Click to expand...
Click to collapse
Could you provide correct links for:
- the F2FS supporting version of TWRP suitable for N960F
- the Magisk installer that can be installed using this TWRP
TIA.
jult said:
Could you provide correct links for:
- the F2FS supporting version of TWRP suitable for N960F
- the Magisk installer that can be installed using this TWRP
TIA.
Click to expand...
Click to collapse
Join telegram group and you will find everything you need the group is created for a reason... to provide support & to have everything you need for info :angel:
azZA_09 said:
What baseband. CSG5 or CSG2
Click to expand...
Click to collapse
CSG2
Sent from my [device_name] using XDA-Developers Legacy app
karapoutsoglou said:
CSG2
Click to expand...
Click to collapse
Update to csg5 and everything will work
jult said:
Could you provide correct links for:
- the F2FS supporting version of TWRP suitable for N960F
- the Magisk installer that can be installed using this TWRP
TIA.
Click to expand...
Click to collapse
Sure thing. Later today.
How do I switch to enforcing from permissive?
Thanks
Sent from my SM-N960F using Tapatalk
ALLDAT said:
How do I switch to enforcing from permissive?
Thanks
Click to expand...
Click to collapse
Kernel auditor, mtweaks or magisk selinux changer module. Your choice.
azZA_09 said:
Kernel auditor, mtweaks or magisk selinux changer module. Your choice.
Click to expand...
Click to collapse
Do you know where I can change that in ex kernel manager?
Sent from my SM-N960F using Tapatalk
ALLDAT said:
Do you know where I can change that in ex kernel manager?
Click to expand...
Click to collapse
I don't think you can do it
azZA_09 said:
I don't think you can do it
Click to expand...
Click to collapse
Thanks
Sent from my SM-N960F using Tapatalk
azZA_09 said:
Update to csg5 and everything will work
Click to expand...
Click to collapse
There is a CSG5 Baseband and a CSG5 Bootloader?

[Kernel][Overclocked] No Gravity [2023-04-30] [ProtonClang]

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 1.0.0 + 4.3 App Trailer
Hey, NoGravity Kernel dev coming from the good old OnePlus 2 here! I'm a graduating student in computer science and I actually work as a programmer. I made a pretty solid kernel for that old Oneplus device and even added Energy Aware Scheduling (EAS) support to it backporting new features like Dynamic Schedtune Boosting to this old 3.10 kernel. With it being pretty much at its apogee, I need a new challenge on a newer kernel (4.9+) while keeping NGK's mindset of Performance/smoothness while getting decent battery life due to added battery oriented features.
For those who want a to know more about my work here is the link to NoGravity Kernel for OnePlus 2.
The Kernel will boot using stock (Pocophone F1) CPU & GPU frequencies that correspond to the Balance Profile when Magisk is present. Overclocked frequencies can be selected in any kernel manager app. Other profiles for battery, performance and gaming can be switched to in my app.
To tweak the kernel easily, here's my No Gravity app! featuring custom profiles (Battery, Balanced, Performance and Gaming). My app offers some features that cant be found in other kernel tweaking apps. You can find them lower in the thread.)
-No Gravity app! support
-Android T (13) ready
-Rebased to full CAF
-Enforcing SELinux
-KernelSU support
-OxygenOS Ports support Please read compatibility section
-9.1.24 & 10.3.7 Novatech Touchscreen Firmware
-Updated, Cleaned up & Optimized NVT/FTS Touchscreen drivers for latency and responsiveness and reduced touch issues
-The two CPUs (Silver and Gold) can be configured completely separate in terms of min/max frequencies and governors
-Unlocked PUBG HDR+Extreme options (Disabled by default, enable it in app)
-CPU Next frequency selection tunable (linear/expnential)
-GPU Overclocked to 835 MHz (GPU overclock/underclock is possible)
-GPU Underclocked to 160 MHz on idle
-Adrenoboost
-Updated energy model
-Pixel Thermals support
-Using Evaluation Thermals
-Own Thermal Suspend API
-Own Thermal Locking Mecanism (Mostly for using NGK thermals on MIUI)
-NAP power saving state for Adreno 630 GPU
-Dynamic Stune Boost
-Devfreq boost and Cpu Boosting drivers
-Disabled ZRAM by default
-FSync Control (ON/OFF)
-Faster Applications Opening speed
-Slimbus Overclock
-Added Fingerprint boost
-Added WakeBoost module
-Added and Using ZEN I/O Scheduler as default for app opening speed && overall Smoothness
-Added Maple, SIO, FIOPS, BFQ, ANXIETY I/O Scheduler
-Westwood(Default) & BBR TCP Algorithms
-DTS Headphone X Software Drivers
-Sound Control support
-Vibration Control
-Charging throttling removed
-Maximum charge rate over USB 3.0
-WireGuard support
-USB Ethernet support
-Controller support
-DriveDroid support
-HDR Video Playback support
-KCAL support
-K-Lapse 5.0 support
-Network Guru app support
-Blocked and tweaked wakelocks (Boeffla & more)
-Fingerprint improvements
-Caches optimisations
-Compilation optimisations
-Debloated
-F2FS Support with GC
-Compile with Proton Clang + Polly + Thin LTO
-Latest CAF Tags merged in
-Always upstreamed to latest! (4.9.337)
-And many more under the hood changes...
-Injected sepolicies to work on Enforcing SELinux
-Per-App Tweaks page to apply tweaks to specific apps
-Kernel & App update checker (Direct install of kernel and app on Pocophone) + Selection between touch firmware versions
-Balance(Default),Performance,Battery,Gaming & Gaming+ Profiles (QSTile available)
-Custom Profile Creator Page that let's you create and share profiles with the NGK community (/SDCARD/NGK/PROFILES/)
-Precise CPU temperature for both Clusters separately
-CPU Page with following tunables:
-CPU Governor
-CPU Frequency Selection Algorithm (Linear/Exponential)
-CPU Min/Max Frequencies
-NGK Smart Throttling
-NGK Stats Page showing last gaming session FPS+ Chart, throttling, 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
-RAM usage
-Kernel Page to let you control:
-App optimization (ART) Button
-Thermals:
NoGravity (NGK’s default) || Battery || Stock one
-PUBG HDR+Extreme config unlocker
-ZRAM
Battery Page to let you control:
-Adaptive Charging
-Charging rate limiter
-Battery Thermal Throttling Removal:
ON (NGK’s default) || OFF
-GPU Page:
-GPU Stats
-Min/Max GPU Freq Selector
-Adrenoboost
-KLapse (Brightness and Daytime modes)
-Backlight Dimmer
-HDR ON/OFF toggle
-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
-DTS Eagle (Sound) Info Page
-More will be added...
-More features...
-Let me know what you want and those may be added!
This kernel should work on any ROM/Ports! Since I love OnePlus and I'm myself a OnePlus 2 user, I will do my best to fully support OOS ports.
Reported to work on: OnePlus 6 Holi Edition, OnePlus 7 OB8 & OB8 Quince, Quarantine Edition. OxygenOS devs do not support custom kernels so if you face any issues with NGK don't post in their groups, post here instead. Latest OOS may have calling issues as reported by some users.
-I recommend before coming to conclusion, give it at least 2 complete charge cycles and then raise any issue.
-I recommend to use my app, franco app or EX Kernel Manager if you need to tweak the kernel further
-CPUs since Snapdragon 845 can't be overclocked from kernel this is why it is removed
-Flash No_Gravity_Kernel-vX.X.zip file in TWRP (Latest TWRP Recovery Recommanded)
-(Optional) - Clear cache and Dalvik => if you do so, Use App Optimization button in NGK App.
Download No gravity Kernel / Download No Gravity App
Donate me! / Telegram Group /
No Gravity App Changelog / No Gravity Kernel Changelog
-The android community and to all my testers for using my kernel and your precious feedbacks and ideas!.
-thanasxda for his experience/knowledge on the Pocophone
- @[COLOR=#00b5d3]_undead[/COLOR] & @[COLOR=#00b5d3]Wmbruckner[/COLOR] for the crowdfunding
-Followings for their donations!
@[COLOR=#00b5d3]Wmbruckner[/COLOR]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]​
Contributors
Pierre2324
Source: https://github.com/Pierre2324/NGK_android_kernel_xiaomi_sdm845
Version Information
Status: Stable
Current Version: 4.4.0
Created: 2019-11-16
Last Updated: 2023-04-30
Changelog
NoGravity Kernel v4.4.0 & App 6.4.0
Previous Changelogs:
NoGravity Kernel v4.3.1[/B]
NoGravity Kernel v4.3.0 & App 6.3.0[/B]
NoGravity Kernel v4.2.0 & App 6.2.0
NoGravity Kernel v4.1.0 & App 6.1.0[/B]
NoGravity Kernel v4.0.0 & App 6.0.0
NoGravity Kernel v3.3.0 & App 5.3.0
NoGravity Kernel v3.2.1 & App 5.2.1
NoGravity Kernel v3.2.0 & App 5.2.0
NoGravity Kernel v3.1.0 & App 5.1.0
NoGravity Kernel v3.0.0 & App 5.0.0
NoGravity Kernel v2.4.1
-Pixel thermal fix
-Upstreamed to 4.9.281
NoGravity Kernel v2.4.0
NoGravity Kernel v2.3.1
NoGravity Kernel v2.3
NoGravity Kernel v2.2:
NoGravity Kernel App v4.2:
NoGravity Kernel v2.1 / App v4.1:
NoGravity Kernel v2.0:
NoGravity Kernel App v4.0:
NoGravity Kernel v1.5.5:
NoGravity Kernel App v3.5.5:
NoGravity Kernel App v3.5.1:
NoGravity Kernel App v3.5:
NoGravity Kernel v1.5:
​
NoGravity Kernel App v3.4.2:
General:
Changelog/Update page is now scrollable in case of big changelogs to see download buttons
App now checks for update when app is resumed also (not just when app is launched)
Pocophone F1-Mi8:
Fixed an issue where frequencies were shown over CPU and GPU labels when turning off respective temps in NGK Stats Overlay
OnePlus 2:
Nothing specific to OP2 added
NoGravity Kernel App v3.4.1:
General:
Changed text of update checker button 'View changelog' to 'Download!' when an update is present
Other small fixes
Pocophone F1-Mi8:
Updated NGK Stats Overlay UI
NGK Stats Overlay doesn't block input touches anymore
Better FPS Idling algorithm to prevent bad user's FPS stats when display isn't refreshed (e.g just looking at launcher)
Last session average FPS now updates right after toggling off the switch when in NGK app
OnePlus 2:
Nothing specific to OP2 added
1.4 Build:
NoGravity Kernel App v3.4:
General:
Updated Profiles
New App & Kernel Update checker
Small fixes
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
OnePlus 2:
nothing specific for oneplus 2 has been added
Kernel 1.4:
NoGravity Thermal locking mecanism
OxygenOS Crack*
Add DT2W node for OxygenOS and enabled by default
Input boost driver cleanup
Touch drivers tweaks
GPU max stable overclock dropped to 800MHz (835MHz still available)
Rebased Techpack Drivers (Fixes Mi8 sound issue)
Updated profiles
Brought back updated Wireguard
Added back HDR playback feature
Removed old CPU governors
Network GURU app can now be opened
Merged latest CAF tag
Updated to latest Anykernel
Always upstreamed to latest (4.9.215)
And many more under the hood changes/optimisations
Notes:
Now Kernel comes in Pie and Q versions only, if you are still on Pie blobs simply use Pie kernel
Kernel and app updates will now show up when they are released on main page of NoGravityKernel App along with device specific changelog and download buttons
NGK Thermal Locking Mecanism prevents ROMs from overriding a thermal selection (Mainly MIUI) (when NGK Thermals are ON only, when they're OFF, ROM will have it's default behavior)
NGK now boots on OxygenOS, OOS developers do not support custom kernels so if there are any issues do not report in their groups.
1.3 Build: Welcome to Mi 8!
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
Pocophone-Mi8:
New GPU Page:
-GPU Stats
-KLapse (Brightness and Daytime modes)
-Backlight Dimmer
OnePlus 2:
DDR Input Boost Toggle
Kernel 1.3:
Fixed Screen Freezes
Updated Profiles
GPU min 160MHz, GPU max 835MHz
GPU optimisations (Governor, Latency)
Better CPU idling
Optimised Schedutil Governor
Changes to EAS Energy model
Updated schedtune,devfreq boosts
Better app opening speed
Exposed a Dynamic Stune Boost Duration tunable to userspace (Now independent to input boost duration) -Small changes to input boost
Sched cleanup
Added FIOPS,BFQ,ANXIETY I/O Schedulers
Updated thermals
Brought back RCU 4.14 backport
Vibration Control
Compiled with DragonTC
Huge compilation optimisations for performance
POLLY Optimisations
Debloated even more
Now Permissive by default, Android 10 Q blobs don't seem ready yet
Always upstreamed to latest! (4.9.212)
And many more under the hood changes...
Notes:
Max GPU frequency of 835MHz is only reachable manually as I don't consider it fully stable. On the other side, 820MHz Overclock is stable and is used in my profiles.
I wanted to use relatively longer dynamic schedtune boost duration compared to input boosts so made them separate in terms of length.
I would recommend turning off No Gravity app toast notifications from Magisk Manager app.
1.2 Build:
NoGravity Kernel App v3.2:
General:
Updated Profiles
Auto-dismiss Apply on boot notification
Updated descriptions
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
OnePlus 2:
Fixed App opening on AGK
Fixed EAS Dynamic Schedtune Bug
Kernel 1.2:
Updated to latest Touch Firmware
Updated with Xiaomi Q Kernel Source (Touch,Sound,PSU,WLAN,GPU,etc)
Silver cluster will now ramp all the way down to 300MHz for better idle drain
Removed some GPU latency
Underclocked GPU on idle to 170MHz (from 180MHz)
820MHz GPU frequncy step added between 710MHz & 835MHz
New Thermal Suspend API
FSync Control (ON/OFF)
DTS Eagle Software Driver
Bluetooth changes
Optimisations, Removed some bloat
Bluetooth Fixed
Wifi Speed Meter Fixed
Random Reboot Fixed
Blackscreen issue Fixed
SmartPack/Kernel Adiutor issue Fixed
Camera Fix for MIUI Q and ROMs with Q-Blobs (see separate build)
Updated AnyKernel3 changes (No Need to flash magisk after updating!)
Always upstreamed to latest! (4.9.210)
And many more under the hood changes...
Notes:
Thermal Suspend API : This is a small API I’ve written in the kernel directly (to make sure no background services are running for it) that unsets NGK thermals when screen turns off and enables them back when screen is turned back on. (This fixes some issues on some specific ROMs where screen wouldn’t turn on or phone would random reboot while device sleeps or is charging)
There is now a camera fix version to fix camera on ROMs with Q-Blobs like MIUI Q, so if your camera isn't working flash this one.
Kernel 1.1 Pie Edition:
NoGravity Kernel v1.1 now working on Pie ROMs
Using v1.0 Base
Notes:
This kernel uses v1.0 base so will work on both Android Pie and Q ROMs/Ports/MIUI
From now on releases will be separate in 2 builds: [9] and [10]. People on Android 10 should use [10] builds since it is rebased to Full Q CAF sources even tho [9] build would still work.
1.1 Build: Welcome to No Gravity Kernel App for Pocophone!
NoGravity Kernel App v3.1:
Pocophone F1 support added
Balance(Default),Performance,Battery & Gaming Profiles*
Precise CPU temperature for both Clusters separately
Kernel 1.1:
Rebased completely to full Q CAF (LineageOS Staging)
Removed CPU overclock*
Removed charging throttling*
Many Optimisations
F2FS updated with GC and changes
Debloated the Kernel
Westwood(Default) & BBR TCP Algorithms added
Using 2048kb read ahead
Fixed ZEN I/O Scheduler initialisation
Picked port of RCU's taken from 4.14
Updated SDFAT to EXFAT
Removed a CPU boosting driver that could conflict with another
Battery oriented tweaks
Tried to fix random reboots and other issues some people were getting
Always upstreamed to latest! (4.9.206)
And many more under the hood changes...
Notes:
Profiles also have a QSTile for fast switching
If you didn’t already know it was only placebo/performance wouldn’t change, but don’t worry there are other ways to make performance better
If you want charging throttling, you can set it back on here by setting the value to N instead of Y: sys/modules//sys/module/smb_lib/parameters/skip_thermal
MIUI ROM/Port variants may have some issues but I didn't have much testers on those so please send logs if you have issues
1.0 Build: Welcome to Android 10 & Pocophone!
Kernel:
Overclocked CPU (Silver 1.76->2.0Ghz, Gold 2.8-> 3.0Ghz) (Will boot with stock clocks)
Energy model modifications to fit NGK overclocked frequencies
GPU Overclocked to 835 MHz
GPU Underclocked to 180 MHz on idle
Using Evaluation Thermals (For now..)
NAP power saving state for Adreno 630 GPU
Added Adreno Idler
AdrenoBoost
Dynamic Stune Boost
Devfreq boost and Cpu Boosting drivers
Disabled ZRAM
Faster Applications Opening speed
Slimbus Overclock
Added Fingerprint boost
Added WakeBoost module
Added and Using ZEN I/O Scheduler as default for app opening speed && overall Smoothness
Added Maple, SIO and FIOPS I/O Scheduler
Power Efficient Workqueues
Sound Control support
Maximum charge rate over USB 3.0
WireGuard Support
KCAL Support
K-Lapse 5.0 Support
Blocked wakelock (Boeffla & more)
Fingerprint improvements
Caches optimisations
Compilation optimisations
Novatek touch firmware from 10.3.7.0
Always upstreamed to latest! (4.9.201)
Using Anykernel3
And many more under the hood changes...
Useful stuffs
Clean flashing a kernel:
1. Boot into recovery
2. Wipe dalvik/art cache, cache, system and vendor(if recovery have this option)
3. Reboot into recovery (only needed on some recoveries)
4. Flash latest ROM zip
(Optional) Flash other zips like GApps, DFE, etc depending on ROM and your preference
5. Flash latest Magisk zip
6. Reboot into system (yes boot with stock kernel first)
7. Reboot into recovery
8. Flash latest NGK Kernel zip
9. Reboot and enjoy
Not to be confused with a ROM clean flash!
Do not wipe data or internal storage!
Encryption fix
For the ones who uses an encrypted device, those steps needs to be done to worl properly with NGK:
To those who are facing screen flicker/bootloop upon flashing NGK on an encrypted device.
1. Dirty flash your current ROM and boot into system.
2. change your password to whatever you want then click on "No" when it shows "Secure Start-up".
3. Boot into recovery then flash NGK. You will notice that it will not ask for a password even though you are encrypted.
Taking logs
Screen Freezes:
-Connect phone to PC
-Run following commands in terminal:
[*]adb shell
[*]dmesg
Random Reboots:
-When the random reboot occurs press the TWRP button combo to got straight into TWRP
-Send the pstore folder as a .zip file located in /sys/fs/
Any runtime kernel/app related crashes that doesnt make the device reboot or freeze:
-Use Matlog app on play store
-Start recording before the issue
-Stop recording after the issue
-Send the .zip file created
Charging:
Okay lets break it down for yall.
Every kernel on every device has WARM_TEMP and HOT_TEMP values which are usually always 45 and 50 respectively.
When device reaches 40-42C charging rate will decrease more and more until it reaches about 45C where device will stop charging even if its plugged in for safety reasons. Battery must not charge when they are this hot.
Battery thermal removal: this will prevent throttling before battery reaches about WARM_TEMP. Once battery reaches about 45C there is nothing in the world you can do. So yea battery thermal removal is still safe, just a matter of preference because if charging throttles before reaching 45C it will heat less then continue charging but if charging doesnt throttle yea it will charge charge faster under 45C but may heat more so you may hit 45C faster. So as in every other tweaks it depends on user.
As per my tests I would get about those but that may vary for you:
Battery temp (°C) - Charging rate (mA) tuples
46-1800
45-1800
44-2000
43-2600
42-2800
What else? oh yea here are some tips for you to lower temps (cause yes some of you charge while playing pubg..)
Tips for lowering temps:
-Turn off NGK thermals from NGK APP
Right you all need to understand thermals first.. A lot of users are just asking best thermals, best this, best that.. there is no universal bests..
Thermals will throttle performance depending on heat generated.. so yes there is a gain in performance when using NGK thermals because performance will throttle at higher temperatures. Why do I say it depends? Well someone living in a hot place and is getting high temps and throttling will use NGK thermals so he gets more performance for the same temperature point but there is always throttling else a phone would heat too much in the end and be really unsecure and all. That being said, if your device throttle with stock thermals then you go ngk thermals it will throttle at higher temps but in the end may still throttle and if you hit too high temps it will throttle even harder to keep temps low. For those people using normal thermals would be best since yea performance will throttle but it will prevent the phone from getting higher temps which could lead to more intense throttling. (Can also read about charging above you may want more aggressive thermals that will throttling performance to reduce heat so you can charge phone)
So next tip:
-Reduce Big cluster max frequency as this cluster is a hest generator
-Use another profile than Gaming! (Performance for me is best because its less aggressive, some people prefer balance for gaming)
All in all, try stuffs by yourself I think I did my part guiding you through all this, the best things you can do is the best things for yourself not necessarily the best for others.
Touchscreen Tests (NGK v1.5.5):
Spent a whole week with testers to just sit down and find the firmware to choose and then rebuild the drivers from the groud up.. but first here's an intro
Intro:
Small intro for everyone cause many people confuse many things..
-Panels: We have 3 main panels:
FTS, NVT REV1 & NVT REV2
-Touch firmware: comes in kernel and also in ROMs but kernel will flash its inbuilt firmware if the kernel firmware checksum is different to the one already present in ROM
-Touch Drivers: comes in kernel and those dont have numbers/versions its up to the kernel dev to make changes it those so stop asking for driver version no one can answer that precisely compared to firmware
Tests:
Alright now enough talking, the tests and results.
-Panels:
For FTS panels, using stock xiaomi drivers was fine no touch issues seem to happen since those went out.
For NVT panels, some had touch issues on rev1 and rev2 depending on firmware used while keeping xiaomi stock drivers so below tests were focusing on NVT mostly
-Firmware:
We tried 3 firmware and the ones who remained are 9.1.24 and 10.3.7 since other one gave issues
So I did incremental test builds modifying drivers for both firmware
-Drivers:
For drivers, as said before I reverted all changes to xiaomi stock drivers from their source. Some issues were present for some on both firmware version and different issues on both panel revisions (rev1 and rev2)
-Latency:
some issues was only related to latency and I knew latency was going to be better by optimizing the drivers later on
-Touch issues:
So based on that, I only took account of the issues present between firmware for each driver changes
Part 1:
Part 1 was updating novatech drivers from a CAF source that can be seen in my kernel source. So did that, compiled 2 versions again fixed some small issues here and there like firmware flashing wasnt working, touch didn't work at first and some bootup issues, anyway main thing is that novatech driver were updated a bit with less variable locking and such coding changes making the driver faster. Results after that were good it fixed some people's issues but latency wasnt perfect.
-Part2:
Now was time to optimize the drivers and did for both NVT and FTS (most of those optimizations were seen in previous ngk versions) but needed to add them again and add some more and see how they impact (cause not every optimizations means better results, some optimizations introduced issues)
Conclusion:
So in the end if TLDR
The conclusion was that issues were fixed after some driver changes as some optimizations made them worst, 9.1.24 firmware gave better touch (mostly under load or heat a.k.a for gamers) and didnt impact day to day users hence why NGK uses now 9.1.24 drivers.
BUT that is based on the fact that I reviewed the drivers from official xiaomi source, then updating them, then doing specific optimizations, other kernels may have different results or different ways of doing tests, thats just how I did it.
So yea for people who wont like touch, I will send this cause I did work on it to give better touch to most users and limiting the touch issues. I still dont think its possible to have perfect latency and perfect touch due to our phone but here's what has been done..
Great work as always, glad to see you here! NGK was one of the best kernels for OnePlus 2, I'm excited to see what NGK brings in for Poco. You deserve much more appreciation for your work, I am doing my bit. For whosoever appreciates his work, following is a crowdfunding link that we created for getting Pierre a Pocophone, as he does not own one. Just to be clear, he isn't involved with this anyway, we, the OnePlus 2 family has done this on our own will, as a token of appreciation of all the work he has done for the community.
https://bit.ly/34b406p
Congrats on the kernel.
Best kernel in the west is out for poco
can it be used in PIE ?
add some screen overclock pls
and also, can i use it to one plus rom? thank you
Hutabarat said:
can it be used in PIE ?
Click to expand...
Click to collapse
Yea can be used ! Thanks for giving it a go
lucyr03 said:
Best kernel in the west is out for poco
Click to expand...
Click to collapse
Hehe hell yea!
_undead said:
MOD EDIT: quote removed
Click to expand...
Click to collapse
Thanks to yall for it, its appreciated and makes me want to make the best kernel I can Cool stuff coming!
cloudzzz00 said:
add some screen overclock pls
and also, can i use it to one plus rom? thank you
Click to expand...
Click to collapse
Havent been tested on Oxygen OS port yet.. Let me know how it goes! I'm not really into screen overclocking unless you want your screen to be damaged in a year... :cyclops:
Nice Work
Will Post it in Poco Official Channel:highfive:
Thanks for the effort! Although it's weird that almost every kernel devs are saying that CPU OC is not possible/necessary in recent SoCs anymore.
Will the source code be available? Can you create a script to easily run the build process for the kernel so that we can mess around with it?
Congratulations bro
Flashed the kernel, but the no gravity app doesn't detect the kernel.
Edit- My bad, it says coming soon in OP.
Legend is now working on poco. So lucky to have you bro.
quick question, if i have drunk optimus installed, how do i change it to this kernel?
and how to update it?
thanks!
Awesome bro... keep it up..
---------- Post added at 10:11 PM ---------- Previous post was at 10:10 PM ----------
Gysenok said:
quick question, if i have drunk optimus installed, how do i change it to this kernel?
and how to update it?
thanks!
Click to expand...
Click to collapse
flash stock boot or dirty flash you rom. then NGK.
This kernel only for android 10?
youngAvJ said:
Awesome bro... keep it up..
---------- Post added at 10:11 PM ---------- Previous post was at 10:10 PM ----------
flash stock boot or dirty flash you rom. then NGK.
Click to expand...
Click to collapse
how to dirty flash? and what is ngk? and how to update?

Categories

Resources