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

Search This thread

Suhu007

Senior Member
Mar 6, 2018
50
6
8
Hi, I have no magisk modules installed. I tried flashing the kernel on android 10 linage 17.1 OS but it keeps booting to TWRP recovery. Help is appreciated!
It works fine with lineage 17.1
I'm currently using it myself
only problem kernel have with lineage 17.1 is "can't change thermals to stock even with ngk app and can't optimize apps
 

Pierre2324

Senior Member
Oct 25, 2015
1,535
2,256
158
23
It works fine with lineage 17.1
I'm currently using it myself
only problem kernel have with lineage 17.1 is "can't change thermals to stock even with ngk app and can't optimize apps

For the app optimizations, charging overnight is enough. Forcing them to optimize on oneplus 2 is quite an expensive task. For the thermals I dont know why it does that, if you really need stock thermals you can try AntiGravity Kernel
 

Suhu007

Senior Member
Mar 6, 2018
50
6
8
For the app optimizations, charging overnight is enough. Forcing them to optimize on oneplus 2 is quite an expensive task. For the thermals I dont know why it does that, if you really need stock thermals you can try AntiGravity Kernel
I tried optimizing them overnight and they did optimized but as soon as device restarts it goes back to the way it was
And with antigravity kernel, device keeps rebooting to recovery.
 

Pierre2324

Senior Member
Oct 25, 2015
1,535
2,256
158
23
I tried optimizing them overnight and they did optimized but as soon as device restarts it goes back to the way it was
And with antigravity kernel, device keeps rebooting to recovery.
I mean, app wont tell you but if you charge overnight, apps will be optimized
 

Pierre2324

Senior Member
Oct 25, 2015
1,535
2,256
158
23
nah not op2, just some old device that use 3.10 kernel.. just trying to find patches for them.. so i'll just decide to say Hi and Asked politely about it, i mean newer device have it better with their 4.x or 5.x kernel.
Aiight yup noprob take what you need, I work on pocophone now (4.9)
 

Top Liked Posts

  • There are no posts matching your filters.
  • 46
    NoGravityKernel

    K8EYuPK.jpg


    No Gravity Kernel 2.0 + 4.0 App Trailer


    Why is it called NoGravity kernel?


    FKkAugz.jpg

    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).

    iaHQ9D3.jpg

    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.

    ApF0jYF.jpg

    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.)

    3f8hs78.jpg

    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

    xCkEUzV.jpg



    • -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


    fmrRVKR.jpg

    • Most of my work will be on Energy Aware Scheduling Kernel version since NGK is really solid and stable,,,

    pmhT9VH.jpg


    This kernel works on Android 10, PIE and OREO ROMs.

    DO NOT FLASH ON STOCK OXYGEN OS!

    v0BMu0X.jpg


    • 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.

    LBRCN7g.jpg


    • Flash No_Gravity_Kernel-vX.X.zip file in TWRP (Latest TWRP Recovery Recommanded)
    • (Optional) - Clear cache and Dalvik


    eUJqbdm.png


    Made your choice?

    Download Links


    Q-PIE-OREO AOSP Based Roms

    Q-PIE-OREO LineageOS Based Roms



    AGK Thread



    NGK-EAS (Post#3)



    No Gravity App



    As I put a lot of time and effort into this project, I now accept donations feel free to help me a little :cool:

    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
    20
    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 :cool:
    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
    ebAL4e5.png

    Frequency ramp down
    ClxOjTf.png


    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.
    17
    Changelog:

    tcXocWP.png

    pbyU1uH.png


    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
    11
    Kernel + App Update

    Good news! New build (2.1) and new NoGravity Spectrum 3.1 app are up , please read changelogs in post #2! thread updated.. :cool:

    For fast app opening feature please read notes in changelog! Click Here for a quick look at it in action! (even quicker in real life)
    If you are getting app not installed error just uninstall app then re-install!
    10
    Happy NGK day everyone!

    Yea today is 1 year anniversary of the No Gravity Kernel! During that year NGK went from 1.4 to 2.4.2, got his own NGK app and even got a little brother AGK that comes inbuilt on 4 different ROMs. But thats not all! Yea surprises coming today Thanks to all of you for you great feedbacks keeping this kernel the best it can be?

    Happy NGK Day ?
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone