[KERNEL][7.1.x][WEEKLIES] Electron Kernel for Angler [v15][August18th][SPECTRUM]

Search This thread

frap129

Inactive Recognized Developer
Jan 6, 2013
1,392
4,126
This is a flash and go kernel, please do not tweak options unless you are an advanced user.

Weeklies: Weeklies are provided automatically via a Jenkins server, and uploaded to GitHub here https://github.com/frap129/angler-weeklies.
To download a weekly, click on the latest weekly zip in the link above, then click "View Raw" to initiate the download.
Weeklies DO NOT replace stable releases. You can find the latest stable release in the downloads section below.

NOTE: Weekly builds are not guaranteed in any way, are untested, and possibly unstable (probably not though). By flashing a weekly, you agree to not receive support so that you can be on the bleeding edge of Electron.

Electron has Spectrum support! Spectrum is a simple and easy to use kernel management app. Though it was initially intended to be a companion app for Electron, Spectrum's innerworkings have been made public so that any developer can add spectrum support to their kernel! Checkout the Spectrum XDA thread or use the link the downloads section below!
Spectrum XDA Thread

Current features:
  • Chill Governor: A conservative based gov with boosting and sleep-state functions
  • Relaxed Governor: A chill based gov with more gradual boosting
  • Electron Governor: An interactive based governor with battery life and performance
  • Advanced governor tuning using Chill+Relaxed
  • Maple I/O Scheduler: A scheduler tuned for interactivity
  • Fingerprint Boost driver
  • Custom PowerHAL
  • Shadow Scheduling
  • Adreno Idler
  • CDG Congestion control algorithm
  • Spectrum support
  • Linux 3.10.107
  • Backported random driver from 4.1.39
  • KCAL Color Control
  • Wake Gestures
  • Sleep Gestures
  • Faux Sound Control
  • PDesire Audio 10.1
  • State Notifier
  • UFS Controller Boosting
  • Arch Power
  • Disabled FSync
  • Enabled Dcache word access
  • Enabled CleanCache driver
  • Optimiced String Routines
  • Reduced CPU load
  • Optimized Square Root
  • Improved Memory I/O functions
  • Hardlimit Max/Min frequencies
  • Optimized libraries
  • Power Efficient workqueues
  • Backported Zen Interactive tunings from Zen 4.10
  • FRandom driver
  • Fully tickless system (No kernel timer interrupt)
  • Improved ZRAM + ZSwap + ZPool
  • Improved backlight algorithm
  • F2FS support
  • GPU Display state awareness
  • Custom Linaro based GCC 7.1.1 Toolchain
  • Heavily tested complie-time optimizations
  • Various backports/patches/fixes

Installation:
1. Make sure you aren't running a custom kernel; dirty flash your ROM to revert to stock if necessary.
2. Make sure all kernel tweaking apps/scripts/tools will not apply options on boot.
3. Download the kernel zip
3. Reboot to recovery
4. Flash
5. Enjoy!

Reporting Bugs:

Please follow this guide by @The Flash . If reporting a crash/reboot, provide both a dmesg and ramoops. Otherwise, provide a logcat and dmesg. Guide

Download Electron:
AndroidFileHost

Download Spectrum:
Google Play

Known Issues:
None!

I would like to thank all of the great people whose support and help that I've received and whose work I've referenced to make this kernel a reality: FranciscoFranco, ak, RenderBroken, flar2, xanaxdroid, nathanchance, R3V3NT3CH, imoseyon, arter97, Faux123, DespairFactor, neobuddy89, show-p1984, and anyone I missed!

XDA:DevDB Information
Electron Kernel for Angler, Kernel for the Huawei Nexus 6P

Contributors
frap129
Source Code: https://github.com/frap129/angler

Kernel Special Features:

Version Information
Status: Stable
Current Stable Version: 15
Stable Release Date: 2017-08-18

Created 2016-08-20
Last Updated 2017-08-18
 

frap129

