[XPOSED][APP][4.0+] Performance Profile - Xposed Framework Modules

Performance Profile is an Xposed Module that allows to change performance per application (only works for applications that have at least one visible activity). The profile will become active each time the corresponding application will be open and become inactive when the application will be hidden.
May not work on some devices (rom/kernel)
Require:
Root
Busybox
Xposed Framework
Installation:
Install Xposed Framework
Install Performance Profile
Activate Performance Profile in modules section of Xposed Framework Installer
Reboot
Features:
Set/Restore:
- min. CPU freq. & max. CPU freq. (support multicore)
limited control with mpdecision / hotplug / intelliplug or other similar modules
- Governor
- IO Scheduler
- GPU freq. (kernel related)
- NICE priority
- Custom scripts
Screen Off Profile
LockScreen Profile
Whitelist (the packages from whitelist will not make changes over the active profile.
Backup/Restore data
App usage tracking
Important:
Application needs initial min. CPU frequency, max. CPU frequency, Governor and GPU max. freq. for restoring the system when a profile become inactive. Any changes of these parameters, require reopening Performance Profile and set Default Profile with the new values.
Credits to @rovo89 and @Tungstwenty for clever Xposed Framework project
Thanks to @educk for help with testing
Download: here
Alternative downloads: directly via Xposed Installer or at: http://repo.xposed.info/module/com.h0rn3t.performanceprofile
XDA:DevDB Information
Performance Profile, Tool/Utility for the Android General
Contributors
h0rn3t
Version Information
Status: Stable
Beta Release Date: 2014-04-24
Created 2014-04-19
Last Updated 2014-06-04

Changelog
v2.2 [01.06.2014]
added IO scheduler as profile parameter (tip: reload default profile to update all profiles with default IO scheduler)
added notifications type/behavior options
v2.1 [27.05.2014]
fixed backups issue
added light theme
added option to move profiles into whitelist and vice versa
v2.0 [25.05.2014]
custom shell script can be added to profiles (details)
profile values can be copy from profiles already defined (longtap on profile)
some UI changes
v1.8 [21.05.2014]
fixed crash when scaling_available_frequencies file missing
fixed menu display on some devices
v1.6 [16.05.2014]
added support for liveOC kernels.
added sort option for profile's list
added portuguese translation ( thank to @RBDoMGaM )
v1.5 [11.05.2014]
Fixed FC bug from v1.4 (removed)
v1.4 [11.05.2014]
reboot required
added Default profile:
- removed automatically read default values at application start
- manually edit values or load from system
added App Usage tracking:
- sort by last used and number of opening
- hide items
some UI changes
v1.3 [08.05.2014]
added lockscreen profile
removed system/user packages list
added a single list of packages with filter option
allow profile per launcher (only NICE priority)
split NICE into 2 values: foreground and background
v1.2 [03.05.2014]
added NICE priority to profiles
added Screen Off profile (must disable notification from settings if you use Peek feature) - reboot required
added Hungarian translation thanks to @szunyi77
v1.1 [30.04.2014]
added multicore support (may not work with mpdecision/hotplug)
added GPU frequency (kernel related)
Migration:
Restore defaults value for all profiles. In profile's window use menu to restore. Then you can set the new desired values
Actually backups are not compatible with the new version or future.
v1.0 [24.04.2014]
first release

First impression from my side
So now the first impression,
i was testing around with the app for a week now - and i must say it is really nice - my suggestion is also working nice
The switching (rectiontime) of profiles sometimes came late but i assume it is related to my "old" phone - only having a single core CPU.
I'm looking forwar fo your next release (to test)
Cheers
Rhonin

Cool thing! Wonder if you could add a renice option to the profile(s) to make the active app the least nicest one That is, setting the prioritt to high, if it is in the front...
Might enhance smoothing the experience of one or the other app...
Thanks again!
--
Gesendet mit HTC EVO 3D and Tapatalk

chw9999 said:
Cool thing! Wonder if you could add a renice option to the profile(s) to make the active app the least nicest one That is, setting the prioritt to high, if it is in the front...
Might enhance smoothing the experience of one or the other app...
Thanks again!
--
Gesendet mit HTC EVO 3D and Tapatalk
Click to expand...
Click to collapse
Thanks for the suggestion. Will be added

cort06 said:
Is it possible that after install this phone stuck on boot animation after reboot or is this just a bad incident? I had to bring my backup back to turn on the phone
Click to expand...
Click to collapse
The module become active only if you add at least one profile.

Wow, just found this mod today Simply awesome bud

It's not working on my tablet, I gave the app root permissions and added Firefox as a test app with it to set governor 'Performance' when active, I started firefox but it didn't set the performance gov I do however see "Performance Profile" notification icon but it made zero change to the cpu the speed is still @ 252mhz (monitor with cooltool) performance gov should be 1.6ghz on my tablet.
Dunno whats up I can set CPU gov's in other apps like Android Tuner and your other standalone app "Performance Control"..just something with the xposed module.
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
conservative ondemand userspace powersave interactive performance

otyg said:
It's not working on my tablet, I gave the app root permissions and added Firefox as a test app with it to set governor 'Performance' when active, I started firefox but it didn't set the performance gov I do however see "Performance Profile" notification icon but it made zero change to the cpu the speed is still @ 252mhz (monitor with cooltool) performance gov should be 1.6ghz on my tablet.
Dunno whats up I can set CPU gov's in other apps like Android Tuner and your other standalone app "Performance Control"..just something with the xposed module.
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
conservative ondemand userspace powersave interactive performance
Click to expand...
Click to collapse
Try this version View attachment 2709453 and let me know if is working.

--delete--

h0rn3t said:
Try this version View attachment 2709453 and let me know if is working.
Click to expand...
Click to collapse
Thanks for the update, I just tried that version (and rebooted), but it still not working, the icon in the notification bar shows 'Active: null' cpu is also same as before.
I tried to follow logcat but the only thing I saw related to Performance Profile was this (not sure if it's relevant, and it only appeared once)
Code:
W/BroadcastQueue( 383): Exception when sending broadcast to ComponentInfo{com.h0rn3t.performanceprofile/com.h0rn3t.performanceprofile.ProfileReceiver}
W/BroadcastQueue( 383): android.os.TransactionTooLargeException
W/BroadcastQueue( 383): at android.os.BinderProxy.transact(Native Method)
W/BroadcastQueue( 383): at android.app.ApplicationThreadProxy.scheduleReceiver(ApplicationThreadNative.java:771)
W/BroadcastQueue( 383): at com.android.server.am.BroadcastQueue.processCurBroadcastLocked(BroadcastQueue.java:231)
W/BroadcastQueue( 383): at com.android.server.am.BroadcastQueue.processNextBroadcast(BroadcastQueue.java:778)
W/BroadcastQueue( 383): at com.android.server.am.BroadcastQueue$1.handleMessage(BroadcastQueue.java:140)
W/BroadcastQueue( 383): at android.os.Handler.dispatchMessage(Handler.java:99)
W/BroadcastQueue( 383): at android.os.Looper.loop(Looper.java:137)
W/BroadcastQueue( 383): at com.android.server.am.ActivityManagerService$AThread.run(ActivityManagerService.java:1480)
D/dalvikvm( 6052): Late-enabling CheckJNI
I/ActivityManager( 383): Start proc com.h0rn3t.performanceprofile for broadcast com.h0rn3t.performanceprofile/.ProfileReceiver: pid=6052 uid=10247 gids={50247, 1015, 1028}

otyg said:
Thanks for the update, I just tried that version (and rebooted), but it still not working, the icon in the notification bar shows 'Active: null' cpu is also same as before.
I tried to follow logcat but the only thing I saw related to Performance Profile was this (not sure if it's relevant, and it only appeared once)
Click to expand...
Click to collapse
I will add some logs and make a new test version, if you want to test it....

h0rn3t said:
I will add some logs and make a new test version, if you want to test it....
Click to expand...
Click to collapse
Ok, I don't mind testing.

otyg said:
Ok, I don't mind testing.
Click to expand...
Click to collapse
Here: View attachment 2709706
You should find in framework installer logs a list of used tasks names. I suspect that in your case something is wrong with this names.
EDIT: Can you try with other app then firefox?

h0rn3t said:
Here: View attachment 2709706
You should find in framework installer logs a list of used tasks names. I suspect that in your case something is wrong with this names.
EDIT: Can you try with other app then firefox?
Click to expand...
Click to collapse
Sure I'll use a less complex app like Terminal Emulator
Not much in the Xposed logs
Code:
Loading modules from /data/app/com.h0rn3t.performanceprofile-1.apk
Loading class com.h0rn3t.performanceprofile.Switcher
Loading modules from /data/app/ccc71.at-1.apk
2475ms: com.android.vending
Loading class ccc71.at.xposed.at_xposed_enabled
Loading class ccc71.at.xposed.at_remove_battery_icon
Loading class ccc71.at.xposed.at_remove_low_battery_warning
Loading class ccc71.at.xposed.at_apps
Loading class ccc71.at.xposed.at_fix_mnt_asec
Loading modules from /data/app/info.daylemk.viewinplay-2.apk
Loading class info.daylemk.viewinplay.XposedInit
888ms: com.android.deskclock
637ms: com.android.contacts
203ms: com.google.android.gms
21ms: com.android.providers.downloads.ui
147ms: com.speedsoftware.rootexplorer
28ms: com.adobe.flashplayer
12ms: eu.chainfire.supersu
83ms: com.tsf.shell
9ms: eu.chainfire.supersu
692ms: com.android.settings
DayL[AppInfoHook]handle init resouces
20ms: com.android.music
732ms: jackpal.androidterm
978ms: com.android.vending
15ms: com.tsf.shell
10ms: eu.chainfire.supersu
6ms: jackpal.androidterm
com.h0rn3t.performanceprofile
com.h0rn3t.performanceprofile
com.h0rn3t.performanceprofile
com.tsf.shell
6ms: jackpal.androidterm
5ms: jackpal.androidterm
jackpal.androidterm
7ms: jackpal.androidterm
7ms: jackpal.androidterm
com.tsf.shell
de.robv.android.xposed.installer
de.robv.android.xposed.installer
In the meantime I'll try to disable all my other xposed modules to make sure there is no conflict

otyg said:
Sure I'll use a less complex app like Terminal Emulator
Not much in the Xposed logs
In the meantime I'll try to disable all my other xposed modules to make sure there is no conflict
Click to expand...
Click to collapse
Everything seems to be ok. Maybe is a conflict with other module. I can not figure out where is the problem.

Will be good if you combine this module with your application (perfomance control) and add per-core support for this module. Profile (low battery, charging, etc) support (and configure applications within profiles) would be the ideal option.
P.S. I can't find Go Launcher in the application list.

wserfer said:
Will be good if you combine this module with your application (perfomance control) and add per-core support for this module. Profile support (and configure applications within profiles) would be the ideal option.
P.S. I can't find Go Launcher in the application list.
Click to expand...
Click to collapse
The launchers are excluded from packages list.

h0rn3t said:
The launchers are excluded from packages list.
Click to expand...
Click to collapse
But why?

wserfer said:
But why?
Click to expand...
Click to collapse
Because of the logic of my switching implementation. Profiles can not be applied to launchers.

Related

[KERNEL][3.0.31][FULL HD][HDMI][GUIDE 1.8]JBX-Kernel Hybrid [1,5ghz]

/// JellyBeanX-kernel ///​
DISCLAIMER
Me, XDA-Developers.com and anyone else doesn't take any repsonsibilty for damages on your device!
Rooting your device will void your warranty!
Don't play with settings you aren't familiar with, you could burn your device!!
Click to expand...
Click to collapse
READ THIS: READ BEFORE YOU ASK and HELP TO KEEP THIS THREAD MORE CLEAN! BUT ALSO BETTER ASK ONCE MORE BEFORE YOU MESS UP YOUR PHONE! If you find something missing in this OP/FAQ, please PM me and I will add it. Thank you!
This kernel is built of the Kexec Project which was initiated first by Kholk & [mbm] and finished by the STS-Dev-Team (Hashcode, Dhacker). Using this kernel will provide addtional features to your RAZR.
If you want to support me and my work just leave me a beer.
You can find the FAQ at the bottom of this post!
LATEST CHANGES
--> DETAILED CHANGELOG JBX-kernel Hybrid 4.4 <--
Kernel Guide (by Placca) version 1.8!!
Check the FAQ section at the bottom of this post to download it! It will make many things easier for you and help you to understand the kernel and its features!
FEATURES
JBX-Kernel Hybrid
Battery Friend toggle (a battery friendly mode)
Intelli-Plug (Kernel side replacement for msm MPDecisions) by Faux123 + patches by me (no hotplugging when screen is ON)
Dynamic Hotplug: Second core will be turned off ONLY while screen is off - independent from selected governor. (Not needed when using Intelli-Plug)
Optimized OPP Table for smooth CPU scaling
Frequencies: 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300
Modifed Smartreflex driver (Custom Sensor for detecting n-Value).
Smartreflex Tuning Interface: Set min/max calibrated voltage
Overclocking using Live OC (mine runs stable at a maximum frequency of 1,498ghz!)
hwmod, uart, IRQs - cleanups from pre-kexec config to safe power
CPU: lower voltages for CORE and IVA. Give CORE the abbility to scale up to higher voltage if needed
Dynamic fsync control: FSYNC interval is dynamic depending on screen state (SCREEN OFF: synchronous, SCREEN ON: asynchronous)
HTC's Asynchronous Fsync port - read explanation in FAQ*
Dynamic page-writeback: Page writeback interval is dynamic depending on screen state.
Frandom v2
JRCU / Tiny RCU (currently JRCU in use)
Raised voltage limits for mpu a bit
Raised the temperature limits from 64c* to 74c* (degrees)
optimized CRC32 algorithm (better code generation)
Optimized LZO compression
RW Readahead dynamically depending on storage device (automatic detection of the best value)
zRAM support
GPU has 4 scaling steps and OC to 384mhz (Base freq: 102 mhz --> 154 mhz, 307 mhz, 384 mhz)
GPU Control: Governors, Frequencies
Multicore Power Saving Mode Control
ARCH Dependant Power feature
Gamma Control
Front Buffer Delay Control (draw in x msecs on early suspend)
Screen/Display: Modified OMAPDSS for sharpness and lightning colors
OMAPDSS: Added variable clock rate and OPP - allows the screen to scale down power and voltage
lowmemkiller: Heavy modified for R/W Speed and efficient performance
ZCACHE, ZSMALLOC, XVMALLOC backported from 3.4, 3.7 and 3.10 (ZCACHE currently not in use)
Custom Voltage Support
IO-Schedulers: SIOPlus, Fifo, Row, VR, Noop, Deadline, CFQ, BFQ
ROW Scheduler is heavily tweaked to be the fastest one!
Deep Idle
ARM Topology
Many improvements in overall OMAP PM
SELinux permissive
GREAT performance!
battery life!
Support for Trickster Mod Kernel Control App (Download from Gplay)
*]Too much stuff to list here. See "Sources" below and check my Github
CAUTION
This is a work in progress! Some of the current features are still not in final stat. If you are facing issues report back here and DON'T spam the threads of the rom you're using!
Be careful with some settings such like Voltage and Overclocking!!! If you aren't experienced with these things, dont play with 'em!
Click to expand...
Click to collapse
REQUIREMENTS
NOTE: This will NOT work on Stock(-based) Roms!!
Rooted device
Must use a Kexec Rom (CM, AOKP, AOSP)
Recovery (BMM, SS)
REMOVE any kernel modules you used before
DEACTIVATE ANY CPU tweaks, onboot settings etc otherwise your phone may not boot!
CAUTION: The kernel needs a clean setup related to CPU tweaks / Settings, etc...Keep your device as clean as possible regarding to Tweaks, CPU special settings, etc. The Kernel brings its own CPU settings and after you can boot it succesfully, you can set it like you want!
This kernel may not work on all roms! Check and report.
INSTRUCTIONS
NOTE: CLICK here for a detailled Installation Guide (about the Aroma Installer, the features to select and more)
Download zip file from below
Reboot into recovery
Flash the kernel (BMM users: DON'T use the "Flash Kernel" Option! This is a usual zip file!)
Reboot
Download Trickster Mod App from Gplay! Read the FAQ to learn about playing with kernel features!
Enjoy!
NOTE: For updates you can use the built-in OTA UpdateMe App!
DOWNLOAD
JBX-Kernel 3.0.8 Versions:
0.8.x ==> Android 4.2.2
1.x == > Android 4.3
2.x == > Android 4.4
JBX-Kernel 3.0.31 Versions:
3.x == > Android 4.4
4.x == > Android 5.X
NOTE: CF-Server is currently down! Use "[email protected]" on dtrailer.de (right after clicking on the big blue DOWNLOAD button above!
XPERIMENTAL BUILDs
These builds include features without promises to work.
CAUTION: There is no promise that these version are stable/working/whatever! Use at your own risk!!
---> XPERIMENTAL Builds [Dev-Host] <---
---> XPERIMENTAL Builds [CF] <---
Click to expand...
Click to collapse
Something went wrong?
If you think you have set wrong "on-boot-values" in Trickster Mod flash this:
TRICKSTER RESET: http://dtrailer.de/kernel/trickster_reset.zip
FAQ
CAUTION: This FAQ and the whole OP, additional informations about Governors, IO Schedulers and detailed informations about the usage of Trickster Mod and this kernel can be viewed in the awesome Kernel Guide by Placca!
Kernel Guide 1.7
- installation guide (was a top priority )
- latest changelogs added
- few more supported ROMs in the Requirements sections
- few typos and formatting issues as always
PDF: https://www.mediafire.com/?7zaddcmvtxfk9ry
CHM: https://www.mediafire.com/?g3ck1bf1k3a3j38
CLICK THE BUTTON BELOW TO OPEN THE FAQ!
Please check the following points if you don't know how to use the features of the kernel or you are facing any kind of issues.
INDEX
1. Kernel Features
1.1 Smartreflex (Turn ON/OFF, adjust min/max range)
1.2 Live OC (Realtime Overclocking)
1.3 Custom Voltage (EMIF)
1.4 GPU Overclock & GPU Governor (UPDATED)
1.5 Gamma Control
1.6 Battery Friend
1.7 Suspend Governor (CURRENTLY DISABLED)
1.8 IVA Overclock
1.9 DPLL Cascading
1.10 HDMI toggle
1.11 Intelli-Plug
1.12 Dynamic Fsync VS. Asynchronous Fync
2. Issues
1.1 How can I change the smartreflex minimum/maximum voltage
What is Smartreflex?
SR is compareable with an CPU governor but not for scaling frequencies but for voltages. That means SR has a fixed range of voltage (min/max) and calculates the optimal voltage for each CPU frequency. In example on light use of the CPU it scales down to lower voltage - on heavy use it can sclae to higher voltage. This is an efficient system to save power! Compared to EMIF which uses the hardcoded voltages it saves more power because it's variable. EMIF cannot vary between the values.
This interface has a hardcoded range of 830mV min to 1450mV max. Usually there is no need to adjust these values but irt can be usefull in example when using high overclocked frequencies above 1,5ghz! Usually SR cannot handle frequencies above 1,5ghz and I have hardcoded the maximum range of 1,45mV which should allow SR to handle it. In prior times the users had to turn off SR when OCing above 1,5ghz which causes the CPU to eat more power. But you can try around and report your results.
CAUTION: Don't raise the maximum SR voltage too high! It can burn your board = no phone anymore! I recommend to not use higher values than 1490mV! As already mentioned: THe default value should be enough!
ANd also: USUALLY THERE IS NO NEED TO CHANGE ANYTHING ON SR! IF YOU DON'T KNOW WHAT YOU'RE DOING, PLEASE LEAVE IT ALONE!
Ok, now let's see how to do this:
Turn ON/OFF SR
1. Open Trickster Mod
2. Head to the "Specific section"
3. Scroll down to "Smartreflex"
4. You can toggle ON/OFF SR for each component (IVA, CORE, MPU)
Usually I recommend to keep SR ON because it saves power! But in some cases when overclocking the CPU (MPU) the device could freeze - whether you OCed too much or SR couldn't handle the frequency! In this case you can try to raise the vmax value of SR a little bit (CAREFULLY!) and try again. If it sitll freezes and you're sure that you didn't OC too much, turn SR OFF at least for MPU!
Maximum Voltage
Currently there is no app which supports the feature of adjusting the SR vmax value, because I wrote this feature some days ago.
But in the next Trickster Mod version this option will be supported!
example:
# To read the current vmax value. Replace XXX with one of the following:
sc_core - for core max sr voltage
sr_iva - for iva max sr voltage
sr_mpu - for mpu max sr voltage (mpu is most related for CPU scaling)
cat /sys/kernel/debug/smartreflex/XXX/vmax
# You will get an output, e.g. for mpu = 1450000 (1450mV)
# To set a new value, do the following command (replace XXX with a value like above - BE CAREFUL! USUALLY THE DEFAULT VALUE ENOUGH AND YOU CAN LEAVE IT UNTOUCHED!)
echo XXX > /sys/kernel/debug/smartreflex/XXX/vmax
Minimum Voltage
It's easy because Trickster Mod supports it!
1. Open Trickster Mod
2. Head to the "Specific section"
3. Scroll down to "Smartreflex"
4. Below each SR component (IVA, CORE, MPU) there is displayed a value (usually 830 default) which means this is the lowest scalable voltage for this component. You can try to decrease this value for the case you want to UV a bit more - or raise it a bit for the case you think that the set range is too low and causes freezes on your device.
1.2 How do I use Live OC (Live OVerclock)?
This feature allows you to overclock the CPU in realtime. It works with a multiplier value set by the user. The default multplier value is "100", which means: No OC! If you want to raise the OC frerquency, just raise this value step by step.
FOr my device the maximum working OC value is "111" which means the maximum frequency is running at 1498mhz!
NOTE: Keep in mind that you tunr Smartreflex OFF for higher freqs than 1500mhz - or raise the maximum SR voltage range for "MPU" a little bit and test if it works.
Ok, how to use Live oC in action:
Open Trickster Mod App and swipe to the tab "Specific". There you will find something like this:
Code:
MPU OC [100]
DON'T TOUCH THE "CORE OC" SECTION, IT WILL CAUSE FREEZES!
Now slowly increase the value "100" to something higher, e.g. "105". Tap the hook in the right upper corner to confirm. To see your new set of frequencies you can now whether close and restart Trickster Mod or just use any monitoring app like Cool Tool which will show your frequencies in real time. That's it!
CAUTION: You can damage your phone forever!!!! This feature allows you to set very high frequencies (also up to 2,0ghz...) - That DOESN'T mean that your phone can run these frequencies!
If your phone freezes or crashes you have probably set too high OC - or your voltage is too low.
1.3 How do I use Custom Voltage (EMIF)?
NOTE: This only adjusts the fixed voltage! When you have Smartreflex ON it can still vary! You have to see the bigger picture: This voltage value sets the "middle point" for voltages. Smartreflex is still able to increase or decrease the voltage. When Smartreflex is OFF the CPU will stay on this voltage you set here and probably eats also more power.
How does EMIF works together with Smartreflex:
Code:
-------
| CPU |
-------
|
------------------ ------------------
|Voltage 1015 mV | ---->| SMARTREFLEX ON| = 1015mV +/- "vmax"/"vmin"
------------------ -------------------
|
--------------------
|SMARTREFLEX OFF| ----> 1015mV FIXED! No changes!
-------------------
Thi smeans if you change the voltage for a scaling step (OPP) while SR is ON, SR will adjust the voltage from this value, means: mV-Value +/- SR vmin/vmax. WHen SR is OFF it will stay on this mV as a fixed value.
How to adjust the voltage?
Well, this feature can be used with all generic apps which are supporting voltage settings. But we are prepared well, you can adjust voltages also with the "Trickster Mod App".
When you open the app, head to the tab "Specific" and below the "Live OC Section" you will find your voltage table, which looks like this:
Code:
<-->
1200 [1398]
1000 [1388]
900 [1371]
...
..
..
Now just tap the arrows in the right upper above the first voltage value and just type or tap (per direction) a value, e.g. "-25". To apply it, confirm by tapping the hook in the right upper corner of your screen. That's it, your new voltage values are now set and applied. And also mind here: If your phone freezes you porbably have set it too low.
CAUTION: NEVER SET HIGHER VOLTAGE THAN 1490mv here!!!!! Or you might damage your phone FOREVER!
This voltage is not the same like Smartreflex! But it's still voltage! Just be carefull!!
1.4 How can I use GPU OC and GPU Governor?
GPU Overclock doesn't work like Live OC! You cannot really set custom frequencies for the GPU, but you can select and set the maximum frequency from a hardcoded range!
For the GPU there are the following available frequencies:
154mhz (FIXED!)
307mhz
384mhz
416mhz
The minimum frequency of 154 is FIXED! This means you cannot change it because the GPU needs a minimum speed to run with. But the kernel allows you to select the maximum speed. This can be usefull for playing games and also for saving power . In example when not playing games you don't need the GPU to run at 416mhz! Set it to 307mhz in this case and save power.
When you open Trcikster Mod and head to the "specific section tab", you will find "GPU MAX FREQUENCY" and it's currently set maximum frequency. Tap on it to select your preferred one:
- 154 Mhz
- 307 MHz
- 384 MHz
That's it. The new setting will be your new maximum GPU frequency.
Below there's another option called "GPU Governor". Just tap on it and select your prefered one.
NOTE: If you want to track current GPU frequencies and watch governor's behavior, just switch to Trickster's "Informations" - Tab and watch the frequencies clock.
1.5 How can I use Gamma Control?
What is gamma? The gamma setting sets the color range for the screen. You can compare it to the contrast. We all know that the touchscreen eats most of the power compaerd to all other components in a smartphone! A lower brightness causes less power consumption and a lower gamma or contrast range alos helps a little bit to save power.
In this kernel you can choose from a range of "5 - 10" while "5" is very bright while "10" is very dark. The default setting is "5" BUT CAUTION: Trickster Mod will display a range of "0" to "10" and the default setting will be shown as "0". This is caused by the fact that this feature was ported from the Gnex device where you can choose from a higher range. The only sideeffect is that the values "0" - "5" won't show any difference.
How to set the gamma value?
Well, once again open Trickster Mod and swipe to the tab on the right end. Just select your preferred value by using the slider.
Alternately you can use sysfs by terminal or adb:
OMAP Gamma interface:
echo i > /sys/devices/platform/omapdss/manager0/gamma
Replace i with 0-10 of your choice.
1.6 What is "Battery Friend and how to use it?
Battery Friend is a simple toggle (ON/OFF) which sets your device into a battery friendly mode without the need to play with all settings in Trickster Mod /sysfs until you find a good setting. In fact it does the job for you.
What does it affect?
NOTE: Doesn't lock anyx frequencies anymore!
locks dynamic Fsync enabled
locks Fsync disabled
Doesn't allow any OC (Live OC will not have any effect, Core OC is not allowed in this kernel)
Increases the dirty ratio interval to 90% (starts working at this value)
Enables Dynamic Hotplug: This doesn't allow hotplugging during device is active - and it will always turn CPU1 OFF during suspend! It also prevents from conflicts when user uses a hotplug governor (which isn't a good idea though) - but hotplug governors are causing higher battery drain!
Dynamic Page-writeback always enabled
How to toggle Battery Friend:
For now the only way is via terminal, adb shell or root explorer (text editor)
For terminal and adb:
Code:
echo 1 > sys/kernel/battery_friend/battery_friend_active /* Enable */
echo 0 > sys/kernel/battery_friend/battery_friend_active /* Disable */
For Root Explorer
Open Root Explorer
Navigate to sys/kernel/battery_friend/
Open "battery_friend_active" with Text Editor
Change "0" to "1" and safe the file to enable
Change "1" to "0" and safe the file to disable
1.7 Suspend Governor Control (CURRENTLY DISABLED)
Suspend Governor Control is a kernel module written by me. You can use it to set your preferred Screen-Off-governor.
For now it's only supported by sysfs (Trickster Mod will support all my current and upcoming features as soon as it gets updated with its new UI mode!
How to set suspend governor
Open a terminal or use adb shell
Code:
su
echo "x" > /sys/kernel/suspend_gov/suspend_gov
Replace x with one of these values:
0 = Ondemand
1 = Ktoonservative
2 = Conservative
3 = OndemandX
NOTE: No matter what governor you use for suspend mode, if Battery Friend is enabled the second core will be turned off during suspend!
1.8 IVA Overclock
What is IVA OC?
IVA OPPs are controlling the CPU load for sound events. It could be useful (in some cases) when you get sound related laggs. Just set the maximum frequency to highspeed. This will allow more CPU power for sound events but also will cause higher battery consumption.
How to use IVA OC?
If you want to check the current IVA frequency. Just type in Terminal or ADB:
Code:
cat /sys/devices/system/cpu/cpu0/cpufreq/iva_clock
You will get an output like this:
Code:
132 Mhz
2. You can whether enable IVA highspeed: 130 - 430 Mhz ["1"] or enable IVA normal speed: 130 - 332 Mhz ["0"]
320 Mhz max: echo "0" > sys/devices/system/cpu/cpu0/cpufreq/iva_freq_oc
430 Mhz max: echo "1" > sys/devices/system/cpu/cpu0/cpufreq/iva_freq_oc
1.9 DPLL Cascading
DPLL: Davis–Putnam–Logemann–Loveland (DPLL) algorithm
To get more info about this please see wiki
But to sum it up shortly: It helps to use/stream media (music) in a low power mode.
NOTE: DPLL Cascading will be available to be switched easily via Trickster Mod App soon!
How to switch DPLL?
DPLL is ENABLED by default!
Open Trickster Mod -> Speicific Tab --> DPLL (soon)
sysfs:
Turn off:
Code:
echo 0 > /sys/kernel/dpll/dpll_active
Turn on:
Code:
echo 1 > /sys/kernel/dpll/dpll_active
1.10 HDMI toggle
Some users are facing a RAZR-sepcific problem: HDMI cable is detected, even though there is no cable plugged!
Therefor I included a toggle to switch HDMI wether ON or OFF. Additinally there's an init.d script included within the AROMA Installer you can select during the installation of JBX-Kernel.
To enable/disable HDMI on-the-fy:
sysfs:
Turn off:
Code:
echo 0 > /sys/kernel/hdmi/hdmi_active
Turn on:
Code:
echo 1 > /sys/kernel/hdmi/hdmi_active
1.11 Intelli-Plug
For intelli-plug hotplugging is now only allowed when the device enters sleep.
To enable hotplugging universally just change the value of the following entry whether to 1 (on) or 0 (off):
Code:
sys/module/intelli-plug/parameters/int_hotplug
1.12 Dynamic Fsync VS. Asynchronous Fsync
* HTC's Asynchronous Fsync and Dynamic Fsync:
Asynchronous fsync (called "afsync" or "async fsync") from HTC is ported into this kernel. By default it's enabled and dynamic fsync is disabled (and as well it isn't needed anymore). But just to test a little bit around to see which one of both features is the better one - for battery & performance. But currently Tricktser Mod doesn't support a toggle for afsync, so I had to find another way to use Trckster. Finally I did it like this:
The dynamic fsync toggle in Trickster Mod is now serving both functions - the dynamic fsync AND the asynchronous fsync! How? By default Dynamic Fsync is disabled, and Afsync is enabled. If you now enable Dynamic fsync using the toggle, Afsync will be automatically disabled, so both functions are not conflicting each other - and this way we have a working toggle for both of them.
2. If anyone has the following issues:
Issue
Media Process FC
No SD-Card in File Explorer
My CPU Settings (frequencies, etc) won't be saved (it sets itself back to Kernel default after screen off)
My phone freezes/reboots always when I try to set options in Trickster Mod
The device is lagging very hard
Solution
Media FC: Open App settings, head to "Download Manager" and "Media Storage" and hit the "delete data" button. Reboot. Now it shouldn't give any FCs anymore and after a little bit of waiting it will find all Media (Pictures, Videos, etc..)
No SD-Card: Reboot into recovery, go to "Mounts & Storage", tick "mount int" or "mount ext".
USB: Make sure the screen is ON while plugging the cable in.
CPU Settings: This is a bug which cannot be solved at the moment. Temporary solution: In Trickster Mod just activate the "Frequency Lock" and your settings will persist.
Trickster Mod:: Open App settings, Trickster Mod and select "uninstal updates". Now it should work.
Crashes, Freezes, lagging, something doesn't work, etc
There are too many reasons which could cause crashes! So here is a checklist for you to look for. Check each point and try the following workaround:
- Your rom has CPU tweaks (e.g. Kernel modules, init.d folder, etc)
- You have set custom CPU settings (e.g. custom frequencies with apps like No-Frills CPU Control, Set-CPU, Antutu, etc...)
- You have undervolted too low
- You have overclocked too high
- You have applied higher "Core OC" value in Trickster Mod App
- You are running any other kernel tweaks which are regarding to the CPU and/or performance (e.g. Kernel modules by Whirleyes eventually set by init.d, etc..)
- After setting some settings (e.g. in Trickster Mod) your device doesn't boot anymore
- adb doesn't work / shows only "device offline"
- You are facing hard lagging
If any point here matches your setting, please revert from it:
- Remove any CPU init.d script from /System/etc/init.d
- Uninstall any CPU controling app (e.g. Set-CPU, No-Frills, etc..)
- Remove all extra kernel modules from system/lib/modules (e.g. cpu_control.ko, cpufreq_smartass2.ko, etc..)
- Unset any custom settings from any other kernel / CPU - tweaking app which is NOT Trickster Mod
- Maybe your governor causes issues. Hotplug is know for bugs at the moment...I'm going to fix it..
- NEVER set your CPU Settings (e.g. in Trickster Mod App) on boot!!!! - before you aren't sure that your settings are safe!!!
- You may flash the kernel again after reverting related settings
- to make adb work / show device online, download latest SDK platform-tools and confirm access on device (4.2 security feature of Android)
- Don't use any task killers, memory killers, seeder apps! They may conflict with the kernel/Rom settings.
If none of these suggestions work for you your rom may be incompatible. Please report it here that I can add the rom to the list of imcompatible roms
If you have any issue, please read this:
First check:
- is it really a kernel issue?
- did I see this bug with the roms original kernel?
- what are the people in the rom thread saying?
- what are the people in the kernel thread saying?
- can I find this issue on a bug list?
- how about my settings? Is it my fault it crashed?
- can I find something useful in the kernel FAQ?
- Is it maybe a well known issue and can be solved
withing seconds? Just like wifical.sh?
- Where to repeat that issue? Rom or kernel?
I know it's sometimes difficult to track the issues, and we can't know for sure if it's caused by the rom or by the kernel, but if you try at least to get some information you might find an answer sometimes. If you are able to understand logs, you may report whatever you find.
All this helps to keep the threads more clear. Thank you.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
DONATE
If you like my work and want to support me, I'd enjoy a little beer or coffee. You can find my beer mug below my username
SOURCE
3.0.8 Base:
JBX-Kernel 4.2.2
JBX-Kernel 4.4
CREDITS
Kholk & [mbm] - Kexec inital Release
Hashcode & Dhacker - Making Kexec stable and initiating compatible kernels
Motorola - 3.0.8 Kernel Source
Surdu_Petru - Sharing Knowledge and helping with problems
nithubhaskar - Hints and answering my questions
Ezekeel, Imoseyon - Custom Voltage, Live OC, Temp Control, Gamma Control Source Code
faux123 - Some features, like Intelli-Plug, Intellidemand, Intelliactive
bigeyes0x0 - Trickster Mod App
Team Trickster - Great support and adding new features from my suggestions
Placca - Awesome kernel guide
Nice! Waiting for the download link :laugh:
Hi !
Great work here !!!
Thanks & good luck :good:
just to make sure nothing bad happens:
in bmm you flash this as a "flash zip file" or "flash kernel" (bmm has this option)
im guessing as "flash zip file" (like flashing a rom or gapps) but i thought i'd make sure...
pseudoheld said:
just to make sure nothing bad happens:
in bmm you flash this as a "flash zip file" or "flash kernel" (bmm has this option)
im guessing as "flash zip file" (like flashing a rom or gapps) but i thought i'd make sure...
Click to expand...
Click to collapse
.img: flash kernel
.zip: zip flash file
Someone correct me if I'm wrong.
You flash it as a zip the same way you do with roms and gapps.
Sent from my XT910 using Tapatalk 2
Sounds good
Gesendet von meinem XT910 mit Tapatalk 2
Holy mama, dtrail ready drop the big bomb here...
Sent from my XT910 using Tapatalk 2
How many improvements in this period for this device.
Thanks for your hard work
damn dtrail you're teasing us!
upload it already
Stay tuned... Sorry for the late, but I just make sure you'll get a working package...Didn't think it would take so long...
dtrail1 said:
Stay tuned... Sorry for the late, but I just make sure you'll get a working package...Didn't think it would take so long...
Click to expand...
Click to collapse
Fine! I'm waiting for downloading haha
Waiting for it!
Sent from my XT910 using xda app-developers app
How will we get back on default/Stock rom....
Anyone has any idea via SS?
or should we use RSDLite?
Still waiting!
Awesome work!
How long should it take? I think you you're making a joke of it to make us wait ...
Gesendet von meinem XT910 mit Tapatalk 2
Eh...now uploaded, Thanks!!
Sent from my XT910 using xda premium
Running
Tested on JBX and LiquidSmooth :thumbup:
Gesendet von meinem XT910 mit Tapatalk 2
Merlinos1 said:
Running
Tested on JBX and LiquidSmooth :thumbup:
Gesendet von meinem XT910 mit Tapatalk 2
Click to expand...
Click to collapse
Really? I got it to work on CM Nightly, but it wouldn't install on LiquidSmooth Official. Did you do it on a clean install?
No, just flashed over existing system...
Try Wipe Cache & Dalvik
{
"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"
}
Gesendet von meinem XT910 mit Tapatalk 2

[APP][BETA] ChronoKernel Settings v0.9.9.1

ChronoKernel Settings
for Chrono Kernel
Based on "NovaThor Settings"​
Base features:
All "NovaThor Settings" app features
Update kernel, check latest release, view changelog
Swap storages
Full CPU control
Adjusting voltages for each frequency
CPU freq settings for suspend settings
Full BLN control
Adding modules to autoload (tcp, vpn, governors, schedulers, logcat)
ABB-charger management
Frequency of a display control
Creating logcat and kmsg
Thanks to:
ChronoMonochrome for the kernel and support!
Rox, zwliew, frapeti, t4n017 for "NovaThor Settings" app
4pda community for a test of early versions, bugreports and responses!
CyanogenMod Team for "Device Settings" app
xda community for a test and patience!
Download: View attachment ChronoKernelSettings-0991-beta.apk
Older versions:
View attachment ChronoKernelSettings-099-beta.apk
View attachment ChronoKernelSettings-0981-beta.apk
View attachment ChronoKernelSettings-097-beta.apk
View attachment ChronoKernelSettingsforStock-097-beta.apk
View attachment ChronoKernelSettings-096-beta.apk
View attachment ChronoKernelSettingsForStock-096-beta.apk
View attachment ChronoKernelSettings-095-beta.apk
View attachment ChronoKernelSettingsforStock-095-beta.apk
View attachment ChronoKernelSettings-09-beta.apk
View attachment ChronoKernelSettingsforStock-09-beta.apk
Buglist:
-
Old changelog:
0.9.7-beta:
- Added "Statistics of the processor." Thanks to @storm717 for the source code of CpuSpy!
- Added "Selecting frequencies". Although you can't disable 800 MHz and 1000 MHz, app still sends a command to enable these frequencies after a reboot.
- Added steps for extreme undervoltage for 100 MHz, 200 MHz, 400 MHz.
- Added checkbox "Disable second core."
- Added a choice of states for APE_OPP and DDR_OPP. But, strangely, only when choose the state 0 for apeopp and ddropp, the values ​​don't change in mcde_screenon_opp, when choosing other states, apeopp and ddropp changes without problems. Nevertheless, thanks to @ChronoMonochrome for the help!
- Returned those settings that have been removed in the last version, but I removed the choice of presets for minfree - think of another implementation.
- Fixed bln_wakelock after a reboot.​
0.9.6-beta:
- Optimization of the application for stock firmwares was performed.
- Added CPU activity. Now it is possible to change a governor, frequencies of the processor and schedulers of internal and external memory, and also change undervolting for each frequency on r2.17!
- Added the way of change of swap storages for stock.
- Added two Holo themes and two system themes. If you use stock firmware, MIUI (etc), you can choose system theme for apply firmware theme in app. Please, don't write if system theme will be coincide with Holo and Material themes on AOSP-based roms.
- Added "Enable increased smoothness" setting. Thank you, ChronoMonochrome!
- Added "Set a preset for minfree" setting.
- Added readahead for external storage.
- Added "Disable NovaThor Settings" (it will be "frozen" and hidden).
- Added touchboost for interactive and Zenx.
- Rewritten path options for dt2w and s2w (for r2.17).
- Fixed activation bln_wakelock.
- BLN and "Disable NovaThor Settings" items for stock firmwares are not available. Unfortunately, I did not manage to see the work BLN on stock. If someone gets enabled BLN (of course, without Xposed), please let me know.
- Removed unnecessary options and settings (at the time r2.17).​
0.9.5-beta:
- added "Enable zRam". It works with init.d script.
- added choice of themes (please, test the Holo Light theme).
- choice of modules of file system is added (exfat, nilfs2, ntfs).
- added creating a dmesg is added to "Settings". Now logcat, dmesg and kmsg are created with time tag.
- option "Disable Autoboost" in GPU is returned. Thanks, Kolan007!
- change of readahead is corrected (this setting is used listpreference)
- path to a touchboost is changed.​
0.9-beta:
- Initial release for xda​
full changelog on russian
Ok, let's get started.
fluffi444 said:
1) Screen: Enable Touch boost: This set "only" APE boost to ON - Maybe an switch for DDR boost (bt404_ddr_boost) and an switch for each value for APE/DDR (25/50/100) would also be nice.
2) I/O: read_ahead_kb values are not set correctly - This was and is an error which was in NTsettings since beginning
3) CPU Undervolting: This could be a bit dangerours because the original setting of Chrono is already well optimized - even -12,5/25 could force reboot - Especially for the higher freq from 800-1200. Maybe its better only to undervolt the lower steps (further testing needed)
Click to expand...
Click to collapse
1. I did not do it because I have difficulties in the interpretation of APE/DDR :/
2. I'll think about how to fix it
3. I have no problem with increasing the voltage to 75.0 as well as with decreasing voltage to 75.0.
Anyone having difficulty with that?
mars_army said:
1. I did not do it because I have difficulties in the interpretation of APE/DDR :/
3. I have no problem with increasing the voltage to 75.0 as well as with decreasing voltage to 75.0.
Anyone having difficulty with that?
Click to expand...
Click to collapse
Thanks for copying my post to new thread...
1. Maybe @ChronoMonochrome can say a word to touchbooster and the infuence of APE/DDR and thier values 25/50/100
3. Yes I had... I set (just for a short test) to -50 and got instant reboot. As I said: I think Chronos voltage table for higher freq is well optimized and already quite low...
I'm using latest Rel R2.14.5 - I don't know for which kernel version you optimzed your Settings?!
As far as I know Chrono changed the LiveOPP table in the newer releases, also.
fluffi444 said:
Thanks for copying my post to new thread...
I'm using latest Rel R2.14.5 - I don't know for which kernel version you optimzed your Settings?!
As far as I know Chrono changed the LiveOPP table in the newer releases, also.
Click to expand...
Click to collapse
The values for voltage are selected in accordance with 2.14.3, including the values taken from the init.d script "00liveopp_voltage_fix".
Please read this for test undervoltage.
fluffi444 said:
Thanks for copying my post to new thread...
1. Maybe @ChronoMonochrome can say a word to touchbooster and the infuence of APE/DDR and thier values 25/50/100
Click to expand...
Click to collapse
I left here the concrete APE/DDR settings, because by kernel supported as lowest states as APE25/DDR25. For powersaving we can change these values via interface /sys/devices/pri_lcd_ws2401.0/mcde_screenon_opp (don't remember if s6d has it - will reimplement soon). By default are used DDR50/APE50(APE25/DDR25 are causing problems on some phones like display blinking, long wakeup time etc.), and touchbooster set APE100 when you touch the screen For good smoothness usually enough APE100/DDR50 which are defaults for touchscreen interfaces. For more smoothness set also DDR100 (but I think it will drain the battery too fast).
3. Yes I had... I set (just for a short test) to -50 and got instant reboot. As I said: I think Chronos voltage table for higher freq is well optimized and already quite low...
Click to expand...
Click to collapse
There are no big changes in compare with old TC's kernels. It's almost same voltage table as in liveopp 1.0.1, and IMO only one stable for most users. Although it's not well optimized in term of powersaving, because some steps use same voltage. I also admit that it's not good idea to lower voltage for all steps by same value - because some steps can't be undervolted even by -50 mV, when some steps can use as low undervoltage as -275 mV.
One more thing to mention:
GPU: The checkbox for deactivating Mali Boost is missing. Therefore the setting in "Clock Speed" (Set static gpu clock speed) has no function because Mali Boost is alway on...
fluffi444 said:
One more thing to mention:
GPU: The checkbox for deactivating Mali Boost is missing. Therefore the setting in "Clock Speed" (Set static gpu clock speed) has no function because Mali Boost is alway on...
Click to expand...
Click to collapse
Yes, Kolan007 (from 4pda) reminded me of this, I will add this setting to next update. By the way, how wrong the app exposes values ​​for readahead?
mars_army said:
Yes, Kolan007 (from 4pda) reminded me of this, I will add this setting to next update. By the way, how wrong the app exposes values ​​for readahead?
Click to expand...
Click to collapse
Take your time - no hurries!
Regarding readhead: 512 is set OK after an reboot- if you change to 1024 it shows as 1152 in file. Looks like the more you change the value (without reboot) the more the value changegs to a wrong direction... For me it looks like that there is an calculation error somewere...
I set 1024 (via init.d) after I set now 512 in app it shows as 640 in file
If I go back to 1024 in app it will give me 1152
2048 gives me 2048 - strange
Back to 512 gives me again 640... etc....
Next time 2048 in app gives me now 2176 - more than strange
EDIT
Looks like there is somewhere an "128 error" in calculation....
fluffi444 said:
For me it looks like that there is an calculation error somewere...
Looks like there is somewhere an "128 error" in calculation....
Click to expand...
Click to collapse
Really a problem in mathematical calculations. How it works now:
(("displayed value" / "128"+"1")*"128"="result".
Example:
(("4096"/"128")+ "1")*"128"="4224").
I tried to replace 1 to 0, but the value is set back one step. I will think that how to fix it.
The easiest solution is replace the way of setting value on listpreference (like in FSync settings).
Undervolting doesn't work with my ACE 2
Ave_Hornet said:
Undervolting doesn't work with my ACE 2
Click to expand...
Click to collapse
Please check your init.d scripts... Maybe there are some settings (chmod 444) that preventing changes for GPU and/or CPU undervolting.
fluffi444 said:
Please check your init.d scripts... Maybe there are some settings (chmod 444) that preventing changes for GPU and/or CPU undervolting.
Click to expand...
Click to collapse
I make a clean install and all works fine. Anyway thanks for help.
New version is UP!
added "Enable zRam". It works with init.d script.
added choice of themes (please, test the Holo Light theme).
choice of modules of file system is added (exfat, nilfs2, ntfs).
added creating a dmesg is added to "Settings". Now logcat, dmesg and kmsg are created with time tag.
option "Disable Autoboost" in GPU is returned. Thanks, Kolan007!
change of readahead is corrected (this setting is used listpreference)
path to a touchboost is changed.
bln_wakelock inclusion does not work ( I will think how to fix it ) .
setting ape/ddr will in the next version : /
full changelog on russian
Download version for custom roms
Download version for stock firmwares
[*] added "Enable zRam". It works with init.d script.
Works!
[*] added choice of themes (please, test the Holo Light theme).
Lovely! Nice and perfect! But Holo Light looks the same as Material Light - In my opinion
[*] choice of modules of file system is added (exfat, nilfs2, ntfs).
not tested
[*] added creating a dmesg is added to "Settings". Now logcat, dmesg and kmsg are created with time tag.
works.
[*] option "Disable Autoboost" in GPU is returned. Thanks, Kolan007!
Good!
[*] change of readahead is corrected (this setting is used listpreference)
Works! First time that this works as it should!
Thx for your work!
fluffi444 said:
But Holo Light looks the same as Material Light - In my opinion
Click to expand...
Click to collapse
I assumed that appcompat-21 contains resources for Holo, so I added the Holo Light. In next versions will be only two themes
fluffi444 said:
Thx for your work!
Click to expand...
Click to collapse
Thank you for report and test
Hi @mars_army
For now APP work great !!
You think about profiles for this APP? Like gaming,powersaving,etc.?
It would be nice
Cheers
Ave_Hornet said:
Hi @mars_army You think about profiles for this APP? Like gaming,powersaving,etc.?
Click to expand...
Click to collapse
I thought about it, but it's still in plans But first, I want to change the application's UI to group some settings.
Thank you!
I made a simple .zip to install it from Recovery.
!! This package removes the NT APP !!
If I downloaded new kernel, the app ask me to boot into recovery... Pressing OK...
And nothing happens... Only this moving circle saying "please wait..."

Battery Life Guide

Hey I made a guide on reddit, and I should have just posted it here. The goal is to have a good battery life and for everything to be buttery smooth. I've updated it with my recommendations!
Depending on your usage and how well you took care of your battery, you should get anywhere from 5-8 hours of SOT.
1) Flash custom twrp recovery if needed.
2) Flash Rom.
3) Flash SU. (OPTIONAL)
3) Flash Kernel.
4) Flash ARISE or sound mod. (OPTIONAL) If you don't want the sound mod you can skip steps 6-9 if you'd like.
5) Restart phone. Go through setup phase.
6) Install file manager (I recommend Solid Explorer)
7) Install busybox (I recommend the one by meefik)
8) Open busybox app and update/install busybox.
9) Open your file explorer and go to root. Then go to vendor/etc. Rename audio_effects.conf to audio_effects.conf.bk and restart.
10) Install Snapchat. Yell at your phone.
11) Go to SuperSu app and completely unroot.
12) Restart.
13) Log into Snapchat.
14) Restart into recovery.
15) Flash SU.
16) Flash Kernel (just incase, probably not neccesssary).
17) Download Leandroid, Ex Kernel Manager, & Substratum.
18) Apply kernel tweaks, Choose settings for leandroid app & apply substratum theme if you want.
Rom
Stock Debloated
https://forum.xda-developers.com/nexus-6p/development/rom-debloated-prerooted-deoxeded-t3372600
Custom Kernel
http://nchancellor.net/Kernels/angler/7.1.1/Personal/ would be the best for battery life + performance or you can use franco/ex kernel but I didn't like either of those as much as Nathan's.
Custom Recovery
https://dl.twrp.me/angler/
Latest SuperSU
SuperSU
Substratum Theme
Substratum swift dark
Idle Battery Saver
Leandroid
Battery Saving Wallpaper:
https://photos.google.com/share/AF1...?key=azVNa2xuR2NvNzNiWHc3dlJNbV90TGVEZlNtSUVn
Sound Mod (Optional.. uses more battery): ARISE
Kernel Tweaks:
I would just use whatever nathan has as defaults for his kernel. If using a different kernel, I recommend using hawktail 1.2 gov profile.
Here are the additional tweaks I personally use.
CPU: Hotplugging: Enable msm_hotplug.
GRAPHICS: MAX GPU Freq: 180. If you play games that max out the gpu, you might not want to mess with the gpu freq.
MEMORY: zRAM disabled; UKSM DISABLED.
MISC: I/O SCHED MAPLE; READAHEAD 2048; VIBRATION 25%. Wakelocks I have enabled are: Sensor_ind, Bluedroid, msm_hsic. Cubic for TCP algorithm.
EX KERNEL SETTINGS DISABLE CHECK FOR UPDATES.
Leandroid Settings:
Disable: Wifi, Bluetooth, Network Location, GPS Location; Switch Cell data to 2g*
* Turning cell data off or to 2g makes ok google hotword when your screen is off kinda slow.
APPS THAT USE LESS BATTERY THAN WHAT YOU'RE USING:
Battery Saving Browser: Tugabrowser Turn on battery saver in settings. Uses 1/2 - 1/3 battery than what chrome uses.
Makes screen use less battery at low battery: Monochrome
Turns off % of pixels, saves battery: Pixel Filter
Facebook lite: Less annoying facebook
Facebook messenger lite: Less annoying facebook messenger
GLTOOLS: Used to make snapchat less laggy
Apply these changes to the settings of Snapchat in GLTools;
Enable custom settings for this app -> On
Force 16 bit rendering -> On
Optimize GLSL shaders -> On
Enable texture decompression -> Disable
Enable texture recompression -> Disable
Downscale textures -> Limit to 256x256 (If pictures or text become pixelated, change this to Disable)
Restart Snapchat
System Tweaks:
ENABLE DEV OPTIONS BY TAPPING ON BUILD NUMBER A BUNCH OF TIMES. UNCHECK Automatic system updates in developer options.
You can try this too, but personally I don't use it: https://forum.xda-developers.com/an...od-ultimate-performence-blazing-fast-t3482317 Flash the kernel again after you flash this.
Other than that enable amoled black themes in apps that you use.
Here are a few nice apps to have:
https://play.google.com/store/apps/details?id=com.phoenixstudios.aiogestures&hl=en - can enable full immersion mode, works pretty well.
https://play.google.com/store/apps/details?id=com.noxx.apm&rdid=com.noxx.apm - makes it so you can reboot to recovery easy pz.
ZSL Camera Faster camera.
Accubattery - Measure your battery stats and health.
Quicktile Mod
whats your best setting on pixel filter setting it on 50%?... ty by the way
pato2015 said:
whats your best setting on pixel filter setting it on 50%?... ty by the way
Click to expand...
Click to collapse
I usually leave pixel filter off during the day, and just use it at 50% at night to make the screen a bit more dim. If I know I'm not going to be able to charge my phone for awhile, I'll use it during the day as well.
To use Nathan's defaults, do I just wipe settings in EX Kernel Manager and reboot? My hotplugging setting does not have msm_hotplug, only lazyplug. Is that the same? Thanks for sharing your tips.
Flash kernel have been updated and now have lazyplug in place of msm_hotplug. I am not sure if its not working or something but with lazyplug enabled, I still see all the cores running all the time vs msm_hotplug, I would see half the cores inactive when I am not using the phone heavily.
Would lazyplug be better than msm_hotplug?
vwrado said:
Flash kernel have been updated and now have lazyplug in place of msm_hotplug. I am not sure if its not working or something but with lazyplug enabled, I still see all the cores running all the time vs msm_hotplug, I would see half the cores inactive when I am not using the phone heavily.
Would lazyplug be better than msm_hotplug?
Click to expand...
Click to collapse
Why i understand it should be better to use lazyplug. If I understand the guys in Flash's thread.
Sent from my Nexus 6P using Tapatalk
vwrado said:
Flash kernel have been updated and now have lazyplug in place of msm_hotplug. I am not sure if its not working or something but with lazyplug enabled, I still see all the cores running all the time vs msm_hotplug, I would see half the cores inactive when I am not using the phone heavily.
Would lazyplug be better than msm_hotplug?
Click to expand...
Click to collapse
What I understand different between those 2 hotplug was...
1. MSM_Hotplug - Some core are offline and become online when above certain value
2. Lazyplug - All core are online and it will only offline when below certain value
@Secretcow hey mate ! about this >>GRAPHICS: MAX GPU Freq: 180. If you play games that max out the gpu, you might not want to mess with the gpu freq. < about this i never game, so if i set it to 180 , do i have to tick the reboot circle yes?
because it is greyed out along with the other gpu settings.
and one more thing, is it safe to have these >> MEMORY: zRAM disabled; UKSM DISABLED. disabled ? which one is the one that affects data from the storage? i wouldnt want to mess with that x.x

