Related
I am running Ubuntu Touch on Nexus 4 and I have tried to install cpufrequtils to be able to control frequencies of each 4 cores on the system.
The problem is that when try to run parallel applications on Ubuntu Touch, I don't achieve any speedups to their sequential counterparts (for example running bzip2 and pbzip2).
I am trying to do some performance analysis of sequential and parallel applications (such as gzip, pigz, bzip2, pbzip2) on Nexus 4.
---------------------
Below is what I get when I try to install and run cpufrequtils:
Installation..............
Code:
Unpacking cpufrequtils (from .../cpufrequtils_008-1_armhf.deb) ...
Processing triggers for ureadahead ...
Setting up cpufrequtils (008-1) ...
* Loading cpufreq kernel modules... [ OK ]
* CPUFreq Utilities: Setting ondemand CPUFreq governor...
* CPU0...
* CPU1...
* CPU2...
* CPU3... [fail]
And when I try to execute cpufreq-into.............
Code:
[email protected]:~/test$ cpufreq-info
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to [email protected], please.
analyzing CPU 0:
driver: msm
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 0.00 ms.
hardware limits: 384 MHz - 1.51 GHz
available frequency steps: 384 MHz, 486 MHz, 594 MHz, 702 MHz, 810 MHz, 918 MHz, 1.03 GHz, 1.13 GHz, 1.24 GHz, 1.35 GHz, 1.46 GHz, 1.51 GHz
available cpufreq governors: interactive, ondemand, userspace, powersave, performance
current policy: frequency should be within 384 MHz and 1.51 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 384 MHz.
cpufreq stats: 384 MHz:89.53%, 486 MHz:0.56%, 594 MHz:0.42%, 702 MHz:0.05%, 810 MHz:0.02%, 918 MHz:0.02%, 1.03 GHz:0.02%, 1.13 GHz:0.01%, 1.24 GHz:0.01%, 1.35 GHz:0.01%, 1.46 GHz:0.01%, 1.51 GHz:9.34% (21486)
analyzing CPU 1:
no or unknown cpufreq driver is active on this CPU
maximum transition latency: 0.00 ms.
analyzing CPU 2:
no or unknown cpufreq driver is active on this CPU
maximum transition latency: 0.00 ms.
analyzing CPU 3:
no or unknown cpufreq driver is active on this CPU
maximum transition latency: 0.00 ms.
So it seems there is a missing cpufreq driver which prevents utilization of all 4 cores.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
I am not responsible for any damage to your phone.
Read before downloading or posting in the thread:
Proceed with caution if you have no experience.
[4.3] STABLE KERNELS
NB: NEW ANYKERNEL FORMAT:
- Flash base Kernel of your rom before using this new version!
STOCK
stock Kernel: JSS
stock Kernel: JWR
JWR ED.
ak kernel: AK.JWR.25+
Features: Link
Github Kernel: Link
JSS ED.
ak kernel: AK.JSS.25+
Features: Link
Github Kernel: Link
[4.3] EXPERIMENTAL KERNELS
JWR ED.
ak kernel:
Github Kernel:
JSS ED.
ak kernel:
Github Kernel:
THANKS:
Faux
Stratosk
Mathkid
Francisco
Morfic
RamGear
BytecodeMe
Eng.stk
Jlink38
Boype
Thracemerin
Motley-git
Showp1984
Myfluxy
Androlinroot
Hellsgod
Zyonee
All RC, RD and RT
DON'T FORGET THANKS, RATE AND DONATE BUTTON:
Kernel Features
AK FEATURES
* Baseline:
4.3 JWR and JSS
Linux 3.4.62+
Compiled with Latest Linaro 4.8.2 Toolchain
-O3 Optimizations
SELinux Security Inside
* Wifi Drivers:
New Prima wlan drivers: v3.2.3.92a
* Governors:
Ondemand (Default)
Ondemandplus
Interactive
Conservative
Intellidemand
Wheatley
Hyper
Smartmax
* Hotplug Governors:
Mpdecision (Default)
auto hotplug:
2 core min online with screen on
1 core online with screen off
720mhz max freq screen off - 384mhz mix screen off
boosted and married with interactive
intelli plug
* Schedulers:
deadline (Default)
cfq
noop
sio
bfqv2r6
Fiops
Row
* Read Ahead Buffer Size:
256/32 (Default)
* Cpu Freqs Range:
270Mhz
378Mhz
384Mhz
486Mhz
594Mhz
702Mhz
810Mhz
918Mhz
1026Mhz
1134Mhz
1242Mhz
1350Mhz
1458Mhz
1512Mhz
* Gpu Freqs with Boost Support:
Boost:
128Mhz
200Mhz
320Mhz (Default)
400Mhz
487Mhz
533Mhz
Freqs:
128Mhz
200Mhz
320Mhz
400Mhz
487Mhz
533Mhz (Default)
* Gpu Governors with min power enabled when into deep sleep:
Ondemand (Default)
Simple
Performance
* Thermal Drivers:
Qualcomm thermal (Default)
Faux Intelli thermal
* Sweep on phone:
sweep2wake, sweep2slip
* TCP Congestion:
Westwood (Default)
Cubic
Bic
Htcp
Hstcp
Hybla
Vegas
Scalable
Lp
Veno
Yeah
Illinois
Reno
* Others Features:
Fully merged with cm10.2
OTG support
A lot of Cpu IDLE patches
Enhanced squre root algorithm
Asyn IO latency optimized
LZ4 Compressor/Decompressor for ZRAM
Random and Entropy fixes
CGROUP Timer slack
PA Halfbreed color by defaultStrips a lot of debugsDisabled CRC software control
New Codel NetScheduler
Topology Features
Scheduler Power SavingBattery life Extender (BLX)
Added SQLB Allocator
Optimized ARM RWSEM
Optimized Lib string and memcop
Added optimized AES and SHA1 routines
Hotplug Control
Touch Filter Control
Led triggers Control
SAI Control
Wakelock Stats enhanced
Fast Charger
Eco Mode (2 core only)
Snake Charmer (Freq capped)
C0,C1,C2,C3 Deep sleep State Control
Dynamic Fsync
Vibration control
Faux Gamma control
Faux Sound control v3
Stratosk Voltage control
Temperature Toggle
Added Charger Notify
Other Features
AK OPTIMAL SETTINGS:
CPU Control
Min clock = 270 MHhz
Max clock = 1.512 GHz
CPU Governor = Hyper
Mpdecision = Off
Auto Hotplug = On
1 core min - 2 core max
screen off max 702Mhz
screen off min 270Mhz
I/O Scheduler = noop
SOC Control
C0 - On
C1 - On
C2 - On
C3 - On
NB:
(Note: N4 AP modem is very sensitive to some of the deeper sleep states,
if you experienced Green/Yellow AP Modem Watchdog Bark screens,
I recommend disabling C2/C3 states).
Voltage Control
Boost Voltages = Off
Undervolt based on CPU type (slow, normal, fast or fastest)
GPU Control
GPU Governor = Simple
GPU Clock = 400 MHz
GPU Vsync Toggle = On
Misc Control
Dynamic File Sync = On
TCP Congestion Control = Westwood
Vibration Control = 70
Screen Color
Factory Presets - LG Presets
Color Adjustments - R, G, B 255, 250, 245
Gamma Amp Adjust 0 - R, G, B 13, 20, 22
Gamma Amp Adjust 1 - R, G, B 0, 2, 3
Z-Control
Set On Boot - On for both
ZRAM Disk size - 150~200 Megabytes (or 50 MB when disabled)
ZRAM Enable/Disable - Enable if you mult-task often
Clear VFS Cache After Boot - On
Auto FS Writeback Delay Mode - On
Swappiness - 100% if ZRAM enabled, 0% if disabled
VFS Cache Pressure - 100% if ZRAM enabled, 150% if disabled
Dirty Ratio - 20% for both
Dirty Background Ratio - 5% for both
HOW POST PROBLEMS BY FAUX
1. To report all random reboots with associated /proc/last_kmsg
2. To provide feedback on errors or bugs with detail phone information such as ROM, kernel version, and apps
3. Participate in Forum discussions (all is beta here) with others without FLAMING or post useless information such as:
a) Phone doesn't boot (without providing any additional information, ROM versions etc)
B) phone is too hot (without providing any additional information, ie OC freq, UV etc)
AK SUPPORT FAUXCLOCK:
you can view chagelog directly from APP
you can download official and beta releases
Thanks a lot to Faux who created this great application!
THE OPEN BETA
The Open Beta system is designed to have the community help each other and the developers.
This way, all potential bugs are flushed out so the final released version will be stable and error free.
The more actively you participate in Beta Testing the better the final product will be
(you are really helping yourself to create a better community software).
Faux123
Techincal infos
* PLEASE NB:
Many of the documents and informations are taken by other threads,
so to prevent someone PM me with ...., I want to avoid saying:
"all credit to the authors".
Thanks a lot.
C STATE POWER CONTROL
DOCs:
Faux123 - Manual for SOC power Control
Faux123 - SOC C-States demystified
Bigeyes0x0 - About C State
C0 (WFI) - Shallowest Sleep (default enabled)
enable: echo 1 > /sys/module/pm_8x60/modes/cpu0/wfi/idle_enabled
disable: echo 0 > /sys/module/pm_8x60/modes/cpu0/wfi/idle_enabled
C1 (Retention) - slightly deeper sleep
enable: echo 1 > /sys/module/pm_8x60/modes/cpu0/retention/idle_enabled
disable: echo 0 > /sys/module/pm_8x60/modes/cpu0/retention/idle_enabled
C2 (Stand Alone Power Collapse) - deeper sleep
enable: echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
disable: echo 0 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
C3 (Power Collapse) - deepest sleep
enable: echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
disable: echo 0 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
UNDERVOLTING USERSPACE
DOCs:
Stratosk - About Undervolting
Stock kernel uses a paramater boost_uV.
By default, is added in voltages but it can be disabled.
The value of boost_uV is 0 for Slow bin chips and 25000 uV = 25 mV
for Nominal, Fast and Faster.
The boost_uV may be disabled using this command:
(= undervolting by 25000 uV in Nominal, Fast and Faster)
echo n > /sys/module/acpuclock_krait/parameters/boost
3 more paramater that handle undervolting:
- lower_uV: undervolting value for lower frequencies
- higher_uV: undervolting value for higher frequencies
- higher_khz_thres: above this frequency (default 1350000KHz) higher_uV will be used.
Else lower_uV will be used.
Undervolting value is subtracted from stock voltage. The final voltage for each frequency is calulated:
Vdd(final) = Vdd(core) + boost_uV - uV
So, to undervolt frequencies 384000-1242000 by 25mV and the other frequencies by 12.5mV use these command:
echo 25000 > /sys/module/acpuclock_krait/parameters/lower_uV
echo 12500 > /sys/module/acpuclock_krait/parameters/higher_uV
The higher_khz_thres maybe changed using this command (for example to use higher_uV from 981000KHz):
echo 918000 > /sys/module/acpuclock_krait/parameters/higher_khz_thres
Debugfs file (acpuclk/acpu_table) to show the acpu table frequencies and voltages.
For example to get the information about the current status use this command:
cat /sys/kernel/debug/acpuclk/acpu_table
CPU PVS: Fast
Boost uV: 25000
Boost uV enabled: No
Higher KHZ threshold: 1350000
Lower under uV: 37500
Higher under uV: 25000
CPU KHz VDD(stock) VDD(final) Difference
384000 875000 812500 -62500
486000 900000 837500 -62500
594000 925000 862500 -62500
702000 950000 887500 -62500
810000 1000000 937500 -62500
918000 1025000 962500 -62500
1026000 1050000 987500 -62500
1134000 1100000 1037500 -62500
1242000 1125000 1062500 -62500
1350000 1150000 1100000 -50000
1458000 1162500 1112500 -50000
1512000 1175000 1125000 -50000
Nice. Gonna try it soon.
Yesssss
Sent from my Nexus 4 using Tapatalk 4
Word
Sent from my Nexus 4 using xda premium
So the party begins :fingers-crossed:
Fantastic
Sent from my Nexus 4
hell yeah! flashing now. it'll charge tonight, and I'll report back tomorrow with performance
Man this kernel is nice. Pretty smooth.
Sent from my Nexus 4 using Tapatalk 4
deleted
And the party started :thumbup::thumbup::thumbup: rated 5 stars as always
"using the search button won't get you killed"
w00t :victory:
ranasrule said:
TricksterMod is still the preferred app for changing kernel settings/parameters ?
Click to expand...
Click to collapse
Would like to know also. I prefer faux, but don't know if it will play nice.
Sent from my Nexus 4 using Tapatalk 4
Was waiting this kernel for my 4.3 baby....Thanks AK !
Whats is the difference between intelli hotplug and dynamic? Which is better?
TricksterMod is the preferred way to change kernel settings/parameters ?
Yes, it's in my eyes the best mod for kernel tweaks
GT-I9505 / Nexus⁴ Tapatalk
Just installed! Will come back with results as soon as I get them.
[KERNEL] [Jan 28] [Sense][GPE] Hypernova_2.0.3-Mallow && Flar-Port_6.03.3-Mallow
{
"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"
}
HTC One M8_WHL Sense Kernel
(All Variants)
This kernel has been
MassStashed
Kernel Features
FEATURES - FlarPort
Latest Pre-Release optimized -O3 linaro 4.9.3 toolchain
Easy installation with Aroma installer - Special thanks to flar2
overclocking
gboost for enhanced gaming performance
choose voltage profile in installer
full user voltage control
underclock CPU or GPU
i/o schedulers: FIOPS, SIO, CFQ, NOOP, ROW, deadline
optional sweep2sleep
Optional custom wake gestures (no motion required!)
Optional pocket detection (with custom wake gestures)
Option to disable volume button wakes camera (with custom wake gestures)
High Definition Audio capability
Optional USB fastcharge
Option to reduce vibration strength
Remove /system write protection
NTFS r/w, CIFS, exFAT support
Option to disable fsync
Option to disable magnetic cover
/dev/frandom support
Color control
DriveDroid support
Stereo call recording
Unified dtb's to make work with all variants (Thanks captain_throwback)
Kernel Features
FEATURES - Hypernova
Latest Pre-Release optimized -O3 linaro 4.9.3 toolchain
Everything from flar2's amazing kernel (Gboost removed in favor of interactive and hotplug cpu control. Not necessary with this setup)
Franco's mako_hotplug
*cpu-boost* (Removed currently)
Franco's enhanced interactive governor set to default (Tweaked settings thanks to Dan)
NTFS support
Many other enhancements not normally added to sense kernels that I've seen
F2FS
INSTALLATION
1. Install zip from recovery
2. Follow the instructions, if you don't know what to do, use the pre-selected options
3. Wipe cache/dalvik cache
4. Reboot
It is recommended to disable or increase the screen timeout in TWRP recovery. If the screen timeout is enabled in TWRP, there may be a black screen after exiting the Aroma installer. This is nothing to worry about. Simply hold power and volume down and volume up buttons until it reboots. The installation will be fine. If things get stuck in aroma, simply do this reboot method and immediately hold down to get to bootloader mode, then select recovery and start from the beginning.
Donate to franciscofranco!
A lot of this is thanks to franciscofranco’s commits, so donate to him!
Donate to Flar2!
A lot of this is thanks to flar2’s commits, so donate to him!
Here’s mine if you would like to donate to me specifically
DOWNLOADS
Sense 5.0.1 & 5.0.2
GPE 6.0
NOTES AND OTHER IMPORTANT STUFF YOU SHOULD KNOW!!!
ElementalX Configuration File
Your choices in the Aroma installer are used to build a configuration file. The config file is located at /etc/elementalx.conf. You can edit this file to change kernel settings. Whatever is set in this file will take effect when the device is booted (unless other scripts or apps interfere!)
If settings are not sticking:
[*]Make sure you have busybox installed correctly and updated to the latest version
[*]Make sure the file permissions for /etc/init.d/99elementalx or 99msx are set to execute.
[*]Check to see if any /etc/init.d scripts or apps (such as Kernel Tuner or TricksterMod) are interfering with your settings.
ElementalX Log File
Every boot, a log file is created at /data/local/tmp/elementalx-kernel.log or msx-kernel.log. This file shows the date and time and all settings that have been applied. Use this to verify and troubleshoot configuration options. Also, in this file is your devices PVS number. Please refer to the links down below as to what the heck the PVS means. Helps with troubleshooting OC/voltage related reboots device specific. Not all devices were created equal!
Overclocking
Overclocking is optional. The installer lets you choose the maximum frequency. Whatever frequencies you chose in the installer will be set at boot for each CPU. Not all devices can handle overclocking. I don't recommend overclocking, this device is fast enough. If you overclock, the CPU frequency will likely be throttled due to heat. I recommend the stock frequencies, as this device is plenty fast.
CPU voltages
The installer allows you to choose from several undervolting options: stock, -15mV, -30mV, or -45mV. This only undervolts the lowest frequency, which happens to be the frequency used the most, and this is safer. Be careful, lowering voltages can cause instability.
gboost
gboost enhances gaming performance by giving a slight boost to cpu frequencies when the graphics load is high (e.g. while gaming). It should have no effect on battery life during regular usage, so it's safe to leave it enabled all the time.
fsync
fsync can be disabled if you're looking for the last ounce of performance. I recommend leaving it enabled as there is a slight risk of data loss if your phone shuts off unexpectedly before filesystems are synced.
Installing a new ROM
If you install a new ROM, it will probably replace this with the stock kernel and will definitely overwrite /etc/init.d/99elementalx and /etc/elementalx.conf so you will lose your settings and certain features. So always reinstall the kernel after installing a ROM.
Sweep2sleep
Sweep2sleep allows you to put your device to sleep by swiping right to left across the bottom of the screen where the back, home, recent buttons are. I find this useful since the stock motion gestures do not provide a good way to turn off the screen.
/sys/android_touch/sweep2wake
0= disabled
1= sweep2sleep right enabled
2= sweep2sleep left enabled
3= sweep2sleep left and right enabled
USB fastcharge
USB fastcharge is optional. This will allow you to charge at a faster rate when connected to a USB port. The default limit for USB ports is 500ma, this increases it to 1100ma. Be sure that the computer/laptop/whatever you are plugged into can handle it. Some will automatically cap it at 500ma. Please note that this does not force AC charge mode like previous implementations of force fastcharge. Your battery setting will still say USB mode. You can edit /etc/elementalx.conf to change the setting on boot.
Wake Gestures
There are three modes
Mode 1: Stock Motion Launch Gestures
For stock motion launch gestures, /sys/android_touch/wake_gestures, /sys/android_touch/sweep2wake and /sys/android_touch/doubletap2wake must all be set to 0. Enabling any of these overrides the stock gestures. Obviously Motion Launch Gestures must be enabled in the system settings.
Mode 2: Remove motion requirement
For this, you must set /sys/android_touch/wake_gestures to 1 and enable at least one gesture in /sys/android_touch/sweep2wake or /sys/android_touch/doubletap2wake and Motion Launch Gestures must be enabled in system settings. In this mode, when you sweep or doubletap, the appropriate input events are generated and acted upon the EasyAccessService (i.e., the system app that handles gesture actions).
Mode 3: Traditional S2W/DT2W
In this mode, wake gestures and actions are handled entirely by the kernel. The gestures will turn on the screen and that's it. For this, you must set /sys/android_touch/wake_gestures to 0 and enable at least one gesture in /sys/android_touch/sweep2wake or /sys/android_touch/doubletap2wake. It doesn't matter if Motion Launch Gestures is enabled or disabled in system settings, the gestures don't interact with it in this mode.
Options
For modes 2 and 3, there are several options.
Sweep2Wake
Gesture........Value
Sweep right......1
Sweep left........2
Sweep up.........4
Sweep down.....8
Add up the values for each gesture you want to enable and put the total in /sys/android_touch/sweep2wake. For example, to enable all gestures, the value is 15 (1+2+4+8). To enable sweep right, sweep left and sweep up, the value is 7 (1+2+4)
DoubleTap2wake
Set /sys/android_touch/doubletap2wake to 1 to enable DT2W, and set to 0 to disable it.
Pocket Detection
Set /sys/android_touch/pocket_detect to 1 to enable pocket detection, and set to 0 to disable it. Pocket detection is experimental right now, I'd say it's about 90% functional, but there is an occasional bug where it either doesn't work or works too well.
Vibration Strength
Haptic feedback can be enabled for the wake gestures in /sys/android_touch/vib_strength. This setting takes a number between 0 and 60. Default is 20, which is the same vibration as the stock gestures. Setting this to 0 disables haptic feedback.
SOURCE
https://github.com/MassStash
https://github.com/flar2
https://github.com/franciscofranco
................................................................................................
XDA: DevDB Information
MassStashed-m8whl, Kernel for the HTC One (M8WHL)
Contributors
franciscofranco
flar2
Evolutionmods
MassStash
Version Information for FlarPort
Status: Solid as ****
Current Stable Version: 6.03.3 & 4.04 & 3.04
Stable Release Date: 01-28-2016
Version Information for Hypernova (mako_hotplug)
Status: Solid as ****
Current Stable Version: 2.0.3
Stable Release Date: 01-28-2016
Created 06-20-2014
Last Updated 01-28-2016
Changelog
CHANGELOG (Cliff-Notes) Here's a GDoc for Latest
If this is first time flashing these updated packaged kernels, please dirty or full wipe flash the rom you’re on, let it boot to system, then reboot to twrp and flash one of these kernels. Also recommneded to flash ROM’s boot.img or just dirty flash if switching between these kernels.
Feb 27, 2015 - Lollipop
All compiled with latest linaro 4.9.3 prerelease toolchain and are all also packaged with anykernel method to allow for zImage and dt.img injection into rom’s stock boot.img, thus keeping ramdisk with any specific optimizations made for that exact rom. Also anykernel script now used to inject kernel settings script, formerly referred to as init script, into ramdisk to be loaded without need for init.d, and thus no need for setting selinux to permissive (Thanks Flar2).
May 30, 2015
Hypernova 1.5.1
GPE 5.1 & Sense 5.0.2
Add f2fs support …
Add support for M8TL
arm: crypto: Add optimized SHA-256/224 …
fs/namei.c: fix potential memory leak in path_lookupat …
sched/nohz: Fix rq->cpu_load[] calculations …
sched/fair: Let minimally loaded cpu balance the group …
input: touchboost: conservative samples every 10ms, no point in limit… …
ASoC: msm: Correct RTAC mutex lock …
cpuidle: remove cross-cpu IPI by new latency request. …
cpufreq: Break out early if freq equals to target_freq …
cpufreq: conservative: don't tear up sysfs and governor dirs to preve…
cpufreq: conservative: make the code a little bit prettier …
cpufreq: conservative: add input_boost_freq and input_boost_duration …
cpufreq: conservative: how did this end up here?
cpufreq: conservative: add sane input_boost and duration values …
cpufreq: conservative: notify the policy of the current load …
cpufreq: conservative: add micro idle accounting and touch boost support …
Update lz4 …
msm: slimbus: use interruptible wait to reduce system's load average …
ASoC: msm: audio-effects: Check for array index …
ARM: arch_timer: add support to configure and enable event stream …
ARM/ARM64: arch_timer: add macros for bits in control register …
tick: don't update idle time if cpu offline …
mako_hotplug: don't use PAGE_SIZE for snprintf …
mako_hotplug: don't offline cores if the load at that sample is above… …
arm: msm8974: enable Motorola's enhanced memory routines …
Update to dev branch of lz4 …
Update to vzw lolli dts …
Update dts for m8 to 5.0.1. DUG and WL still 4.4.4. …
Flar-Port
GPE - 3.04
Flar’s ElementalX updates
Sense - 4.04
All previously commits in changelog ported to new 5.0.1 base
selinux: Report permissive mode in avc: denied messages
KCAL update
Hypernova
GPE - 1.4.3
Based on flar2’s GPE
Added all commit’s from sense hypernova to date (see directly below)
Sense - 1.4.3
All 5.0.1 updates from elementalx
SoC: msm: Add Buffer overflow check
KEYS: close race between key lookup and freeing
msm: pm: Notify secure code of L2 power mode from last core only
sched: Implement smarter wake-affine logic
Fix nr_exclusive tasks which lead to ... Avoid spurious wakeup IPIs
sched: Fix inaccurate accounting for real-time task
arm: lib: Fix makefile bug
msm: memutils: memcpy, memmove, copy_page optimization
selinux: conditionally reschedule in hashtab_insert while loading sel…
selinux: conditionally reschedule in mls_convert_context while loadin…
selinux: no recursive read_lock of policy_rwlock in security_genfs_sid()
selinux: fix a possible memory leak in cond_read_node()
selinux: simple cleanup for cond_read_node()
selinux: fix inode security list corruption
qseecom: Save appname in qseecom when loading app by kernel client
arm: arch_timer: add arch_counter_set_user_access
mako_hotplug: remove screen off frequency cap and other optimizations
sched, smp: Correctly deal with nested sleeps
smpboot: Add missing get_online_cpus() … in sysfs
cpufreq: let's remove cpu-boost for now
input: add a generic touch input notifier
EXPERIMENTAL: mako_hotplug: make cpu2 and cpu3 less nervous
Dec 17, 2014
Added some awesome updates to hotplug and interactive from franco
Dec 15, 2014
All compiled with latest linaro 4.9.3 prerelease toolchain and are all also packaged with anykernel method to allow for zImage and dt.img injection into rom’s stock boot.img, thus keeping ramdisk with any specific optimizations made for that exact rom.
Flar-Port
GPE
Add all variant dtb’s from capt
Add NTFS
Sense
Added high perf audio and set to default on
Add all variant dtb’s from capt
NTFS support
Couple lz4 compression updates
Hypernova
GPE
Based on flar2’s GPE
Added all commit’s from sense hypernova to date (see directly below)
Sense
Couple updates to mako_hotplug, cpu-boost, and interactive governor
Couple lz4 compression updates
Enhance power efficiency patches
Fix bad hashing of dentries
Add support to validate pixel extension calculations
New relation for freq selection
Nov 17, 2014
Flar-Port
Port all commit’s from flar2’s 4.4.4 ElementalX kernel to make new 4.4.4 MassStashed Flar Port
Hypernova
Started with 4.4.4 Flar Port and then ported all commit’s I got from Franco’s One Plus One kernel to new 4.4.4 Hypernova kernel.
Added prima wlan module to compile with kernel from lypota, from htc source
Updates to wlan module
Updates to mako_hotplug
Added unified DTB from captain_throwback for vzw and gsm/intl support build in one zImage. Still need proper zip because I chose to use repack each with their specific ramdisk as opposed to using anyernel for now. Will look into anykernel at a later date for a one zip for all solution. Thank you captain for introducing me to anykernel method.
Added NTFS support
Oct 10, 2014
Enable compatibility with all M8 variants
wcd9320: Enable class AB mode, AKA high perf audio headset mode, be d…
high perf audio - fixed m8 incompatible
sound high perf - clean code
Update defconfig with version number
added high perfomance sound
wake_gestures: re-enable proximity sensor after phone call end and sc…
backlight_dimmer: give two dimmer options and create sysfs node
Revert "i2c: reduce remaining clocks"
i2c: reduce remaining clocks
Revert "Add backlight dimmer option"
Sep 15, 2014
Update aroma for brightness compatibility
Sep 14, 2014
Add backlight dimmer option
Sound Control: add line gain to cached and register lock …
Sep 12, 2014
kexec-hardboot: based on @Tasssadar
msm-sleeper: add ex_max_freq interface
Bump scripts for building with 2014.08 linaro 4.9.2
Aug 26, 2014
msm: Fix high load average from uninterruptible waits
GPU: start at 200MHz instead of 320MHz
Net/l2tp: don't fall back on UDP [get|set]sockopt
Update defconfig
MHL adapter fix from HTC
Charger updates from HTC
Aug 10, 2014
Update to Venom Int Ramdisk for packaging kernels to not break root and init.d on int based ROM
Aug 01, 2014
Update Stockish to 4.4.3 source
Update FlarPort to latest 1.0.0 ElementalX 4.4.3 | Most everything from 4.4.2 has been brought over
Jun 24, 2014
Fix touch in aroma installer - Gigantic thanks to badseed team for the fixed binary, and capt for bringing this to my attention
Jun 21, 2014 - MassStashedX_v0.19.1
Fix implicit declaration of function ‘wait_for_completion_io_timeout’… …
Switch baconMaker to elementalx_defconfig
Jun 20, 2014
Revert "cpuidle: Quickly notice prediction failure in general case" …
Revert "cpuidle: Get typical recent sleep interval" …
Revert "cpuidle: Fix finding state with min power_usage" …
Revert "cpuidle: remove the power_specified field in the driver" …
media-device: fix infoleak in ioctl media_enum_entities() …
futex: Make lookup_pi_state more robust …
futex: Always cleanup owner tid in unlock_pi …
futex: Validate atomic acquisition in futex_lock_pi_atomic() …
futex-prevent-requeue-pi-on-same-futex.patch futex: Forbid uaddr == u… …
futex: Add another early deadlock detection check …
futex: Prevent attaching to kernel threads …
Update cwmcusensor
Wake Gestures: fix dot view mode
stereo call recording support …
msm: kgsl: Fix nice level for higher priority GPU start thread …
arm: lz4: faster boot-up process. …
lz4: fix compression/decompression signedness mismatch …
lib/lz4: correct the LZ4 license …
crypto: add lz4 Cryptographic API …
lib: add lz4 compressor module …
arm: add support for LZ4-compressed kernel …
lib: add support for LZ4-compressed kernel …
decompressor: add LZ4 decompressor module …
DRIVERS: SLIMBUS: some more tweaks, which is double what we had befor… …
Wake Gestures: add proximity enabled flag
Wake Gestures: debugging messages
Wake Gestures: increase boot delay, add timeout to sweeps, fix irq en… …
Wake Gestures: add boot time delay for proper initialization of sensors
Wake Gestures: option to disable volume buttons launch camera in land… …
Jun 20, 2014
Wake Gestures: fix typo
Wake Gestures: more fixes for pocket detection, mcu initialization an… …
Wake Gestures: fix custom gestures in dot view mode
Wake Gestures: various improvements and fixes
DRIVERS: SLIMBUS: slimbus enhancements mkII …
Wake Gestures: Allow customization of the screen wake gestures on HTC… …
Downgrade CIFS …
GCC 4.9.1: fix compile warnings
GCC 4.9: fix compile warning …
cpufreq: interactive: fix compiling warnings …
Adjust some voltages
Set up underclocking and overclocking
Disable magnetic cover event
Change auto undervolting to use min freq only and adjust oc voltages …
Adjust min and max voltage limits …
msm: clock-krait-8974: User voltage control for msm-cpufreq device …
Add gboost
Bump overclocking voltages a bit
[qpnp-vibrator] sysfs interface from GPE source
Sound Control 3.x: adaptation for HTC One (M8) …
sound control: add register cache …
Sound Control: (OPTIONAL) add power amp registers access control as well …
Sound Control: (Optional) work around for Nexus 4/5 audio issues …
sound control: WCD9320: update speaker gain control for Z1 …
Jun 20, 2014
sound control 3.x: Initial GPL release for WCD9320 Audio Codec …
Sound Control: WCD9320: expose additional controls …
Add option to lower vibration
Overclocking: fix and add more steps
msm: cpufreq: Add API to allow limiting of min and max cpu frequencies …
msm-sleeper: limit max freq when screen is off
Show pvs in sysfs
Revert "sched: Micro-optimize the smart wake-affine logic" …
Revert "sync: don't block the flusher thread waiting on IO" …
Revert "FS: import F2FS" …
Revert "exFAT support" …
Revert "sched: add wait_for_completion_io[_timeout]" …
Revert "block: account iowait time when waiting for completion of IO … …
Disable HTC /system write protection …
Overclocking and undervolting options
Jun 10, 2014
Fastcharge for HTC One m8
LCD_KCAL Colour Control for m8
SELinux: Fix memory leak upon loading policy …
Jun 10, 2014
block: account iowait time when waiting for completion of IO request …
sched: add wait_for_completion_io[_timeout] …
deadline: Allow 0ms deadline latency, increase the read speed …
exFAT support …
Add fsync option
Add sweep2sleep …
FS: import F2FS …
ARM CPU Topology and cpu_power driver …
softirq: reduce latencies …
nohz: Reduce overhead under high-freq idling patterns …
ext4: fix memory leak in xattr …
cpuidle: Get typical recent sleep interval …
cpuidle: Quickly notice prediction failure in general case …
cpuidle: Quickly notice prediction failure for repeat mode …
cpuidle: move field disable from per-driver to per-cpu …
AIO: Don't plug the I/O queue in do_io_submit() …
Add SIO and FIOPS i/o schedulers …
Jun 09, 2014
warning: argument to 'sizeof' in 'memcpy' call is the same pointer ty… …
Add built crap and touch on cook script
warning: operation on 'ret' may be undefined [-Wsequence-point] …
dtb: binary to bring out dt.img …
Add cook my bacon script
Double flip a switch + setup ignores
May 08, 2014
initial switch flip
Infoz
Hypernova version has all kinds of stuff that's been added from the good @franciscofranco, and the most important and amazing, IMHO, is the mako_hotplug_driver. With this, we have eliminated most governors, and now exclusively run interactive. We now also have some extra options with this interactive governor that we can set to customize the user experience smoothness, and battery life. Down below is how to work init.d scripts, which is suggested as a great set it and forget it method, but if you are trying to mess with things quickly and in user land with an app, you will have to use francos. Unfortunately, our phone is only supported by the paid version also, so looks like it's time to open the wallets and show your appreciation! Bought this personally as soon as I got the hotplug up and running. 100% worth it.
Advanced Interactive Governor Tweaks; Buttery smooth and insane battery life!
Here's some info on the pieces used from his kernel, and the app, and the guy himself it seems.
Code:
Information about the kernel
People generally change kernels for battery savings and to add features the stock one doesn't offer.
Franco's kernel has several advantages over the stock one in terms of battery saving saving features,
one of my favourite being the removal of MPdecision which in lay-mans terms changes the min and
maximum speed the CPU can run at based upon live battery temperature checks. Franco's hot plug
driver always keeps 2 cores online and always them to scale from 300mhz to 2.3ghz and based upon
load conditions will online cores 3 and 4 if required. When you touch the screen the screen the CPU
speed is boosted to approximately 1.5ghz for just over a quarter of a second and when load is reduced
the CPU speed is able to lower quickly back to lower speeds thanks to his tuned interactive
governor. Franco has created a governor for the GPU named interactive which works very much like
how the CPU equivilant does. Franco has added some newer drivers for WiFi which also helps reduce
idle battery drain while your on a busy WiFi network. Franco has also added an interface where you
can boost microphone, speaker and headphone gain levels for audio enthusiasts as well as an
interface to allow screen calibration and load pre set profiles to improve your experience with how
your display looks! There's clock speed control, voltage control, governor control, hot plug control.
You get the idea its full of cool features which can be controlled with the paid Franco.Kernel
Application (see later in the thread)
[img]http://img.tapatalk.com/d/14/02/23/5y7egebu.jpg[/img]
Here are some lines I've found around the interwebs as a reference for myself for some time now. All of this is set, but hey, it never hurts to learn how it all works behind the scenes.
This is not a shell script, and cannot be run as one as-is; it's just a bunch of commands. UV should never be set with init.d in case they are unstable.
These are old values, some may be good, some may not. Please ask, or do some research on what is suggested for current cpu and phones.
Code:
# CPU Clock
echo 1228800 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 537600 > /sys/devices/system/cpu/cpu0/cpufreq/screen_off_max_freq
# UV
echo "1450 1425 1400 1375 1350 1250 1225 1200 1050 900 850 800" > /sys/class/misc/customvoltage/mpu_voltages
echo "1375 1291 1140 950" > /sys/class/misc/customvoltage/iva_voltages
echo "1150 1050 950" > /sys/class/misc/customvoltage/core_voltages
# SR
echo 1 > /sys/kernel/debug/smartreflex/sr_mpu/autocomp
echo 1 > /sys/kernel/debug/smartreflex/sr_iva/autocomp
echo 1 > /sys/kernel/debug/smartreflex/sr_core/autocomp # CORE no longer SR calibrated on FK
# Governor
echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 15000 > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
echo 0 > /sys/devices/system/cpu/cpufreq/interactive/boost
echo 80000 > /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
echo 95 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
echo 729600 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
echo 45000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
echo 85 > /sys/devices/system/cpu/cpufreq/interactive/target_loads
echo 15000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate
echo 80000 > /sys/devices/system/cpu/cpufreq/interactive/timer_slack
# I/O Scheduler
echo 1024 > /sys/block/mmcblk0/queue/read_ahead_kb
echo "deadline" > /sys/block/mmcblk0/queue/scheduler
echo 500 > /sys/block/mmcblk0/queue/iosched/read_expire
echo 5000 > /sys/block/mmcblk0/queue/iosched/write_expire
echo 4 > /sys/block/mmcblk0/queue/iosched/writes_starved
echo 0 > /sys/block/mmcblk0/queue/iosched/front_merges
echo 1 > /sys/block/mmcblk0/queue/iosched/fifo_batch
echo "row" > /sys/block/mmcblk0/queue/scheduler
echo 100 > /sys/block/mmcblk0/queue/iosched/hp_read_quantum
echo 100 > /sys/block/mmcblk0/queue/iosched/rp_read_quantum
echo 1 > /sys/block/mmcblk0/queue/iosched/lp_read_quantum
echo 2 > /sys/block/mmcblk0/queue/iosched/hp_swrite_quantum
echo 1 > /sys/block/mmcblk0/queue/iosched/lp_swrite_quantum
echo 1 > /sys/block/mmcblk0/queue/iosched/rp_swrite_quantum
echo 1 > /sys/block/mmcblk0/queue/iosched/rp_write_quantum
echo 10 > /sys/block/mmcblk0/queue/iosched/read_idle
echo 20 > /sys/block/mmcblk0/queue/iosched/read_idle_freq
echo "cfq" > /sys/block/mmcblk0/queue/scheduler
echo 8 > /sys/block/mmcblk0/queue/iosched/quantum
echo 125 > /sys/block/mmcblk0/queue/iosched/fifo_expire_sync
echo 250 > /sys/block/mmcblk0/queue/iosched/fifo_expire_async
echo 16384 > /sys/block/mmcblk0/queue/iosched/back_seek_max
echo 2 > /sys/block/mmcblk0/queue/iosched/back_seek_penalty
echo 93 > /sys/block/mmcblk0/queue/iosched/slice_sync
echo 39 > /sys/block/mmcblk0/queue/iosched/slice_async
echo 2 > /sys/block/mmcblk0/queue/iosched/slice_async_rq
echo 7 > /sys/block/mmcblk0/queue/iosched/slice_idle
echo 0 > /sys/block/mmcblk0/queue/iosched/group_idle
echo 1 > /sys/block/mmcblk0/queue/iosched/low_latency
echo "bfq" > /sys/block/mmcblk0/queue/scheduler
echo 4 > /sys/block/mmcblk0/queue/iosched/quantum
echo 125 > /sys/block/mmcblk0/queue/iosched/fifo_expire_sync
echo 250 > /sys/block/mmcblk0/queue/iosched/fifo_expire_async
echo 16384 > /sys/block/mmcblk0/queue/iosched/back_seek_max
echo 2 > /sys/block/mmcblk0/queue/iosched/back_seek_penalty
echo 7 > /sys/block/mmcblk0/queue/iosched/slice_idle
echo 0 > /sys/block/mmcblk0/queue/iosched/max_budget
echo 4 > /sys/block/mmcblk0/queue/iosched/max_budget_async_rq
echo 125 > /sys/block/mmcblk0/queue/iosched/timeout_sync
echo 39 > /sys/block/mmcblk0/queue/iosched/timeout_async
echo 1 > /sys/block/mmcblk0/queue/iosched/low_latency
echo 20 > /sys/block/mmcblk0/queue/iosched/raising_coeff
echo 256 > /sys/block/mmcblk0/queue/iosched/raising_max_time
echo 7000 > /sys/block/mmcblk0/queue/iosched/raising_max_softrt_rate
echo 304 > /sys/block/mmcblk0/queue/iosched/raising_rt_max_time
echo 2000 > /sys/block/mmcblk0/queue/iosched/raising_min_idle_time
echo 500 > /sys/block/mmcblk0/queue/iosched/raising_min_inter_arr_async
echo "" > /sys/block/mmcblk0/queue/iosched/weights
# CAB
echo 1 > /sys/class/backlight/s6e8aa0/acl_set
# TCP Congestion Avoidance Algorithm
echo "westwood" > /proc/sys/net/ipv4/tcp_congestion_control;
# N7-specific
echo 500 > /sys/devices/system/cpu/cpu0/cpufreq/cpu_lp_max # LP core no longer used on FK
echo "1125 1100 1075 1050 1025 1000 975 950 925 900 875 850 825" > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table
echo 2 > /sys/class/misc/tegra_hotplug_control/cores_on_touch
echo 60 > /sys/class/misc/tegra_hotplug_control/first_level
echo 50 > /sys/class/misc/tegra_hotplug_control/second_level # No longer used in newer driver in FK
echo 25 > /sys/class/misc/tegra_hotplug_control/third_level # No longer used in newer driver in FK
echo 0 > /sys/devices/tegradc.0/smartdimmer/enable
Here's an awesome breakdown and research page for voltages most importantly pertaining to PVS values and overclocking.
Code:
download link:
PVS Research.xls (http://forum.xda-developers.com/attachment.php?attachmentid=2836827&stc=1&d=1404681790)
best max frequency (sweet performance/power spot):
MSM8974AB 2.3ghz - 1.34ghz
MSM8974AC 2.5ghz - 1.57ghz
MSM8974v2 2.2ghz - 1.34ghz
APQ8064 1.7ghz - 1.24ghz
APQ8064T 1.9ghz - 1.35ghz
best screen-off frequency (this varies if you try higher pvs settings):
Snapdragon 801 2.3ghz MSM8974AB - One M8
MSM8974AB 2.3ghz PVS 0 - 300mhz
MSM8974AB 2.3ghz PVS 1 - 346mhz
MSM8974AB 2.3ghz PVS 2 - 422mhz
MSM8974AB 2.3ghz PVS 3 - 499mhz
MSM8974AB 2.3ghz PVS 4 - 576mhz
MSM8974AB 2.3ghz PVS 5 - 652mhz
MSM8974AB 2.3ghz PVS 6 - 499mhz
MSM8974AB 2.3ghz PVS 7 - 576mhz
MSM8974AB 2.3ghz PVS 8 - 652mhz
MSM8974AB 2.3ghz PVS 9 - 729mhz
MSM8974AB 2.3ghz PVS 10 - 806mhz
MSM8974AB 2.3ghz PVS 11 - 883mhz
MSM8974AB 2.3ghz PVS 12 - 960mhz
MSM8974AB 2.3ghz PVS 13 - 1036mhz
MSM8974AB 2.3ghz PVS 14 - 960mhz
MSM8974AB 2.3ghz PVS 15 - 1036mhz
Snapdragon 801 2.5ghz MSM8974AC - Galaxy S5
MSM8974AC 2.5ghz PVS 0 - 422mhz
MSM8974AC 2.5ghz PVS 1 - 499mhz
MSM8974AC 2.5ghz PVS 2 - 576mhz
MSM8974AC 2.5ghz PVS 3 - 652mhz
MSM8974AC 2.5ghz PVS 4 - 729mhz
MSM8974AC 2.5ghz PVS 5 - 806mhz
MSM8974AC 2.5ghz PVS 6 - 652mhz
MSM8974AC 2.5ghz PVS 7 - 729mhz
MSM8974AC 2.5ghz PVS 8 - 806mhz
MSM8974AC 2.5ghz PVS 9 - 883mhz
MSM8974AC 2.5ghz PVS 10 - 960mhz
MSM8974AC 2.5ghz PVS 11 - 1036mhz
MSM8974AC 2.5ghz PVS 12 - 1113mhz
MSM8974AC 2.5ghz PVS 13 - 1190mhz
MSM8974AC 2.5ghz PVS 14 - 1113mhz
MSM8974AC 2.5ghz PVS 15 - 1190mhz
Snapdragon 800v2 2.2ghz MSM8974v2
MSM8974v2 2.2ghz PVS 0 - 345mhz
MSM8974v2 2.2ghz PVS 1 - 499mhz
MSM8974v2 2.2ghz PVS 2 - 422mhz
MSM8974v2 2.2ghz PVS 3 - 499mhz
MSM8974v2 2.2ghz PVS 4 - 576mhz
MSM8974v2 2.2ghz PVS 5 - 499mhz
MSM8974v2 2.2ghz PVS 6 - 576mhz
Snapdragon 600 1.7ghz APQ8064 - One M7
APQ8064 1.7ghz PVS 0 - 594mhz
APQ8064 1.7ghz PVS 1 - 594mhz
APQ8064 1.7ghz PVS 2 - 702mhz
APQ8064 1.7ghz PVS 3 - 810mhz
APQ8064 1.7ghz PVS 4 - 702mhz
APQ8064 1.7ghz PVS 5 - 810mhz
APQ8064 1.7ghz PVS 6 - 702mhz
Snapdragon 600 1.9ghz APQ8064T - Galaxy S4
APQ8064T 1.9ghz PVS 0 - 702mhz
APQ8064T 1.9ghz PVS 1 - 702mhz
APQ8064T 1.9ghz PVS 2 - 702mhz
APQ8064T 1.9ghz PVS 3 - 810mhz
APQ8064T 1.9ghz PVS 4 - 702mhz
APQ8064T 1.9ghz PVS 5 - 702mhz
APQ8064T 1.9ghz PVS 6 - 702mhz
best min frequency:
lowest possible setting (300mhz in case of MSM8974)
i highly recommend to run those values (exept if you are actually playing demanding 3d games).
use trickster mod frequency lock feature to do so. you will experience amazing battery life.
how to get the maximum battery life:
if you have a MSM8974AB pvs 6 for example, try the following steps:
try the next higher pvs levels (pvs7). don't try AC pvs values on AB chips.
AB chips are binned for lower frequencies while AC are binned for higher frequencies (duh).
so if you have a AB chip, work your way up the AB pvs values until you have freezes or similar and move back.
if you have a AC chip, work your way up the AC pvs values etc...
if you found highest setting that does not cause any problems after intensive testing and usage:
congratulations, you did it.
how to get the maximum frequency:
first try higher than stock maximum clock and see how it behaves.
if you don't reach your desired clockspeed, try the next lower pvs setting of your chip. yes, i said LOWER.
this gives the processor more voltage to reach higher overclocks.
i don't recommend it tho since we all want our phones to last as long as possible usually.
Thank you very much to @flar2 for all his work, and assisting people like me to port it to a device that otherwise would have no such love!
Gigantic thanks to @franciscofranco for his additions, fixes, and mako_hotplug!
Thank you to @Evolutionmods for helping me get this started, and for crucial fixes I would have no idea how to fix!
Thank you to @NineInchNails
@Captain_Throwback
@Vinchenzop
@Dubbsy
@Grommish
@Treken
These guys all have helped in very pivotal ways ,and I would not be at the understanding of android that I am today without them. Truly, thank you for being awesome helpful people!
Last but not least, thanks to these doods for helping test before release!
@kaosb0x
@shadowxaero
@stovo06
@dandan2980
Good one on mpdecision among other good stuff
Governors and schedulers explained:
http://forum.xda-developers.com/showthread.php?t=1687578
http://forum.xda-developers.com/galaxy-s2/general/ref-kernel-governors-modules-o-t1369817
http://tinzdroid.blogspot.com/2012/07/android-kernel-governors-modules-io.html
http://forum.xda-developers.com/showpost.php?p=21638852&postcount=56
PVS explained:
https://developer.qualcomm.com/forum/qdn-forums/general-discussion/27244
http://forum.xda-developers.com/showthread.php?t=2228246
http://www.oppoforums.com/threads/qualcomm-cpu-binning-is-yours-slow-nominal-fast-or-faster.2842/
MassStash said:
Placeholder
Click to expand...
Click to collapse
Reserved
Is AROMA fully functional?
Tired of waiting!
Don't forget the thanks button!
Teestes teestes 123 one hell of a kernel fellas good job
Sent from my 831C using Tapatalk
---------- Post added at 03:07 PM ---------- Previous post was at 03:06 PM ----------
I'm on official twrp still wonky not sure about yours captain
Sent from my 831C using Tapatalk
Captain_Throwback said:
Is AROMA fully functional?
Click to expand...
Click to collapse
holy jeebus you're fast as ****. Fully functional in the sense of using two thumbs where the second has a roll then flick up technique yes. Work like twrp recovery does, no unfortunately....
MassStash said:
holy jeebus you're fast as ****. Fully functional in the sense of using two thumbs where the second has a roll then flick up technique yes. Work like twrp recovery does, no unfortunately....
Click to expand...
Click to collapse
Ah, so not fully functional like on BadSeed's ROM. Got it. Thanks for the kernel and the hard work on it!
Wow praise from the Captain!
He really has been working hard on this. I don't know sh*t compared to you guys but I appreciate the contributions on here.
Don't forget the thanks button!
Finally Sprint has a custom kernel Balls to the Walls Very smooth,Stable and battery friendly plus the screen control and sound control make it all that much better
Sent from my 831C using Tapatalk
Thank you so much for your contribution!
@MassStash
I pulled the working AROMA update-binary from BadSeed's ROM so you can add to your installer for working touch.
Thanks to BadSeed team for finding a working binary!
EDIT: Attached file.
the Min CPU always jump from 300000 to 1728000 after few mins
Working great here @MassStash :good:
nemoftw said:
the Min CPU always jump from 300000 to 1728000 after few mins
Click to expand...
Click to collapse
I have never seen that been running this for days now
Sent from my 831C using Tapatalk
My only real issue is that the Motion Gestures always default to the custom settings, even if I chose the option for stock motion gestures.
On a reboot, the stock gesture behavior would work within the first minute, then default to swiping left to sleep & wake.
Other than that...this is a solid kernel.
AarSyl said:
My only real issue is that the Motion Gestures always default to the custom settings, even if I chose the option for stock motion gestures.
On a reboot, the stock gesture behavior would work within the first minute, then default to swiping left to sleep & wake.
Other than that...this is a solid kernel.
Click to expand...
Click to collapse
What rom are you on? I nor testers have experienced this to my knowledge
~m8whl on the Always Solid ViperOneM8 Latest
2.265 Max ¦ 300 Min
ondemand
row
Great work MassStash, good to see you bro
Sent from my 831C using XDA Premium 4 mobile app
MassStash said:
What rom are you on? I nor testers have experienced this to my knowledge
~m8whl on the Always Solid ViperOneM8 Latest
2.265 Max ¦ 300 Min
ondemand
row
Click to expand...
Click to collapse
Stock rooted, actually...I'm S-On, for what it's worth, but I doubt that the stock rom of all things would change anything, but I could he wrong.
What info would you need from me?
Ascend P6S / P7 K-Tuned KernelHello! Finally I decided to make a new thread for kernel with description of all features.
So, here they are:
CPU Governors:
PegasusQ
AbyssplugV2
Optdemand
Interactive
Impulse
Pwrctrl_hotplug default
I/O Schedulers:
CFQ
Deadline
ROW
Noop
FIOPS default
TCP Congestion:
HTCP
Reno
BIC
CUBIC
Westwood+ default
Upstreamed to 3.0.101 version
SELinux permissive for 5.1.1
LZ4 kernel & ramdisk compression
Backport random from kernel 4.0 branch
ExFAT version updated from 1.2.5 to 1.2.9
F2FS support
Fixed 5.1.1 GPU performance regression bug
USB Fast Charge
Intelli-Plug
Asynchronous Fsync
CPU overclock: enabled 1996MHz CPU frequency and 1795MHz for P6S
CPU undervolting
GPU overclock: enabled 700MHz GPU frequency for P6S
GPU undervolting
Adjusted stock CPU & GPU governor thresholds for better performance
DoubleTap2Wake
Sweep2Sleep
init.d support
set_immutable binary removed from ramdisk for 4.4.2
Speed up system startup
Now more detail about some features:
Governors
PegasusQ
Governor from Samsung with hotplug support. Perhaps, the most tunable and flexible one.
Parameters description:
sampling_rate: the interval with which governor will be carried out. Less value - better responsiveness, but at the same time, more load for CPU by governor itself.
sampling_down_factor: amount of iterations governor will stay at highest frequency before go down.
up_threshold: load threshold in % above which CPU frequency will be increased.
up_threshold_at_min_freq, freq_for_responsiveness: at frequency lower than freq_for_responsiveness will be used up_threshold_at_min_freq threshold - provided for better responsiveness.
down_threshold: load threshold in % below which CPU frequency will be decreased.
freq_step: step of frequency encrease in % from maximum frequency.
hotplug_freq_*: high and low frequency thresholds for making decision about hotplug of each core.
For clarity, it looks like this:
Code:
static int hotplug_freq[4][2] = {
{0, 1596000},
{208000, 1795000},
{416000, 1996000},
{624000, 0}
};
In this array left column is frequency at which core will be disabled; right column - frequency at which will be enabled next core.
hotplug_rq_*: analogous parameters set (array), defining queue task length for making decision about hotplug of each core.
Code:
static int hotplug_rq[4][2] = {{0, 50}, {50, 100}, {100, 150}, {150, 0}};
For example, second core will be disabled after reaching 208MHz frequency and amount of tasks must be less than 50;
third core will be enabled after reaching 1795MHz frequency by second core and amount of tasks more than 100.
cpu_up_rate: amount of governor iterations cpu should stay at defined frequency for enabling next core.
cpu_down_rate: amount of governor iterations cpu should stay at defined frequency for disabling last active core.
down_differential: defines load in % which must be less than up_threshold to go to lower frequency.
hotplug_lock: lock amount of active cores.
min_cpu_lock: limits min value of enabled cores.
max_cpu_lock: limits max value of enabled cores.
up_nr_cpus: defines how many cores to enable at a time.
AbyssplugV2
Based on Conservative, has hotplug support. Pluses: pretty simple, hence doesn't load CPU by himself. Frequency increases sequentally, after reaching max frequency - enables next core. And vice versa. Minuses: often enables / disables cores (what in itself is energy intensive).
Distinctive parameters:
up_threshold_hotplug: load threshold in % above which will be enabled next core.
down_threshold_hotplug: load threshold in % below which will be disabled last active core.
boost: load threshold above which frequency will be increased through step (for exaample., from 208000 immediately on 624000)
Optdemand
Governor by Hisilicon, based on Ondemand. Backported from Honor 4X/4C. Distinctive feature is each frequency has its own thresholds to go to higher or lower frequency.
Distinctive parameters:
go_hispeed_load, hispeed_freq: after exceeding go_hispeed_load threshold, CPU goes immediately to hispeed_freq frequency.
up_thresholds, down_thresholds: above and below load thresholds for each frequency. For clarity:
Code:
static unsigned int operating_points[7][3] = {
/* kHz up_threshold down_threshold */
{208000, 60, 0},
{416000, 60, 30},
{624000, 70, 40},
{798000, 80, 50},
{1196000, 85, 50},
{1596000, 90, 60},
{1795000, 95, 70},
{1996000, 100, 80},
};
For example, for frequency 624MHz, if load will go below 30%, will be calculated new lower frequency according to new load value; if load will go above 70% - frequency will be increased.
boost: frequency will be increased to hispeed_freq
bostpulse_duration: duration of boost in microseconds.
Interactive
Google's gold standard governor. Updated to 3.4 kernel branch
Impulse
Based on Interactive governor. Good responsiveness.
USB Fast Charge
Increases charge current when connected to USB. It has sense only when connected to USB 3.0
Can be enabled by writing "1" into /sys/kernel/fast_charge/force_fast_charge file or by third party applications.
Disabled by default
Intelli-Plug
Hotplug driver for governors not supporting hotplug.
Activated and deactivated automatically depending on chosen governor.
Parameters are in /sys/module/intelli_plug/parameters
nr_possible_cores: max cores affected by driver.
nr_run_profile_sel: has several profiles :
0: balance default
1: performance
2: conservative
3: eco
4: eco extreme
screen_off_max: max frequency at screen off.
touch_boost_active: enables additional core at screen touch disabled by default
CPU undervolting
Undervolting values can be set for each frequency individually. Regulator has step 8mV starting from 700mV. I've got such stable values:
{
"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"
}
But you should start from higher values. I've made a test: CPU locked at frequency 1795MHz, RAR creates archive with 4 threads in 10 minutes. Average CPU temperature during this time was 56.124 degrees, with undervolting average temperature became 51.119 degrees. I.e. average temperature became lower for 5 degrees which means less power consumption.
Comparative graph:
GPU undervolting
Since I couldn't find any common used sysfs interface and applications supporting it, you can make it using script (see init.d spoiler).
My stable values are:
Code:
160: 860 -> 700
266: 860 -> 732
355: 876 -> 764
533: 956 -> 860
700: 1052 -> 924
But most probable, you will have troubles with such values, try to find suitable for your own.
3DMark Ice Storm Extreme showed average temperature decrease from 61.587 to 55.502 degrees.
Comparative grapth:
DoubleTap2Wake
Screen on by double tap on it. Has two parameters in /sys/android_touch
doubletap2wake: enables dt2w. Possible values are:
0: disabled default
1: active at all screen
2: active at top half
3: active at bottom half
4: active at navbar
dt2w_duration: Since I couldn't implement waking up device from deep sleep by irq from touch panel, so kernel doesn't go to deep sleep when dt2w is active, I added parameter defining how long dt2w stays active after screen off. After this duration dt2w becomes inactive and kernel can go into deep sleep.
Sweep2Sleep
Swipe on navbar for screen off. Can be enabled by writing "1" into /sys/android_touch/sweep2sleep file. Disabled by default.
s2s_length: swipe length in dots. By default, equal to 25% of screen width.
init.d
For executing scripts at startup, put them in /system/etc/init.d folder and set permissions to 0755
Several scripts examples (doubletap2wake, sweep2sleep, fast_charge, gpu_undervolting): View attachment scripts.rar
Scores
For correct governors switching I recommend to use Kernel Adiutor
It also lets to manage IO schedulers, TCP congestion, fast charge, CPU undervolting.
Requirements:
Unlocked bootloader
TWRP
Installation:
Just install zip-archive from TWRP
Download:
View attachment K-Tuned_kernel-4.4.2.zip
View attachment K-Tuned_kernel-5.1.1.zip
Source: Github
Updates:
31.10.2016
CVE-2016-5195 "Dirty COW" fixed.
Now CPU voltage values take effect right after frequency changes.
30.07.2016
Adjusted voltages for overclocked frequencies due to cases of appearing stability issues on some devices.
15.05.2016
Removed GPU undervolting applying at booting due to some users had stability issues. Now for GPU undervolting use init.d script individually.
Adjusted governor thresholds.
Reduced min online CPUs from 3 to 2 when screen is on for stock pwrctrl_hotplug governor.
Regards,
Kostyan_nsk
Battery is better from stock kernel??
Version lollipop compatible?
roxkiller said:
Battery is better from stock kernel??
Click to expand...
Click to collapse
for me it is the same if you set dt2w to 3 minutes
roxkiller said:
Version lollipop compatible?
Click to expand...
Click to collapse
just download K-Tuned_kernel-5.1.1.zip
if someone want to set dt2w and s2s without init.d can use this apk made by Printusrzero http://forum.xda-developers.com/asc...ap-to-wake-t3036327/post62542196#post62542196
Thank you so much! I've been waiting for ages for a kernel which isn't only for emui 2.3
I'd installed kernel 5.1.1 ktuned on my P7 B852 and it's continuously restarts. Anyone had a kernel stock for TWRP?
What is your preferred setting?
Mine:
GOVERNOR: Impulse
CPU : maximum frequency 1596mhx
I/O : fiops with 128kb readahead
INTELLIPLUG :disabled
I discovered that with Intelliplug enabled, my phone has some glitches.....
With the settings above i get 50-60% battery when i go home, 8-10 pm
What are your settings ?
leleallof said:
I'd installed kernel 5.1.1 ktuned on my P7 B852 and it's continuously restarts. Anyone had a kernel stock for TWRP?
Click to expand...
Click to collapse
Someone else tried it on P7?
Installed with cwm on B861. Working, but I see no difference.
@Kostyan_nsk kernel comes overclocked, when I try to select the default clock and start the cell with the standard clock is not, always coming back to overclock, so I went back to stock kernel
@roxkiller, just set "Apply on boot" in Kernel Adiutor after limiting max. cpu frequency and enable Kernel Adiutor in Startup Manager, so KA will aplly your settings after reboot.
And btw, if you didn't notice, cpu voltage at 1996MHz is the same as at 1795MHz, therefore I doubt that power consumption will noticably increase relatively to 1795Mhz frequency...
I have set the cpu undervolting according to your recommandation. Today , i received a message on whattsap , when i picked up the phone to read it, the phone was already rebooting. It enter the system but saying no root available !!!
Rebooted the phone again, all ok.
kye04 said:
I have set the cpu undervolting according to your recommandation.
Click to expand...
Click to collapse
It is not a recommendation, it's just my stable values as "play around" point.
@Kostyan_nsk it would be possible to compile a version without overclock ? I and perhaps most people do not like under / overclock the device, just heating up ... or pack the kernel to the option selected remain in next boot?
Kostyan what are you settings?
Updated version and details in first post.
Kostyan_nsk said:
Updated version and details in first post.
Click to expand...
Click to collapse
Thank you for the update. Has the screen glitches bug found in the P7 been resolved in this release?
jordi-chant said:
Thank you for the update. Has the screen glitches bug found in the P7 been resolved in this release?
Click to expand...
Click to collapse
+1
I really want to try it on my p7
As my memory serves me right, this issue was solved a few months ago. But you better have to ask P7 owners about it.
I thought the problem was solved for 720p but with 1080p there were still glitches?
720p never had glitches at all.
PMSKernel
Now to Kernels Section,
Hello YU Clan. Now time to release PMSKernel. Now without wasting time, lets move to features.
PMSKernelv1 is compiled from latest sources from CM Sources and latest UBER Toolchain. So the kernel is STABLE and there are no bugs and issues.
Coming to Features:
CPU TAB:
I haven't touched frequencies. No Underclocking or Overclocking as it makes kernel unstable.
Governors:
1) Lionfish.
2) Darkness.
3) Intellidemand.
3) Interactive.
4) Ondemand.
5) Userspace.
6) Powersave.
7) Performance.
THERMAL TAB:
1) Core Control.
2) VDD RESTRICTION.
3) Temperature Throttle.
GPU:
For GPU as well no UC or OC.
GOVERNORS:
1) Powersave.
2) Performance.
3) Simple_Ondemand.
4) Userspace.
5) msm-adreno-tz.
5) cpu-freq.
SCREEN:
Kcal is included.
Glove Mode.
WAKE CONTROLS:
1) All Wake controls are included considering Double Tap to Wake.
BATTERY:
Thundercharge is included. Se custom battery charging rate as per your needs.
IO SCHEDULERS:
1) Noop.
2) Deadline.
3) Row.
4) cfq.
5) bfq.
6) fiops.
Tune your Scheduler as per your needs.
Low Memory Killer:
Adaptive Low Memory Killer.
MISC CONTROLS:
1) Dynamic Fsync.
2) Vibration Strength.
3) TCP Congestion Algorithm.
Colour Enhancement is present.
I have tuned the kernel so that you get best Battery Backup on your favourite ROM and you can enjoy Performance as well.
I have tuned all the parts under .config so that the phone will heat least, you will get Juice and Performance at its best.
No Hotplugs present as of now. I don't use them as well. Will add in Future Builds.
Instructions for Flashing:
1) Download the PMSKernel_vx_20xx_xx_xx.zip.
2) Reboot to Recovery.
3) Clear Cache and Dalwik.
4) Flash the zip file.
5) Reboot and Enjoy.
NOTE;
MY KERNEL IS BASED ON LATEST SOURCES. SO IF YOU FLASH ON ROMS BASED ON OLD SOURCES, YOUR CAMERA WON'T WORK.
Use Kernel Auditor to play with my Kernel.
DOWNLOADS:
PMSKernelv1-Stable
TO DO:
Add Hotplugs.
Add more Governors.
Tune the kernel more.
Credits:
@Shoaib05
@Sushant More
@Hriday Sharma
@Bishnu Prasad
Thanks a Lot Guys. I could not come up to kernel section without you all. _/_
@Vams
@srvroxstar
@shubhojit
@Meet Gohil
@anupamdmoran
Thanks a lot to you all as well. You all help me a lot in testing.
Cheers:
Prathamesh.
XDA:DevDB Information
PMSKernel, Kernel for the YU Yureka
Contributors
PrathameshMS
Source Code: https://github.com/PMS22/PMSKernel_cyanogen_msm8916
Kernel Special Features:
Version Information
Status: Testing
Current Stable Version: v1
Stable Release Date: 2016-06-10
Created 2016-06-14
Last Updated 2016-06-14
Recommended Settings:
Make three Profiles in Kernel Auditor.
================BATTERY SAVER================
CPU TAB:
BIG:
Min Freq: 200 MHz
Max Freq: 533 MHz
Governor: Darkness.
Little:
Min Freq: 200 MHz
Max Freq: 800 MHz
Governor: Darkness.
BATTERY TAB:
Set Custom Charging Rate to 1500mA.
Don't worry, it doesn't damage or do any **** with your phone or charger.
GPU TAB:
Min Freq: 220 MHz
Maz Freq: 465 MHz.
Governor: Powersave.
IO Sched:
Internal:
Scheduler: Noop.
Read-ahead: 512kb
External:
Scheduler: Noop.
Read-Ahead: 896 kb.
Everything else to Default.
================BALANCED================
CPU TAB:
BIG:
Min Freq: 200 MHz
Max Freq: 800 MHz
Governor: Darkness.
Little:
Min Freq: 200 MHz
Max Freq: 998 MHz
Governor: Interactive.
BATTERY TAB:
Set Custom Charging Rate to 1500mA.
Don't worry, it doesn't damage or do any **** with your phone or charger.
GPU TAB:
Min Freq: 220 MHz
Maz Freq: 550 MHz.
Governor: Simple_ondemand.
IO Sched:
Internal:
Scheduler: fiops.
Read-ahead: 512kb
External:
Scheduler: Noop.
Read-Ahead: 896 kb.
Everything else to Default.
================GAMING================
CPU TAB:
BIG:
Min Freq: 200 MHz
Max Freq: 1497 MHz
Governor: Interactive.
Little:
Min Freq: 200 MHz
Max Freq: 1113 MHz
Governor: Interactive.
BATTERY TAB:
Set Custom Charging Rate to 1500mA.
Don't worry, it doesn't damage or do any **** with your phone or charger.
GPU TAB:
Min Freq: 220 MHz
Maz Freq: 550 MHz.
Governor: msm-adreno-tz.
IO Sched:
Internal:
Scheduler: fiops.
Read-ahead: 512kb
External:
Scheduler: fiops.
Read-Ahead: 896 kb.
Everything else to Default.
Reserved for Future Updates and Changelogs.
error : delete this comment plz
ptr347 said:
error : delete this comment plz
Click to expand...
Click to collapse
It doesn't for now. Will do it in next update.
Sent from my AO5510 using Tapatalk
Weew... New Kernel For our beloved Yu Yureka..!