ROM COOK [KERNEL][MAGISK][EAS][HELIX-ENGINE v4.0][17th July] HelixKernel v017

Thảo luận trong 'HTC M10' bắt đầu bởi Sơn Hoài Paladin, 27/11/17.

  1. Sơn Hoài Paladin

    Sơn Hoài Paladin Administrator
    Quản Trị Viên

    Tham gia:
    30/10/17
    Bài viết:
    263
    Thích đã nhận:
    24
    This kernel is based on 100% latest HTC official source. EAS was ported from scratch using @Đăng nhập để thấy được liên kết 's commits (with permission from him).



    THIS KERNEL IS BATTERY ORIENTED! DO NOT EXPECT AMAZING PERFORMANCE FROM THIS KERNEL! PERFORMANCE IS DECENT ENOUGH FOR NORMAL USAGE! If you are here to try out performance then this is not the kernel for you. Do not go complaining about performance unless it is extremely bad.



    Quote:

    Features:
    -Compiled using Linaro GCC 6.3.1 Toolchain
    -Energy Aware Scheduling r1.2
    -HELIX-ENGINE: A pnpmgr replacement compatible with EAS
    -helix_config: An executable binary which allows much easier user-customization for Helix Engine
    -Much more efficient special CPUSET set-up (big cluster as main rather than little)
    -NEW governor: pwrutilx - another governor based on schedutil
    -Button Light Notification mod
    -LED Pulse/gradient charging mod
    -Fast charging
    -Backlight dimmer
    -Double tap fingerprint 2 sleep
    -Maple and BFQ I/O
    -Adreno GPU boost
    -KCAL Colour control
    -Sound Control
    -Misc fixes and patches
    -Using exFAT driver ported from @dorimanx 's OP3T kernel (since nofuse driver was giving issues and stock HTC texfat was not compatible with EAS kernels)
    -F2FS support


    Quote:
    pwrutilx - a new EAS governor based on schedutil that aims to be much more efficient by using a different formula to get next frequency.


    Quote:
    HELIX-ENGINE v4.0
    - SELinux set to PERMISSIVE is MANDATORY to get app engine and powersaver engine working!! This is due to using a function called "pipe open" in C which is able to collect the output of terminal commands used, SELinux always blocks this when set to enforcing.

    Thermal Manager: a thermal throttling solution built within the executable binary file itself.
    - Includes 3 different thermal throttling modes: Balanced, Performance, Cool. Balanced is set by default.

    App Engine: similar to pnpmgr, can use per-app profiles and cap frequencies accordingly.
    - Battery profile caps all cpus to 1GHz, gpu to 200MHz, adrenoboost to 0, throttlemode to 2. Balanced profile caps big cluster to 1.5, little cluster to 1.2, gpu to 300MHz adrenoboost to 1, throttlemode to 2. Performance does not cap any frequencies at all, sets adrenoboost to 3, throttlemode to 0.

    - App package names are added to battery.conf, balanced.conf, performance.conf and the engine will check through them to see if the top-app (current app) matches with the names scanned through those lists. If a match is found, it will apply one of the profiles above according to what list the package name is in.

    Suspend Engine: when display is turned off, all cpus are capped to 1GHz, gpu capped to 200MHz, stune boost set to 0, adrenoboost set to 0.

    Powersaver Engine: When powersaver or extreme powersaver is enabled through Settings, the engine will apply the same rules for Suspend Engine but it will be system-wide (bypassing app engine).

    Helix Engine's binary is closed source to the public currently, it is not part of the kernel so I am not obliged to release the source just yet. I have however released the source for kernel integration only currently due to GPL license. Just like how HTC have done it with their pnpmgr. Before anyone tries to report me for violating GPL, HTC has done the exact same where they keep the source of the binary executable for pnpmgr as closed source, but only released the source for kernel integration of pnpmgr.

    Helix Engine is written in C completely from scratch by me.

    If this gains more interest, I will consider releasing the whole source code publicly.

    Kernel developers may use Helix Engine in their kernels but would need to set it up the exact same way I have in my kernel. Also, Thermal Monitor must be disabled in the kernel defconfig to prevent conflicts with Helix Engine's thermal manager.


    Quote:
    helix_config
    - A very user-friendly executable binary which allows users to easily customise features of HelixEngine using a command line interface.
    - The options are pretty self explanatory, all you have to do is input numbers accordingly to go through the menus.

    - Helix Engine Settings - enable or disable parts of the engine
    - Thermal Engine Settings - change thermal throttle modes from Balanced, Performance, Cool (Balanced default)
    - Suspend Engine Settings - change frequencies for Suspend Engine
    - Powersaver Engine Settings - change frequencies for Powersaver Engine
    - App Engine Settings - enable/disable custom user lists (will make a new user list from one of the default lists as a template to work from first time activating), add package names to custom user lists, and change frequencies for all app engine profiles (battery, balanced, performance).
    - Includes the ability to save current config and have it load on boot automatically, no need to keep on reapplying custom values after every reboot.

    - User lists are saved in /data/helix_engine/user/battery.conf, balanced.conf, performance.conf
    - Current config will be saved in /data/helix_engine/saved_config.sh if you choose to save
    - None of these files will be overwritten after every kernel flash, however these will be gone if you wipe your data partition/full wipe.

    How to Use:
    1 (for phones) Install a terminal app if you haven't already and go into it
    1 (for computers) Open a command prompt/terminal window and type in adb shell
    2) Enter the command "su" (without quotes) in the terminal
    3) Enter the command "helix_config" (without quotes) in the terminal
    4) You should be prompted with a menu which is pretty self explanatory, input numbers using the keyboard to navigate through different menus


    Quote:
    AOSP IS NOT COMPATIBLE WITH THIS KERNEL!!!

    Please ensure that you have made a backup of your boot, system, and data partitions in case anything goes wrong.



    Quote:
    Đăng nhập để thấy được liên kết


    Quote:
    Source: Đăng nhập để thấy được liên kết
     

trang này