[2.42/2.33][Kernel][EAS][02.02][4.4.170] Kirisakura_EAS_OREO 15.0 | Feel the Future!

Hello everyone,
after countless hours of work here it finally is. The first working EAS kernel for our beloved HTC U 11.
Important question: What is EAS?
Energy Aware Scheduling (EAS) is an enhancement to Linux power management, unifying CPU power control under the Linux kernel. EAS extends the Linux kernel scheduler to make it fully aware of the power/performance capabilities of the CPUs in the system, to optimize energy consumption for advanced multi-core SoCs including big.LITTLE. With EAS, the Linux kernel will use the task load and a CPU ‘Energy Model’ to control task placement to select the optimal CPU to run on.
Google thinks, EAS is the way to go for the future. With this kernel you can get pixel (2) experience even before the pixel (2) is released.
Interesting links for further research:
http://www.linaro.org/blog/core-dump/energy-aware-scheduling-eas-progress-update/
https://developer.arm.com/-/media/d...overview_and_integration_guide_r1p3.pdf?la=en
DISCLAIMER:
I had to rewrite and cut out a lot of code to get EAS working. Due to this the prebuilt WLAN and texfat modules are no longer working for this kernel. There are conflicts because I moved to far away from HTC´s codebase.
Because of this I had to compile the WLAN driver from source and integrate it as a module in the kernel zip. To get texfat working I had to built the exfat-nofuse driver from @dorimanx into the kernel.
To allow the kernel to fully operate we need to disable HTC´s PNPMGR.
That means in case you want to go back to a HMP kernel you will have to either backup the wlan module and the pnpmgr files manually or do a nandroid/dirty flash your rom (which is way easier).
This also caused WLAN calling not to work!
Features:
- EAS for 4.4 with patches from 4.9 eas-dev
- Upstreamed to latest 4.4.170
- Rootless interface supported
- Enabled NOOP, DEADLINE, CFQ, MAPLE, TRIPNDROID and BFQ IO scheduler
- Enabled advanced TCP Congestion Control
- Included GPU Boost
- S2S across navbar area
- KCAL color calibration
- Backlight Dimmer
- Button Mapper Support
- Fsync On/Off support
- Green Pulsating Notification LED @tbalden)
- Fingerprint Double Tap to sleep support @tbalden)
- Button Light Notification from @tbalden
- Gradient Charging LED from @tbalden
- Squeeze Control (squeeze to wake/peek/sleep; squeeze to swype) from @tbalden
- Flashlight notification from @tbalden
- Vibrating Notification reminder from @tbalden
- Notification Boost from @tbalden
- Generic wakelock blocker
- Completely rewritten CPU-Boost for EAS (thanks to @RenderBroken) along with Dynamic Stune Boost from @joshuous
- included BFQ IO Scheduler for 4.4 kernels
- USB Fastcharge
- Various CAF improvements
- upstream patches from kernel/common
- Locking Backports from 4.9 Kernel
- OOM_Reaper, OOM_Kill Backport from 4.9 kernel
- Lowmemorykiller Backport from 4.9 Kernel
- RCU backport from 4.9 kernel
Instructions:
1. Please dirty flash your rom to have a clean ramdisk
2. Backup your current setup in twrp
3. flash the zip file/s according to your favorite install method in twrp
4. reboot
5. If you dont want to use @tbalden ´s rootless kernel apps, but traditional root via supersu or magisk delete the uci....cfg file from the root of your sdcard
6. Enjoy your phone
Download:
OREO: https://www.androidfilehost.com/?w=files&flid=251050
Nougat: https://www.androidfilehost.com/?w=files&flid=229307
Changelog:
1.003:
https://forum.xda-developers.com/showpost.php?p=73283377&postcount=174
https://forum.xda-developers.com/showpost.php?p=73283388&postcount=175
ZERO_BETA_2
https://forum.xda-developers.com/showpost.php?p=73500972&postcount=233
ZERO_GAMMA_4
https://forum.xda-developers.com/showpost.php?p=73533313&postcount=296
ZERO_GAMMA_6
2.0
https://forum.xda-developers.com/showpost.php?p=73806358&postcount=386
3.0
https://forum.xda-developers.com/showpost.php?p=73874622&postcount=424
CAF_1.0
https://forum.xda-developers.com/showpost.php?p=73983865&postcount=493
CAF 1.10
https://forum.xda-developers.com/showpost.php?p=74055104&postcount=626
CAF 1.20
https://forum.xda-developers.com/showpost.php?p=74103333&postcount=676
CAF 1.30
https://forum.xda-developers.com/showpost.php?p=74135102&postcount=687
CAF 1.31
https://forum.xda-developers.com/showpost.php?p=74163796&postcount=703
CAF 2.00
https://forum.xda-developers.com/showpost.php?p=74202067&postcount=719
CAF 2.10
https://forum.xda-developers.com/showpost.php?p=74270321&postcount=755
CAF 3.0
https://forum.xda-developers.com/showpost.php?p=74476266&postcount=792
CAF 3.1
https://forum.xda-developers.com/showpost.php?p=74677436&postcount=845
OREO 1.0
https://forum.xda-developers.com/showpost.php?p=75636045&postcount=918
OREO 1.3
https://forum.xda-developers.com/showpost.php?p=75675979&postcount=938
OREO 2.0
https://forum.xda-developers.com/showpost.php?p=75843285&postcount=955
OREO 4.0
https://forum.xda-developers.com/showpost.php?p=76020308&postcount=987
OREO 5.0
https://forum.xda-developers.com/showpost.php?p=76287809&postcount=1029
OREO 7.0
https://forum.xda-developers.com/showpost.php?p=76625681&postcount=1053
OREO 10.0
https://forum.xda-developers.com/showpost.php?p=77187817&postcount=1082
OREO 11.0
https://forum.xda-developers.com/showpost.php?p=77588328&postcount=1107
OREO 12.0
https://forum.xda-developers.com/showpost.php?p=77757572&postcount=1113
OREO 13.1
https://forum.xda-developers.com/showpost.php?p=78144426&postcount=1146
OREO 15.0
https://forum.xda-developers.com/showpost.php?p=78815371&postcount=1170
Credits and Thanks:
I want to say thank you to all those who helped me along my way, who answered all my questions and took their time to support me. Huge thanks to @tbalden @Eliminater74 @Captain_Throwback @RenderBroken
Additionally a huge thanks to @RenderBroken for doing the main work on getting EAS on the android 4.4 kernel. Without him this wouldn´t exist. Drop him a thanks on his threads or show your appreciation with a little donation.
This credit also goes out to @joshuous who works together with @RenderBroken.
Credits:
@flar2 for his complete work
@tbalden for his led tricks, adreno boost etc
@Flinny for helping me with compiling the kernel!
@savoca for Kcal
@Eliminater74 for bringing me into the kernel game
@Sultanxda
@eng.stk
@osmosis
@frap129
@velimirchek for all the testing and support
@tomascus for the nougat base!!
@jsaxon2 for helping me with the OREO magisk module!
and all others that helped me on my way
also for the OREO Kernel Testers!
@zhuchella
@aadeshiscool
@Snah001
@ffh2303
@cjrivera04
@Derepinar
@p50kombi
@CharliesTheMan
@jsaxon2
Donations:
Donations are not mandatory but very welcome..
If you like my work: http://paypal.me/freak07
Source: https://github.com/freak07/OCEAN_OREO_EAS
So this post will be dedicated to information about EAS in general.
Here is a good breakdown on EAS vs traditional HMP (which the other kernels here are using)
Right here we go.
EAS is a completely different breed compared to the conventional HMP system, where it serves an entirely different purpose of achieving the optimal balance between performance and efficiency, with the latter taking the top spot. EAS achieves that via cleverer tasks placement, by which the system determines which is the more efficient cluster for the task to be processed by, as well as categorising the different tasks into cgroups (top-app, foreground and background, in order from highest priority to lowest priority respectively) by which each cgroup receives its sliver of the available firepower (cpuset). EAS also offers the capability of inflating the perceived load, that's determined by the load trackers, of the task in any of the cgroups via its schedtune.boost setting, and whether the task should be processed by all the cpu cores available or only by the cluster the task has been placed on via its schedtune.prefer_idle setting. One of the key features of EAS is lifting almost all the processing from the governor to the CPU scheduler (no it is not the I/O scheduler, something different) and letting it take much much more control, leaving the CPU governor to only do the frequency determination part, which unsurprisingly relies heavily on data supplied by the scheduler. With all that said, it is easily deduced that EAS is not all about governors and governor settings and the like, rather a much cleverer solution that serves the purpose of seeking the best balance between performance and efficiency, and to ensure the CPU is not overdoing a task or the CPU governor is overshooting a simple task, which would attribute to needlessly draining a lot of power as a natural consequence. EAS is about ensuring you get the smoothest UI possible while retaining as much power as possible. However, that does not mean that EAS is lame poor when it comes to performance. Sometimes, if not in most cases, this cleverer tasks placement makes tasks get processed faster, a point that is already proved quite well by the EAS-supporting non-OOS based custom ROMs like VertexOS, ZeNiTy-RR and PAEX. Conserving battery does not necessarily mean crushing performance. This explains that app launches are on-par with HMP if not ahead of it sometimes.
Now on to your question. After going through that brief explanation of EAS, i think your question is actually invalid, since it is not an apple-to-apple comparison anymore. EAS seeks for the optimal balance between performance and efficiency. Should there be a commit to improve performance while not being at the expense of efficiency, EAS should have that stuffed in, whereas HMP is prioritising performance higher than efficiency by design. What Burnout does is taking HMP and making it even more performance oriented, hence it is very unlikely to face micro lags with it. However, HMP still misses the cleverer tasks placement, which can show its canines if you have so much processes going in the background, where in that area EAS takes the lead quite noticeably.
Conclusion: You should try and see what suits you more. But something i can safely say is, EAS is more than satisfactory when it comes to performance from the perspective of a man that always seeks the best performance available, and with the battery gains you yield with EAS, it can go better.
Hope i helped and clear the confusion.
-TDK
A short Explanation on WALT vs PELT. This kernel uses WALT.
RenderBroken said:
An amazing write up by a talented dev @joshuous:
PELT and WALT
Time for me to flex the analogy muscles.
Just to set things straight, PELT and WALT are different load tracking metrics that try to determine the load of the system. The load will eventually be used by the frequency governor to set the frequency. Think of them (the load tracking metrics) as an employee who is dedicated to announcing how quickly customers are coming into your burger restaurant. The frequency governor is the burger chef, who isn't able to see the number of customers entering, so he has to rely on the announcer in order to know the rate at which he is making burgers. The announcer can say that there are "many" customers, and the chef has to decide how fast to make the burgers based on how he interprets "many".
One announcer can say that 10 customers is "many", while another may say that 20 is "many". An announcer may also attempt to predict the number of customers that will enter based on how many he sees at the current point in time. In this way, burger output is more 'bursty'. For example, there are 10 customers ("many"), then no customers ("none"), then 15 customers ("very many"). The chef works hard, then thinks he can take a break for a moment, then suddenly has to work like crazy to dish out burgers for 15 customers. An oversimplified analogy to WALT.
On the other hand, another announcer may observe a trend of customers and apply some prediction to guess how many customers might come through the door. Using the same customer sequence as before, he may instead tell the chef "many", "some", then "many". So the chef may make burgers even when there are no customers, in anticipation of future customers, but he won't be worked so darn hard all of a sudden. This is less bursty and more consistent. An oversimplified analogy to PELT.
In the same way there are different chefs (e.g. Sched and Schedutil). They have different interpretations of what "many" means to them. That's why their burger outputs may be different even when having the same announcer.
So which is better? It all boils down to your workload, and even so it is difficult to make a conclusion. All I can say is that you must test each mechanism for over a week and check your active drain rate (Ex Kernel Manager is good for this). Active drain rate is a much better measure than SOT. And make sure to keep jumping back and forth between the two to account for anomalies.
Edit: On another note, to complete the analogy... Interactive and HMP is more similar to the chef being the announcer as well. Except for he is able to see less than a dedicated announcer can. I.e the chef (interactive governor) can't look at the queue outside his restaurant but only the ones in his restaurant (so he is partly blind). A dedicated announcer can look at customers inside and outside the restaurant though.
Do note that this has little to do with EAS per se. EAS is a different beast that focuses on optimizing which customers is assigned to which chefs. I'll probably write the analogy for this another time if there is a demand for it
Click to expand...
Click to collapse
FAQ
Q: I got the SD is corrupted message after booting and my sdcard is formatted as exfat. What should I do?
A: Reboot to Recovery mount USB storage, unmount it and reboot.
Q: I switched kernels and now my wlan isn´t working?
A: that is because I have to use my own wlan module. restore system of your nandroid. or extract stock wlan module from custom rom.
Q: My device does not sleep and the reason is media scanner is holding the device awake. What to do?
A: There can be a strange case where the exfat nofuse driver I have to use in order for external sdcard to work creates an infinite folder loop.
It can be solved if you check your sdcard with a file manager for a folder like android/data/com.xyz.app/files/files/files/files...... and so on.
Go to twrp recovery move the infinite file folder to the root of external sdcard. Then it can be easily deleted. Before moving the file deleting it is not possible.
Q: How to set up the cleanslate LED/Notification Light/BLN options?
A: Take a look at this post: https://forum.xda-developers.com/showpost.php?p=72710244&postcount=2
Not needed as per Version 3.0
Q: Netflix isn´t playing videos?
A: go to settings -> dev options -> untick disable hw overlays, watch netflix and don´t forgot to tick the option again after using netflix ( say thank you to HTC for not releasing the new source)
So allright guys. This will be the section where you will fine information on how to fine tune the EAS kernel if you aren´t satisfied with my default settings.
So as you can see in a kernel manager like EXKM for example we have an input boost on this kernel.
The 4 little cores ( aka the little cluster) gets boosted to 1171.200mhz for 1500ms when you interact/touch your screen by default.
This ensures scrolling/fling/app loading smoothness.
Now you say, only core 0 gets boosted. But if you look at the source you will see the cpu boost driver works only for both clusters and single cores. This is done by design.
If you want to additionally boost the big cluster (because you aren´t satisfied with above mentioned scrolling/fling/app loading etc) you have to define the boost frequency for core 4 also.
Writeup for dynamic stune boost v1 (OLD)
Now a writeup on dynamic stune boost by @joshuous
For those who are not sure what Stune (schedtune) boosting is, it is an EAS feature that allows you to bias frequencies higher or lower for certain task groups.
Android defines the following task groups that you can boost:
1. Top-app: The task that you're directly working on, or the task that you see. This mostly refers to the app that you're currently interacting with.
2. Foreground: Tasks that are not the top-app, but are still part of the user experience (e.g. the surfaceflinger display thread and audio threads)
3. Background: Tasks that are not part of the user experience (e.g. some random task running in the background that you don't care about)
4. System-background: Similar to background, but specifically for system tasks
5. Root: anything that else that does not belong to the other categories
Why do we need Schedtune boosting when we already have the cpu-boost feature?
cpu-boost works by allowing the user to set the specific boost frequencies and duration for clusters. But how do you know whether the frequency you specified is too little or too much? If you specify 1000 MHz boost for Little cluster, is that overkill for typing, or is it too miniscule for scrolling in a content-heavy app like Google Calendar? You end up facing a dilemma of choosing between increased battery drain or increased smoothness. Personally, I find that cpu-boost is rather inflexible and doesn't scale according to the user's needs.
So how does Schedtune boosting work?
Let's first talk about Schedutil governor. It works by using utilisation data provided by the [Linux] Completely Fair Scheduler. The 'CFS Scheduler' (not I/O scheduler erherm), in simple words, decides which tasks should be assigned to which CPU cores. Based on the Scheduler's knowledge of the tasks it allocates to cores, it can directly sends signals about the cores' utilisation to the Schedutil governor. Think of utilisation as the number of customers that a chef needs to serve at this point in time. The Schedutil governor uses the utilisation value and tells the chef how fast he must cook (what frequency the core should run at).
Now sometimes you may have certain customers (who are part of the Top-App Company) who are in a hurry to get their food and rush back to work. You need to serve the Top-App customers urgently, so you ask the chef to cook even faster than usual. You can think of Schedtune boosting as artificially inflating the number of customers (boosting the utilisation value) to get your chef to cook faster.
The beauty of Schedtune boosting over cpu-boost is that you don't need to fix a frequency to boost to. Instead, the Schedutil governor will give certain tasks a little bit more oomph. If the original unboosted frequency for scrolling is 600 MHz, Schedutil may boost it a little bit more to 750 MHz, for example. If the unboosted frequency for scrolling in calendar is 1000 MHz, perhaps Schedutil may boost it to 1300 MHz. It all depends on the boost value you want to set.
Give Schedtune boosting a go
Analogies aside, you can adjust the boost value in /dev/stune/{top-app, foreground, background, system-background}/schedtune.boost. Usually we mostly care about boosting top-app. Schedtune boost basically boosts the utilisation value by a certain factor. For example, if you set a boost value of 10, the utilisation (not the frequency) is boosted by 10%. A larger utilisation value will cause Schedutil to select a higher frequency.
Try setting the value in /dev/stune/top-app/schedtune.boost to a value between 10-20. Turn off cpu-boost. Enable GPU profile rendering and watch the magic. If your results are like mine, you'll see very low bars which means that it's really smooth. Launch CPU Float app and observe the frequencies. You might notice that they run at a very low frequency compared to the default cpu-boost value, yet it is even smoother. Why is Schedtune boosting producing smoother experience at a lower frequency? I have no freaking clue :S.
Now what is Dynamic Schedtune Boosting?
The issue with setting schedtune boosting (in /dev/stune/*) is that it boosts 24/7 and could drain a bit more battery. There are some situations when you may not want to boost, such as watching YouTube (Top-app task). Boosting is beneficial for mostly touch activity, such as scrolling or typing. The solution I implemented was extending the cpu-boost feature to apply schedtune boost only during touch activities. Other than touch events, schedtune boost won't run 24/7 and drain excess battery.
Getting started with Dynamic Stune Boost
To get started do the following:
1. Enable cpu-boost
2. Set all cpu-boost frequencies to zero
3. Set the boost duration to 1500ms (you can vary it depending on your needs)
4. Edit the boost value in /sys/module/cpu_boost/parameters/dynamic_stune_boost to between 10-20. Feel free to adjust this value. Make sure to set /dev/stune/top-app/schedtune.boost to 0, otherwise it may overwrite dynamic schedtune boost.
5. Turn on GPU Profile Rendering to analyse smoothness of frames.
6. Enjoy and report back your findings in terms of your tunable values, smoothness and battery drain.
tldr; If your brain hurts, just follow the instructions in "Getting started with Dynamic Stune Boost"
Now you may see that I don´t use the dynamic schedtune boost by default. That is because most tasks got assigned to the little cores when activating it and it actually performs worse. This will get solved in some time and I may update the guide then again.
But for now it is not recommended to turn on the dynamic stune boost.
Current setting are
dev/stune/schedtune.boost is at 5
dev/stune/top/app/schedtune.boost is at 15.
input boost is enabled for the little cluster (core 0) at 1171.200mhz for 1500 ms
If you want to experiment with different schedtune.boosts for global, background, foreground and top-app and found good values please share them with us here in the thread
A workaround for you experiment guys that want to enable the dynamic schedtune boost is:
1. Set /dev/stune/top-app/schedtune.boost to 5-10
2. Set dynamic stune boost to 10-20 (I like 20)
The issue with dynamic stune boost is that it only (at the moment) boosts the frequencies of the cluster that a top-app task resides in. So why were there still performance issues? That's because top-app tasks preferred to stay on Little cores, which is likely overcrowded already. That means that the top-app task have to compete with the other tasks on the same overcrowded core for computing power. Imagine it like having a huge pizza (high frequency), but so many people have to share it such that you only get a tiny piece. This is why a task can run on the less-crowded Big cluster at a much lower frequency but still perform better than running on a crowded Little cluster with high frequency.
Now, setting the /dev/stune/top-app/schedtune.boost to 5 does two things. Firstly, it increases the perceived load of the individual top-app task, consequently biasing Schedutil to select a higher frequency (not by much). Secondly and most importantly, since the perceived load is higher (imagine a very hungry person), EAS decides that it needs to be shifted to the Big cluster (larger pizza). 5 was chosen because it's around the tipping point to cause the shift. Use 10 if it's not smooth enough.
Dynamic stune boost doesn't influence tasks to be shifted to the Big cluster, which is why top-app tasks tended to stay on Little cluster.
Combining both steps, we can influence top-app tasks to run on Big cluster (step 1), and a larger Dynamic Stune Boost value will cause the frequency to ramp up during touch interactions on the Big cluster where top-app tasks run (step 2). No unnecessary boosting when watching YouTube woohoo!
Tldr; You're in a pizzeria. Regular schedtune boost shifts you to a less crowded table. Dynamic schedtune boost increases the size of your pizza. Your stomach rejoices
Writeups about dynamic schedtune boost v2 from @Mostafa Wael and @joshuous
Dynamic SchedTune Boosting v2
Couple of weeks ago, Joshuous wrote a new feature, namely Dynamic SchedTune Boosting, that’s been incorporated in recent RenderZenith kernel builds, which essentially alters the value of schedtune.boost for the top-app cgroup dynamically on touch events, to conserve battery. But still, the solution was not that flawless, since it didn’t migrate the task to the big cores when essential as Joshuous previously explained. A quick workaround was to increase the value of /dev/stune/top-app/schedtune.boost to 1 (at least) to allow the utilization of the big cores when required. Many of you may be wondering why that was necessary. Well, hopefully I can break it down a bit for you.
Given the task that needs processing, the find_best_target() function – that is responsible for placing the tasks on the suitable cluster – iterates firstly on the big cluster when the SchedTune boost value is greater than 0, whereas the little cluster will be iterated firstly, should the value of SchedTune boost be equal to or less than 0, to save power. What SchedTune boost does is inflating the task and CPU utilisation fed to the scheduler, and therefore impacting the OPP selection and allowing the task to be placed on the big core(s) if needed. What the older version of Dynamic SchedTune Boosting did was rather inflating the value of utilisation going into Schedutil governor, that is then used to determine the frequency step to be selected for the task via a linear formula, which consequently increases the calculated frequency. But since the value of utilisation going into the scheduler is not inflated, the placement of the task on the corresponding core(s) won’t be impacted and therefore, the task won’t be moved to a big core instead. In essence, the older version would only increase the frequency and not impact the tasks placement on the cores. This caused a drastic performance difference compared to what you get when setting the SchedTune Boost value statically.
With the new v2 version, Dynamic SchedTune Boosting will directly change the value of /dev/stune/top-app/schedtune.boost directly, addressing the issue of only inflating the utilisation data going to the schedutil governor, and therefore the tasks should be able to move to the big cluster when demanded as well as increasing the CPU frequency. This will allow us to safely leave the value of /dev/stune/top-app/schedtune.boost at 0 and save some power for low-medium workload scenarios, since the tasks will be moved to the big cluster on touch with no issues.
-TDK
with a little addition from @joshuous
Very well explained Mostafa
And thanks for saving me the time
To add on, don't be alarmed to see /dev/stune/top-app/schedtune.boost having the same value as dynamic_stune_boost when you want to edit it because your touches trigger the boosting. Just write the value you want into the file and save. It will automatically update the default stune boost value when the boosting stops. To confirm it, you can connect your phone to computer and do
adb shell cat /dev/stune/top-app/schedtune.boost
to confirm that it has changed. You gotta wait a second or so before you issue that command.
I would recommend keeping the /dev/stune/top-app/schedtune.boost at 1 or higher if you want lower latency when Dynamic Stune Boost kicks in. Reason being that default stune boost of 1 somewhat ensures that most of the top-app tasks are already on Big cluster so that we don't have to suddenly migrate too many tasks from Little to Big when Dynamic Stune Boost kicks in.
If you don't type much, and watch videos or listen to music mostly, then setting default stune boost to zero may save you more battery
following this link you will also find a goog explanation on how things work with EAS. It is quite simplified but good to get the general idea of it.
https://forum.xda-developers.com/showpost.php?p=74054394&postcount=526
Proper Way to Report a Bug
ramopps: is an oops/panic logger that writes its logs to RAM before the system
crashes. It works by logging oopses and panics in a circular buffer. Ramoops
needs a system with persistent RAM so that the content of that area can
survive after a restart.
logcat: the logoutput of the Android system
kernel log: (kmsg / dmesg): the kernel messages
Additionally there's the last_kmsg which is a dump of the kernel log until the last shutdown.
radio log: the log outpur ot your System / BB / RIL communication
4
ramopps: Some Documentation on Ramopps
Normal Logcat:
Code:
adb logcat -v time -d > logcat.log
Radio Logcat:
Code:
adb logcat -b radio -v time -d > logcat_radio.log
Ramoops:
Code:
adb shell su -c cat /sys/fs/pstore/console-ramoops > kmsg.txt
Kernel Log:
Code:
adb shell su -c dmesg > dmesg.log
Last_Kmsg: NOTE:
New location of last_kmsg on Android 6.0 and above: /sys/fs/pstore/console-ramoops
Code:
adb shell su -c "cat /proc/last_kmsg" > last_kmsg.log
NOTES:
-v time will include timestamps in the logcats
-d will export the complete log.
If you want to save a continuous log you can remove the -d parameter - then you need to cancel the logging process via CTRL+C.
To export a continuous kernel log use adb shell su -c "cat /proc/kmsg" > dmesg.log (and cancel it via CTRL+C again).
PS: This Document was taked from another XDA Thread Called: [Reference] How to get useful logs
URL: http://forum.xda-developers.com/showthread.php?t=2185929
Also check this one out: [Tutorial] How To Logcat
I only Revived it a bit for ramopps.
I will update this more at a later time..
[DMESG Help Commands]
Code:
Usage:
dmesg [options]
Display or control the kernel ring buffer.
Options:
-C, --clear clear the kernel ring buffer
-c, --read-clear read and clear all messages
-D, --console-off disable printing messages to console
-E, --console-on enable printing messages to console
-F, --file <file> use the file instead of the kernel log buffer
-f, --facility <list> restrict output to defined facilities
-H, --human human readable output
-k, --kernel display kernel messages
-L, --color[=<when>] colorize messages (auto, always or never)
colors are enabled by default
-l, --level <list> restrict output to defined levels
-n, --console-level <level> set level of messages printed to console
-P, --nopager do not pipe output into a pager
-r, --raw print the raw message buffer
-S, --syslog force to use syslog(2) rather than /dev/kmsg
-s, --buffer-size <size> buffer size to query the kernel ring buffer
-u, --userspace display userspace messages
-w, --follow wait for new messages
-x, --decode decode facility and level to readable string
-d, --show-delta show time delta between printed messages
-e, --reltime show local time and time delta in readable format
-T, --ctime show human readable timestamp (may be inaccurate!)
-t, --notime don't print messages timestamp
--time-format <format> show time stamp using format:
[delta|reltime|ctime|notime|iso]
Suspending/resume will make ctime and iso timestamps inaccurate.
-h, --help display this help and exit
-V, --version output version information and exit
Supported log facilities:
kern - kernel messages
user - random user-level messages
mail - mail system
daemon - system daemons
auth - security/authorization messages
syslog - messages generated internally by syslogd
lpr - line printer subsystem
news - network news subsystem
Supported log levels (priorities):
emerg - system is unusable
alert - action must be taken immediately
crit - critical conditions
err - error conditions
warn - warning conditions
notice - normal but significant condition
info - informational
debug - debug-level messages
[LOGCAT Help Commands]
Code:
Usage: logcat [options] [filterspecs]
options include:
-s Set default filter to silent.
Like specifying filterspec '*:S'
-f <filename> Log to file. Default is stdout
-r <kbytes> Rotate log every kbytes. Requires -f
-n <count> Sets max number of rotated logs to <count>, default 4
-v <format> Sets the log print format, where <format> is:
brief color long printable process raw tag thread
threadtime time usec
-D print dividers between each log buffer
-c clear (flush) the entire log and exit
-d dump the log and then exit (don't block)
-t <count> print only the most recent <count> lines (implies -d)
-t '<time>' print most recent lines since specified time (implies -d)
-T <count> print only the most recent <count> lines (does not imply -d)
-T '<time>' print most recent lines since specified time (not imply -d)
count is pure numerical, time is 'MM-DD hh:mm:ss.mmm'
-g get the size of the log's ring buffer and exit
-L dump logs from prior to last reboot
-b <buffer> Request alternate ring buffer, 'main', 'system', 'radio',
'events', 'crash' or 'all'. Multiple -b parameters are
allowed and results are interleaved. The default is
-b main -b system -b crash.
-B output the log in binary.
-S output statistics.
-G <size> set size of log ring buffer, may suffix with K or M.
-p print prune white and ~black list. Service is specified as
UID, UID/PID or /PID. Weighed for quicker pruning if prefix
with ~, otherwise weighed for longevity if unadorned. All
other pruning activity is oldest first. Special case ~!
represents an automatic quicker pruning for the noisiest
UID as determined by the current statistics.
-P '<list> ...' set prune white and ~black list, using same format as
printed above. Must be quoted.
filterspecs are a series of
<tag>[:priority]
where <tag> is a log component tag (or * for all) and priority is:
V Verbose (default for <tag>)
D Debug (default for '*')
I Info
W Warn
E Error
F Fatal
S Silent (suppress all output)
'*' by itself means '*:D' and <tag> by itself means <tag>:V.
If no '*' filterspec or -s on command line, all filter defaults to '*:V'.
eg: '*:S <tag>' prints only <tag>, '<tag>:S' suppresses all <tag> log messages.
If not specified on the command line, filterspec is set from ANDROID_LOG_TAGS.
If not specified with -v on command line, format is set from ANDROID_PRINTF_LOG
or defaults to "threadtime"
[/QUOTE]
That's great achievement, congrats and thanks for bringing eas to the u11!
congrats!
Also @damanrico this might interest you. For me every lag the u11 with the stock hmp implementation had is eliminated with EAS.
To everyone.
Just set input boost to 1,401ghz for the small cluster in ex kernel manager.
duration to 1500ms
And
dev/stune/top-app/schedtune.boost to 20
Edit:
dev/stune/schedtune.boost to 5
Please experiment with this settings. I want this completely smooth.
Make sure to use schedutil governor!
Freak07 said:
Also @damanrico this might interest you. For me every lag the u11 with the stock hmp implementation had is eliminated with EAS.
To everyone.
Just set input boost to 1,401ghz for the small cluster in ex kernel manager.
duration to 1500ms
And
dev/stune/top-app/schedtune.boost to 20
dev/stune/schedtune.boost to 5
Please experiment with this settings. I want this completely smooth.
Make sure to use schedutil governor!
Click to expand...
Click to collapse
For me it is smooth as baby a$$ in this short time I am using it ..
I'd like to try this...any chance for a Magisk-compatible version? I don't ever write directly to system anymore...
Flashed it and my wifi won`t turn on at all.
grega_slo said:
Flashed it and my wifi won`t turn in at all.
Click to expand...
Click to collapse
Are you on magisk?
Nope.
Latest Viper coming from elemetalx kernel.
grega_slo said:
Flashed it and my wifi won`t turn on at all.
Click to expand...
Click to collapse
Freak07 said:
Are you on magisk?
Click to expand...
Click to collapse
Same here, wifi not turning on. I'm on US Unlocked 1.16 firmware running magisk version of Viper rom 1.5
I'll see if I can grab log files later today, but I'm at work now.
grega_slo said:
Nope.
Latest Viper coming from elemetalx kernel.
Click to expand...
Click to collapse
Can you extract the file qca_cld3_wlan.ko out of the directory /system/lib/modules/qca_cld3 from my Zip
And push it to /system/lib/modules/qca_cld3
overwrite the existing module, set permissions to 644 rw-r--r-- and reboot?
And see if that fixes it?
What version of the phone do you have?
jsaxon2 said:
Same here, wifi not turning on. I'm on US Unlocked 1.16 firmware running magisk version of Viper rom 1.5
I'll see if I can grab log files later today, but I'm at work now.
Click to expand...
Click to collapse
Would you also try this?
Can you extract the file qca_cld3_wlan.ko out of the directory /system/lib/modules/qca_cld3 from my Zip
And push it to /system/lib/modules/qca_cld3
overwrite the existing module, set permissions to 644 rw-r--r-- and reboot?
And see if that fixes it?
What version of the phone do you have?
Freak07 said:
Would you also try this?
Can you extract the file qca_cld3_wlan.ko out of the directory /system/lib/modules/qca_cld3 from my Zip
And push it to /system/lib/modules/qca_cld3
overwrite the existing module, set permissions to 644 rw-r--r-- and reboot?
And see if that fixes it?
What version of the phone do you have?
Click to expand...
Click to collapse
just did that and it worked
Edit: European dual sim
velimirchek said:
just did that and it worked
Click to expand...
Click to collapse
Yup +1
Thank you both. Did a silly mistake. Will upload new zip soon. The wlan module didn’t get flashed.
Freak07 said:
Thank you both. Did a silly mistake. Will upload new zip soon. The wlan module didn’t get flashed.
Click to expand...
Click to collapse
FYI I made a Magisk version of the zip that doesn't flash anything to system and a separate Magisk support module, and it seems to be working okay (I have working Wi-Fi, if that's any indication). Is there any way for me to know for sure that everything is working as it should?

[KERNEL] [EOL] [OnePlus5T] [OOS 5 / OOS 4] Boeffla-Kernel (15-01-2019)

*** This kernel is now end-of-life and not supported nor actively developed anymore !!! ***
Hi all,
some of you know me from the other OnePlus or Samsung devices areas, where I provide my kernels already for more than five years to OnePlus 5, 3T, 3, 2, one and X, Galaxy S5, S3 and Note 10.1 users for all sort of platforms (Samsung, Cyanogenmod, Omnirom etc.)
Now I own a OnePlus 5T device and decided to port my kernels also to this device.
Please note:
I am not heading to have as many features as possible implemented, this is not my design goal. If you are more into that, move on to other, good existing kernels. If you are searching for a good mix of improvements and new functions while not sacrificing stability, you are welcome here (see below the history section for more info).
Compatibility
Important: This kernel is only meant to be compatible with official OnePlus OOS and nothing else.
So when the kernel does not run on custom rom XYZ, do not even bother me with it or ask hundred times in the thread for compatibility.
I could not care less about it !!
To add: A community build is NOT an official build supported here. If you use a community build and have issues, don't complain or even report.
Important notes
Read first, especially when you are new to my kernels:
http://wiki.boeffla.de
Boeffla-Kernel uses the anykernel concept = Flash stock kernel of rom first !
This kernel is ONLY compatible to OxygenOs stock, nothing else !!!
If you are using a custom rom that bases on OxygenOs, it might work. However, if it does not work, do not expect me to do tweak to make the kernel running with your favorite rom. I would not do it - my one and only reference is OxygenOs stock.
It is not supposed to be compatible to CM, HydrogenOS etc.
Also note: You have to use Boeffla-Config app which I provide on my homepage to tweak the kernel. 3rd party apps will not be able to unleash the full power of the kernel.
Important: Manually disable battery optimisation for Boeffla-Config app in the rom settings (battery -> battery-optimisation)
Installation
Read the install instructions in the support section on the Boeffla Site.
Support
First read the FAQ section on the Homepage !!!
Click here to learn about all possible kernel settings in the config app (outdated at the moment).
Click here to learn about using the config app.
I will refuse to give support if you do any undervolting/overclocking and experience freezes or hot reboots.
I will also not provide any support if you do not use Boeffla-Config app to tweak the kernel, other 3rd party tweaking apps are known (and intended) to cause issues.
I will refuse to give support if you have xposed framework installed and reporting any kind of weird issues. My opinion to xposed it quite clear: too powerful for >90% of the users that just mess up their system with it.
Otherwise, you can get in touch with me via the support e-mail address: [email protected]
Please provide kernel version, rom version, a detailed issue description and ideally supporting screenshots or log files.
Change logs
(you can also access them directly in Boeffla-Config V2 by pressing menu and selecting change log...)
Change log for OxygenOS 5.x.x kernel - Click here
Change log for OxygenOS 4.x.x kernel - Click here
Known issues
none known
Features
Note: This kernel only runs on OOS 4.x.x for the OnePlus 5T - nothing else !!!
Important: Manually disable battery optimisation for Boeffla-Config app in the rom settings (battery -> battery-optimisation)
Support of anykernel concept (only latest kernels) - flash stock kernel before flashing Boeffla
Full integration with Boeffla-Config V2 (you need at least version 2.5.10 or higher !!!) configuration app (get it from http://www.boeffla.de) to configure all kernel settings
Dash charging fully supported
The two CPU clusters (big and little cpu) can be configured completely separate in terms of min/max frequencies, governors and CPU core profiles
Additional governors: zzmoove, blu_active, impulse, cultivation
Additional schedulers: fiops, bfq, sio, sioplus, fifo, vr, tripndroid, maple, zen
Underclocking CPU and GPU supported
No CPU and GPU overclocking (not planned too)
No CPU and GPU voltage interfaces (not planned too)
GPU boost implemented (4 levels)
CPU core profiles to restrict number of CPU cores being used (the OP5T does not hotplug based on load)
USB charge rate bumped up to 900 mA
Boeffla charge analysis (display of charger type and charge current in Boeffla-Config app in real time)
Notification LED control (effect + speed for blinking/fading, brightness for continuous notification like battery charging etc.)
Boeffla-Sound engine V1 (headphone volume control, earpiece control in calls, microphone gain control in calls)
Dynamic FSync (activated if screen on, deactived if screen off), configurable
Input boost frequencies and duration configurable per CPU cluster, input boost switch
Show CPU frequency usage per CPU and frequency in Boeffla-Config
Show current CPU core frequencies in realtime (note: other apps than Boeffla-Config will likely display wrong information on offline cores as they are not up-to-date yet)
Show GPU frequency usage per frequency in Boeffla-Config
KCal V2 Color control
Display backlight limits configurable (to avoid display brightness gets too low in some situations)
Display backlight dimmer
Swipe2wake gestures
Boeffla generic wakelock blocker
Control haptic feedback of gestures (except fingerprint)
Haptic feedback intensity control (from 0 to 25, with 25 being 100%)
Swipe2sleep gestures
SD card read ahead buffer configurable (default increased to 1024 kB)
Ext4 File system tweaks (default to on, can be disabled)
Kernel logger (dmesg) configurable
CIFS support (module, do not mount inside /data, if you rooted with Chainfire SuperSu, make sure you uncheck the namespace separation in SuperSu app)
NFS read-only support (module)
NTFS support (module)
XBox support (module)
OTG-Ethernet support (module)
TCP Congestion changed to Westwood
Many additional TCP congestion algorithms available
Entropy values configurable
Swap supported
Wireguard supported
Various kernel tweaks
Doze mode configurable in Boeffla-Config
Full selinux strict support (switchable to permissive on demand)
Show speedbin information (PVS level) in Boeffla-Config app
init.d support (in /system/etc/init.d - set correct permissions!)
Automatic EFS backup
Fully supports OOS device encryption, but does not force it
Integrated full busybox 1.27.2 (own compilation)
Compatible with systemless root
Safetynet: verifiedbootstate + additional flags removed
Kernel initialisation log file (with history of 3 log files)
Emergency reset script automatically placed into /boeffla-kernel-data folder of your internal memory
Google gcc 4.9 toolchain (64 bit) used for best stability
Always based on latest OOS kernel sources (https://github.com/OnePlusOSS/android_kernel_oneplus_msm8998)
Download
For all information and downloads (stable AND testing versions), visit the Boeffla-Kernel homepage:
www.boeffla.de
History and design targets
Basically I created my first Boeffla-Kernel in 2012 as there was no kernel for the Samsung Galaxy S3 around that had exactly the mix of functionalities that I wanted. I wanted to have full flexibility in undervolting and charge rates for instance, but did not like the sharpness and/or brightness tweaks many kernels have implemented as per default.
Hence, I began to create my own kernel after a while, adding all the features I like. This is the result of my work, which in the end I decided to share with you. I hope you like it as much as I do.
The objective of this kernel is to have a kernel for daily use. It does not aim for best battery life, or best smoothness or best benchmark scores. Also it does not aim to have the broadest feature set available everywhere.
It aims more for a good mix of all, not sacrificing stability and functionality in the end.
And - most important: It aims to stay quite close to stock !!!
These design targets are also valid for the OnePlus kernel here!!!
This said, I will definitely NEVER implement:
things I do personally not need
things I do not like
things that are in any way dangerous
anything which is highly experimental
a CAF based kernel
anything that requires upstreaming of kernel parts to a higher kernel major version
So do not even ask for it if it falls into the listed categories. Everything else I am happy to check and decide.
And: I do not really care about benchmark numbers, they say almost nothing as long as something is not completely wrong. Important for me is the feel-good factor.
I am also not interested in gaming at all, so never expect a gamer kernel. It will just not happen...
Compatibility
To reiterate it again: Flash the kernel only if you are running a compatible rom !!!
Configuration of the kernel
To tweak and configure the kernel, manually load and install the app Boeffla-Config V2 from the downloads section on www.boeffla.de.
You need at least version 2.5.10 or higher for the OnePlus 5T Boeffla Kernels.
Donation
If you like my work, feel free to donate: Donation-Link
If you donate at least 2,49 EUR (to be in line with the donation app prices on Google Play store), you will receive a personal donation code which unlocks some nice little comfort functions in Boeffla-Config V2 on top.
Source code
All sources can be found in my Github repository: http://github.com/andip71
Credits to developers
Of course, I had never been able to create all that by my own. So I want to give credits to the really good developers around, that have given me all the inspiration and from which I cherry picked lots of the implemented functionalities:
* ZaneZam
* eng.st
* flar2
* arter97
* Grarak
* Entropy512
* Faux
* FranciscoFranco
* Ak
* Osm0sis
... I just hope I did not forget someone. If so, please let me know and I will add you of course.
Thanks to all of you for your great work !!!
Disclaimer
*** As always - Flash on our own risk! ***
Make sure you flash the correct version depending on your firmware version!
I can and will not take any responsibility for bricked phones or lost data.
It is generally recommended to run a complete Nandroid backup in your custom recovery and safely store your personal data before you flash a new kernel.
Cheers and enjoy
Andi
Latest change log:
OOS4
http://kernel.boeffla.de/oneplus5t/boeffla-kernel-oos/oos4xx/changelog.htm
--- Reserved ---
WHAT MAKES YOU THINK I WILL MAKE A KERNEL FOR ONE PLUS 5 T ?????
Sendt fra min SM-N950F med Tapatalk
Thread opened.
First beta version has just been released - 1.0-beta1.
Feature list, see OP.
Have fun
Andi
Is it compatible with open beta 2 ?
Awesome.. Was waiting for your Kernel
zebasketteur said:
Is it compatible with open beta 2 ?
Click to expand...
Click to collapse
I would assume not, as in title is says OOS 4
---------- Post added at 02:42 PM ---------- Previous post was at 02:05 PM ----------
Just flashed, seems that the max brightness is lower, with the display backlight settings unchanged. Apart from that all seems to be good.
Nice to see you here! I have use your kernels starting with Samsung S3 and after that many many devices and always being good!
zebasketteur said:
Is it compatible with open beta 2 ?
Click to expand...
Click to collapse
This is very clearly stated in the opening post.
No.
Hetex said:
[/COLOR]Just flashed, seems that the max brightness is lower, with the display backlight settings unchanged. Apart from that all seems to be good.
Click to expand...
Click to collapse
This is not changed by me. As long as you do not play in the app with the settings, this is 1:1 as in stock kernel.
Anyone else? I mean, nothing is impossible of course.
Andi
Lord Boeffla said:
This is not changed by me. As long as you do not play in the app with the settings, this is 1:1 as in stock kernel.
Anyone else? I mean, nothing is impossible of course.
Andi
Click to expand...
Click to collapse
Not sure if it is the same problem but in the first release of elementalX kernal, whether the brightness dimmer was enabled or not the brightness at maximum was half of what it should have been.
Thanks.
Lord Boeffla said:
This is not changed by me. As long as you do not play in the app with the settings, this is 1:1 as in stock kernel.
Anyone else? I mean, nothing is impossible of course.
Andi
Click to expand...
Click to collapse
You have to revert THIS exact commit in order to fix that (not working anymore on OP5T)
Welcome to OP5T mate btw :highfive:
Cheers'
Hello Boeffla
Hetex said:
Not sure if it is the same problem but in the first release of elementalX kernal, whether the brightness dimmer was enabled or not the brightness at maximum was half of what it should have been.
Thanks.
Click to expand...
Click to collapse
Good hint. Will check in that direction when more people are sure this brightness thingy is real.
Update: Analysis started...
Andi
Lord Boeffla said:
Good hint. Will check in that direction when more people are sure this brightness thingy is real.
Update: Analysis started...
Andi
Click to expand...
Click to collapse
Ok, issue analyzed, confirmed to be a bug.
Bug is fixed and beta2 already compiling. Stay tuned. And thanks for the report.
(BTW it was not the brightness dimmer but a changed brightness range sent by the rom to the kernel, so the min/max limiter was cutting too early)
Thanks
Andi
AndroidGX said:
You have to revert THIS exact commit in order to fix that (not working anymore on OP5T)
Welcome to OP5T mate btw :highfive:
Cheers'
Click to expand...
Click to collapse
Thanks. Sorry, did not see your post as I was busy analyzing.
Well... reverting a commit and losing the functionality is not the option when I can fix it, eh? :fingers-crossed:
And so I did.
MrTalon4 said:
Hello Boeffla
Click to expand...
Click to collapse
Hello MrTalon4
Andi
Hi all,
small bugfix update is out:
Version 1.0-beta2
18.01.2018
Fix: Backlight limit implementation adjusted to OP5T (display could never reach maximum brightness before)
Enjoy
Andi
Welcome,it is nice to see you here ..waiting one for oreo
marko94 said:
Welcome,it is nice to see you here ..waiting one for oreo
Click to expand...
Click to collapse
Yeah. But not before it gets out of open beta, not before it is released officially.
... my golden rule for a long time.
Andi
Welcome to the 5T-Zone
Is it possible to have WireGuard implementation for your new 5T kernel (at some point in the near future) ?
Edit:
I just rechecked the OP, already there. Too cool

Categories

Resources