Inactive Recognized Developer
Jan 6, 2013
1,392
4,126
Change Log

Changelog (full changelog on github):
September 10th, 2016:
  • Added many CAF Patches
  • Added Maple I/O Sched
  • Improved Chill CPU Governor
  • Enable Adreno Idler
  • Add ZenTune 4.5
  • Enable CleanCache Driver
  • Enable Fully tickless system
  • Add CDG Congestion algo
  • Misc more

September 7th, 2016:
  • Release 2
  • See features list for details (Kernel was rebased, no real 'changes')

August 19th, 2016:
  • Release 1
  • See features list for details
 
Last edited:

frap129

Inactive Recognized Developer
Jan 6, 2013
1,392
4,126
Technical information

In this post, I will add descriptions of my original kernel features for users and developers to reference.

Chill CPU Governor:
Chill is based on conservative, and has two main deviations: a frequency boost interface and sleep-state power savings. The boost interface uses count based boosting, not timer based. This means that after frequency has increased X (default is 10) times in a row, the governor pushes frequency to max in order to skip checking for the remaining steps and acts on a min/max principle. This often matches the speed of interactive with improvements to battery. The sleep-state power savings entail restricting frequency to min when the screen is off, although a sleep boosting interface may be added to help with loads caused by syncing while asleep.

Maple I/O Scheduler:
Maple is based on the Zen and Simple I/O schedulers. It uses Zens first-come-first-serve style algorithm with separate read/write requests and improved former/latter request handling from SIO. Maple is biased towards handling asynchronous requests before synchronous, and read requests before write. While this can have negative aspects on write intensive tasks like file copying, it slightly improves UI responsiveness. Like chill, maple also has power saving features. When the device is asleep, maple increases the expiry time of requests so that it can handle them more slowly, causing less overhead.

Relaxed CPU Governor:
Relaxed is based on chill, and has been altered in order to achieve more gradual frequency boosting. Relaxed uses a boost ceiling variable in order to achieve this. Rather than boosting straight to the max frequency, relaxed finds the difference between boost_counter and boost_ceiling, then boosts to max minus that difference. For example, if boost_count is 8 and boost_ceiling is 12, when boost_counter reaches 8, the cpu freq will boost to 4 (12-8) levels below max, then increase if needed until boost_counter reaches boost_ceiling. This governor doesn't completely replace chill, but is intended to be used alongside it. Since the lowest frequency on a57 cores uses more power than the highest freq on a53 cores, it is still valuable to use chill on a57 in order to complete a task as quickly as possible.

Electron CPU Governor:
Electron is based on the latest interactive from the MSM8994 CAF branch with upstream improvements from Google, Linaro, and Chromium. The main differences are the inclusion of 2 new tunables, powersave_bias and screen_off_maxfreq. These allow for more granular control of your devices frequency scaling than the standard interactive governor. There are also improvements from FranciscoFranco, Imoseyon, and Neobuddy89.

Fingerprint Boost driver:
FP Boost is a custom boosting driver based on cpu-boost by Sultanxda. When input is received from the fingerprint sensor, all available cores are boosted to max frequency for 3 seconds in order to reduce the fingerprint scanner delay and wakeup lag.
 
Last edited:

frap129

Inactive Recognized Developer
Jan 6, 2013
1,392
4,126
What does this mean, exactly? Says it's "flash and go", which appeals to me, but if the pre-tuned settings don't boot... Am I misunderstanding? Thanks, BTW!

Nexus 6P
The default settings do boot, but on some ROMs the governor gets overridden at boot, so it gets changes back to interactive.
 
  • Like
Reactions: jesssiii

OmegaBlaze

Senior Member
Dec 24, 2009
1,907
634
www.twitter.com
1471745668056.jpg
 

