[Kernel][JB][aosp] [USBHOST] [sweep2wake] Komodo (5/15 /13) - Sprint HTC EVO 4G LTE

This is a AOSP kernel for the lte.
since 4.2 is pretty stable I am going to start updating the changelog for it.
What is a kernel?
In computing, the kernel is the main component of most computer operating systems; it is a bridge between applications and the actual data processing done at the hardware level. The kernel's responsibilities include managing the system's resources (the communication between hardware and software components).
{
"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"
}
Features
Cpu overclocking - I include 3 variants 1.7, 1.8, and max OC of 1.998
Gpu overcloking - Controlable with various apps on the market (I prefer kernel tuner)
Cpu governors - intellidemand, badass, interactive, conservitive, powersave, performance, lionheart, ondemand, and more
IO schedulers - sio, cfq, vr, zen, deadline, and noop
Sweep2wake with extra gestures - see bottom of OP
Compiled with the latest Linaro 4.7 toolchain - this is usually updated once a month here http://www.linaro.org/downloads/
Linaro -O3 optimized with extra build flags
Sound control
HTC perflock disabled
Voltage control - Controlable with various apps on the market (I prefer kernel tuner)
USB fast charge support
Code:
Changelog 4/8/13 rls30
merge latest cm commits
clean cpu and gpu clocks
linux 3.071
add sound control (Change gains for headset and headphones,sys/kernel/sound_control)
add variant for s2w with gestures
Changelog 3/5/13 rls29
sched_fair: improve group logic
vsprintf: make %pV handling compatible with kasprintf()
lib/vsprintf: replace link to Draft by final RFC number, lib:
nohz: Remove ts->inidle checks before restarting the tick
Revert "jewel: adjust refx100 to 6650." …
remove unused branch labels from trylock routine
disable preemption in machine_shutdown
remove redundant initialization in alloc_page_buffers()
Update amd use lzo compression
jewel: display: remove pinfo.clk_rate.
linux 3.0.67
update rqstats
wcnss: Configure bite interrupt as edge triggered
linux 3.0.68
Changlelof 2/25/13 rls 28
"msm_fb: display: fix compiler warning for uint64_t format" …
jewel: adjust refx100 to 6650. …
msm_fb: display: fix compiler warning for uint64_t format …
video: msm: Remove timeout from wait4vsync …
msm_fb: display: get mipi frame rate from panel file …
msm_fb: display: wait4vsync before set suspend flag …
msm_fb: display: wait4vsync after timing generator is turned off …
msm_fb: display: replace msleep with wait4vsync …
msm_fb: display: check bus scale handler for registration …
msm: msm_bus: Add support for 64-bit bandwidth requests …
add zram using snappy compression support
add frandom number generator support
linux 3.0.66
clean up crc32
update bfq v6
increase capture number of periods
up MDP clocks
tune sched_fair
msm_fb: display: clean pipes from commit queue at suspend …
msm: rotator: Support Fast YUV for 8960, 8064 and 8x30 targets. …
msm: rotator: clear rotator bus scale handler …
forget using aroma to set gpu users can change via app after boot
update usb fastcharge to 3.1
wcnss: Update Riva ramdump segments
update arm topology drivers
add strncpy_from_user
Changlelog 2/16/13 rls 27
Linux 3.0.65
Linux 3.0.64
more cmdline for aroma
linux 3.0.63
msm_fb: display: add mdp clock control to histogram enable/disable …
msm_fb: display: keep borderfill pipe's iommu info …
msm: display: Fix blend configuration for video layer with MDP compos… …
msm_fb:display: correct bus bw for downscale case …
add HYPER gov
Changelog 2/10/13 rls 26
implement aroma for soff (thanks to rom chef for the help still has things to be implented)
msm_fb: display: restore previous mdp bandwidth when resume
android, lowmemorykiller: Sync with Google/CAF
msm: vidc: Add ioctls for MPEG-2 extradata support
video: msm: Fix copyright attribution. …
msm: kgsl: initialize kgsl_sync_timeline_ops properly …
msm: kgsl: Don't wake up gpu on kgsl_ioctl calls if not necessary …
msm: kgsl: Avoid NULL pointer in adreno setstate functions …
msm_fb: Check for panel power on after Unblank.
clean up journal
Revert "ASoC: msm: Fix issues in proxy port driver due to early afe p…
linux 3.0.62
compiled with -O3 buildoptimizaton and -funroll-loops build flag
Changelog 2/2/13 rls 25 For JB 4.2
this will only work on roms who have added the changes from decks 2/2/13.build
linux 3.0.61
added ROW,FIFO,and ZEN I/O schedulers
Updated to the latest linaro 4.7.3 tooolchain (1/13)
Tweaked mp decision (some of CG KeRnEl ChEfs features)
added 178 commits from Deck And CM team (without these guys this project would not exist)
Changelog 1/14/13 RLS 22C
Linux 3.0.58
entropy tweaks
Fix bug when pausing music it stopped and started again for a second
tweaked wifi settings
Changelog 1/6/13 rls 22B
Linux 3.0.57
block: add and use scsi_blk_cmd_ioctl
get rid of on-stack debugging
dynamic fsync
dont oc gpu by default, let user control
some minor code clean up
Changelog 12/29/12 rls22
linux 3.0.56
linux 3.0.55
linux 3.0.54
usb fast charge credit to Chad Froebel
showps ring buffer patch
usb headset detection
Updated VFP to max from 3.4.Y Google Android.
Changelog 12/3/12 rls21
retweaked readahead
GPU oc is reworked to work with kernel tuner (on the apps next update)
tweak sio scheduler
upgrade to linux 3.0.53
Deactivate Notification LED Timeout
implement the ck1 patchset
iosched: prevent aliased requests from starving other I/O
tweaked deadline scheduler
Changelog 11/25/12
use ion instead of pnem(this is tha change in decks build 11/24)
tweak FSB
tweak ksm
GPU 2D/3D OC
msm: kgsl: Ensure glitch free changing of the GPU frequency
vfp: Use hard-float and neon libraries instead of vfp ones
mm: drop swap cache aggressively
mm: swaptoken only when swap full
android: binder: Allow using highmem for binder buffers
mm: drop swap cache aggressively
sched: task_times() explosion avoidance for tasks with
Changelog 11/20/12 rls 19
added cpu topology drivers
upgraded to linux 3.0.52
msm: memory: Use standard cache routines
mm, oom: fix potential killing of thread
Changelog 11/16/12 rls 18
Tweaked crt animation hack
passed with -O3 optimizations
Changelog 11/14/12 rls 17
Updated drivers to work on cm stable and decks newest releases.
Changelog 11/9/12 (decks irc build 11/10 will not work with this kernel)
linux 3.0.51
I/O-less dirty throttling
clock wrap bug
Move REPEAT_BYTE definition
JIT compiler for packet filters, ARM: net
Use AC charging for unknown chargers
Add optimized AES and SHA1 routines
Hack for CRT animations fix
force headset notifications single threaded
Compile with -pipe
aio.c: Asynchronous I/O latency to a solid-state disk greatly increased
optimize apply_slack
fix rq->cpu_load[] calculations
readjust readahead
reclaim som ram from logger
Changelog 11/5/12
fixed the black screen issue reulting in soft reboot
updated compression algorithm
Updated to linux 3.0.50
Changelog 10/28/12
rls14
Sweep2wake(thanks Zarboz)(currently sweep to wake only works in one direction)
MHL enabled
Upgrade to linux 3.0.48
ChangeLog 10/27/12
rls 13
2 kernel version oc capped at 1.89 and 2.1
added vr scheduler
Implemented Jrcu
tweaked block layer
SON is using ramdisk from decks 10/26 build
support for this encryption app [url]https://play.google.com/store/apps/details?id=com.sovworks.edslite&feature=more_from_developer#?t=W251bGwsMSwxLDEwMiwiY29tLnNvdndvcmtzLmVkc2xpdGUiXQ[/url]
Changelog 10/17/12
added Zarboz new asswax governor (thanks Zarboz)
Added Fsync toggle: (File syncronization)
It's disabled by default. Enabled = stock IO speed while having data integrity; disabled = more IO throughput but less data integrity
echo Y > /sys/module/sync/parameters/fsync_enabled (N to disable and Y to enable)
Reapplied patches that broke during the upgrade of linux versions
crc32 optimized
lib/string: use glibc version
lib/memcopy: use glibc version
use the git implementation of SHA-1
Changelog 10/8/12
currently only working for cm10
added BFQ scheduler
perflock disabled
block layer tweaks
auto group scheduling
New wifi driver built from source with BT-AMP feature
Changelog 9/22/12 rls .07
added governors badass,wheatley,pegasusq, and lagfree
tweaked mpdecision
enable ntfs
low memmory tweaks
camera flash functions to 5 percent now
use crc32 patch
many minor patches and tweaks
Changlelog 9/19/12 rls 0.6
better voltage for 2.1
OTG USB HOST MODE
More battery friendly mpdecision(to disable navigate to sys/kernel/msm_mpdecision/conf/enabled change the value to 0)
[COLOR="Red"]doing this can harm your phone I do not recomend but to each his own[/COLOR]
[COLOR="Red"]to change the low value for thermal navigate to sys/kernel/thermal/allowed_low_freq and change to desired frequency[/COLOR]
Changelog 9/12/12 rls .04
Improved mpdecision with cpu1 not so sleepy
utilizing Haus' SON kernel Update script(thanks Haus)
Changelog (9/11/12) rls .03
implemented kernel based mpdecision
implemented kernel based thermald
[COLOR="Red"]With these implimenattions this will rename your thermald and mpdecision binary in your rom to thermal_backup and mpdecision_backup.[/COLOR]
Changelog (9/7/12) rls .02
GPU OC
Added usercontrolled voltage
disabled fsync
Tweaked thermal (trying to manage cpu1)
Boost FSB to 533
tweak smartassv2 governor
and a few other tweaks
Changelog (9/6/12) rls .01
Added CPU OC to 1.89 ghz
Added schedulers VR, SIO, CFQ, DEADLINE; all optimized for flash devices
Addeded Governors smartass2,interacitve,intellidemand,savadgedzen,2 phase ondemand,performance,conservitive,lionheart
Disabled fair gentle sleepers for better performance on android
increased vm readahead to 1024
made memmory allocation optimizations (shows 726 mb of ram)
many little tweaks compiled with linaro 4.6
XZ compression
Sweep gestures (sweep finger across the capacitive buttons on bottom of phone):
Code:
Sweep2sleep: with screen on, swipe right to left to turn screen off
Sweep2power: with screen on, swipe left to right for power menu (simulated 2.5 second power button hold)
Sweep2snap: with screen on: swipe left to right and press Home within 2 seconds for a screen snap
Sweep2wake: with screen off: swipe left to right to turn screen on (disabled by default for better battery life)
Phantom volume down: with screen on, touch between back and home for vol-down one notch
Phantom volume up: with screen on, touch between home and recent apps for vol-up one notch
Sweep2mute: with screen on, swipe from home to back for vol full down (vibrate)
Sweep2loud: with screen on, swipe from home to recent apps for max volume
Sweep2skipback: with screen off, swipe from home to back to skip back a track (when listening to music)
Sweep2skipforward: with screen off, swipe from home to recent apps to skip forward a track (when listening to music)
Sweep2deepsleep: with screen off, swipe from right to left to temporarily disable sweeps while screen is off (until screen is turned back on: prevents pocket sweeps)
[IMG]http://forum.xda-developers.com/attachment.php?attachmentid=1479575&stc=1&d=1352840345[/IMG]
here is a little explanation of kernel based thermal and mpdecision control
What is msm_thermal?
Kernel based 3-phase thermal control!
This replaces your /system/bin/thermald binary which is renamed by the installer to thermald_backup.
Check /sys/kernel/msm_thermal/conf/ for the thermal configuration
allowed_max_high = highest threshold (phase 3)
allowed_max_low = remove the throttling if we cooled down to this (clr_thrshold)
allowed_max_freq = max frequency if throttled (limit)
[...]mid[...] = same as above, just for phase 2
[...]low[...] = Lowest threshold (phase 1)
check_interval_ms = how often shall we check? (sampling rate)
Default: 1000ms (=1sec)
If you want to see msm_thermal doing it's job:
Code:
adb shell cat /proc/kmsg | grep 'msm_thermal'
What is msm_mpdecision?
100% kernel based multi core decision! (should cpu1 be online or not?)
This replaces your /system/bin/mpdecision binary which is renamed by the installer to mpdecision_backup.
Check /sys/kernel/msm_mpdecision/conf/ for the configuration.
startdelay = time until mpdecision starts doing it's magic (70000)
delay = time between checks (500)
pause = if something else plugs in the cpu, fall asleep for 10000
scroff_single_core = if the screen is off, don't plug in cpu1 (1)
nwns_threshold_up = runqueue threshold, if this is reached cpu1 will be hotplugged (35)
nwns_threshold_down = runqueue threshold, if this is reached cpu1 will be unplugged (5)
twts_threshold_up = time threshold, this amount of time must have passed (250)
twts_threshold_down = same as above (250)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
idle_freq = a value against that will be checked if a core +/- is requested. (486000)
If cpu0 is below that value and a core up of cpu1 is requested, nothing will happen.
If cpu1 is above that value and a core down of cpu1 is requested, nothing will happen. (otherwise it would now put down cpu1 even though it is still working)
(all times are in ms)
NOT RESPONSIBE IF YOU BRICK,DROP,LOSE YOUR DEVICE. FLASH AT YOUR OWN RISK[/B
What is FSO?
Fso has greater speed, but there is a chance of corrupting if the phone has a random reboot.
Non-fso is what a stock kernel is and does not have the corruption issue.
It's a trade off, performance for stability or visa versa
If you have issues with reboots viperboy has created a script to increase voltages which may help with stability for the rebellious phones thanks viperboy
http://d-h.st/Kru
Downloads for the the latest releases
http://d-h.st/users/Thicklizard
gpl legalities
https://github.com/thicklizard
If you like my work buy me a coffee!
Thanks to cyanogenmod.

Reserved

Good to see you over here!
I'm on paranoid android so I'll probably test it tonight...
By the way you need to fix the link. You wrapped in lowercase tags when it should uppercase...

YESSS finally a JB kernel. give me give me give me!!!.
Flashing asap
Also what are the smartass2,intellidemand,savadgedzen,2 phase ondemand, and lionheart do, specifically what are the pros and cons?
Ive never heard of those before. But i have heard and used the other ones listed above.

Nice. Will give this a go next time I flash cm10.
Sent from my EVO using Tapatalk 2

Oh yeaaaaaa
Sent from my EVO using xda premium

Pithism said:
YESSS finally a JB kernel. give me give me give me!!!.
Flashing asap
Also what are the smartass2,intellidemand,savadgedzen,2 phase ondemand, and lionheart do, specifically what are the pros and cons?
Ive never heard of those before. But i have heard and used the other ones listed above.
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=1663809
Check out this thread
Sent from my EVO using Tapatalk 2

Running smooth so far on PA sir
Sent from my EVO using xda premium

Flashing NAOO!
Edit: Runnin great! Lovin more RAM.

very very Nice!

on PA intellidemand works good. too bad no voltage tweaking but good none the less :thumbsup:

syaoran68 said:
on PA intellidemand works good. too bad no voltage tweaking but good none the less :thumbsup:
Click to expand...
Click to collapse
In time this is initial release.
Sent from my EVO using Tapatalk 2

Ooohhooohhooo today is a good day! Thank you! I'm on AOKP. I love the thread you linked for CPU governor explanation. That's a great read. Can't wait to see undervolting capability, especially since AOKP has that available in settings.
Did I say, 'thank you'? :thumbup:
via xda premium on my AOKP'd Evo LTE

Savage Zen is pretty snappy if I must say at 1.809
Sent from my EVO using xda premium

For those of us that are S-ON and dev unlocked, how do we go about installing this? It's not in a .img file so no flash image gui or fastboot.
Can someone repackage it?
Sent from my EVO using xda premium

I will have boot.imgs up in less than an hour
Sent from my EVO using Tapatalk 2

foobz said:
For those of us that are S-ON and dev unlocked, how do we go about installing this? It's not in a .img file so no flash image gui or fastboot.
Can someone repackage it?
Sent from my EVO using xda premium
Click to expand...
Click to collapse
If I'm not mistaken, the image you need is in the flashable zip. Just download the zip, extract it somewhere, and grab the IMG.
May be wrong though. Been a while since I actually looked inside of a kernel zip haha
Sent from my EVO using Tapatalk 2

thicklizard said:
I will have boot.imgs up in less than an hour
Sent from my EVO using Tapatalk 2
Click to expand...
Click to collapse
This guy here! Awesome Job, Really Awesome!
Linking this thread From Paranoid.

Awesome! Thanks for the work!!
Sent from my EVO using xda premium

Oh my gosh! Is it my birthday? can't wait to try and see where this goes!
Will future releases have GPU tweaks?

Related

[KERNEL] [Nov 26] ElementalX-m7 | 22.4 Sense | 22.4 GPE

{
"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"
}
Kernel for Google Play Edition and Sense-based ROMs
FAST • STABLE • FULL-FEATURED
This version works on every HTC One variant except Sprint and Verizon.
The Sprint HTC One version is here: http://forum.xda-developers.com/showthread.php?t=2295596
The Verizon HTC One version is here: http://forum.xda-developers.com/showthread.php?t=2600691
ElementalX aims for absolute stability, easy one-time setup and lots of useful features. ​​
Click to expand...
Click to collapse
FEATURES:
easy installation and configuration with Aroma installer
overclocking/underclocking options
headphone gain control
choose auto minimum voltage (725mV to 850mV)
full user voltage control
mpdecision options (battery saving, stock, performance)
optional GPU overclocking
modified ondemand CPU Governor for balance between performanc and battery life
GPU governors: ondemand, simple
i/o schedulers: ROW, FIOPS, SIO, CFQ, NOOP, deadline
kernel based thermal control (extra cool, run cool, default, and run hot)
optional sweep2wake, doubletap2wake, logo2wake with pocket detection
optional logo2menu
optional button light notification
optional force fastcharge
NTFS r/w, exFAT, and extended OTG support
optional color control
support more game controllers (including XBOX and PS3)
increased refresh rate for HDMI output via MHL adapter
selinux fixes
Click to expand...
Click to collapse
Google+ Community
Please consider a donation to support ongoing development
Thanks to those who have donated!​
Special thanks to @jonas2295 for the ElementalX logo
App to customize Wake Gestures:
Wake Gestures
____________________________
DOWNLOADS
Sense Android 5.0.2
ElementalX-m7-22.4-Sense
Google Play Edition Android 5.1
ElementalX-m7-22.4-GPE
Google Play Edition Android 5.0.1
ElementalX-m7-19.3-GPE
Sense 6 Android 4.4.3
ElementalX-m7-18.0-Sense
Google Play Edition Android 4.4.3/4.4.4
ElementalX-m7-15.1-GPE
Sense 6 Android 4.4.2
ElementalX-m7-14.12-Sense
Sense 5.5 and Sense 6 Android 4.4.2
ElementalX-m7-14.10
Google Play Edition Android 4.4.2
ElementalX-m7-11.7
Sense 5.5 Android 4.4
ElementalX-m7-10.10.1
Google Play Edition Android 4.4
ElementalX-m7-9.1
Sense 5.5 Android 4.3
ElementalX-m7-8.4
Sense 5 Android 4.3
ElementalX-m7-5.6
Google Play Edition Android 4.3
ElementalX-m7-4.4
Google Play Edition and Sense 5 Android 4.2.2
ElementalX-m7-3.12.1
Sense 5 Android 4.1.2
ElementalX-m7-1.1
INSTALLATION
1. Install zip from recovery
2. Follow the instructions, if you don't know what to do, use the preselected options
3. Reboot
For installation, it seems a lot of people have finicky phones when it comes to flashing stuff with aroma.
If the installer gets stuck at 0% then you need to reboot to bootloader and do fastboot erase cache
If the installer reboots at 10%, you need to do a nandroid backup of /system partition and restore it. I think a dirty flash would also work.
After you install it, if you get a black screen or stuck at the HTC logo, no need to worry. Just hold down the power button untill the capacitive buttons start flashing and the phone restarts. The kernel installed correctly.
As always, with overclocking, not all phones can handle all frequencies. If it doesn't boot, or randomly reboots, or freezes, your first course of action should be to reinstall with a lower frequency.
Code:
* Standard disclaimer:
* Your warranty is now void. Use at your own risk.
* In other words: It is your choice to use this software,
* I am not responsible for any damage or problems you may have!
Previous versions:
ElementalX-m7-14.1
ElementalX-m7-14.0
ElementalX-m7-13.5.1
ElementalX-m7-11.4
ElementalX-m7-12.0
ElementalX-m7-8.3
ElementalX-m7-11.3
ElementalX-m7-10.8
ElementalX-m7-8.2
ElementalX-m7-11.0
ElementalX-m7-10.5
ElementalX-m7-10.4
ElementalX-m7-8.1
ElementalX-m7-9.0.1
ElementalX-m7-10.3
ElementalX-m7-10.2
ElementalX-m7-10.1
ElementalX-m7-10.0
ElementalX-m7-8.0.1
ElementalX-m7-6.1.2
ElementalX-m7-5.4
ElementalX-m7-5.2
ElementalX-m7-3.11
ElementalX-m7-4.2
ElementalX-m7-5.1
ElementalX-m7-3.4
ElementalX-m7-3.3
ElementalX-m7-3.0
ElementalX-m7-2.6
ElementalX-m7-2.3
ElementalX-m7-2.2
ElementalX-m7-2.1
ElementalX-m7-1.0.1
ElementalX-m7-0.11
ElementalX-m7-0.10
ElementalX-m7-0.9
ElementalX-m7-0.8.1
ElementalX-m7-0.6
ElementalX-m7-0.5
ElementalX-m7-0.4
ElementalX-m7-0.3
Special thanks:
@tbalden for l2m and bln and cam fix on sense 4.3
@amarullz for installer
@backfromthestorm for fstrim
@crpalmer for kernel based thermal control
@mkasick Fix for empty app-mounted directories
@jonas2295 for elementalx logo
@faux123 for simple GPU governor and color control
NOTES:
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!)
The settings can be changed by editing /etc/elementalx.conf and rebooting. Advanced users can apply settings on the fly by running /etc/init.d/99elementalx as root.
There is no need to edit /etc/init.d/99elementalx. All settings are configured in /etc/elementalx.conf.
If settings are not sticking, make sure the file permissions for /etc/init.d/99elementalx are set to execute. Every time the settings are applied, a log file is created at /data/local/tmp/elementalx-kernel.log. Problems can be diagnosed by looking at the log file.
Please 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.log. This file shows the date and time and all settings that have been applied. Use this to verify and troubleshoot configuration options. Also shows your PVS bin.
Kernel Tuner/TricksterMod/Venom Tweaks, etc
You don't need these apps because the ElementalX installer sets everything up automatically, but if you want to check or change settings, you can use these apps. Just be aware that some of them (e.g. Kernel Tuner) are set by default to apply settings on boot, which can interfere with the settings you chose in the ElementalX installer.
Note: on the most recent versions, the fauxclock app interferes with GPU overclocking unless you disable pnpmgr (not recommended)
Overclocking
Overclocking (or underclocking) is optional. The installer lets you choose a maximum between 1134MHz (underclocked) and 2160MHz (overclocked). You can set the maximum frequency individually for each CPU core in the installer. Whatever frequencies you chose in the installer will be set at boot for each CPU. Not all devices can handle overclocking. The stock maximum CPU frequency is 1.7GHz. I recommend a mild overclock, like 1836MHz. Clocking higher creates heat and wastes battery for very little performance gain.
CPU voltages
The installer allows you to choose from several undervolting options. These automatically undervolt the lowest frequency (384MHz) where the CPU spends most of its time. The voltages for other frequencies are assigned based on the PVS bin of your phone. CPU voltages are fully customisable with apps such Kernel Tuner or Trickster Mod, but I recommend leaving these other voltages as-is unless you are prepared to do a lot of testing. Be careful, lowering voltages can cause instability. Generally, having reboots while the phone is asleep is a sign that your minimum voltage is too low. The minimum voltage allowed is 700mV.
Be careful with undervolting. If you have bluetooth or sound issues, try increasing the minimum voltage.
Minimum CPU frequency
The minimum CPU frequency in this kernel is 384MHz. This chip was not designed to operate below 384MHz and I am respecting Qualcomm's design decision to have the CPU idle on pll8 at 384MHz. There is a way to achieve lower frequencies using the high frequency pll, however, this is likely to cause instability and inefficient operation (battery drain, ui stuttering)
GPU frequencies
You can choose stock GPU frequency of 400MHz or overclock. If overclocked, you can choose from a range of frequencies up to 585MHz. Overclock frequencies can be changed on the fly, but you can't use the stock frequency. Conversely, if you choose stock GPU, the overclocking frequencies will not be available. To change between stock and overclocking mode, you need to reinstall. The same voltages are used no matter if the GPU is overclocked or not.
GPU Governor
The default GPU govenror is ondemand. It works well and is recommended for best balance between performance and batter life. The simple governor is also available, but ramps up the GPU frequency much quicker than ondemand, so may impact battery life. The governor can be set in /etc/elementalx.conf
Thermal Control
I've added kernel based thermal control and throttling. HTC's thermald is very aggressive and throttles the CPU frequency pretty much anytime you use all four processors. This kernel based implementation allow better performance while still protecting your phone from overheating. There are three levels of thermal control, which can be chosen in the installer or changed in /etc/elementalx.conf. The default option is recommended. With the run cool option, your CPU will run about 5C cooler than default while under heavy load. With the run hot option, the CPU will run about 5C warmer than default under heavy load.
MPDecision settings
There are three mpdecision settings available: battery saving, stock and performance. I think they are self explanatory. These can be changed in /etc/elementalx.conf
Max screen off frequency
This is optional and must be selected in the installer. I recommend enabling it. This limits the max cpu frequency while the screen is off. The default max screen off frequency is 702MHz, which is a good balance between limiting the voltage/frequency and the time required to complete tasks while the screen is off. You can adjust this with applications such as Venom Tweaks.
I/O Schedulers
The default i/o scheduler is ROW. Other available schedulers are ROW, CFQ, FIOPS, SIO, NOOP and deadline.
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.
Wake Gestures
This is a new feature similar to the Motion Launch Gestures on the HTC One m8. Requires one of the following Xposed modules:
Sense 6 Toolbox: http://sensetoolbox.com/6/download (most options for HTC)
Wake Gestures: http://forum.xda-developers.com/xposed/modules/app-wake-gestures-v1-0-t2768266
Set /sys/android_touch/wake_gestures to 1 to enable input events for wake gesture actions. Set to 0 to use traditional sweep2wake or doubletap2wake (wakes up the phone and turns on the screen only).
Note that if you enable wake_gestures, nothing will happen if you don't install one of the Xposed modules.
Sweep2wake
Sweep2wake allows you to turn on your phone by swiping your finger across the screen. There are four sweep actions that will work
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)
/sys/android_touch/sweep2wake
DoubleTap2Wake
DoubleTap2Wake (DT2W) allows you to wake the device by double tapping in the bottom inch or so of the screen, above the capacitive buttons. You can edit /etc/elementalx.conf to change the setting on boot.
/sys/android_touch/doubletap2wake
0=disabled
1=enable doubletap2wake (bottom of screen only)
2=enable doubletap2wake (full screen)
Logo2Wake
Logo2Wake (L2W) allows you to sleep or wake the device by long pressing the HTC logo. You have to press just slightly above the HTC logo. The screen will automatically turn on or off with a long press. You can edit /etc/elementalx.conf to change the setting on boot.
/sys/android_touch/logo2wake
0=disabled
1=enable logo2wake
Pocket Detection
Pocket detection protects against accidental wakes while S2W, DT2W or L2W are enabled and the phone is in your pocket. Pocket detection uses the proximity sensor. A few people have a problem with their proximity sensor that makes DT2W not work, so I've made an option to disable pocket detection. You can edit /etc/elementalx.conf to change the setting on boot.
/sys/android_touch/pocket_detect
0=disabled
1=enable pocket detection
Logo2Menu
Enabling Logot2Menu (L2M) allows you to use the HTC logo as a menu button. You must press just slightly above the HTC logo. You can edit /etc/elementalx.conf to change the setting on boot.
/sys/android_touch/logo2menu
0=disabled
1=enable logo2menu
Button Light Notification
With Button Light Notification (BLN), the capacitive buttons will blink on and off when you have a new notification. As soon as the screen comes on, BLN is canceled and the lights will no longer blink until you have another notification. Please note that if you have your screen set to turn on when a message arrives, you will not see the buttons blinking because once the screen comes on, the button light notification is canceled. You can edit /etc/elementalx.conf to change the setting on boot.
/sys/class/leds/button-backlight/blink_buttons
0 = disabled
1 = BLN enabled
NTFS and exFAT support
This is for anyone who wants to use OTG to connect a USB stick or portable harddrive formatted with Microsoft's NTFS and exFAT filesystems. You will need Stickmount or a similar app, HTC Sense does not automatically detect these filesystems.
Other stuff
This kernel supports many game pads and controllers, including PS3 controllers and some X-Box controllers. It has full OTG support. A refresh rate of 60Hz for HDMI output allows you to play games on the big screen without choppiness. CIFS support is built into the kernel. Color control is also supported.
Source:
Android 5.0.1
Android 4.1.2
Android 4.2.2
Android 4.3 GPE
Android 4.3 Sense
Android 4.4 GPE
Android 4.4.2 Sense
Android 4.4.3 GPE
................
XDA:DevDB Information
ElementalX |OC|UV|GPU OC|S2W|L2W|DT2W|L2M|THERMAL|BLN, Kernel for the HTC One (m7)
Contributors
flar2
Source Code: https://github.com/flar2/m7-Sense
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: 22.4
Stable Release Date: 2016-11-26
Created 2013-08-01
Last Updated 2017-03-29
CHANGELOG:
Oct 10 ElementalX-m7-18.0
-rebase on latest HTC 4.4.3 Sense source code
Click to expand...
Click to collapse
...................
CHANGELOG:
June 3 ElementalX-m7-14.10
-faster boot
-fix pocket detection not enabled
-add logo2sleep option
June 1 ElementalX-m7-14.9
-add more options for traditional S2W
-standardize wake gestures options
-add optimization flags to GPU
-update installer
May 21 ElementalX-m7-14.8
-make sweep length longer for gestures
-sweep gestures timeout
-build with Linaro GCC 4.9.1 toolchain (@Christopher83)
May 12 ElementalX-m7-14.7
-fix wake gestures
May 11 ElementalX-m7-14.6
-fix minor bugs with wake gestures enabled
-increase horizontal sweep distance
-Sweep2Sleep can be enabled/disabled if wake gestures is enabled
-add SweepUp2wake
-update installer
May 3 ElementalX-m7-14.5
-wake gestures fixups
-adjust slimbus oc (poondog/zeroinfinity)
April 30 ElementalX-m7-14.4
-add wake gestures interface
-update installer (thanks @jonas2295 for the new splash screen)
April 26 ElementalX-m7-14.2
-add sweepup2wake
-make wake vibration more immediate
April 21 ElementalX-m7-14.1
-fix exFAT support
March 30 ElementalX-m7-14.0
-latest HTC kernel source code
January 31 ElementalX-m7-13.0
-update for Sense 5.5 Android 4.4.2
-Makefile adjustments
-update to latest HTC source code
-ROW is default i/o scheduler
-various tweaks and optimizations
January 22 ElementalX-m7-12.0
-update Aroma
-add gamma control (credit: faux123)
-new installation method
January 6 ElementalX-m7-8.4
-fixes for wlan_rx_wake wakelocks
-doubletap2wake fullscreen/halfscreen option
-make doubletap2wake more sensitive
-add ROW i/o scheduler
-Makefile adjustments
-slimbus overclock (credit: poondog)
-update installer
-tweak deadline i/o scheduler
January 4 ElementalX-m7-11.4
-fixes for wlan_rx_wake wakelocks
-remove maxscroff
-doubletap2wake fullscreen/halfscreen option
-make doubletap2wake more sensitive
-add ROW i/o scheduler
-Makefile adjustments
-slimbus overclock (credit: poondog)
January 4 ElementalX-m7-10.10.1
-fix installer
January 3 ElementalX-m7-10.10
-fixes for wlan_rx_wake wakelock
-remove maxscroff
January 2 ElementalX-m7-10.9
-doubletap2wake fullscreen/halfscreen option
-make doubletap2wake more sensitive
-add ROW i/o scheduler
-Makefile adjustments
-slimbus overclock (thanks @poondog)
December 19 ElementalX-m7-11.3
-adjust gboost
-update installer
December 19 ElementalX-m7-10.8
-adjust gboost
-update installer
December 18 ElementalX-m7-8.3
-color control (credit: faux123)
December 18 ElementalX-m7-11.2
-rename elementalx governor back to ondemand
December 18 ElementalX-m7-10.7
-rename elementalx governor back to ondemand
December 17 ElementalX-m7-11.1
-elementalx cpu governor
-color control (credit: faux123)
-remove fsync option
December 15 ElementalX-m7-11.0
-update for Google Play Edition Android 4.4.2
-remove 3-dot menubar option
-Makefile adjustment
December 17 ElementalX-m7-10.6
-fix multirom support
-add elementalx governor
-color control (credit: faux123)
-remove fsync option
December 14 ElementalX-m7-10.5
-restrict doubletap2wake to bottom half of screen
-fix moc_crypto modules loading
-update installer
December 14 ElementalX-m7-9.1
-gboost enables hybrid ondemand
-battery saving tweaks
-fix max cpu setting
-restrict doubletap2wake to bottom half of screen
-add sysfs entry for max screen off
-default max screen off is 1134MHz
-adjust Makefile options
-remove tracing
-shorten command line
-update installer
-make doubletap2wake more sensitive
December 14 ElementalX-m7-8.2
-fix max cpu setting
-restrict doubletap2wake to bottom half of screen
-add sysfs entry for max screen off
-default max screen off is 1134MHz
-adjust Makefile options
-remove tracing
-shorten command line
-update installer
-make doubletap2wake more sensitive
December 8 ElementalX-m7-10.4
-gboost enables hybrid ondemand
-fix installer
December 4 ElementalX-m7-10.3
-remove doubletap2sleep option
-battery saving tweaks
-fix max cpu setting
December 4 ElementalX-m7-10.2
-revert to older ondemand governor
-add doubletap2sleep option
-restrict doubletap2wake to bottom half of screen
December 3 ElementalX-m7-10.1
-add sysfs entry for max screen off
-default max screen off is 1134MHz
-adjust Makefile options
-remove tracing
-shorten command line
-update installer
-make doubletap2wake more sensitive
December 1 ElementalX-m7-10.0
-update for Sense 5.5 Android 4.4
November 26 ElementalX-m7-9.0-GPE
-update with HTC Google Play Edition source code
-remove "restore 3-dot menubar" option
November 24 ElementalX-m7-8.1
-fix pocket detection
-fiops is default scheduler
November 23 ElementalX-m7-8.0.1
-fix missing modules
November 23 ElementalX-m7-8.0
-update with HTC source code
-adjust touch wake functions
-restore stock camera app and libs
October 23 ElementalX-m7-6.1.2
-allow changing GPU freq if pnpmgr is disabled
October 21 ElementalX-m7-6.1.1
-aroma options for graphics boost and pnpmgr
October 19 ElementalX-m7-6.1
-add graphics boost
-update camera files
October 16 ElementalX-m7-6.0
-fix camera (thanks @tbalden)
-update ramdisk for Sense 5.5
-re-enable pnpmgr
October 14 ElementalX-m7-5.6
-enable config options for multirom support
October 12 ElementalX-m7-5.5
-update installer
-update config files
-show pvs number in sysfs
-add 409.5MHz GPU step
-reduce debug messages
-kexec-hardboot (for multirom support)
-fix MDP bus scaling data (cyanogenmod)
-boost CPU frequency only for touch input
September 26 ElementalX-m7-3.12.1
-fix GPU frequencies
-fix installer
September 26 ElementalX-m7-4.4
-add option to enable/disable fsync
-add more GPU frequencies
-Optimize square root algorithm
-Send events one packet at a time
-updates to freezer and cpuidle
-update installer
ElementalX-3.12
-add option to enable/disable fsync
-add more GPU frequencies
-Optimize square root algorithm
-Send events one packet at a time
-updates to freezer and cpuidle
-update installer
ElementalX-5.4
-adjust GPU frequencies
-updates to freezer and cpuidle
-update installer
ElementalX-5.3
-add more GPU frequencies
-Optimize square root algorithm
-Send events one packet at a time
September 12 ElementalX-m7-5.2
-free up more RAM
-camera fix for 3.17 base (thanks @tbalden)
-updated ramdisk to 3.17 version
September 9 ElementalX-m7-5.1
-fsync switch (on by default)
-wifi driver built in
-update installer
September 7 ElementalX-m7-5.0.1
-disable pnpmgr
September 7 ElementalX-m7-5.0
-update to Sense 5 Android 4.3
September 3 ElementalX-m7-3.11
-add exfat support
September 2 ElementalX-m7-3.10
-update with 4.2.2 Sense source
-update modules
August 26 ElementalX-m7-3.9
-remove bus overclocking
-adjust Makefiles
August 25 ElementalX-m7-3.8
-makefile adjustments
-fix ondemand gpu governor
-adjust loadavg
-update modules
-add higher voltage for 2214MHz and 2295MHz
-add l2/bus overclocking
August 18 ElementalX-m7-3.7
-revert simple governor to default behaviour
-hack to make simple governor stick after benchmarks
August 18 ElementalX-m7-3.6
-fix GPU frequency
August 18 ElementalX-m7-3.5
-fix logo2wake
-adjust build options
-487MHz and 533MHz GPU freq
-CPU overclock up to 2295MHz
August 18 ElementalX-m7-4.2
-fix GPU frequencies
August 17 ElementalX-m7-4.1
-fix undervolting
-487MHz and 533MHz GPU freq
-CPU overclock up to 2295MHz
August 13 ElementalX-m7-4.0
-adjust build options
-fix logo2wake active after finger leaves logo area
-remove log spam
-update to GE 4.3 source
-update installer
July 25 ElementalX-m7-3.4
-updated modules
-updated installer
-default max screen off frequency 702MHz
-fix screen off frequency applied to all cores
-sweep2wake adjustments
-adjust simple governor
-home button timeout option in installer
July 24 ElementalX-m7-3.3
-sweep2wake fixes
-doubletap2wake fixes
-ondemand GPU governor fixed
-Makefile optimizations
-install-recovery.sh command added to ramdisk
-simple GPU governor installer option
July 22 ElementalX-m7-3.2
-fix sweep2wake bugs
July 21 ElementalX-m7-3.1
-use custom Linaro toolchain 4.8
-O3 compile
-add simple GPU governor (faux123)
-installer fixes
July 20 ElementalX-m7-3.0
-use Google Android toolchain 4.6
-update installer options
-add optional max screen off frequency
-fix sweep2wake bugs
-add mpdecision options
-option to disable HTC color enhancement
-fix for home button options (if not using logo2menu)
-add ability to restore 3-dot menu
July 14 ElementalX-m7-2.6
-use linaro 4.8 toolchain
-fix capacitive buttons sometimes still active while screen off
-fix multiple qemu.hw.mainkeys entries in build.prop
-add fastcharge option
-re-enable pnpmgr
July 11 ElementalX-m7-2.4
-fix touchscreen registering input during calls
-fix installer
-fiops default i/o scheduler
-add sysfs config for sleep/wake vibration strength
-new logo (@jonas2295)
-slight boost to L2 freq
-slight boost to GPU bus bandwidth
July 10 ElementalX-m7-2.3
-vibration feedback for s2w
-add TCP congestion algorithm options
-fix fastcharge (thanks tbalden)
-revert some tweaks
June 30 ElementalX-m7-2.2
-update BLN
-fix for app-mounted directories (thanks @mkasick)
June 29 ElementalX-m7-2.1
-add support for Android 4.2.2
-update aroma installer
June 23 ElementalX-m7-1.1
-adjust doubletap2wake
-tweak hsic
June 20 ElementalX-m7-1.0.1
-installer ensures update camera files are present
-updated modules
June 19 ElementalX-m7-1.0
-update to latest HTC sources (still 4.1.2!)
-updated camera (works with .16 base ROMs)
-updated capacitive button sensitivity
-revert earpiece audio patch
-remove camera fix
-adjust doubletap2wake sensitivity
-pocket detection only active when screen off
May 23 ElementalX-m7-0.11
-make camera fix optional
-wifi as module
-revert arm rwsem algorithm
-adjustments and fixes to sweep/wake options
-add smartmax and wheatley governors
-remove smartassv2 governor
-add "extra cool" thermal setting
May 14 ElementalX-m7-0.10
-add option to disable pocket detection
-add new settings schema for sleep/wake functions
-fix bug dt2w not working when s2w disabled
-change l2w to automatically sleep/wake after pressed for a certain time
May 13 ElementalX-m7-0.9
-suppress accidental wakes with s2w and dt2w
-DT2W adjustments
-add ROW scheduler
-add Lionheart, lagfree and smartassv2 governors
-button light notification (tbalden)
May 10 ElementalX-m7-0.8.1
-camera fix for .16 based ROMs (thanks to he_stheone64)
May 7 ElementalX-m7-0.8
-fix frequencies not sticking
-fix 2133 and 2160 frequency steps
-add thermal options
May 6 ElementalX-m7-0.7
-add doubletap2wake
-add kernel based thermal control (crpalmer)
-update faux123 sound control
-various fixes
-remove cpu optimization levels
May 2 ElementalX-m7-0.6
-remove GPU overclock to 480MHz
-disable gentle fair sleepers
-Improve scalability via 'CPU buddies'
-avoid loadavg moire
-fix installer
May 1 ElementalX-m7-0.5
-GPU overclock to 480MHz (experimental)
-CPU overclock to 2160MHz
-CPU optimization levels: stock, elementalx and ultra
-automatic undervolting to 850, 800 or 750
-compatible with faux sound control
-hsic wakelock fix
-L2W vibrates on sleep/wake
-update to latest HTC sources
-optimized arm rwsem algorithm
-optimized AES and SHA1 routines
-disable usb whitelist
-fix fastcharge
April 25 ElementalX-m7-0.4
-lower possible voltage to 700
-expose PVS in sysfs
-undervolting option
-logo2menu (tbalden)
-sleep/wake with longpress HTC button
-select oc frequency up to 2106MHz
April 25 ElementalX-m7-0.3
-fix installer
-ensure GPU is set to stock by default
April 25 ElementalX-m7-0.2
-select oc frequency up to 2052MHz
-optional graphics overclocking
-add /dev/frandom
-new sweep2wake
-fix audio in calls (tbalden)
-ensure crypto modules load
-camera fix included
April 20 ElementalX-m7-0.1
-overclocking
-voltage control
-battery optizations
-disable /system write protection
-linaro 4.7.3 -o3 optimization
-ntfs r/w
-fast rcu nohz
-readahead set to 2048
-intellidemand governor
-mhl change to [email protected]
-add CIFS support
-add FIOPS and SIO i/o schedulers
-update ramdisk
-sweep2wake
-wifi built-in
-force fastcharge
Click to expand...
Click to collapse
...................
looks really great. will try.
thank u
first impression:
boots up
choosed all frequezies stock
will test over the day
camera working on trickdroid 5.1!
thanx
No oc shows on my Att branded one
Sent from my HTC One using xda premium
Zarboz said:
No oc shows on my Att branded one
Sent from my HTC One using xda premium
Click to expand...
Click to collapse
You have one of these too? Do you like it better than the DNA?
The oc freq is set by the command line, I have a feeling that the install will fail on att phones and maybe others. It works on mine (Bell Mobility). I have it set to choose stock frequencies if the command line doesn't get set.
I've also only tested the installation on TWRP, don't know if it works on CWM.
Just flashed nice options in aroma had a hour so far very stable overclocked 2050 will report back on battery life but sure it's going to be great thanks for the kernel
Same here. Have an att variant and I've tried all the frequencies from stock to the maximum one. And the frequency maximum still is stock in setcpu and no-frills.
Damn AT&T. I have an idea for an alternate installer. I'll put it together in the next few days.
OC fails on my international version. I love the S2W.
Many thanks for your work.
First Reboot After One hour.
No oc No uv.
Just felt the Vibration in my pocket.
Yeah another kernrl dev in here nice one and welcome. i still have no phone and deving in dark. my s2w wasnt that good so i havent included it yet. also had the prob that u needed go be very precise... how did u fix it?
[sent from an icecold mako...ncxe'ed....soon...]
jaythenut said:
Just flashed nice options in aroma had a hour so far very stable overclocked 2050 will report back on battery life but sure it's going to be great thanks for the kernel
Click to expand...
Click to collapse
ill look at it if i can figure it out ill make a pull request for the ATT branded phones
the screen is a tad smaller wich sucks but the speed is obviously faster on my One over my DNA
I dont think it works with CWM, what will the Kernel be called in the setting menu if it works?
No overclock on tmobile as well defaults to 1728.....but other then that amazing kernel....
Camera works great as well.....
Sent from my HTC One using xda premium
Trying with trickdroid 5.1.
I confirm that camera is working.
It's possible to set UV with kernel control; all the cpu frequencies of the kernel are shown in voltage but...no OC. CpuSpy and Kernel Control show always 1728 even choosing 2052 or 1890 max freq (I tried both).
Thanks a lot for your job.
Installed fine but the overclocking not working. SIO is there so I know the kernel installed. So no issue.....
Sent from my HTC One using xda app-developers app
---------- Post added at 08:23 AM ---------- Previous post was at 08:22 AM ----------
lukemo said:
Trying with trickdroid 5.1.
I confirm that camera is working.
It's possible to set UV with kernel control; all the cpu frequencies of the kernel are shown in voltage but...no OC. CpuSpy and Kernel Control show always 1728 even choosing 2052 or 1890 max freq (I tried both).
Thanks a lot for your job.
Click to expand...
Click to collapse
+1
Sent from my HTC One using xda app-developers app
Great stuff!
So its the camera firmware that needs replacement to match the kernel, and make it work on 1.29.xxx.12 and 13?
I'll throw up an additional flashable to my kernel thread, if you don't mind me using that.
blacklistedcard said:
Installed fine but the overclocking not working. SIO is there so I know the kernel installed. So no issue.....
Sent from my HTC One using xda app-developers app
---------- Post added at 08:23 AM ---------- Previous post was at 08:22 AM ----------
+1
Sent from my HTC One using xda app-developers app
Click to expand...
Click to collapse
Just looked overclocking is not working for me to
Zarboz said:
ill look at it if i can figure it out ill make a pull request for the ATT branded phones
the screen is a tad smaller wich sucks but the speed is obviously faster on my One over my DNA
Click to expand...
Click to collapse
Come over to the dark side my friend Bring beastmode with you :laugh:

[Kerne][Sense] Beastmode M7 | Beats, S2W, L2M, Mpdec [3.4.16 linaro -O3]

Welcome To Beastmode M7 for sense 5 android 4.1.2
{
"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"
}
There will be kind of a new way for you guys to check the status of the build the changelog and last a place for you to collect these finished downloadable zips
Below you will find a badge that will change to indicate the current build status... Failed, In progress, Success. Once you see success you can check the status of the builds here Buildmachine Thanks Showp for sharing
​
So where can I get these automagic builds??????!??!​
You can find these builds on my Goo.im account. I will try to keep the folders in Current/Old builds​
REMOVED
What the heck is with the zip name?!?!??! I can't make heads or tails of this!
Blackout_m7_20130506_205451_master-4a9e1a6
The Device Tree that was built
The date and time the kernel was built so in this example its 05/06/2013 @ 20:54min51seconds
Branch Name that was built
Shasum of last commit before build
​
But where can I find this Elusive changelog?!?!?!
http://repomachine.zapto.org/zarboz/blackout-m7/commits/master
https://github.com/Team-Blackout/Blackout-M7/commits/master​
Source My github
Build machines github
Changelog
Last updated 05/25/2013 @ 3:52pm MST
Code:
c11098a updating defconfig
75cc9d4 arch/arm/mach-msm/ board-m7-gpu this got lost in cherry-picks
f353e65 usb otg: removing whitelist config to let more devices use OTG host
755531f added smartmax - WIP
20fccd0 drivers/input/touchscreen synaptics Change: Some typo's on cmdline detection
97d083a drivers/input/touchscreen synaptics Change: let aroma make this decision for s2w on/off/l2w
53cc442 removing extraver
10cb3f9 msm_mpdecision: boost: if we are not boosted, revib_wq does not need to run at all
590b27a msm_mpdecision: fix changing boost freq sets min = boost freq
646c5a1 arch/arm/mach-msm/acpuclk-8064.c Fix: Decrease VDD for high clocks on PVS3
ee18a10 msm_mpdecision: several changes [read more] reworked cpu_up/down handling which removed redundant code reworked max/min_cpus settings reworked suspend/resume handling to obide by these new changes also reworked locking for per cpu settings
f74e79a msm_mpdecision: min_cpus & max_cpus should on/offline affected cpus
ee18a10 msm_mpdecision: several changes [read more] reworked cpu_up/down handling which removed redundant code reworked max/min_cpus settings reworked suspend/res
f74e79a msm_mpdecision: min_cpus & max_cpus should on/offline affected cpus
09ad1cd input/ synaptics_3200 Add: hooks for BB mod by tbalden
15c7c7c bb: blinking buttons first imlementation
8adeafe mach-msm: add cmdline_options to kconfig
f9c0e8c Revert "msm_thermal: remove platform driver"
7975bab msm_thermal: add stats for throttling
67c8caf msm_thermal: fix spacing throughout the whole file
3c5517d msm_thermal: export if we are currently throttled
431c21c msm_mpdecision: change frequencies for input boost This should provide us with a more battery friendly setup in light usage situations while it still provides the obvious advantages the input boost gives us (faster reaction).
a25de7a msm_mpdecision: increasing the check delay to 130ms This change brings us down from 10 to 8 checks each second. The input boost reacts without delay which is why we don't need to check for hotplugs so often anymore.
db73eab msm_mpdecision: boost: don't schedule more check than needed
3481889 msm_mpdecision: boost: detect changed min frequency and update accordingly
8f162d5 msm_mpdecision: tune hotplug values
989a6c9 Patching upstream 3.4.15->3.4.16
d4dbbf9 just a little much boost for the qualcom 600
6b23755 Enabling mpdecision speedboost in defconfig
- Patched upstream to 3.0.16
msm_mpdecision: add input event boost [read more]
This adds an input event boost to mpdecision.
It will basically boost the min freq of all cpus to predefined values if an
input event is detected.
Devices that qualify as boosters must fullfill one of these conditions:
- contain touch in their name
- contain keyboard in their name
This also boosts cpus independently from each other. Meaning:
If a cpu is hotplugged after the boost of another cpu was initiated the next
boost pulse will boost that cpu too.
========05/07/2013===========
Updated toolchain to GCC 4.8
Updated mpdecision to latest upstream
======First Public release ======
drivers/input/touchscreen/synaptics Add: cmdline setup for aroma
drivers/cpufreq/cpufreq.c Add: cmdline interfacing
Moving 2d GPU to board so that cmdline will work properly
arch/arm acpuclock-8064.c Fix: typo during cmdline coding
Adding ACPU_CUSTOM_CPU_FREQ to defconfig
Deleting leftover garbage from the git
arch/arm/mach-msm/board-m7-gpu.c Fix: Vector sizing
drivers/cpufreq/cpufreq.c Removed: Freq limiter algo
gpu: fix dualports for Adreno320
Disabling freq limiter in defconfig
initial import of cmdline functions
Patching upstream 3.4.14->3.4.15
finishing cherry-pick
power: Remove legacy wakelock code.
PM / Sleep: Add wakeup_source_activate and wakeup_source_deactivate tracepoints
PM / Sleep: Change wakeup source statistics to follow Android
PM / Sleep: Use wait queue to signal "no wakeup events in progress"
PM / Sleep: Look for wakeup events in later stages of device suspend
cleaning up a bit
Im stupid for removing this
Sound Control: Added headphone poweramp controls
Sound Control: Updated for HTC One (m7)
disabling min_max clock setting
drivers: cpufreq: address issue where cpus forget their clock speeds
cpufreq: enable sibling cpu policy sharing
adding optimizations
updating defconfig
Patching upstream 3.0.13->3.0.14
Patching upstream 3.4.12->3.4.13
Patching upstream 3.0.11->3.0.12
adding sprint defconfig
updating defconfig
Sweep2wake, logo2menu, logo2wake
pm8xxx: externalizing vibrate method for custom vibration calls (tbalden) https://github.com/TeaMSeven/android_kernel_htc_m7-sense/commit/e808a548141e46a750f29a3b473acd56f10a7912
redo fastcharge
fix hsic wakelock https://www.codeaurora.org/gitweb/quic/la/?p=kernel/msm.git;a=commit;h=41d004c4eaa5565cb8d9113862c3cef1e51be648 and https://www.codeaurora.org/gitweb/quic/la/?p=kernel/msm.git;a=commit;h=6f199aa800253a69e5679d1057823039f1bd65c9 patching up to new HTC source (42e6c45)
add frandom
ARM: net: JIT compiler for packet filters enabled by default
Updated gitignore removed floating boot.img
arch/arm/mach-msm Add: speed ID to debugfs
arch/arm/mach-msm/ acpuclk-krait UPDATE:PVS readout to match newer pvs layout
adding sprint defconfig
Fixing thermald for sprint board
kernel merge: merge Sprint kernel source (crc-3.4.10-eb45596) into single tree
board-m7-display: added O2 DE specific patches from HTC source drop
HTC source drop update: pick from selected t-mo usa source updates
updating gitignore
Finishing 3.4.11 cleanup
Patch upstream to 3.4.11
Finishing Beats hack
sound: Hack beats to always being enabled
lib: Sparc's strncpy_from_user is generic enough, move under lib/
hrtimer: Consider preemption when migrating hrtimer cpu_bases
dynamic fsync: favor true case since most will be using this feature
dynamic filesync: add some cache optimizations
fs/dyn_fsync: check dyn fsync control's active prior to performing fsync ops
Voltage Control: allow for lower minimums
arch/arm/kernel/armksyms: fix merge derp
Sound Control: Sound control for WCD93xx codec
switch the protection of percpu_counter list to spinlock
decompress_unlzo: fix compilation error
ARM: 7593/1: nommu: do not enable DCACHE_WORD_ACCESS when !CONFIG_MMU
ARM: 7592/1: nommu: prevent generation of kernel unaligned memory accesses
ARM: 7492/1: add strstr declaration for decompressors
ARM: 7493/1: use generic unaligned.h
ARM: dcache: select DCACHE_WORD_ACCESS for little-endian ARMv6+ CPUs
ARM: use generic strnlen_user and strncpy_from_user functions
lib: Fix generic strnlen_user for 32-bit big-endian machines
lib: add generic strnlen_user() function
modifying Makefile extraver
drivers/media/video/msm/msm: fix compilation warning
word-at-a-time: make the interfaces truly generic
lib/lzo: Optimize code for CPUs with inefficient unaligned access
cbe1e09 block: cgroups, kconfig, build bits for BFQ-v6-3.4
461b624 overall_stats: forward port to kernel 3.4+
7c1a5f7 overall_stats: make dual/quad core stats configurable via meunconfig
41a98f5 overall_stats: add overall stats for all available cores
4c11096 msm: cpufreq: make the gov stop part fully atomic
8d525e4 scheduler: Re-compute time-average nr_running on read
bcc4cb0 proc: enhance time-average nr_running stats
eb8cfe3 scheduler: compute time-average nr_running per run-queue
3289d63 fs/dyn_sync_cntrl: Linux 3.4 Kernel compatibility fixup
69e8ea0 fs/dyn_sync_cntrl: dynamic sync control
78b573b arm/crypto: Add optimized AES and SHA1 routines
6c32401 Optimized ARM RWSEM algorithm
8bacba9 lib/string: use glibc version
241b18f lib/memcopy: use glibc version
f86c633 drivers/input/touchscreen/synaptics.c ADD: Logo2menu and fix s2w so it relies on soft key area
8e70615 drivers/input/touchscreen synaptics_3200.c Revert: some testing output and put s2w back on the soft keys rather than that strip above them
b9026a9 Deleting Kcontrol as it is no longer needed Signed-off-by: Zarboz <[email protected]>
3e7754a adding kcontrol
9dbe323 drivers/staging: Add: Google snappy compression support
8408cdf adding defconfig
2b5a2ee fixing voltages
4710a94 checkin
ebdd621 block: add kconfig and makefile triggers for files
a195846 block: introduce VR I/O scheduler
7444190 block: Introduce SIO I/O scheduler
22ec68c Block: Introduce FIOPS I/O scheduler
2b7c5fd block: introduce BFQ scheduler
c665628 block: Introduce ROW Scheduler
2907ed1 staging: Introduce Zcache/Zram/Zsmalloc from 3.6.0 upstream kernel
477f3fe Logo2Menu picked from Tbalden at https://github.com/TeaMSeven/android_kernel_htc_m7-sense/commit/b664405dde0519aea04d7c4c74aac9f9573d38f4
9d620ea patching mpdecision to most upstream
fa59b05 adding in governors
7241520 Merge branch 'master' of github.com:Team-Blackout/Blackout-M7
39d1eb7 arch/arm/mach-msm cleanup GPU OC
deb24a0 arch/arm/mach-msm/acpuclock-krait ADD: Cmdline_options
b8e8b75 updating gitignore
8e4e6af arch/arm/mach-msm/ Add: Gpu oc and increase bottleneck
67279fc arm/kernel return_address Cleanup: useless warning
10f81a6 Embedding Kcontrol modules to be built with source when avail
36f7454 arm/mach-msm acpuclock-8064 ADD: 192mhz step
6faa4fa Kernel/Power main.c Fix: perflock
27a75af thermal: update upstream msm_thermal with 3-phase control
994dc37 msm_thermal: patch to upstream
fa010b3 msm_thermal: 3-phase thermal throttling
ad11da5 adding defconfig for easy building
2f495eb arm/mach-msm Makefile:ADD makefile flag for mpdecision
5de42b2 mach-msm: Add msm_mpdecision
8ee1980 arm/mach-msm Kconfig: ADD Build switch for Mpdec
d1b56c0 kernel/wq: fix misuse of __cpuinit for hotplug functions
274b83e revert hacks for the previous misuse of __cpuinit for hotplug only functions
57710f1 kbuild: drop cpuinit/cpuexit checks in modpost
b5688b8 cpuinit: turn __cpuinit into nops
5b44bfa cpuinit: get rid of __cpuinit, manual fixups
b6305fe cpuinit: get rid of __cpuinit, sixth regexp
40ad575 cpuinit: get rid of __cpuinit, fifth regexp
9a5f1e2 cpuinit: get rid of __cpuinit, fourth regexp
84a245a cpuinit: get rid of __cpuinit, third regexp
d41a69a cpuinit: get rid of __cpuinit, second regexp
9d2e88f cpuinit: get rid of __cpuinit, first regexp
2b4d6c5 arch/arm/mach-msm/acpuclock-krait ADD: Cmdline_options
15c7c7e updating gitignore
7bd405e arch/arm/mach-msm/ Add: Gpu oc and increase bottleneck
f06e51b arm/kernel return_address Cleanup: useless warning
98a7dd8 Embedding Kcontrol modules to be built with source when avail
4709414 arm/mach-msm acpuclock-8064 ADD: 192mhz step
f898152 Kernel/Power main.c Fix: perflock
cf219e3 thermal: update upstream msm_thermal with 3-phase control
e7bb8f8 msm_thermal: patch to upstream
ff3591e msm_thermal: 3-phase thermal throttling
495fc6d adding defconfig for easy building
935721c arm/mach-msm Makefile:ADD makefile flag for mpdecision
74677e3 mach-msm: Add msm_mpdecision
aeded6b arm/mach-msm Kconfig: ADD Build switch for Mpdec
1df0378 kernel/wq: fix misuse of __cpuinit for hotplug functions
12156a9 revert hacks for the previous misuse of __cpuinit for hotplug only functions
8d60aff kbuild: drop cpuinit/cpuexit checks in modpost
cb48b36 cpuinit: turn __cpuinit into nops
83279af cpuinit: get rid of __cpuinit, manual fixups
7bf02b5 cpuinit: get rid of __cpuinit, sixth regexp
8b156af cpuinit: get rid of __cpuinit, fifth regexp
053f4e5 cpuinit: get rid of __cpuinit, fourth regexp
8864ea5 cpuinit: get rid of __cpuinit, third regexp
4f6682b cpuinit: get rid of __cpuinit, second regexp
3049cef cpuinit: get rid of __cpuinit, first regexp
1b5cd31 drivers: cpufreq: address issue where cpus forget their clock speeds
77cd8c7 mach-msm/cpufreq Revert: Forcing 1.7ghz as current policy allow userspace to control with set max pol
f9a8a37 drivers/cpufreq Add:intellidemand
1319961 acpu: show a useful warn message
aa84e2c Voltage Control: initial voltage control for MSM S4-Pro SOC
9f9fb2b arch/arm/mach-msm/ Add: Initial OC
f4ccb1b force fastcharge
ee785dd Import Topology drivers from CAF
55d0e0d acpu: export krait variant to debugfs
222c785 acpu: export krait variant to debugfs
e74f800 fix gcc4.7 compile
beae39b Linaro -O3 fixes
ed32dee Fixing earpiece amplification in call.
87f405a Adding Defconfig pulled from ATT device
39d5f95 HTC Source m7ul-3.4.10-jb-crc-ddcfb8c
[B]f205eae[/B] arch/arm/mach-msm/ acpuclock Removing: 384mhz step as its been reassigned to 192mhz
49b9ad5 arch/arm/mach-msm: actually underclock :P
5d5b42d lightsensor: fix broken lightsensor table!
1f641ea fixing merge error
fecf160 arch/arm/mach-msm/acpuclock Fixing VDD to more stable values for boot
77531fd Merge branch 'master' of repomachine.zapto.org:zarboz/blackout-m7
8993e46 Fixing d3rp
75c1cfb arch/arm/mach-msm acpuclock ADD: ultra low clock freqs for screen off battery saving :D
07981af arch/arm/mach-msm/board-m7-gpu.c Fix: derp i forgot this after fixing clock values
efc6e6b arch/arm/mach-msm/acpuclock Refining VDD tables
3f4dda3 deleted: arch/arm/boot/boot.img
2e54813 fixing gcc 4.8 warning
1e352e6 Fixing voltage issue
c96fdc6 removing some optimization flags for now
af7c34b adding 162mhz step
49de6fd fixing voltages
9fbec05 fixing gpu clocks
2c44f37 updating clock tables
4dc4023 Fixing GPU Clocks
6a00aac forgot to fix cmdline here
c11098a updating defconfig
75cc9d4 arch/arm/mach-msm/ board-m7-gpu this got lost in cherry-picks
f353e65 usb otg: removing whitelist config to let more devices use OTG host
755531f added smartmax - WIP
Man _______ doesn't work or is not working righ!!!!!!!!!!
If coming from Flar2's kernel you NEED to flash the stock boot.img attached to this post BEFORE you flash beastmode other wise you will receive a failure to boot ​
You can report all bugs on my bug tracker located here :
Bug tracker
The proper format for reporting is on the google code page but please attach the following to your bugreport post:
Adb logcat dump of event
kmesg dump of event < dont know what that is ?? here is a easy way to get it
after you have the problem promptly reboot your phone
Code:
adb pull /proc/last_kmsg ./last_kmsg.txt
this will spawn a .txt file in the directory your shell is in upload this file this will suffice for a stacktrace
If you fail to report a bug with a logcat+kmsg i will close it and ignore the bug until you provide a log
I WILL NOT REPLY TO BUG REPORTS IN THREAD PLEASE FILE A BUG REPORT AS INSTRUCTED IF YOU WANT YOUR PROBLEM RESOLVED IN A TIMELY MANNER!
MSM_ThermalD
Kernel based 3-phase thermal control!
This replaces your /system/bin/thermald binary which is renamed by the installer to thermald_bck.
It will throttle your cpu speed to keep it cool and unleash it if the cpu has cooled down enough. (3 phases: low, mid and high)
Check /sys/kernel/msm_thermal/conf/ for the thermal configuration
allowed_max_high = highest threshold (phase 3)
allowed_max_low = remove the throttling if we cooled down to this (clr_thrshold)
allowed_max_freq = max frequency if throttled (limit)
[...]mid[...] = same as above, just for phase 2
[...]low[...] = Lowest threshold (phase 1)
check_interval_ms = how often shall we check? (sampling rate)
Default: 100ms (=0.1sec)
shutdown_temp = if we reach this shut down the device!
Default: 80°C
Click to expand...
Click to collapse
MSM_MPDecision
100% kernel based multi core decision! (should cpu1/2/3 be online or not?)
This replaces your /system/bin/mpdecision binary which is renamed by the installer to mpdecision_bck.
Check /sys/kernel/msm_mpdecision/conf/ for the configuration.
startdelay = time until mpdecision starts doing it's magic (20000)
delay = time between checks (70)
pause = if something else plugs in the cpu, fall asleep for 10000ms (10 secs)
scroff_single_core = if the screen is off, don't plug in cpu1/2/3. Additionally: Unplug all cpus except cpu0 when screen is turned off (1)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
min_cpus = min cpus to be online, cannot be < 1. Default: 1
max_cpus = max cpus to be online, cannot be > 4. (if you set it to 2 and min_cpus to 1 you will basically have a dualcore) Default: 4
idle_freq = a value against that will be checked if a core +/- is requested. (486000)
If cpu0 is below that value and a core up of another cpu is requested, nothing will happen.
If any other cpu is above that value and a core down of that cpu is requested, nothing will happen. (otherwise it would now put down that cpu even though it is still working, which isn't what we want)
Hot plug thresholds (aka now it gets 'complicated')
This small formula calculates which value will be used: (number_of_cpus_online - 1) * 2
The result of this formula will be the nwns_threshold where a new cpu is hotplugged.
The result of this formula + 1 will be the nwns_threshold where a cpu is unplugged.
nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)
Example:
One cpu is online.
(1 - 1) * 2 = 0 ergo:
nwns_threshold_0 = cpu1 will be hotplugged at this value
((1 - 1) * 2) + 1 = 1
nwns_threshold_1 = cpu0 will be unplugged at this value
Since we can't unplug cpu0 this is '0'.
Two cpus are online.
(2 - 1) * 2 = 2 ergo:
nwns_threshold_2 = cpu2 will be hotplugged at this value
((2 - 1) * 2) + 1 = 3
nwns_threshold_3 = cpu1 will be unplugged at this value
etc...
The default values are:
NwNs_Threshold: 12, 0, 25, 20, 32, 28, 0, 35
TwTs_Threshold: 140, 0, 140, 190, 140, 190, 0, 190
Where the position and function of the number equals the result of the above explained formula.
(all times are in ms)
If you want to see the mpdecision magic happening:
Click to expand...
Click to collapse
What is ARM Topology:
ARM Topology allows individual queue'ing of tasks to cores by the scheduler, For intelligent load balancing and more data crunching power. This has come from the Linaro Team you can view the most recent patch at from http://patches.linaro.org/9894/ all patches at http://patches.linaro.org/project/linux-arm-kernel/
Click to expand...
Click to collapse
What is BB ?!
Blinking Backlight Buttons
n3ocort3x said:
BLINK BUTTONS
VIDEO:
Click to expand...
Click to collapse
and im here
Welcome!
Sent from my HTC One using Tapatalk 4 Beta
Thank You for your contribution :good:
Excellent! Will it work on 4.2.2?
EDIT:
Just saw the other thread! Once again - thanks!
Hi,
After I used some different kernel, this one is the best for me. No lags, no stutters or anything (compared to the others I tried) and I love the ability to set as I like the thermal throttling and the Mpdecision.
It's the only kernel where I have no lags in XDA app, thanks to Mpdecision stuff and the different settings.
Great performance and tweaks and battery life is perfect, thanks for your work!
I recommand this kernel for the users always with a 4.1.2 rom like me
There is just the GPU overclock wich does not work for the 487 Mhz step.
i had a little problem with cpu frequencies. after a time change it to min 384 and max 11xx mhz
my default are 162/1728mhz.
rest works fine.
default settings for thermal and mpdec ok or gives better settings?
Sent from my HTC One powered by TrickDroid
im using the Glas.t screen protector, just wondering if after flashing the kernel will the button work?
Hopie said:
i had a little problem with cpu frequencies. after a time change it to min 384 and max 11xx mhz
my default are 162/1728mhz.
Click to expand...
Click to collapse
Code:
Echo "0" > /sys/kernel/msm_mpdecision/conf/boost_enabled
About the same problem here ...
Important info from Zarboz.
Zarboz, is it possible to change home/menu button?
normal = menu
long press = home
Hopie said:
Zarboz, is it possible to change home/menu button?
normal = menu
long press = home
Click to expand...
Click to collapse
That's a Rom side setting
Sent from my HTC One using xda premium
ok... thx.
Sent from my HTC One powered by TrickDroid
Hopie said:
ok... thx.
Sent from my HTC One powered by TrickDroid
Click to expand...
Click to collapse
I think it's a smali edit in settings.apk
Sent from my HTC One using xda premium
Hi,
Any news for this awesome kernel (like the GPU overclock, 487 Mhz step does not work, at least for me, even if I chose it in Aroma)?
I just see this in the ElementalX thread:
flar2 said:
Update coming later this week. HTC released the latest 4.1.2 code, so there should be updates for button sensitivity, camera, and I think they included the code for the earpiece sound routing this time.
Click to expand...
Click to collapse
Maybe some things interesting
@Zarboz
I'm basing my kernel on your kernel sources so thought I might share this with you... Since it should be compatible with your sources.
Just omit the m7mod_defconfig
And ohh apq8064_M7.c is broken I think. It's causing errors when compiling so what I did was point it back to sound/soc/msm/apq8064.c for the mean time.
Riyal said:
@Zarboz
I'm basing my kernel on your kernel sources so thought I might share this with you... Since it should be compatible with your sources.
Just omit the m7mod_defconfig
And ohh apq8064_M7.c is broken I think. It's causing errors when compiling so what I did was point it back to sound/soc/msm/apq8064.c for the mean time.
Click to expand...
Click to collapse
Link me to your bitbucket
Sent from my HTC One using xda premium
Any update to this kernel ??
Sent from my HTC One using Tapatalk 2

[KERNEL] [KK] [L] [Linear 2.9] [Linaro GCC 4.9.1] [08/07]

{
"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"
}
This is my idea about the kernel: close to stock, simple and "linear".
I just added things that i need for a good kernel and i thought I'd share it with the community.
​
Features:
Aosp kernel
Based on android-msm-hammerhead-3.4-kitkat-mr2
Based on android-msm-hammerhead-3.4-l-preview (L version)
Stock mpdecision
Build with Linaro GCC 4.9.1-2014.07 toolchain optimized for Cortex-A15
LCD_KCAL: Color Control driver
Faux Sound Control
Voltage Control
Kexec-Hardboot support
Gamma Control
USB Fast Charge
Sweep2wake, doubletap2wake, sweep2sleep,
Prevent touches during phone calls, fullscreen option
wake timeout
Option to disable touch wake with power button
SIO, FIOPS,ZEN and BFQ i/o schedulers
backlight dimmer
network speed tweak
exFAT support
ntfs support
call recording support
Fixed some warning
Always on rgb led support
Reduce minimum panel brightness
kgsl: Report GPU frequency correctly
...and more on my git..
How to flash:
Reflash your rom if you were using another custom kernel on your rom
Flash kernel - no need to wipe
reboot
enjoy
Download:
KK
Linear 2.9
L-preview
Linear 2.9-L
If you like my work, please feel free to donate ^_^
In $
In €
Changelog:
Linear 2.9 / 2.9-L - Aug 7, 2014
Sound Control: expose direct register manipulations to userspace
Sound Control: Misc clean up for newer WCD9xxx SOCs
Sound Control: let register lock be dependent on different hw revisions
Sound Control: separate locking mechanism for recording and playback
msm: use of swp{b} is deprecated for ARMv6+
ARM: be strict about FP exceptions in kernel mode
ARM: add support for kernel mode NEON
ARM: crypto: add NEON accelerated XOR implementation
ARM: 7835/2: fix modular build of xor_blocks() with NEON enabled
ARM: only allow kernel mode neon with AEABI
Linear 2.8-L - Aug 1, 2014
Merge android-msm-hammerhead-3.4-l-preview source code
Linear 2.8 - Aug 1, 2014
bug fixes "Color Profile" in Linear configuration
Add /dev/frandom support
Linear 2.7 - Jul 30, 2014
Add more tcp: westwood, htcp, vegas, veno, illinois
set westwood by default
BFQv7r4 scheduler
update BFQ-v7r5
add ZEN scheduler
Add backlight dimmer option
More gradual levels for backlight dimmer mod (based on @MZHou module)
Backlight dimmer mod: more gradual transitions
backlight: fix a bug where the screen would be completely dark
backlight: clean the code
backlight: add minimum backlight brightness module param
backlight: scale max current when the brightness level is below 15
Add more linear setting:
CPU MAX frequency
CPU Governor settings
TCP congestion
GPU MAX frequency
add more Color Profile
backlight dimmer
Linear 2.6 - Jul 23, 2014
Linear Configuration file: set your kernel (credit to flar2)
disable s2w/dt2w after timeout
disable timeout by default
Revert "slimbus: overclock root freq
Linear 2.5 - Jul 19, 2014
Build with Linaro GCC 4.9.1-2014.07 Cortex-A15
Option to disable touch wake with power button
Add option for sweep2sleep only
fullscreen option
Make power button also disable irq_wake in touch driver
fix unbalanced irq_wake
arm/dts: hammerhead: Optimize panel init/uninit sequence
Linear 2.4 - Jul 17, 2014
exFAT support
fs: exfat: Update to v1.2.8
stereo call recording support
slimbus: overclock root freq
msm: thermal: Update to speed up bootup time
softirq: reduce latencies
add gpu simple governor
ntfs support enabled
Linear 2.3 - Jul 11, 2014
ARM: dts: msm: increase adsp heap size for msm8974
arm/dt: msm8974: Increase "ib" values for VIDC DDR bandwidth request
net: loopback: set default mtu to 64K
ARM: dts: msm: Increase OCMEM BW request for video decode
prevent touches during phone calls while screen is off and s2w or dt2w are enabled
revert lge: remove console enabler function call
Linear 2.2 - Jul 9, 2014
Linux 3.40: clean source, close to stock
block: deadline: Optimize for non-rotational
Linaro GCC 4.9.1: fix compilation warnings
bcmdhd: reducir wakelocks
block: row: add magic values
optimized ARM RWSEM algorithm
Revert ofast
ARM: Use -mcpu=cortex-a15 when targeting MSM Krait CPUs
Added sweep2wake, doubletap2wake, sweep2sleep
sound: hack faux sound
Increase size charging percentage Indicator
Linear 2.1 - Jul 1, 2014
Ofast optimization level
Percentage indicator charge when phone is off
ARM/dt: set values minimum panel brightness to 4
mm: push readahead to 512kB
various fixes
Linear 2.0 - Jun 27, 2014
fix miui compatibility
msm_thermal.c:improvement
Input: Send events one packet at a time
mdss: dsi: Resolving memory leak in parse dsi commands
leds: leds-qpnp: Set proper flash duration
msm: Improve qpnp-vibrator scheduling
deadline: Allow 0ms deadline latency, increase the read speed
deadline: enable default
Linear 1.9 - Jun 23, 2014
Linux 3.4.94
Add SIO and FIOPS i/o schedulers
fiops: enable default
Reduce minimum panel brightness to 3
msm: kgsl: Allow GPU start to run in a high priority queue
msm: kgsl: Add an input handler to power up the GPU on a touch event
msm: kgsl: Fix nice level for higher priority GPU start thread
msm: kgsl: Schedule adreno_start in a high priority workqueue
Previous versions:
AndroidFileHost
Credits:
savoca
Christopher83
faux123
showp1984
flar2
neobuddy89
franciscofranco
myfluxi
Cl3Kener
mzhou
Tasssadar
CriGio
#lafossa
Google
Xda
..and anyone i've forgotten ...
Linear G+ community
Source
Banner:
LINEAR CONFIGURATION
You can change many parameters with this configuration file located in /etc/linear.conf without using 3rd party applications.
Use a file manager with root permissions, making sure you have permission to read/write and the latest version of busybox.
Note - Applications such as trickster there may be conflicts... use script or app, otherwise any post reporting issue will be ignored. This kernel has mpdecision stock, a touch of boost frequency 1267 MHz, this frequency will be displayed as a minimum in applications such as trickster mod. Minimum frequency is 300 MHz.
To apply changes there're 3 methods available:
1 - reboot device
2 - install a file manager with run script feature as root browser, go to directory /etc/init.d and open (as a script) 99linear.
3 - Android terminal emulator and type these commands:
Code:
su
./etc/init.d/99linear
To verify configuration options open log file in /data/local/tmp/linear.log
OPTIONS:
CPU MAX freq
CPU Governor
i/o Scheduler
Readahead Buffer Size
TCP congestion
Vibration
Sweep2wake Sweep2sleep - 0 to disable sweep2wake / 1 to enable sweep2wake and sweep2sleep / 2 to enable sweep2sleep only
Doubletap2Wake - 0 to disable doubletap2wake / 1 to enable doubletap2wake bottom / 2 to enabled doubletap2wake fullscreen
Power Key Toggles S2W/DT2W - 1 to disable s2w and dt2w with the power button turning the screen off
S2W/DT2W Timeout - enter number of minutes to automatically disable Doubletap2wake and sweep2wake
Fastcharge - 0 off / 1 on
GPU Governor - ondemand/simple/performance
GPU MAX freq
Color Profile - 44 profiles
Backlight dimmer - 0 off / 1 on - minimum brightness lower than stock
Thanks !
Thanks man for your work.
amazing.. [emoji122][emoji122][emoji122]
Thank you for your excellent work
congratulations for great kernel! Thank you
thanks for this great kernel
Thank you Hottix
Thanks hottix for this amazing kernel! Good luck
Inviato dal mio Nexus 5 utilizzando Tapatalk
Almost 200 downloads and only a few thanks?
Really?
Thx dude, I'll test this on the next few days.
Sent from my Nexus 5 using XDA Premium 4 mobile app
Thanks mate...Flashing now ..
Thanks for another kernel option. Testing now on my ROM.
Yusei said:
Almost 200 downloads and only a few thanks?
Really?
Thx dude, I'll test this on the next few days.
Sent from my Nexus 5 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Not a problem .... absolutely
I did this just for the fun and I'm happy, thank you for the trust.
The best nexus5 kernel
Tanks
Sent from my Google Nexus 5 [SlimKat]
@hottix
Are you thinking to update the base kernel to 3.4.97? Maybe there are some good fixes between the versions.
dox81 said:
@hottix
Are you thinking to update the base kernel to 3.4.97? Maybe there are some good fixes between the versions.
Click to expand...
Click to collapse
Nope ... source close to stock and clean with 2.2 version :fingers-crossed:
Linear 2.2 changelog:
Linux 3.40: clean source, close to stock
block: deadline: Optimize for non-rotational
Linaro GCC 4.9.1: fix compilation warnings
bcmdhd: reducir wakelocks
block: row: add magic values
optimized ARM RWSEM algorithm
Revert ofast
ARM: Use -mcpu=cortex-a15 when targeting MSM Krait CPUs
Added sweep2wake, doubletap2wake, sweep2sleep
sound: hack faux sound
Increase size battery percentage indicator
Download
Linear 2.2
Very nice kernel! Runs really smooth on first impression. Looking forward to following this.
Sent from my Nexus 5 using Tapatalk
I for one am quite surprised how good this is, I've many kernel's, and kept going back to stock, just wasn't satisfied, but I'm sticking to this one, keep up the good work
Sent from my Nexus 5 using XDA Premium 4 mobile app
Flashed and will report back asap. Just got my new n5 and am not eager to experiment with kernels therefore I really like your approach to stick as close as possible to stock. Another question: di we need to install trickster mod or fku to be able to get use of the kernel features or can we just let it be after flashing? I am not to keen on trying a couple of hundred different settings to get the sweet spot...
I wish you would start a community on g+ you should get a lot of following.?
Sent from my Nexus 5 using XDA Premium 4 mobile app
barclac said:
I wish you would start a community on g+ you should get a lot of following.?
Sent from my Nexus 5 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Oh this is a good idea
We are creating the Linear community! :good:

[Kernel] Vindicator [UberTC6/Strict-Alias/Ofast][5.1][GPU OC/UV] [Release-2.4]

{
"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 Don't Always Run Custom Kernels. But When I Do, I Run Vindicator"
-Worlds Most Interesting Man
Pushbullet Tag: vindicator
Vindicator OTA Updater App: https://play.google.com/store/apps/details?id=com.mcswainsoftware.vindicator.ota
if there are any bugs, contact developer Jacob
You can also follow me on G+ if you would like:
[email protected]
Intro:
This is the first kernel I've ever developed. I just started developing on android a few months ago so I'm brand new to this. I don't consider myself a developer, I'm just good at figuring things out, all credit goes to the real hard workers coming up with original ideas like Franco, Imo, Flar and Faux. Initially this was built as a kernel to compile with my ROM I'm working on but I decided I would let others get a chance to use it as well. I hope you like it and I won't be offended if you hate it. All ideas are welcome and I'll try to help as best I can. If you wish to use this kernel in a rom , feel free! Although I would love it if you let me know just for my own curiosity.
For those looking for a similar experience, but much closer to stock, I suggest giving Zen Kernel a try!​
Goal:​Keep kernel as lean as possible while adding certain, desirable features and optimizing for maximum performance and battery life. The default settings should be optimal for a balance of battery and performance without a need to tweak.​
Disclaimer:​If your phone blows up, its not my fault. If your phone somehow gains perpetual battery life, I'll take full responsibility.​
Features:​-Zen Kernel Base
-Android 5.1
-BFS Cpu Scheduler (Ported By @bbedward)
-Latest Linux 3.10.x
-Compiled With Uber ToolChain 6.0
-Compiled With Ofast, Strict-Aliasing, Graphite, A15 Tweaks, And Loop Nest Optimizations
-Various Other Build Optimizations
-Optional GPU OC To 700Mhz.
-GPU Initial Freq. Is 110Mhz Instead Of 240Mhz Saving Power.
-Additional GPU Steps
-CAF Power Saving Patches
-CPUIdle Driver Updated To Linux 4.0
-Slub Allocator Updated To Linux 3.18
-GPU UnderVolted
-Workqueue Updated To Linux 3.18
-Init Updated From Upstream
-Power Efficient Workqueues
-Low Power Ram Mode Enabled
-Kernel Same Page Merging
-ZenDecision Quad Core Driver
-Hotplug Affinity Enhancements
-Kexec Hardboot/MultiRom(See FAQ For Help)
-UKM Built In And Modified. Just Install Synapse App.
-Savocas Color/Gamma Control
-Lowered Regulator And Screen Voltages
-Lowered Screen Clock Speed
-Lowered Retention Voltages
-Moto QuickWakeup
-Faux's Simple GPU Governor
-Frandom (Efficient Random Number Generator)
-Hardware Floating Point Processing
-ZRam
-ZSMalloc
-I2C Min Freq. Reduced
-Cruft Free
-Slimmed Down(Increased Size Is Due To Optimizations & UKM Not Bloat)
-Tons Of Debugging Removed
-Many Misc. Optimizations
-35mhz Min Freq, 3.09ghz Max
-Several WakeLocks Removed, Such As Sensor_Ind and hsic.
-MPDecision Disabled By Default
-MSM HotPlug
-Mako Hotplug
-Adjustable Thermal With Lean Kernel Mods
-IntelliActive Governor Added
-FIOPS, ROW & BFQ IO Schedulers Added
-Tons Of IO Fixes/Performance Boosts
-No Force Encrypt. Changed To Encryptable.
-Crypto Optimizations For Enhanced IO Throughput When Encrypted
-Voltage Control
-Westwood TCP Algorithm
-PIE & HHF Network Schedulers(reduced latency)
-Tons Of CAF Commits
-Merged In Most Of Franco's Code
-Merged In Parts Of Faux123's Code
-Merged Significant Portions Of Lean Kernel Code
-Optimized RWSEM
-Many Parts Pulled From Upstream
-Merged In All CAF And Franco Interactive Commits Into Interactive
-Francos Conservative Governor
-CPU Boost Completely Removed(Replaced With Franco's)
-Wake Gestures
-F2FS Support
-LK Config
-Vibration Control
-Asynchronous FSync
-Init.D Support
-Potentially Something I Forgot...
Downloads:
[AFH] Kernel: https://www.androidfilehost.com/?w=files&flid=25836
Downloads also through app and pushbullet
Amazing Donors!:
JackPollard
Maybelle
Credits:
Imoseyon
bbedward
Flar2
Franco
Faux123
Linaro
Code Aurora Foundation
Cl3Kener
Engstk
Yank555
Mistertac (Best Tester Ever)
RIPng(DespairFactor)
Neobuddy89
apb_axel
Google
Motorola
If I Missed You Lemme Know!​
XDA:DevDB Information
Vindicator Kernel, Kernel for the Nexus 6
Contributors
Xileforce
Source Code: https://github.com/XileForce/Vindicator
Kernel Special Features: I'm special.
Version Information
Status: Stable
Current Stable Version: 2.3
Created 2015-02-06
Last Updated 2015-05-3
Changelog:
1.0:
-Merged Latest Lean Kernel Code
-Merged Latest Franco Code
-Franco's Thermal Management Replaces Thermald
-Zram ported from Linux 3.19 upstream Using LZ4
-VM Memory Tweaks. (Vfs cache, swappiness,etc)
-I2C min frequency reduced from 50mhz to 19.2mhz
-Retention voltages dropper further
-Removed most Tracers
-Reduced Several Regulator Voltages
-Various CAF Patches
-Disable IO Stats
-Disable More Debugging
-Disable Gentle Fair Sleeper(better performance)
-ZSMalloc ported from Linux 3.19 upstream
-ZPool Ported from Linux 3.19 upstream
-Cut DMA latency in half
-Optimize SFCK Compression
-Reduce Swappiness
-Optimize Dirty Ratios
-Disable HSIC_Host wakelock by default
-Reduce Wlan wakelocks further
-Increase Bark/Pet Time
-Possibly More I Missed.
1.1:
-Savocas New Color/Gamma Control
-Lowered All Regulator Voltages Across The Board
-Lowered Screen Voltages And Screen Clock Speed(no detrimental effects noticed yet)
-Add Under clocked and Over clocked step for L2Cache
-Add 110mhz And 430Mhz GPU Slots
-Fix Simple On Demand Governor
-Additional Build Optimizations
-Integer Square Root Optimizations(3x faster)
-Lower GPU Bus Frequency @ 700mhz(battery and stability)
-Potentially Reduce BlueSleep Wakelock(testing report back please)
-Remove IO Debug
1.2:
-Merged Latest LeanKernel
-Added Option To Disable BlueSleep Wakelock Via Terminal
-Reduced BlueSleep By Default
-Readahead Optimizations
-More Voltage Reductions
-Power Suspend Updated To 1.7
-OC SlimBus
-Revert L2 OC
-Latest Franco Merged In
-Update To Linux 3.10.69
-Fix Ramdisk Issues
-Raise InteractiveX Default Screen Off To 730Mhz
-Lowered Power Draw Further At 35mhz
1.3:
-Added Motorola Quick Wakeup
-UKM Built In. Use Synapse App
-Added Aggressive Build Optimizations
-Merged In New Lean Kernel
-Greatly Reduced GPU Power Draw
-Added Bricked Hotplug
-Added MSM Limiter
-FSync Toggle
-Optimized LZ4 A Bit
-Some CAF Patches
-Increased Available Entropy
1.4:
-Merged In Latest Franco Code
-Removed Bricked Hotplug
-Defaulted Power Aware Scheduling On(Adjust In LkConfig)
-Added Power Efficient Workqueue(Better Battery Life)
-Optimized Timer Code
-Added Westwood TCP Alg.(Best One IMO)
-Updated UKM To Latest
-Updated MSM Limiter
-Numerous CAF/Linaro Patches
-Screen Power Draw Reduced Further
-USB Fast Charge
-Various Code Optimization Patches
-Added Toggles For Arch Power And Gentle Fair Sleepers
-Network Speed Tweak
-Don't Force Sync On Suspend
1.5:
-Kexec-hardboot/multirom support(Huge thanks to team member @jamcswain for porting that!) See FAQ For Help.
-Merged Lean 1.17
-Update To Linux 3.10.71
-Optimize Low Memory Killer For ZRam
-About 50 CAF Patches For Numerous Things(Thanks Neobuddy)
-WiFi Patches
-Crypto,IO,Memory Optimizations
-Entropy Optimizations
-DT2W Fixes
-Screen,GPU Patches
1.6:
-Android 5.1 (Massive Thanks To Imoseyon for merging it in)
-Latest Lean Merged
-Latest Franco Merged
-Mako Hotplug Updates
-Intelliplug V4
-Misc Fixes
-Default Power Aware Scheduler Off Again (Change In lkconfig)
1.7:
-Merged Latest Lean
-Merged Latest Franco
-Ramdisk Fixes For Roms(All Imoseyon)
-IO Boosts
-Updated Linaro ToolChain
-Boot Time Speedup(Jamcswains idea)
-InteractiveX Tweaked(Franco's Idea)
-Numerous CAF Patches
-Mako Hotplug Updates
1.8:
-Merged Latest Lean
-Merged Latest Franco
-Switched Toolchain To Custom Compiled Linaro
-Speed Up Boot Further
-Tons Of CAF Patches
-Audio Fixes/Patches
-800Mhz GPU Step
-MSM Limter Removed
-Added Moto Predictive Touch Driver(Better Responsiveness)
-Updated FB Notifiers
-Disabled MPDecision By Default. Mako Is Default Now
-FIOPS Is Default IO Scheduler Now
-Added Moto Low Memory Killer Optimizations
-CPUfreq and Ext4 Optimizations
-More Debugging Disabled
-Various Other Optimizations And Updates
-Update To Linux 3.10.72
-Probably Stuff I Forgot
1.9:
-Merged Latest Lean Kernel
-Fix USB OTG
-Fix Wake Gestures
-Default To QuadCore Mode For Mako
-Ensure 35Mhz Is Min Freq. on Boot(Fixes Weird Issue)
-Modified UKM/Synapse To Control Wakelocks (Misc Tab)
-Merged Latest Hydra Kernel Changes/Patches
-Fix Battery Drain On BlueTooth
-Frequency Mitigation Preventer V2 (In LKConfig)
-Stability Fixes
1.9.1:
-In Call Audio Fix
1.9.2:
-Updated With Official Multirom/Kexec Hardboot Patch
2.0:
-Merged Latest Franco And Lean Code
-Linux 3.10.73
-Several Memory Leaks Fixed
-Reboot/Bootloops Fixed
-!00's Of Patches
-SELinux Permissive By Default
-Compiled With SaberMod 5.0
-Screen Frequency Reverted To Stock
-Tweaked Interactive Touchboost Parameters Further
-Replaced IntelliPlug With MSM Mpdecision
-Added Back MSM Limiter
-FB Notifiers now Enabled By Default. Toggle Added To Synapse
-Merged In Some Hydra Kernel Ramdisk Fixes
-GPU OC Reduced Back To 700Mhz
-Add Power Aware Scheduling to Synapse (CPU Settings Page)
-Fix Synapse To Display CPU Bin On Front Page
-Revert FastBoot Mods For Now (Buggy)
-KCal Fixes
-MSM_HSIC WakeLock Now Enabled By Default With Divisor Of 5 (Change In Synapse Or LKConfig)
-Mako Hotplug Load Threshold Set Back To 80
-Misc Optimizations
2.1:
-Completely Rebuilt From Scratch Upon Zen Kernel With Input From bbedward
-Some features may be missing atm and may get added back in down the line.
-BFS Cpu scheduler. IMO a significant upgrade over CFS, the standard one used by almost every kernel. Should give better battery life and performance. THIS IS ONE OF THE BIGGEST CHANGES A KERNEL CAN MAKE
-Cleaned up the source and fixed issues.
-EXT4 and F2FS updated with upstream commits.
-Per CPU VMA Caching From Upstream
-BFQ and ROW IO Schedulers
-Touchboost Adjustments For More Butter
-Fauxs Simple GPU Governor
-Lowered the default voltage on 1.497ghz 10mv by default
-Compiled With Ofast Instead of Os (Ofast Is the heighest gcc optimization level, one step above O3. Os optimizes for size, rather than speed.)
-Compressed with optimized XZ rather than LZ4 to keep size down
-Latest lean and Franco merged in.
-Adaptive Low Memory Killer enabled
-So much stuff....and I honestly have no idea on how to write a changelog for a rebase...its an entirely new kernel...
2.2:
-Compiled With UberTC 6.0 (Figured We Would See How It Compares To SM 6)
-Compiled With Graphite Optimizations
-Compiled With Loop Nest Optimizations(An Extremely Aggressive Optimization)
-Compiled With loop-unroll-and-jam(A companion optimization to loop nest also aggressive)
-Small GPU Tweaks
-Greatly increased encrypted IO Performance
-Arm Specific Optimization Patches
-Added Heavy Hitter Filter(Another Network Optimization That May Also Reduce CPU Usage)
-Added Proportional Integral Controller Enhanced(Yet another network optimization algorithm designed to reduce latency and increase efficiency when doing latency sensitive things such as streaming)
-Optimize boot/compressed for Krait
-Addition Branch Optimizations and Inter Procedural Optimizations
-Support CM12.1 Ramdisk
-Optimize ROW and Deadline
-Add Bluesleep Wakelock Toggle
-Reduce Wlan_Ctrl Wakelock
-Default Wlan_rx wakelock divisor to 5
-Default msm_hsic divisor to 6
-Fix lkconfig frequency stuff
-Default below 40% frequency changing OFF
-Cleanup frequency mitigation stuff in lkconfig.
-Add Westwood
-Use amended interruptible threads (reduces cpu load)
-Disable add random on IO
-Reset cpu dma latency to stock...idk what it does so i shouldnt touch it...
-Revert Ram OC (IDK if it even worked)
-Add smb135x wakelock toggle
-A GPU Patch
-Raise default touchboost to 500ms.
-Optimize memcpy and memmove
-Significantly Optimize Console Framebuffer
-Enable non-cacheable streaming enhancement
-Add GPU Compile Optimizations
-Disable a lot more debugging
-Boot with 2.649ghz max freq for stability
-Add OC up to 3.033ghz. Highly unstable IMO but its an option for the brave.
-Cleanup Ramdisk
-Raise voltage a bit on 2.88 for stability.
-Disable useless resource counters to save processing power and battery.
2.3:
-Update CPUIdile Driver and CPUIdle Governors almost completely to linux 4.0(Several Years Worth Of Commits)
-Updated CPUFreq Driver Nearly To Linux 4.0
-Update Suspend/Sleep Driver Mostly To Linux 4.0
-Update SLUB Allocator To Linux 3.18
-Update Block(IO Stuff) From Upstream A Bit.
-Upstream Scheduler Patches
-3.09Ghz CPU Step Added (Likely Quite Unstable) Some People Like That Stuff
-Amperage On 3.03Ghz bumped up a tad for stability.
-Linux 3.10.75
-Frandom random number generator added(Extremely Fast Random Number Generator)
-Power Efficiency Patches From Code Aurora
-Fixed Crash When Switching CPU Govs.
-BFS Updates!
-Update Ondemand to Linux 3.18
-Default OnDemand To Simms22's Preferences
-Merged Latest Franco Code
-Merged Latest Lean Code
-Merged Latest Zen Code
-Franco's Conservative governor updated
-Some Interactive updates
-Color control updates
-ARM Specific Updates
-F2FS Updates
-GPU Driver Updates
-Memory Leak Fixes
-Stability Fixes
-Updated ToolChain
2.4:
-Updated To Linux 3.10.77
-Merged Latest Lean Kernel
-Merged Latest Zen Kernel
-Update Workqueue To ~ Linux 3.18
-Enable Ram To Enter Low Power Mode
-Update mm.h And Memblock from upstream
-Default IO Scheduler To BFQ. Its Been Tested To Be Best For Interactivity
-Upstream Init A Bit
-A Few Patches To SMP
-Upstream Cgroups And Memcg Significantly
-Disable RunQueue Stats. Pointless Bloat and CPU Overhead only needed for mpdecision
-Added Power Efficient WorkQueues Patch From Upstream(This Gives better battery life at the cost of a likely unnoticeable performance hit. Enabled by default. Toggle in synapse CPU settings page)
-Hotplug Efficiency Patch(Optimizes Hotplugging To Handle The Transfer Of Processes From One Core To Another Much Better)
-ZenDecision Added
-Added A Toggle For Mako(Currently Only Works To Disable Mako. Ill Work On It Further In 2.5 Credit to bbedward for this
-GPU Tweaks To Make It Smoother
-UnderAmped(Reduce Current For Every Frequency Up To 2.7ghz. Should Save Power. Experimental)
-Added KSM Tweaked For Android(Disabled By Default, Scans Few Pages, and does so very rarely. I didn't notice a battery hit with it on. Optimizes ram use)
-Franco Kernel Updater Profile Updates
-Ramdisk Modifications(May Fix Some Rom Issues)
-Fix For Ondemand Crashing(Hopefully)
-Misc Tweaks & Patches
-Hotplug Affinity Fixes
-Various Power Saving Patches
-Optimize Copy_Page For Modern Arm Processors
-Do Jiffies Conversions At Compile Time Rather Than Runtime(Saves The Cpu Work)
-Optimize For Our L1/L2 Cache Size
-Allow Options To Be Passed To Memory Barrier Instructions
-2 Patches To Improve File System Performance
-HRTimer Optimizations
-Make Binder Mutex Realtime To Reduce Chance Of SurfaceFlinger Being Blocked
-Keep Track Of ASID Allocations And Try To Reuse Them In Certain Cases To Improve Performance
-Don't Compile CPUIdle Ladder Governor. It doesn't get used anyways.
-Allow Rescuer Thread To Do More Work
-Reduce Runqueue Lock Contention
-don't use compound_head() in virt_to_head_page() this showed around a 1.8% performance improvement in some cases
-Small MultiCore Scheduling Improvement
-Definitely Some Stuff I Forgot
FAQ's
1. How Do I Enable Mako Hotplug?
To enable mako hotplug use your favorite kernel control app like faux or trickster. As of 1.8 it is the default hotplug. In trickster you have to turn off both mpdecision and intelliplug. In faux you need to simply select User Control in the Hotplug Section. The hotplug can be configured using Franko Kernel Updater App.
2. Does This Work With CM12 Theme Engine?
Yes, this works with CM12 Theme Engine and should work on all ROMs properly.
3. How Can I Force All 4 Cores Online All The Time?
First you must enable mako hotplug. Then you need to use Franco's kernel updater app or another app that allows you to tweak mako hotplug settings. In fku app select CPU manager then hotplug control. Change load threshold to 0. Additionally if you just want to make it use 4 cores more often. Lower this number below 80 as desired. This should also be possible to tweak via terminal however I've never used that method.
4. Does This Have D2W, S2W, etc?
Yes, those are part of LK which means they are include in this kernel.
5. Help! I think its making me bootloop!:
This may only apply to specific ROMs and I'm unsure ofnwhy it would change anything but users have reported this to fix the issue. If you are trying a fresh install of a ROM boot on stock kernel first, reboot, then install this kernel.
6. You Broke My Phone! Fix It!:
It will be quite hard for me to figure out what is going on if you don't provide details and a log of what happened. To get a log use any file manager with root support and navigate to sys/fs/pstore I then need the console one.
7. What Kernel Tweaking App Should I Use? What About For Tweaking Screen???:
I now Use synapse as my goto app for kernel tweaking since version 1.3. To control the screen I use the app made by Savoca who created the color control we use http://downloads.codefi.re/savoca/kcal
8. Why Add Zram? We Already Have 3gb Of Ram!
Zram was added in build 1.0 as an experiment of sorts to see how much is was actually being used. V 1.0 introduced a bunch of tweaks to the kernel that essentially make it use more ram in order to give better battery life and performance. Zram was put in place to offset this in a way.
9. Wut Is A LZ4?
LZ4 is a compression algorithm used by the kernel. LZ4 is currently the fastest supported option in the Linux kernel and had to be ported from upstream. It is significantly faster than XZ compression which is what we used prior. The downside is it results in slightly larger file sizes due to a lower compression ratio. However with modern hardware this should be moot. The gains should theoretically be noticed as a general performance bump. Boots should be faster. IO should be marginally faster. Anything that's compressing or decompressing stuff, such as ZRam and encrypted devices will utilize this in a big way. Because its compressing and decompressing so much faster it can also be assumed it is saving battery via less CPU cycles.
10. What Is Strict Aliasing And Why Should I Care?:
One of the big things Linaro does with improving Android's performance is fixing violations of what's known as "the strict aliasing rule." A pointer is said to alias another pointer when they both refer to the same location of memory. This is OK and not an uncommon thing to do. The strict aliasing rule is that pointers of different types should never refer to the same location of memory (aka alias each other). Strict aliasing allows a compiler to make some assumptions when compiling and optimizing code that it otherwise couldn't. It's actually one of the biggest optimizations you can do and it is fairly hard to add which is why most people don't. Here's a nice read up on it http://cellperformance.beyond3d.com/articles/2006/06/understanding-strict-aliasing.html#benefits
11. Come on man. 35mhz is pointless bro!:
A common misconception is that if two frequencies run at the same voltage. They use equal power. In fact this couldn't be less true. The equation for power draw has four variables. Two of which are frequency and voltage. Essentially it is the frequency multiplied by the square of the voltage. Then you would take that and multiply it by a few other things such as capacitance. However that is irrelevant for our purposes as it will not effect the relative results. This means that 35mhz running at 500mv will use about 3x less power than 98mhz at 500mv. Now we say well what about compared to 300mhz? I can stably run that at around 650mv. Maybe slightly less. This equates to about 15x less power usage at 35mhz. Well now that we know that. Who cares? Its not like 35mhz will even get used. Its too low! I beg to differ. I would almost guarantee that if you are not running mpdecision 35 MHz will be within the top 3 most used frequencies. Most likely the top used below sleep. And every time it uses that over 300mhz you are saving 15x the power. Additionally 35mhz also runs at a cache frequency of 35mhz as opposed to 300mhz cache frequency and runs a lower bus speed/voltage saving additional power. The same goes for 98mhz. Hope this helps clear things up.
12. How Do I Disable BlueSleep Wakelock?
Open terminal emulator app. Type su then hit enter then type echo 0 > /sys/module/wakeup/parameters/enable_bluesleep_ws all on one line. It won't say anything but if you turn on Bluetooth and check your wakelocks you shouldn't see the wakelock there anymore. This needs to be set on each boot currently. If you experience Bluetooth connectivity issues don't disable this. To enable it again either reboot or run the same command with a 1 instead of a 0.
13. How Do I Use MultiRom???:
To use multi ROM first you must download the MultiRom App from this location http://tasemnice.eu/bordel/MultiROMMgr-v1.180.apk the play store version doesn't work with shamu yet. Then you will need to open it, go to settings and tap the version number until you are a developer. Then click override manifest URL and for manifest URL enter http://tasemnice.eu/multirom-test/manifest.json the. Go back to the main page. You should now have MultiRom and recovery boxes checked. Click install, reboot etc. To install a ROM. Download a ROM you like, go to twrp, click advanced,MultiRom,add ROM. Select internal storage and the Your zip file. Flash it but don't reboot! After that go back and select "list ROMs" select the ROM u just flashed still and click flash zip and select your gapps,supersu etc. After that simple reboot and select your new ROM on boot use the MultiRom app to manage your ROMs.
More will be added as they come up and I think of them.
Configuration Guide:
The following can be done using your favorite kernel tweaking app. I use synapse.
Clock Speed:
To begin I prefer to leave my max clock speed at the stock 2.649ghz. Set min CPU as low as it can go. As of current release this is 35. For the adventurous you can try 2.88ghz. Often I bump the voltage 12mVolts on 2.88 to be safe.
To find your CPU binning run this command in terminal emulator OR look at the first page in synapse near the bottom:
su (enter)
cat /proc/cpu/msm_acpu_pvs (enter)
(Put a space between cat and /proc)
note that the number may be displayed at the beginning of the next line.
It will then display a number from 0-15. 15 being the best. Don't stress over it too much if you score low, its not the end of the world. It just means you need marginally more voltage to run each frequency.
GPU:
As of Alpha 1.3 the GPU can now be over clocked to 700mhz. This is completely optional. To verify your over clock change the GPU governor to performance and see if it spikes to 700 every so often. If it does it worked! If it doesn't you may need to set the frequency to something else then back to 700 again. It remains to be seen what kind of benefits the GPU over clock will give but it is there for those who want it. The recommended GPU governor is the stock msm adreno one. If you encounter lag in games you can try changing it to performance temporarily while playing that game. Simple on demand is a more performance oriented governor.
Governor:
Most people will probably want to just leave this set to interactive. Its a really good governor that is being actively devolped by CAF, Google, and Franco. It also hooks into Francos CPU Boosting interface. Its "smarter" than OnDemand and generally considered to offer better battery life. If you want even more smoothness some consider OnDemand to provide a bit better performance, however you may get slightly worse battery life. This is because OnDemand ramps up to max frequency when there's is load put on the CPU and then slowly works its way down. Interactive scales through the frequencies on the way up and down which saves battery life but prevents it from jumping to max speed as fast if it is needed. Simms22 recommends using the OnDemand governor with "upthreshold" set to 98 and the sampling rate set to 15000. That is the default setting of the Trinity Kernel. Mistertac made the great suggestion of turning the max screen off frequency down to 600mhz if using the interactiveX governor. This will prevent any misbehaving apps from keeping CPU ramped up while screen is off and give better idle drain. The actual number you would have to type in would be 652800 for the screen off frequency. The Conservative Governor is greatly modified by franco, Its no longer a super slow governor as it once was. It also hooks into his cpu boost control interface meaning you get cpu boost when using it. Conservative prefers the lower frequencies, however so if you find yourself having lag, you may want to switch to another.
PowerSuspend:
The only working options in V1.6 of the PowerSuspend driver are lcd_panel and Userspace which can be found in the miscellaneous section of FauxClock. I suggest leaving it at the default choice of LCD_PANEL. In FauxClock if you navigate to the cpu idle/stats area you will be presented with more options. You should see a list of C-states. For example C0: wfi and C1: retention. These are essentially low power states that the cpu can enter to save power. The higher the C number the deeper the sleep. Last I heard, the optimal configuration was to enable C0, C1, and C3. Paired with lowered Retention voltages, this should give you a very low idle drain.
Hotplugging:
Next go to hot plugging section and disable MPDecision(make poor decision) and enable intelliplug or, enable Mako Hotplug(Franco's) by either selecting user control as your hotplug, or disabling both mpdecision and intelliplug. Tweaking for them is split up below.
IntelliPlug:
FauxClock allows you to further configure intelliplug. If you want more battery set it to Conservative (4) mode which will hotplug the CPU more conservatively and save you battery, essentially this means it will use less cores if it can. For most people, leaving it on Balanced (4) mode will be fine. If you want further battery savings you can set it to EcoPerformance (2) or even EcoConservative (2) which will only use a max of 2 cores. IntelliPlug is able to use a single core unlike Mako Hotplug.
Mako Hotplug:
As far as I know the only way to tweak Mako Hotplug is either through the terminal app, synapse or through Francos app. In Francos app select cpu manager, then Hotplug Control. The main one you will need is load threshold. The default is 80. The higher this number, the more load the cpu needs to be under before it will plug the 3rd and 4th cores. 80 is actually pretty good value for most people and it will use the extra 2 cores when it really needs them. If you want to force all 4 cores on for whatever reason, you can achieve this by setting the load threshold to 0. This will effectively disable hotplugging. Of course you can always find a middle ground as well.
Via Terminal:
The sysfs interface for mako hotplug is...
/sys/devices/virtual/misc/mako_hotplug_control
To adjust... Use echo commands...
Ex:
echo 0 > /sys/devices/virtual/misc/mako_hotplug_control/load_threshold
The above command would set the load threshold to 0.
Thanks Rignfool!
Voltage Control:
Next go to voltage control. I'm a Bin 5 and I can use a 48mVolt undervolt without becoming unstable. Rember! Never set voltages to apply on boot until you have tested them for a few hours first! Most people can probably get away with a 36mVolt undervolt and nearly everyone should use at least a -24mVolt UV. Also remember that if you are running an over clock you may not want to undervolt that frequency. If you find yourself running into freezes or random reboots remove the undervolt!
Thermal:
This kernel comes with the latest IntelliThermal Driver from Faux123, which is a highly configurable thermal driver, as well as Franco's Thermal Driver which is the stock option. It is recommended you use IntelliThermal over Franco's if you wish to customize the values. Change this option under the Thermal Manager section of FauxClock. The optimal settings that I have found are 70 degrees for frequency throttle, and then somewhere between 70 and 80 for core throttle temp, depending on how safe you want to be. Stock is 80 degrees. Leave all cores checked for both frequency throttling and core throttling. I also leave on GPU Thermal Control, but if you encounter periodic lag in games you may wish to disable it. I also leave Core Thermal Control on as well, though I'm not entirely sure what it does lol. Also FYI, the sliders beneath those two options are showing you the current status of them, they are not sliders you can move.....trust me...I tried for like 5 minutes before I realized and felt like a moron....
I/O Settings:
For I/O scheduler select FIOPS. FIOPS is superior to the other schedulers in nearly every way. It is a scheduler designed for flash storage which is what our phones use. My testing has shown that 1536 is the best readahead buffer. Less or more is detrimental.
ZRam:
ZRam is something designed to optimize the ram of a device. What typically happens when a device runs out of space in ram is it is forced to use something called swap. Swap is normally a partition of a hard drive or ssd depending on what is available where the ram can copy some of it's contents to free up space. The problem is even the fastest SSDs are many many times slower than ram. Android by default doesn't have swap, however it does use a low memory killer which essentially goes through and clears out apps that are in ram to free space. ZRam makes a compressed partition inside the ram itself which then acts as a swap partition. Basically when ram begins to fill up. It compresses data and sticks it in a sealed off area of the ram. This let's it stuff way more stuff into ram than normal. To enable ZRam I use fauxclock. Trickster for whatever reason does not work. In FauxClock go to memory settings, then set the Zram size to 300mb and click apply disk size. Then turn it on and set on boot. You have now essentially boosted the available ram via compression!
VM Settings:
There are numerous tweaks you can do to the VM. For this I use FauxClock but IK Kernel Aduitor can do this as well. In FauxClock navigate to memory manager. The first thing to tweak is an option called swappiness. This control is used to define how aggressive the kernel will swap memory pages. Higher values will increase agressiveness. I defaulted this to 10 however the default is 60. This will use more ram but give better performance. Next is VFS Cache Pressure. This controls the tendency of the kernel to reclaim the memory which is used for caching of directory and inode objects. The default used to be 200. Its now defaulted to 10 meaning more ram usage but more performance. Next up is dirty ratio and dirty background ratio. Some things pass through ram and stay there for a bit until they get flushed to the flash storage. These controls essentially dictate how long it should wait before flushing to the flash storage. The longer you can delay it the better performance and battery you achieve, at the cost of ram. Setting these higher will increase ram usage but increase performance. I recommend a background ratio of 30 and a dirty ratio of 50, however feel free to tweak them as you desire.
Color Control:
Next you may want to adjust Screen RGB, value, saturation, hue and contrast. WrinkleFree over in the Lean Kernel thread did extensive testing with a professional grade $1000 screen calibration tool. You can use this app http://downloads.codefi.re/savoca/kcal to control the screen.
For the most truly color accurate screen at D6500K:
Red - 248
Green - 246
Blue - 255
If you prefer a slightly cooler screen and the tuning the iPhone uses which is D7400K:
Red - 237
Green - 235
Blue - 255
More info can be found about color calibration here: http://forum.xda-developers.com/showpost.php?p=57265483&postcount=620
As for saturation. I like to turn it up a bit and make the colors pop a bit more so I leave it around 65. But quite honestly saturation,value,contrast,and hue are going to come down to tweaking it and finding what you like most. Have fun!
These settings are meant to be used as a starting point. Depending on your cpu binning and desires you will probably want to tweak these slightly to fit your needs. I'll add more as new features get added, I learn more, and I think of stuff to add Hope it helps someone!
Sweet! Good work man.
Thanks for sharing.
It does support the CM Theme Engine, right ?
x0nar said:
Thanks for sharing.
It does support the CM Theme Engine, right ?
Click to expand...
Click to collapse
Yessir using it as we speak
Seems buttery enough. Will let you know the battery life on Bliss 2.0
x0nar said:
Seems buttery enough. Will let you know the battery life on Bliss 2.0
Click to expand...
Click to collapse
Good to hear so far. Don't forget to lower your min frequency . Also I recommend either Conservative or Interactive governors ATM as they hook into the new CPU boost. I'll be posting a full configuration guide probably tomorrow. Hope you like it.
New kernel , SUPER
Fauert said:
New kernel , SUPER
Click to expand...
Click to collapse
Hope you like it! No doubt I'll be hearing many bug reports when I wake up tomorrow
I've been testing this kernel on a few different Roms without any issues at all really so everyone should be happy with it.
If anyone gets any reboots though do try and get logs [emoji106]
Xileforce said:
Good to hear so far. Don't forget to lower your min frequency . Also I recommend either Conservative or Interactive governors ATM as they hook into the new CPU boost. I'll be posting a full configuration guide probably tomorrow. Hope you like it.
Click to expand...
Click to collapse
Looking forward to your guide.
Nice kernel. Jist one thing, may be is a feature i dnt know but only 2 cores online when i tried tu push all cores on, just stay with 2 or 1 core on. I changed the hotplug but still the same
Sent from my Nexus 6 using XDA Free mobile app
Bestplayer55 said:
Nice kernel. Jist one thing, may be is a feature i dnt know but only 2 cores online when i tried tu push all cores on, just stay with 2 or 1 core on. I changed the hotplug but still the same
Sent from my Nexus 6 using XDA Free mobile app
Click to expand...
Click to collapse
Are you trying to do this for a Benchmark?
Using the Faux app you can first set it to Intelliplug , then Performance (4) Cores and that should get you there.
If not, try setting it that way and reboot. I've noticed with this phone that I've had to reboot a lot for my changes to actually take correctly.
Cpu2 and cpu3 are stuck in performance...
And does anyone know where in sysfs to adjust mako hotplug?
rignfool said:
Cpu2 and cpu3 are stuck in performance...
And does anyone know where in sysfs to adjust mako hotplug?
Click to expand...
Click to collapse
Gotcha.. Well once Mr Xile wakes up I'm sure he'll have something for you, not sure myself.
Mistertac said:
Gotcha.. Well once Mr Xile wakes up I'm sure he'll have something for you, not sure myself.
Click to expand...
Click to collapse
I found it... And I learned a new Linux command in the process...
Haven't done a full battery test yet, but I seem to be getting the best I've seen so far.
Bestplayer55 said:
Nice kernel. Jist one thing, may be is a feature i dnt know but only 2 cores online when i tried tu push all cores on, just stay with 2 or 1 core on. I changed the hotplug but still the same
Sent from my Nexus 6 using XDA Free mobile app
Click to expand...
Click to collapse
Currently if you disable all hotplugs or if you use fauxclock to set it to usercontrol that enables Franco's mako hotplug. Thats why in an app such as faux you cannot easily force two cores online. However if you use Franco's updster app you can go to CPU manager then hotplug control and if you lower the load threshold it will hotplug more frequently. Setting this to 0 will force all cores online. Additionally as mistertac said. Using b intelliplug on either performance(4) mode or balanced(4) will use all 4 cores pretty frequently as well.

[KERNEL][AOSP/CM][mm6.0/N7.X] Arsenic Kernel-R46 (06/05/2017)

Hi Folks!
Here i present you Arsenic Kernel. Based on close to AOSP - Slim Kernel, Thanks to @Martinusbe for a perfect and stable base.
Started this project for unofficial builds of ROMS with keeping performance in mind without compromising on battery backup. It was supposed to be included in my personal builds of roms but some users requested to release it for other roms so here it is with anykernel method.
zip doesnt offer any module changes and doesnt mess with the ramdisk so you can feel free to dirty flash it over prebuilt kernel or Arsenic's previous versions(Dont forget to clear data of kernel adiutor or anyother kernel control app you're using before).
Keeping op short and simple and with keeping New users in mind, here is a brief description about kernel:
Features:
Supports all AOSP/CM based roms except OOS and OldDroid's AOSP.
Supports Sultanized roms.
Supports Both Android 6.0.x and 7.x.x
Built with Latest GCC 4.9 toolchain from Google.
Device and target flags enhancements and improvements, etc.
Kernel compressed with XZ.
Upstream CAF fixes and changes.
USB Fast Charge.
Switched to -O2 Optimization level.
Adreno idler.
Krait C-states customizations.
ExFat and F2FS support.
Disabled Lots of useless Debuggings and Redundant Code.
New Governors and I/O Schedulers.
Optimized sfck compression.
Various Upstream backports.
SOC Driver Tuneables.
Enabled Arch Power.
Optimized RWSEM Algorithm.
FiiO USB DAC driver for better input detection
Options to disable various wakelocks.(Use them wisely!)
TCP Congestion algos (like westwood,cubic etc).
CPU Input Boost.
Voltage Control.
Various under the hood Battery and performance improvement patches(Advance users can look at my git, each commit is there with proper explaination).
Stability and Battery backup at its Peak!
Available Govs: conservative, impulse, interactive, ondemand, performance, powersave, smartmax, userspace, wheatley, yankactive, zzmoove.
Available I/O Scheds: row, bfq, fiops, noop, cfq, ZEN and Tripndroid.
Keep an eye on the changelog for more/newly add features as this list wont be updated regularly so either have a look on Changelog or just flash Arsenic and explore yourself..!
FROM R24, ONLY NEW MM BOOTLOADER WILL BE SUPPORTED!
MAKE SURE YOU ARE RUNNING A ROM WITH NEW MM BOOTLOADER FOR R24+
if you are still running roms with old bootloader then flash R23..!
Follow THIS GUIDE to Upgrade Bootloader for future support.
From R46, Builds are divided according to the gesture implementation of the ROM. READ THIS before downloading/flashing the builds!
Download links: https://www.arsenic-kernel.download
Mirror (AFH) : https://www.androidfilehost.com/?w=files&flid=82234
(Flash correct build depending on the ROM you are using)
For OOS Compatible Build : Head over to THIS THREAD
Keep in mind:
You can dirty flash it over prebuilt kernel of your rom or any previous version of Arsenic but its always prefered to flash stock kernel or dirty flash your rom if you are already running a custom kernel to avoid any conflicts or problems.
Compatible with both AOSP(Except OldDroid's AOSP) and CM Roms BASED ON Android 6.0 and 7.X
Bugs and issues:
Report if you find any.
Special Thanks and Credits to (in NO specific order):
@Krustak
@Martinusbe
@hurtsky
@Joshwin Aranha
@sultanxda
@eng.stk
@Lord Boeffla
@franciscofranco
@ZaneZam
@Exodusche
@nikowfreak
XDA:DevDB Information
[AOSP/CM] Arsenic Kernel , Kernel for the OnePlus X
Contributors
Nitzz
Source Code: https://github.com/CheckYourScreen/Arsenic.Kernel
Kernel Special Features: Battery backup (at its best) | Performance (30-40% more than aosp/stock kernel "atleast") | Stability - (what else do you expect from a kernel...?)
Version Information
Status: Stable
Current Stable Version: R31
Stable Release Date: 2016-07-20
Created 2016-07-19
Last Updated 2017-05-07
Changelogs:
R46 (06/05/2017) - (Separate build for lineage available from this release)
Merged Security Patches (ranging from 2014-2017)
REDUCED BOOT TIME DRASTICALLY!!! (Boots hell lot faster than any old builds)
Disabled Kernel Panic - Device will simply reboot instead of throwing White LED of Death.
Fixed VPN / L2TP kernel panic issue
Reduced Load Avg.
Merged/Updated Wlan prima driver upto latest patches from CAF
Fixed and Switched to Non Debug build of Wlan driver
Reduced PowerHAL related Log Spam
Disabled Entropy contributions for non rotational devices
optimized input count calculations
Reduced kernel and zip size.
Reduced kmsg and demsg log spam
Increase the buffer-head per-CPU LRU size
Removed CC wrapper
Replaced EXT2 and EXT3 drivers with EXT4 in kernel to reduce size without funtionality loss
Stipped debugging leftovers from modules
Compiling Sensitive modules with -Os
Fixed Audio Leak Issues (Infamous Porn bug from OP3 forum)
Removed rejected files
Updated Busybox
Optimized deadline io sched.
disabled kernel audit logs
Fixed various Null Pointer Dereferences
Fixed null pointer dereference in Fast Charging Driver
Reduced Network latencies
disabled slice idle for BFQ and CFQ
Removed kernel panic from bam_dmux
Fixed various memory leaks
Fixed various spin lock-ups
limited rate buffer msgs in camera driver
Merged/Updated latest F2FS upstream patches
Fixed F2FS default idle interval
Enabled Diag support - Network Signal Guru App Support
Nuked unwanted driver modules
Enabled NTFS R/W
Removed Timer Stats config
Reduced thermal related log spam
Disabled unwanted SCSI support configs
Disabled register dumps
USB related fixes
Added Nightmare Governor
Tuned Impulse Governor
Video buffer fixes and improvements
Fixed entropy depletion issue - generated entropy faster now
/Proc related fd permission fixes
MErged/Updated EXT4 Upstream patches
Fixed password mount issus on cifs
Prevent futex attaching to kernel threads
Blocked Netlink wakelock
Disabled all wakelocks out of the box
updated revision check for newer EMMC
Optimized ZEN I/O sched - upstreamed to V2
ZEN: set fifo batch to 16 to reduce overload on EMMC and CPU
Resolved stack corruption issues
Lineage specific separate build - switched to new gesture implementation
And more stuff which i dont remember . . . :silly:
R32 (21/12/2016) -
Fixed Tethering issues on ROMS with latest CM(trees) changes.
Minor Code Cleanup and Fixes
Old releases:
R31 (06/12/2016)-
December security patches (partial,left over patches will be merged in next release. Critical ones are merged already)
Permissive out of the box. Works on all roms now including DU (didn't hardcoded permissive so can be changed to enforcing via Kernel Adiutor but make sure your rom supports SElinux Enforcing mode-DU doesn't)
Nuked non-working GPU Govs from userspace (wont reboot when you select any broken governor)
Improved Responsiveness (literally 0 delay/latency while providing input)
Fixed lots of code errors/warnings with better indentatioin.
Nuked LP11 state of DSI lanes
Removed unwanted debuggings
Reduced resource utilizations
Fixed CVE-2015-8966
20% increase in transactions per second on memory
Reject groups/events spanning multiple hardware PMUs
No more events which causes soft lockups to prevent device entering into sleep.
R29 (28/11/2016) -
* Optimized square root algorithm.
* Rowhammer vulnerability patch
* Security Patches
* CPU Boost interval improvements
* Fix off by one vulnerabilities
* l2tp: fix oops in l2tp_eth_create() error path
* Staging: android: binder: Allow using highmem for binder buffers
* Add and Enable Modified ElementalX Governor
* Enable DNS Resolver, NFS CIFS
* msm: vidc: add ion_handle checking before mapping buffers.
* Reverted Panic Prevention Measures (for now)-should fix black screen issues for some users who faced it.
* sdcardfs: Flag files as non-mappable
* lowmemorykiller: account for unevictable pages
* Fixed uninitialized variables
* Selinux fixes
* sched/loadavg: Fix loadavg artifacts on fully idle and fully loaded systems
* net: sch_generic: Allow devices to opt-out net watchdog
* msm_rmnet_bam: Actually disable watchdog for msm_rmnet
R26 (13/11/2016) -
* Merged November Patches (i might have missed some, will be included in next release if any)
* Backports of Extra Security Patches
* bam_dmux: increase wakeup timeout
* usb: mtp: increase RX transfer length to 1M (faster mtp transfer rate, yup for real!)
* usb: Avoid spammy warning due to misbehaving Apps
* Allow ignoring system restarts and prevent kernel panic when sub system restart isn't available
* Disable alot of unwanted debuggings
* Enabled L2TP Extensions
* Nuked TV Tuners and their redundant code
* Increased Stability!
* Prevent kernel from going for a panic for any abnormal condition and fill logs instead.
* Prevent kernel panic in case of abnormal ssr being issued by the system for a reboot/shutdown process.
* Decreased Boot Time!
R25 (30/10/2016) -
* Built with Latest GCC4.9 Upstream from Google.
* random: increase read and write entropy levels
* Add and Enable USB Fast Charge
* Add and Enable ZEN and Tripndroid I/O Scheduler
* vfs: Work around NULL pointer dereference in d_path()
* dts: Reduce panel wake/sleep delays
* mdss: move to a kthread for vsync_retire_work_handler (Backport from Pixel)
* kgsl: convert some workqueues to use kthreads (Backport from Pixel)
* drivers: vidc: Enable vidc debugging
* Fix Dirty CoW Vulnerability
R24 (11/10/2016) - ( FROM THIS RELEASE ONLY NEW MM BOOTLOADER WILL BE SUPPORTED!
MAKE SURE YOU ARE RUNNING A ROM WITH NEW MM BOOTLOADER FOR R24+
if you are still running roms with old bootloader then flash R23..! )
* Added support for new mm bootloader and roms.
R23 (10/10/2016) -
* Merged October Security Patches
* Removed alot of redundant code and unused drivers
* Disabled unecessary Debugging(s)
* PM / tracing: remove deprecated power trace API
* config: disable swap
* Update-binary: Remove scanning for deprecated libs
* soc: qcom: bam_dmux: Add and Enable fast-shutdown flag
* cpufreq: impulse: Do not consider min freq change as boost
* mm: set vm_swappiness to 0
* tcp_output: set initial TCP window size to 64K (speed improvement)
* wakeup: add toggle for msm_hsic_host wakelock
* Bluetooth: Remove unused hci_le_ltk_reply()
* Add full compatibility check and left over files for sultanized roms support
* Makefile: remove -g0 flag to decrease boot time.
R18 (17/09/2016) -
*Add support for SULTANIZED ROM's.
*Add support for Android 7.0 based roms.
*Add support for chinese and north american oneplus X
*Merge Driver specific September security patches!
*Add code for removal of deprecated binaries and libs (mm-pp-daemon, deprecated since jellybean known to be cause of heating and batery drain issues)
*Remove Deprecated code from kernel
*Switch to -O2 optimization level.
*GCC only builds from now on, farewell Uber.
Refer to THIS Post plz.
R12 (09/09/2016) -
*UPSTREAM: ppp: take reference on channels netns
*ASoC: check for null function pointer for dummy device read/write
*BACKPORT: Bluetooth: Fix potential NULL dereference in RFCOMM bind ..
*UPSTREAM: net: Fix use after free in the recvmmsg exit path
*UPSTREAM: ppp: defer netns reference release for ppp channel
*UPSTREAM: udp: fix behavior of wrong checksums
*Bump to R11..!
*fs: ext4: disable support for fallocate FALLOC_FL_PUNCH_HOLE
*UPSTREAM: ALSA: control: Fix replacing user controls
*msm: camera: Fix memory read by adding bounds check
*BACKPORT: netfilter: x_tables: validate e->target_offset early
*UPSTREAM: netfilter: x_tables: make sure e->next_offset covers remain�
*BACKPORT: KEYS: potential uninitialized variable
*msm8974-regulator.dtsi: further reduce CPU retention voltage
*Voltage Control: regulator: adjust values for have the full control
*Voltage Control: regulator: set retention-voltage to 600mV
*mmc: core: With great features come great spam
*diag: Reduce error message frequency
*mach-msm: disable smd debug
*audit: disable log spam msgs �
*Implement almighty compiler flags �
*Revert "PM / Wakeup: Use rcu callbacks for better performance" �
*block: disable add_random
*Bump to R9..!
*defconfig: Enable Voltage Control
*Voltage Control: added voltage control for DTS based kernels
*defconfig: Enable exfat support and refractor defconfig
*arm: irq: Tone down kernel logging
*msm: camera: suppress excessive logging - boot faster
*msm: vidc: disable debug logs
*audit: Imma let you finish, but shut up �
*usb: ks_bridge: disable debugging �
*msm: mpm: disable debugging �
*selinux: just shut up �
*msm_rmnet: Kill logspam �
*input: tri-state-key: Fix sometimes not working state switching �
*input: tri-state-key: Fix direct references to HZ �
*fs: updated to exFat support version 1.2.19 �
*fs: Add exFat support version 1.2.9 (kitkat source drop) �
*fs: Add exFat support version 1.2.7 (Samsung OSRC)
R8 (21/08/2016)-
*reverted rtmutex commits to fix heating issues while using heavy apps
*cfq-iosched: fix the setting of IOPS mode on SSDs
*Revert "mm: Add notifier framework for showing memory"
*devfreq: Fix simple_ondemand crashing on startup
R7 (19/08/2016)-
*cpufreq: cpuboost: Fix Unwanted Ramp ups
*msm: vidc: Initialize kernel space stack variables
*sched: Fix memory leakage in build_sched_groups()
*soc: qcom: smd: Fix SMD packet sync loss issue
*gpio: sysfs: fix memory leak in gpiod_sysfs_set_active_low
*gpio: sysfs: fix memory leak in gpiod_export_link
*ARM: DMA: ensure that old section mappings are flushed from the TLB
*dma-contiguous: Re-order the error handling sequence
*rtmutex: Confine deadlock logic to futex
*rtmutex: Simplify rtmutex_slowtrylock()
*locking/rtmutex: Drop usage of __HAVE_ARCH_CMPXCHG
*rtmutex: Plug slow unlock race
*rtmutex: Handle deadlock detection smarter
*rtmutex: Detect changes in the pi lock chain
*rtmutex: Fix deadlock detector for real
*splice: fix racy pipe->buffers uses
*genirq: Prevent proc race against freeing of irq descriptors
*genirq: Sanitize spurious interrupt detection of threaded irqs
*genirq: Remove racy waitqueue_active check
*genirq: Add missing irq_to_desc export for CONFIG_SPARSE_IRQ=n
*irq: Enable all irqs unconditionally in irq_resume
*genirq: Fix can_request_irq() for IRQs without an action
*genirq: Avoid deadlock in spurious handling
*percpu: free percpu allocation info for uniprocessor system
*vfs: fix bad hashing of dentries
*sched/rt: Reduce rq lock contention by eliminating locking
*block: Make CFQ default to IOPS mode on SSDs
*crypto: arm/aes update NEON AES module to latest OpenSSL version
*Enable "tune krait config with cortex-a15""
*Enable pipe flag
*Switch to latest GCC 4.9
*crypto: msm: qcrypto: Fix hash crash if not last issue
*crypto: msm: qcrypto: Fix spinlock deadlock issue
*crypto: msm: remove wakeup lock in qcrypto driver
*crypto: msm: fix qcrypto driver to improve IPSec performance
*crypto: msm: qcrypto: fix crash in _qcrypto_tfm_complet
*cpufreq: interactive:call __cpufreq_driver_target() for cur frequency
*cpufreq: interactive: Exercise hispeed settings at a policy level
*Input: Propagate hardware event timestamp to evdev.
*net: validate the range we feed to iov_iter_init() in sys_sendto/sys_�
*onyx_defconfig: Enable support for FiiO USB DAC
*Don't show empty tag stats for unprivileged uids
*mm, oom: make dump_tasks public
*mm: Add notifier framework for showing memory
*slub: fix incorrect return type of get_any_partial()
*hid: Add driver for FiiO USB DAC
*PM / devfreq: Rewrite devfreq_update_status() to fix multiple bugs
*qcom-cpufreq: Remove use of device_suspended in the hotplug path
*qcom-cpufreq: Fix hotplug blocking logic
*qcom-cpufreq: Block hotplug until cpufreq is ready
*msm: rq_stats: Calculate load based on current freq limit
*ASoC: msm: qdsp6v2: Silence some noise
*prima: Add TDLS config option
*cpufreq: Return directly in __cpufreq_get if policy is NULL
*msm: kgsl: Defer adding the mem entry to a process
R6(10/8/2016)-
*Disable CONFIG_PFT as it is unsupported
*sched: Fix race in idle_balance()
*sched/idle: Avoid spurious wakeup IPIs
*msm: camera: isp: Silence IRQ status log-spam
*sched: Limit setaffinity with CPU_HOTPLUG
*cpufreq: interactive: don't boost cpu if already boosted
*msm: clock: change to arch initcall
*sched: cpu_power: enable ARCH_POWER
*vfp: change to mfloat-abi=hard and mfpu=neon-vfpv4
*cpufreq: Always allow update of user policy
*mm/slub: don't wait for high-order page allocation
*Enable Prima driver( should fix wifi issue on oos(?) , needs testing.)
*USB: fix invalid memory access in hub_activate()
*USB: dwc3: debugfs: Add boundary check in dwc3_store_ep_num()
*msm: perf: Do not allocate new hw_event if event is duplicate.
*platform: msm: Fix compile when CONFIG_PFT is not set
*cpufreq: implement cpufreq_quick_get_util()
*ashmem: fix CVE-2016-5340
*cpufreq: Notify governors when cpus are hot-[un]plugged
*cpufreq: cpuboost: Fix Multiple assignments
*mm/vmscan.c: avoid possible deadlock caused by too_many_isolated()
*mm: vmscan: fix the page state calculation in too_many_isolated
*BACKPORT: perf tools: Document the perf sysctls
*FROMLIST: security,perf: Allow further restriction of perf_event_open
*onyx_defconfig: enable SECURITY_PERF_EVENTS_RESTRICT
*Revert "Enable "tune krait config with cortex-a15""
R4(29/7/2016)-
*cpufreq: Make sure target freq is within limits
*Add and Enable KCAL v2 support.
R3(28/7/2016)-
*cortex a15 optimizations
*Add add sensor_ind wakelock toggle
*ARM: smp: Wait just 1 second for other CPU to halt
*Optimize task_sched_runtime()
*tick: Upstream fixes
*Shift to GCC Toolchain from Linaro (Much smoother and Better Battery backup as compared to linaro builds)
R2(19/7/2016)-
*Touch boost will not exceed configured max cpu freq
*Updated Defconfig.
*Shifted to XZ compression from GZIP (zip size down to 6.7mb from 10mb)
*removed waves effect patch from oem by sultan.
*removed fast idling of cpus when system is partially loaded.
*Enabled TCP congestion modules, westwood set as default.
R1(18/7/16)-
*initial release
Suggestions and FAQs
Suggested profile/settings for kernel adiutor:
Recommended Profile:
CPU max freq : 1.7ghz
CPU min freq : 300mhz
Governor : Impulse / Interactive (Impulse is the best gov. whereas Interactive is the Smoothest!)
Fast Charge : Enabled
Multicore Power Saving : Aggressive
Sync Threshold : 729mhz
Input Boost Freq : 652mhz
Thermal : Core Control enabled
Speaker Driver Leakage toggle(in soc driver tuneable): enabled
Krait C-States Settings toggles: enable all
Adreno Idler : Enabled
GPU Gov. : msm-adreno-tz
I/O scheduler : ROW with 512kb read ahead for int. and ZEN with 512kb for external
Wake locks toggles: DISABLE ALL (this will prevent wifi and bluetooth wakelocks if your device is suffering from any-check battery graph if you get wifi on usage even after being turned off) (turn them on if you face any issue, you wont actually )
TCP Cong Algo : Westwood
Battery oriented:
CPU max freq: 1.5ghz
CPU min freq: 300mhz
governor: Impulse
Multicore Power Saving: Aggressive
Sync Threshold: 729mhz
Input Boost Freq: 652mhz
Thermal: Core Control Enabled
Speaker Driver Leakage toggle(in soc driver tuneable): enabled
Krait C-States Settings toggles: enable all
Adreno Idler : Enabled
GPU Gov. : msm-adreno-tz
I/O sched: ROW with 512kb read ahead for int. and ROW with 384 kb for external
Wake locks toggles: DISABLE ALL (this will prevent wifi and bluetooth wakelocks if your device is suffering from any-check battery graph if you get wifi on usage even after being turned off) (turn them on if you face any issue, you wont though )
TCP Cong Algo- Westwood
Insane Battery Profile:
CPU max freq : 1ghz
CPU min freq : 300mhz
Governor : Impulse
Fast Charge : Enabled
Multicore Power Saving : Aggressive
Sync Threshold : 652mhz
Input Boost Freq : 422mhz
Thermal : Core Control enabled
CPU Voltage : -10 (Global Offset)
Speaker Driver Leakage toggle(in soc driver tuneable): enabled
Krait C-States Settings toggles: enable all
GPU Gov. : msm-adreno-tz
Min. Freq. : 200mhz
Max. Freq. : 330mhz
Adreno Idler : Enabled
I/O sched : FIOPS with 512kb read ahead for int. and ROW with 384 kb for external
Wake locks toggles: DISABLE ALL (this will prevent wifi and bluetooth wakelocks if your device is suffering from any-check battery graph if you get wifi on usage even after being turned off) (turn them on if you face any issue, you wont actually )
TCP Cong Algo : Westwood
---------------------------------------
Default profile for zzmoove gov. is set to 0 by default, change it to your desired profile, more info about profiles are HERE.
I prefer ybat (profile_number=2).
---------------------------------------
Since All of these settings are not visible in official Kernel Adiutor, kindly use Kernel Adiutor Mod from HERE
F.A.Q's :
Can you add [this] and [that] feature to arsenic?
Something I pride myself with this kernel is that it does not have a bunch of random, useless features or patches mashed into it. Everything put into this kernel is thought out well and tested. I see a lot of works being made popular because it has [this] and [that] feature when really, it's nothing revolutionary(atleast to me). As a matter of fact, most things added to any kernel will not make it 5x better than any other kernel. Most of the time, simple is better; and in this case it definitely is!
Any plans of upstreaming the linux version?
No, and i wont. Though i have test builds ready but they wont make up to the release version. Upstreaming linux version doesnt make much difference infact it does degrade Arsenic's performance. Reason why i'm against it is that I've removed almost all possible useless redundant code and debugging present in it to improve kernel in all aspects, upstreaming will not only add alot of redundant code but will also add debugging functions for those redundant code! Which will not only increase kernel's size but will heavily impact on kernel's performance, battery backup and stability. Currently 3.4.0 is "THE" most stable branch and i'd like to keep it.
Why MPDecision? Why not remove the hell outta it?
You want me to remove something which was developed by some of the finest engineers of this world and is currently being shipped on almost all android devices..? Dont you think there would have been a reason why Google chose MPDecision over anyother hotplug.
What most of the users arent aware of is that, MPDecision works best with the default thermal solution, all it needs is a little touch..
As far as adding an additional hotplug, m still thinking about it.
Why so rude?
Not rude, Determined. Everything i do has a reason behind it. And I do sometimes accept feature request if they seems to be worthy.
Actually proper credits for my version of AnyKernel belong to @Lord Boeffla
RJDTWO said:
Actually proper credits for my version of AnyKernel belong to @Lord Boeffla
---------- Post added at 09:33 PM ---------- Previous post was at 09:29 PM ----------
May I ask why you have disabled a few compilation optimizations? It seems counter intuitive LOL. I could have a look to see why (if) they produce errors when you compile
---------- Post added at 09:33 PM ---------- Previous post was at 09:33 PM ----------
May I ask why you have disabled a few compilation optimizations? It seems counter intuitive LOL. I could have a look to see why (if) they produce errors when you compile
Click to expand...
Click to collapse
sure, plz reply in pm or ping on telegram if you use it
Two new kernels in the past few days?? Cool! I will be trying this one out as well! I'll install tonight and it'll get a test run of my work day tomorrow.
Great job. I
Oh and in your profile recommendation, DO NOT use zzmoove with agressive power saving as it has conflicts with its got plug and generally isn't a good thing in general. Oh and for read ahead, use 128 for internal and 1024 for 16gb external, 2048 for 32 and up.
128 won't harm performance at all and should increase stability.
RJDTWO said:
Oh and in your profile recommendation, DO NOT use zzmoove with agressive power saving as it has conflicts with its got plug and generally isn't a good thing in general. Oh and for read ahead, use 128 for internal and 1024 for 16gb external, 2048 for 32 and up.
128 won't harm performance at all and should increase stability.
Click to expand...
Click to collapse
No conflicts so far with Mpdecision so aggressive is a go for me. Read ahead is higher for internal as its much faster than external memory cards, it depends on class/speed of memory card. Since internal is much faster so it can use upto 1024 and for ext 384 is recommended. Do shed a light if m wrong.
Most users doesnt use a class 10 ext. Memory card so read ahead for ext shouldnt exceed 384 imo.
Nitzz said:
No conflicts so far with Mpdecision so aggressive is a go for me. Read ahead is higher for internal as its much faster than external memory cards, it depends on class/speed of memory card. Since internal is much faster so it can use upto 1024 and for ext 384 is recommended. Do shed a light if m wrong.
Most users doesnt use a class 10 ext. Memory card so read ahead for ext shouldnt exceed 384 imo.
Click to expand...
Click to collapse
Aggressive power saving isn't referring to mpdecision. It overrides zzmooves hotplug driver. As for read ahead, its actually vice versa. You don't need a higher value for internal storage because as you mentioned, its much faster. For every 8gb of external data the rule of thumb is generally a 512 bump.
Sorry I haven't had time to take a look at TG again...
RJDTWO said:
Aggressive power saving isn't referring to mpdecision. It overrides zzmooves hotplug driver. As for read ahead, its actually vice versa. You don't need a higher value for internal storage because as you mentioned, its much faster. For every 8gb of external data the rule of thumb is generally a 512 bump.
Sorry I haven't had time to take a look at TG again...
Click to expand...
Click to collapse
Zzmoove's hotplug driver..? Shed some more light on it plz cz kernel isnt shipped with an option to change hotplug, mpdecision is working good so far with zzmoove and aggressive power saving mode.
RJDTWO said:
---------- Post added at 09:33 PM ---------- Previous post was at 09:29 PM ----------
[/COLOR]May I ask why you have disabled a few compilation optimizations? It seems counter intuitive LOL. I could have a look to see why (if) they produce errors when you compile
---------- Post added at 09:33 PM ---------- Previous post was at 09:33 PM ----------
May I ask why you have disabled a few compilation optimizations? It seems counter intuitive LOL. I could have a look to see why (if) they produce errors when you compile
Click to expand...
Click to collapse
Kindly remove this, this might be misleading some New users as pipe isnt supported on linaro 4.9 and i already enabled cortex a15 optz, and no errors in kernel so far
Thnx
Nitzz said:
Zzmoove's hotplug driver..? Shed some more light on it plz cz kernel isnt shipped with an option to change hotplug, mpdecision is working good so far with zzmoove and aggressive power saving mode.
Click to expand...
Click to collapse
Zzmoove has a hot plug driver. Look under Alpha 0.3:
http://forum.xda-developers.com/galaxy-s3/development/info-cpu-governor-zzmoove-t2326544
Aggressive power savings overrides its ability to manipulate cores, so beforehand you either have to disable it or forget about aggressive power saving to avoid conflicts. Yes, mpdecision is a hot plug, but governors can have their own solutions too. PegasusQ has hot plugging too
---------- Post added at 11:29 AM ---------- Previous post was at 11:25 AM ----------
Nitzz said:
Kindly remove this, this might be misleading some New users as pipe isnt supported on linaro 4.9 and i already enabled cortex a15 optz, and no errors in kernel so far
Thnx
Click to expand...
Click to collapse
.... Yeah, sure...
RJDTWO said:
Zzmoove has a hot plug driver. Look under Alpha 0.3:
http://forum.xda-developers.com/galaxy-s3/development/info-cpu-governor-zzmoove-t2326544
Aggressive power savings overrides its ability to manipulate cores, so beforehand you either have to disable it or forget about aggressive power saving to avoid conflicts. Yes, mpdecision is a hot plug, but governors can have their own solutions too. PegasusQ has hot plugging too
.
Click to expand...
Click to collapse
I agree with the hotplug part but as far as i remember i cant see any option to enable zzmoove's hotplug and unless and untill mpdecision is on it wont get activated. For reference you can see boeffla's config app, it has option to change hotplug from default one to zzmoove's but in kernel adiutor its not available and unless you turn off mpdecision(which i dont recommend at all with my kernel) using power saving mode wont affect your device. M using aggressive mode with zzmoove ybat profile with mpdecision enabled and i havent faced any issue! If you dont like using multi core power saving then dont use it, simple as a pie. Its working great for me so m using
Nitzz said:
I agree with the hotplug part but as far as i remember i cant see any option to enable zzmoove's hotplug and unless and untill mpdecision is on it wont get activated. For reference you can see boeffla's config app, it has option to change hotplug from default one to zzmoove's but in kernel adiutor its not available and unless you turn off mpdecision(which i dont recommend at all with my kernel) using power saving mode wont affect your device. M using aggressive mode with zzmoove ybat profile with mpdecision enabled and i havent faced any issue! If you dont like using multi core power saving then dont use it, simple as a pie. Its working great for me so m using
Click to expand...
Click to collapse
I simply stated that it would cause conflicts... If a tree falls in the woods and nobody is there to see it then does it still make a sound?
Love the kernel great work. So much optional tuning in kernel adiutor. Comes with many governors to choose from. The suggested settings are well balanced battery, performance and zero lag.
Well, the Kernel is Solid, no complaints at all. Great work Nimit !
Attached Battery Graph for 2nd cycle.
Updated to R3..!
Updated to R3
R3(28/7/2016)-
*cortex a15 optimizations
*Add add sensor_ind wakelock toggle
*ARM: smp: Wait just 1 second for other CPU to halt
*Optimize task_sched_runtime()
*tick: Upstream fixes
*Shift to GCC Toolchain from Linaro (Much smoother and Better Battery backup as compared to linaro builds)
Recommended update!
Note: if you face a glitch in kernel adiutor regarding min. freq then plz ignore it as its just a glitch, shows current freq (on which CPU is scaling) for a sec and then will come back to the set one (300 Mhz by default). Freq scaling is normal and kernel works just fine!
The kernel is running nothing but fantastic!
Just updated to R3. Reminds me of leankernel back in the days. Smooth and stable.

Categories

Resources