Top Liked Posts

  • There are no posts matching your filters.
  • 78
    This is a flash and go kernel, please do not tweak options unless you are an advanced user.

    Weeklies: Weeklies are provided automatically via a Jenkins server, and uploaded to GitHub here https://github.com/frap129/angler-weeklies.
    To download a weekly, click on the latest weekly zip in the link above, then click "View Raw" to initiate the download.
    Weeklies DO NOT replace stable releases. You can find the latest stable release in the downloads section below.

    NOTE: Weekly builds are not guaranteed in any way, are untested, and possibly unstable (probably not though). By flashing a weekly, you agree to not receive support so that you can be on the bleeding edge of Electron.

    Electron has Spectrum support! Spectrum is a simple and easy to use kernel management app. Though it was initially intended to be a companion app for Electron, Spectrum's innerworkings have been made public so that any developer can add spectrum support to their kernel! Checkout the Spectrum XDA thread or use the link the downloads section below!
    Spectrum XDA Thread

    Current features:
    • Chill Governor: A conservative based gov with boosting and sleep-state functions
    • Relaxed Governor: A chill based gov with more gradual boosting
    • Electron Governor: An interactive based governor with battery life and performance
    • Advanced governor tuning using Chill+Relaxed
    • Maple I/O Scheduler: A scheduler tuned for interactivity
    • Fingerprint Boost driver
    • Custom PowerHAL
    • Shadow Scheduling
    • Adreno Idler
    • CDG Congestion control algorithm
    • Spectrum support
    • Linux 3.10.107
    • Backported random driver from 4.1.39
    • KCAL Color Control
    • Wake Gestures
    • Sleep Gestures
    • Faux Sound Control
    • PDesire Audio 10.1
    • State Notifier
    • UFS Controller Boosting
    • Arch Power
    • Disabled FSync
    • Enabled Dcache word access
    • Enabled CleanCache driver
    • Optimiced String Routines
    • Reduced CPU load
    • Optimized Square Root
    • Improved Memory I/O functions
    • Hardlimit Max/Min frequencies
    • Optimized libraries
    • Power Efficient workqueues
    • Backported Zen Interactive tunings from Zen 4.10
    • FRandom driver
    • Fully tickless system (No kernel timer interrupt)
    • Improved ZRAM + ZSwap + ZPool
    • Improved backlight algorithm
    • F2FS support
    • GPU Display state awareness
    • Custom Linaro based GCC 7.1.1 Toolchain
    • Heavily tested complie-time optimizations
    • Various backports/patches/fixes

    Installation:
    1. Make sure you aren't running a custom kernel; dirty flash your ROM to revert to stock if necessary.
    2. Make sure all kernel tweaking apps/scripts/tools will not apply options on boot.
    3. Download the kernel zip
    3. Reboot to recovery
    4. Flash
    5. Enjoy!

    Reporting Bugs:

    Please follow this guide by @The Flash . If reporting a crash/reboot, provide both a dmesg and ramoops. Otherwise, provide a logcat and dmesg. Guide

    Download Electron:
    AndroidFileHost

    Download Spectrum:
    Google Play

    Known Issues:
    None!

    I would like to thank all of the great people whose support and help that I've received and whose work I've referenced to make this kernel a reality: FranciscoFranco, ak, RenderBroken, flar2, xanaxdroid, nathanchance, R3V3NT3CH, imoseyon, arter97, Faux123, DespairFactor, neobuddy89, show-p1984, and anyone I missed!

    XDA:DevDB Information
    Electron Kernel for Angler, Kernel for the Huawei Nexus 6P

    Contributors
    frap129
    Source Code: https://github.com/frap129/angler

    Kernel Special Features:

    Version Information
    Status: Stable
    Current Stable Version: 15
    Stable Release Date: 2017-08-18

    Created 2016-08-20
    Last Updated 2017-08-18
    28
    Technical information

    In this post, I will add descriptions of my original kernel features for users and developers to reference.

    Chill CPU Governor:
    Chill is based on conservative, and has two main deviations: a frequency boost interface and sleep-state power savings. The boost interface uses count based boosting, not timer based. This means that after frequency has increased X (default is 10) times in a row, the governor pushes frequency to max in order to skip checking for the remaining steps and acts on a min/max principle. This often matches the speed of interactive with improvements to battery. The sleep-state power savings entail restricting frequency to min when the screen is off, although a sleep boosting interface may be added to help with loads caused by syncing while asleep.

    Maple I/O Scheduler:
    Maple is based on the Zen and Simple I/O schedulers. It uses Zens first-come-first-serve style algorithm with separate read/write requests and improved former/latter request handling from SIO. Maple is biased towards handling asynchronous requests before synchronous, and read requests before write. While this can have negative aspects on write intensive tasks like file copying, it slightly improves UI responsiveness. Like chill, maple also has power saving features. When the device is asleep, maple increases the expiry time of requests so that it can handle them more slowly, causing less overhead.

    Relaxed CPU Governor:
    Relaxed is based on chill, and has been altered in order to achieve more gradual frequency boosting. Relaxed uses a boost ceiling variable in order to achieve this. Rather than boosting straight to the max frequency, relaxed finds the difference between boost_counter and boost_ceiling, then boosts to max minus that difference. For example, if boost_count is 8 and boost_ceiling is 12, when boost_counter reaches 8, the cpu freq will boost to 4 (12-8) levels below max, then increase if needed until boost_counter reaches boost_ceiling. This governor doesn't completely replace chill, but is intended to be used alongside it. Since the lowest frequency on a57 cores uses more power than the highest freq on a53 cores, it is still valuable to use chill on a57 in order to complete a task as quickly as possible.

    Electron CPU Governor:
    Electron is based on the latest interactive from the MSM8994 CAF branch with upstream improvements from Google, Linaro, and Chromium. The main differences are the inclusion of 2 new tunables, powersave_bias and screen_off_maxfreq. These allow for more granular control of your devices frequency scaling than the standard interactive governor. There are also improvements from FranciscoFranco, Imoseyon, and Neobuddy89.

    Fingerprint Boost driver:
    FP Boost is a custom boosting driver based on cpu-boost by Sultanxda. When input is received from the fingerprint sensor, all available cores are boosted to max frequency for 3 seconds in order to reduce the fingerprint scanner delay and wakeup lag.
    26
    End of the road

    Hey guys,

    Just popping in to this thread to say that I will no longer be updating this. Between college, work, and also trying to manage a social life (hah, funny joke right?), I've made the decision to only maintain my daily driver device. As of now, that's the Pixel 2 XL. I will still be maintaining CarbonROM on all of my devices, but Electron will be limited to my DD. It's been a good run, thanks for all the support, and I hope to see some of you try out my Pixel 2 XL kernel!
    24
    Change Log

    Changelog (full changelog on github):
    September 10th, 2016:
    • Added many CAF Patches
    • Added Maple I/O Sched
    • Improved Chill CPU Governor
    • Enable Adreno Idler
    • Add ZenTune 4.5
    • Enable CleanCache Driver
    • Enable Fully tickless system
    • Add CDG Congestion algo
    • Misc more

    September 7th, 2016:
    • Release 2
    • See features list for details (Kernel was rebased, no real 'changes')

    August 19th, 2016:
    • Release 1
    • See features list for details
    23
    Some updates on the state of Electron:
    EAS: I've been running EAS for a week and I've noticed slightly worse battery with about the same performance. Thanks to @RenderBroken, I may be able to create a more accurate energy model for angler which should improve this.

    App: I've only put in ~1.5 hours of work but it should be ready for testing (UI needs a bit of work, but functionality is mostly done). Turns out the app will require root after all (although I can make a rootless version that will need to be flashed via twrp). I plan on having a free version and a donation version (only $0.99).
    Free features:
    • Choose from Balance, Performance, Battery, and Gaming profiles
    • Applies on boot without pesky notifications
    • Material design
    • No confusing options or settings
    Donate features:
    • All of the free features
    • Choose from light or dark theme
    • Import EXKM Profiles
    • More to come