[KERNEL] [ROOT] [SM-N920T/W8 Exynos 7420] [19 Feb] SkyHigh TW 5.1.1 Kernel [v4.5] - T-Mobile Samsung Galaxy Note5

[KERNEL] [ROOT] [SM-N920T/W8 Exynos 7420] [19 February] SkyHigh TW 5.1.1 Kernel [ v4.5 ] [Synapse ++]
*** DEVELOPMENT & SUPPORT CEASED FOR 5.1.1 ***
WARNING
Code:
[COLOR="Red"]PLEASE SHOW RESPECT TO ACTUALLY [COLOR="PURPLE"][B]READ POSTS #1-3[/B][/COLOR]
[URL="http://forum.xda-developers.com/announcement.php?a=81"][B]XDA RULE #1 "SEARCH BEFORE POSTING"[/B][/URL] (GOOGLE, XDA & THREAD),
IF YOU DON'T LIKE A UP-FRONT "MATTER OF FACT" APPROACH,
[B]THEN DON'T BOTHER POSTING[/B]. [/COLOR]
FEATURES
Code:
* Based on official Samsung source: [URL="http://opensource.samsung.com/reception/receptionSub.do?method=sub&sub=F&searchValue=n920"]Samsung OSRC[/URL]
* ramdisk source: N920TUVS2COKC
* Compiled with Linaro gcc-linaro-4.9-2015.02-3-x86_64_aarch64-linux-gnu
* Linux 3.10.96
* [COLOR="red"]AUTO-ROOT binary v2.52[/COLOR] & Install busybox v1.24.1-Dorimanx
* [COLOR="Red"]KNOX WARRANTY VOID: 1[/COLOR]
* [COLOR="red"]SELinux PERMISSIVE[/COLOR] (for Titanium Backup and other apps to work correctly)
* adb insecure
* stock dt.img
* init.d script support (drop in script & set permissions to 755 or 777 and reboot)
* [COLOR="red"]DEEP SLEEP FIX[/COLOR]
* [COLOR="red"]IN-CALL REBOOT BUG "FIX"[/COLOR]
* Possible Screen Mirroring / AllShare Cast fix
* Secure storage = false (should prevent WIFI settings & passwords wiping on reboots)
* RAM management tweaks
* GearVR [U]reported[/U] working (depends on ROM/firmware version installed)
* [B]Synapse app support[/B] for many kernel configurations + more !!
* Many descriptions are in the app ! If you require more info, don't be lazy, please [B]SEARCH[/B] like I did ;)
SYNAPSE FEATURES
ABOUT
PayPal Donation link
SkyHigh kernel thread link
Up time
Total
Sleep
Awake​
A57 CPU
A57 big Cores Frequency Scaling
live frequency
MAX: 2400 MHz (stock 2100 MHz is default)
MIN: 500 MHz (stock 800 MHz is default)​
A57 VOLT
HPM voltage control
A57 big Cores voltage control
A53 CPU
A53 LITTLE Cores Frequency Scaling
live frequency
MAX: 1600 MHz (stock 1500 MHz is default)
MIN: 200 MHz (stock 400 MHz is default)​
A53 VOLT
HPM voltage control
A53 LITTLE Cores voltage control
CPU GOV
CPU governors
interactive (default)
on-demand
conservative
ktoonservative (hotplug)
userspace
performance​
Interactive governor live load at current frequency (A57+A53)
Interactive governor tuning (profiles)
Default
Battery
Performance​Turbo Mode​
A57 GOV
A57 governor tunables
A53 GOV
A53 CPU governor tunables
MULTICORE
HMP threshold tuning profiles
Default
Performance
Battery​
HMP threshold controls for up/down migration
Power Aware Scheduling control
HMP LITTLE Packing
PEWQ (Power-efficient Workqueues) control
Exynos Core Control Interface (choose 5 > 8 cores online)
CPU STATS
CPU0 time in state
CPU4 time in state
BOOST
Input-Booster profiles
key
touchkey​
GPU
GPU stats
Current clock freq
Live Frequency Utilization (load)
Time in state​
GPU power policy control
coarse_demand (default)
demand
always_on​
GPU frequency scaling
Max freq control to 852 MHz (700 MHz is default)
Min freq control to 100 MHz (stock 266 MHz is default)​
GPU Governor
Default
Interactive (default)
Static
Booster (more graphic and benchmark performance)​
GPU Interactive Governor tunables
highspeed clock
highspeed load
highspeed delay​
GPU VOLT
HPM voltage control
GPU voltage control
THERMAL
Sensor temperatures
A57
A53
GPU
ISP​
CPU thermal control
normal temp
critical temp​
GPU thermal control
On/Off thermal manager
temp levels 1 > 5
throttling freq levels​
Memory thermal control
normal temp
critical temp​
ISP (Image Signal Processor) thermal control
temp levels 1 > 5​
BUS
Memory Bus HPM voltage control
Memory Bus voltage control
Internal Bus voltage control
ISP (Image Signal Processor) voltage control
IO
I/O Schedulers
BFQ (tweaked for SSD)
DEADLINE (tweaked for SSD)
FIOPS
CFQ = default (tweaked for SSD)
NOOP
ROW (tweaked)​
Storage read-ahead (256 KB)
General IO tuneable
Add random
IO stats
Rotational
No merges
RQ Affinity
NR requests​
I/O scheduler tunables
MEMORY
Memory state
Total
Free​
Low Memory Killer Profiles
Low
Medium
Custom (recommend)
Default (default)
Aggressive
Exterminate​
Low Memory Killer minfree tuning (OOM LMK)
Adaptive Low Memory Killer
vmpressure_file_min​
Samsung SPCM Service control (Enabled = default/stock)
Ultra Kernel SamePage Merging (UKSM)
UKSM stats
Scan Delay Interval
UKSM Governor
Max CPU consumption​
Dynamic FSYNC control (enabled)
Dynamic dirty page writeback control (enabled)
Dirty writeback active
Dirty writeback suspend​
Virtual Memory
Virtual NAND Swap control (VNSwap)
ZSwap memory pool
Adaptive Dirty Background Ratio on suspend / resume
Adaptive Dirty Ratio on suspend / resume
Drop caches (Clear VFS cache after boot)
Laptop Mode
Swapiness
Adaptive vfs_cache_pressure on suspend / resume​
ADVANCED
Entropy (max 4096)
Gentle Fair Sleepers control (disabled)
Arch Power control (enabled)
randomize_va_space control
pm_freeze_timeout control
Google Play Services Battery Drain Fix
Driver wakelock controls
SensorHub
ssp_sensorhub​SSP
sig_motion_sensor
pickup_gesture
grip_sensor
tilt_detector
proximity_sensor​bcm4773
bcm4773_gps​
POWER SUSPEND
Modes:
Autosleep
Userspace
Display Panel
Hybrid (Autosleep + Display Panel) = default​
PowerSuspend State (enable only with Userspace mode set)
Version push button
AUDIO
(Sound Control by AndreiLux)
Jack media volume control
L/R channel volume
mono mixer​
Speaker volume control
Earpiece volume​
Main Equalizer
Advanced Stereo Equalizer
SCREEN
Live panel brightness
sweep2sleep control
NETWORK
TCP congestion control
All available enabled.
Default = westwood+​
Screen mirror/allshare cast fix control (enabled)
Clean WIFI Lease
WIFI Passwords
Save
Restore​
WiFi Power Mode While Screen-On/Off
Force Off
Off
Fast (default = screen ON)
Max (default = screen OFF)
WiFi DTIM Interval While Screen-On/Off​
RX wakelock timeout control
TCP/IP network security
3G DNS speed & security tweak
Google
OpenDNS
Comodo, Level3
Norton_DNS
Smart_Viper​
GPS time-zone
Original
Asia
Europe
Oceania
North America
South America
Africa​
IPV6-protocol
IPv6 Test push button
IPv6 enable / disable
optimistic detection​
SECURITY
KNOX control
NO_ACTION (default)
Disabled
Enabled​
SELinux
Live status​
BATTERY
Battery info
Charging controls
HV power supplies
A/C Mains
A/C Mains (screen-on)
Standard downstream port
Dedicated charging port
Charging downstream port
Accessory charging adapter
MHL power
Wireless power​
Store Mode
enable / disable (master control)
Store Mode Maximum
Store Mode Minimum​
Battery SCALING calibration (fuel gauge reset)
LED
LED disable control
LED Fade-in/out Time Period
LED Fade control
Fade-in
Fade-out​
Test notification push button
Stop notification push button
FS (File System)
Display FS Type
FS Controls
remount System r/w r/o
remount RootFS r/w r/o​
Scrolling cache control
Optimise Databases (SQLite3)
FSTrim lagfix
Wipe options
cache reboot
dalvik-cache reboot
cache & dalvik-cache reboot​
Clean up
clipboard cache
/data/tombstones
/data/anr logs
/data/dropbox logs
lost+found​
CORTEXBRAIN
Live status
Cortexbrain-Background-Process (Master Switch)
CortexBrain Functions
WiFi Auto
Media Manager
System-Tweaks
Kernel-Tweaks
nmi_watchdog​
CRONTAB
Live status
CronTask (Master Switch)
Cron Tasks
Clean RAM cache (every hour)
Google Service restart (every 3 hours)
Clean app cache & junk (every day at 4:30AM UTC)
clipboard cache
/data/tombstones
/data/anr logs
/data/dropbox logs
lost+found​Optimize databases (every day at 4:40AM UTC)
File system trim (every day at 4:50AM UTC)
Battery scaling calibration (every Sunday at 5:00AM UTC)​
Test Cron Task jobs
USB
USB status
USB mode selection
MTP
PTP
CD_ROM (drivedroid support)
USB_Keyboard-Mouse​
MODULES
CIFS
NTFS
ISO9660_FS
UDF
XPAD
BACKUP & RESTORE
Name - Restore - Delete - Backup
profiles
kernel image​
LOGS
Android Logger control (enabled)
LogCat​
Kernel Logger control (enabled)
dmesg
last_kmsg​
REBOOT
Reboot device
Recovery Mode
Download Mode
Power Off
Clear Synapse Data & Reboot
Restart Synapse
INFO
Reduced logging
exFAT FS support
NTFS R/W support with app
CIFS support (not tested)
ISO 9660 CDROM & UDF FS support
Frandom
mount partitions NOATIME and NODIRATIME by default
FSTrim on boot (ensure consistent IO throughput)
Entropy tweaks
Increased boot frequency
Power-efficient workqueue (PEWQ) efficiency patches
CLEANCACHE & ZCACHE
Microsoft X-BOX gamepad controller module (updated)
LZO de/compression algorithm
Slub tweaked
Much more - check source commits & Synapse
CREDITS
My family !!
@Chainfire - root & SuperSU / @Manh_IT - auto-root method
@AndreiLux - years of support for Exynos development and his various kernel features + Synapse app and UCI code
@halaszk88 - patches and Synapse code I adapted to many of my kernels
@dorimanx - BusyBox and various ramdisk tweaks/ideas
@apb_axel - I adapted and used many of the Synapse controls to suit my kernels
@arter97 - various source fixes/patches
@ktoonsez - ktoonservative hotplug governor
@LuigiBull23 - ktoonservative profiles I've adapted
XDA
Samsung OSRC
and many others!
check github source credits
IF I'VE FORGOTTEN ANYONE, PLEASE DON'T BE SHY AND SPEAK UP, THANKS
XDA:DevDB Information
SkyHigh Note 5 Exynos 7420 TMO Kernel, Kernel for the T-Mobile Samsung Galaxy Note5
Contributors
UpInTheAir
Source Code: https://github.com/UpInTheAir/SM-N920
Kernel Special Features: Synapse ++ | EXT4 | exFAT | NTFS | CIFS
Version Information
Status: Stable
Current Stable Version: 4.5
Stable Release Date: 2016-02-19
Created 2015-10-05
Last Updated 2016-03-04

Warning - ChangeLog - Requirements - Installation - Download - Source
** DISCLAIMER : FLASH AT YOUR OWN RISK **
WARNING :
Code:
[COLOR="Red"]* Under-volting can cause instability
* Over-clocking can cause freeze/reboot, heat & damage to CPU, GPU or other hardware
* Any customizations may void warranty
* May not be suitable for your device or customizations
* UpInTheAir is NOT responsible, the person you see in the mirror is !![/COLOR]
CHANGE-LOG
Open GitHub Change-Logs
Tap/click "Full Change log" under the latest version (i.e. v4.5)
Example: ALL commits (changes) for v4.4.1 > v4.5 are visible at the top section
Tap/click any commit and will display all comments in the top section and code changes in the bottom section for particular commit
REQUIREMENTS
Variant support for:
SM-N920T
SM-N920W8​
Watch >>> THIS <<<
For BUG REPORTING: Stock UNMODIFIED TouchWiz (TW) 5.1.1 ROM (this means no Xposed or tweaks etc)
Custom recovery i.e.. TWRP
INSTALLATION
If you have systemless root installed, then you must REMOVE it as this kernel will auto-root a proven and stable 2.52 binary into system.
Open SuperSU app
Select "Full unroot" option
Reboot (or flash kernel)
Re-install SuperSU app​
Uninstall any CPU control apps, tweaks and init.d scripts etc.
Recommend: Disable or remove KNOX (you can disable with Synapse once kernel is flashed)
Install Synapse app from Google Play and rate it ☆☆☆☆☆ !!
Device Settings:
Enable Developer Options > OEM UNLOCK
If flashing from previous SkyHigh kernel > Device settings > Applications > Synapse > Force Stop > clear data​
If not installed > Install SuperSU from Google Play:
Boot into custom recovery and flash SkyHigh_kernel____.zip FOR YOUR DEVICE and reboot
After boot:
a) wait at least 120 secs to stabilize
b) Open Synapse
c) Tap "Understood"
d) DO this step so some defaults are set !!
1. tap the square menu button top right hand corner
2. tap the three dots button
3. "select all globally"
4. tap the back button next to it
5. apply​
DOWNLOADS
Note5 SM-N920-T / W8 [ v4.5 ]
________________________________________________________________________
Note5 SM-N920P thread > HERE
________________________________________________________________________
OTHER Note5 international & dual SIM thread > HERE
________________________________________________________________________
S6 Edge+ SM-G928T / W8 thread > HERE
________________________________________________________________________
S6 Edge+ SM-G928C/F/G/I thread > HERE
________________________________________________________________________
S6 Edge+ SM-G928P thread > HERE
SOURCE
ALL KERNELS COMPILED WITH SAME SkyHigh SOURCE !!
Github
.

Help & FAQ
THREAD RULES & PROTOCOLS FOR THIS DEVELOPMENT THREAD:
I might not have your device variant and or able to reproduce your "issue". With this in mind, without providing as much information as possible, and resetting your device to a stable unmodified baseline, any potential troubleshooting or logs could be meaningless. So please follow the guidelines set out below. Thanks
BY POSTING YOUR ISSUES IN THIS THREAD, YOU ARE AGREE TO HELP YOURSELF FIRST BY PROVIDING INFO REGARDING:
Code:
1. DEVICE MODEL ?
2. ROM and firmware version (build number, boot-loader etc) ?
3. EXACT steps taken to reproduce YOUR issue
4. Screen-shots (if applicable)
5. Did you read Posts #1-3 completely?
6. Did you search the thread, XDA or GOOGLE?
7. Did you follow the install instructions EXACTLY?
8. What was your previous kernel?
9. Do you have any other known kernel tweaking apps, scripts or mods? ([B]remove them[/B]). [COLOR="Red"]This includes Xposed etc[/COLOR]
10. Try older kernel (if available)
11. Factory reset ?
12. Try latest stock [B]UNMODIFIED[/B] firmware (without custom ROM - if you have installed) and factory reset
13. Delete your ROM BusyBox (kernel uses it's own in /sbin)
ONLY IF YOU HAVE TRIED SUGGESTIONS ABOVE:
Turn on logging in Synapse and save logs AT TIME OF ERROR. AND post together with ALL the above information.
ELSE, DON'T WASTE MY TIME, YOU WILL BE IGNORED AND/OR POST REPORTED !!
THANK YOU :good:
NO FAST CHARGE
If using the pathetic original cable, try disconnect and reconnect the USB cable whilst power is still turned on to the charger
Use a thicker / better cable, will work every time (ie. Note4 OEM cable)
CAN I BUILD A KERNEL FOR YOUR __XX DEVICE ?
I will not build for any device that I can not compile using SAME source, personally test method or debug. Some device variants can compile with same source.
Sorry. I don't have the spare time for any more variant support.
"NO UCI SUPPORT"
It's a ROM busybox compatibility issue
Three choices:
Device > settings > applications > Synapse > force close & wipe data and REBOOT
OR
Remove your ROM busybox from /system xbin and /system/bin (Synapse will use the kernel busybox in /sbin).
Force stop Synapse and delete app data (device settings > applications)
Re-flash kernel as per Installation Instructions
OR
Try install a different busybox
Force stop Synapse and delete app data (device settings > applications)
Re-flash kernel as per Installation Instructions
Synapse or BACKUP/RESTORE ISSUES
It's a ROM busybox or sqlite3 compatibility issue
Remove both your ROM busybox & sqlite3 from /system xbin and /system/bin (Synapse will use it's own from kernel /sbin).
Device > settings > applications > Synapse > force close & wipe data
Reboot or re-flash kernel as per Installation Instructions
BACKUP & RESTORE
DO NOT restore profiles from different kernel version
Refer to THIS post for "how-to" screen-shots
Refer to THIS post for a "how-to" video (thanks @aldoblaga )
LOADABLE MODULES AREN'T WORKING
Check your /system/lib/modules directory. Are any ____.ko present?
Did you flash a ROM or wipe the system partition at any point? Doing this will remove them !
Re-flash the kernel will install the modules.
If modules aren't installed after flash, then re-flash and manually mount system in recovery first.
You can check running modules in terminal with:
Code:
lsmod
KTOONSERVATIVE GOVERNOR
Some info from the author: http://forum.xda-developers.com/showpost.php?p=60223338&postcount=3
DT2W & COLOUR CONTROL
No, I cannot make it work properly with single source for all supported variants
CPU POWER CONSUMPTION
The Samsung Exynos 7420 Deep Dive - Inside A Modern 14nm SoC (by ANANDTECH - Andrei)
F2FS SUPPORT
It's not needed. You wouldn't see any difference or measure much, if anything. Not worth the potential trade-off. This is not eMMC anymore
http://bgr.com/2015/03/17/galaxy-s6-storage-benchmarks/
STUCK ON SAMSUNG BOOT LOGO AFTER FLASH
Ensure you flashed the correct kernel for your device model
Ensure your download is not corrupted. Check MD5 hash or re-download
Your current base firmware (ROM, boot-loader version etc.) may be incompatible - UPDATE to latest with Odin and try again.
CM SUPPORT
Read Post #12
"Unauthorized actions have been detected, reboot to undo changes"
As it's a common warning found with all KNOX enabled android devices, you would have found the answer by Google search and also that it is actually unrelated to kernel and also unrelated to this kernel development..............
It is caused by the process of rooting/modifying your device. Unless you use KNOX, don't worry.
[Q] How to disable
[A] Freeze or delete your KNOX & Security related apps/processes manually (using root explorer or titanium backup (pro) or use Synapse > Security > disable KNOX
CAN I USE OTHER KERNEL CONTROL APPS
No, many features and options won't be available. Remove all other control apps to avoid conflicts !
Synapse is the recommended and has everything you need
BATTERY TIPS
Try some (or combination) of the CPU MULTICORE features in Synapse:
HMP profile = Battery
Power Aware Scheduling (slight performance cost) = Enabled
HMP LITTLE Packing (slight performance cost) = Enabled
PEWQ (power-efficient workqueue) (slight performance cost) = Enabled​
Set A57 & A53 Interactive governor profile = Battery
Set Input-Booster for key/touchkey profile = Battery
Multi-tasking: enable UKSM & "low" or "quiet" profile (slight performance/battery cost)
Set all Advanced wake-lock controls to 1, except GPS. Set it to 4
Set WiFi wakelock control to 2 or 3
PERFORMANCE TIPS
Set A57 & A53 Interactive governor profile = Performance
Set A57 & A53 Interactive governor = Turbo Mode (battery cost)
Once in a while:
Optimize Databases
FSTrim​
RANDOM REBOOT
Don't UV or UC CPU or GPU
Use SkyHigh defaults
Use a stock UNMODIFIED ROM for your device variant
No tweaks, Xposed or other CPU control apps installed
ASV_GROUP (ALL DEVICES ARE NOT CREATED EQUAL)
This is an example from my Exynos5420 source. Similar idea for Exynos420
http://forum.xda-developers.com/showpost.php?p=61579949&postcount=202
CAN I INCLUDE SkyHigh KERNEL IN MY ROM
Although I do appreciate your contribution here, if you could please do not include my kernel in any ROM package etc. This policy goes for anyone.
Having my kernel distributed outside my development thread just removes a lot of credit and more importantly, constructive user feedback that could be helpful to my development or user issue.
DOWNLOAD LINK NOT WORKING
I want to keep this project all in one place - ☆☆ NO MIRRORS ☆☆
Please try again in a few minutes
POOR CPU/GPU BENCHMARK or GRAPHICS PERFORMANCE
Disable any CPU MULTICORE options in Synapse
Disable any Battery profiles in Synapse. Set to default or Performance.
Allow the device to cool. Repetitive testing will heat the device hardware and invoke thermal throttling and lead to decreased benchmark.
HIGH CPU/GPU OC >> excessive heat >> thermal throttling >> reduced clock frequency >> DECREASE PERFORMANCE
DYNAMIC MANAGEMENT OF DIRTY PAGE WRITEBACKS
* [Christopher83]
This feature allows to have two different intervals for dirty page
writebacks and to dynamically manage them when the system has been
resumed (it's active) or when has been suspended.
Three new procfs parameters are exposed inside /proc/sys/vm path:
- dynamic_dirty_writeback is the activation status of this feature,
set 1 to enable it, set 0 to disable it and use the standard behaviour
- dirty_writeback_active_centisecs is the interval for the dirty page
writebacks when the system is active (screen on)
- dirty_writeback_suspend_centisecs is the interval for the dirty page
writebacks when the system is suspended (screen off)
This feature is in part inspired on Francisco Franco's patch:
https://github.com/franciscofranco/mako/commit/34d79548cf16b69c7d0154836018e7f258a22947
Click to expand...
Click to collapse
TCP/IP NETWORK SECURITY
* Thanks to zeppelinrox & V6SuperCharger
Hardening the TCP/IP stack to SYN attack
Bump up tw_buckets in case we get DoS'd
Ignore pings
Don't cache connection metrics from previous connection
Don't pass traffic between networks or act as a router
Enable spoofing protection (turn on reverse packet filtering)
Don't accept source routing
Don't accept redirects
- Further reading:
http://www.cyberciti.biz/faq/linux-kernel-etcsysctl-conf-security-hardening
http://www.symantec.com/connect/articles/hardening-tcpip-stack-syn-attacks
CHROMECAST - STREAMING PROBLEMS
* Thanks to @AtLmd Post
Lock screen MUST be enabled (simple screen lock swipe) I don't know why but it breaks the chromecast app's ability to resume smoothly if switched off
Synapse > Network > DTIM (both screen ON & OFF) = 1
Synapse > Network > WIFI Power Mode (screen OFF) = FAST
.

v1.4b released
v1.4b update for SM-N920-T device
Check out the change-log in Post #2.
Not tested because I don't use T-Mobile variant. I use a SM-N920-C
XDA RULE #1 'SEARCH BEFORE POSTING". Please READ Posts #1-3 BEFORE flashing !!
Bugs:
Still have the call reboot bug with N920C, but seems to be improved. Latest results of testing found in v1.2b release post
Have fun
Cheers
UITA

Will be running this today and let you know how it goes. Thank you very much for your time and work that you have done.

Install darthstalker last night with this kerner and I keep getting random restarts. Tends to happen more when making calls...

No sleep? ?

Random reboot. Rom:Breakdown 2.0
Last kmsg. Latest beta. Amazing battery life!
http://1drv.ms/1MUO22k

jpeps3 said:
No sleep? ?
Click to expand...
Click to collapse
I have sleep time. Sure there isn't an app keeping you up?

@UpInTheAir I'm glad to see you are at work on this kernel again. Welcome back! I hope your travels went well. Looking forward to seeing more of your work here.

dandroid7 said:
@UpInTheAir I'm glad to see you are at work on this kernel again. Welcome back! I hope your travels went well. Looking forward to seeing more of your work here.
Click to expand...
Click to collapse
I just don't have much time afraid. That's why I have to run the threads with a "matter of fact" approach. Particularly since I don't have your variant.

v1.5b released
v1.5b update for SM-N920-T device
Check out the change-log in Post #2.
Not tested because I don't use T-Mobile variant. I use a SM-N920-C
XDA RULE #1 'SEARCH BEFORE POSTING". Please READ Posts #1-3 BEFORE flashing !!
Bugs:
Random reboot during charge. Only rebooted at 100% during A/C charge on my SM-N920C device
Have fun
Cheers
UITA

Shaffer678 said:
I have sleep time. Sure there isn't an app keeping you up?
Click to expand...
Click to collapse
Who I find that out ??

jpeps3 said:
Who I find that out ??
Click to expand...
Click to collapse
Wake lock detector, or Better Battery Stats

UpInTheAir said:
v1.5b update for SM-N920-T device
Check out the change-log in Post #2.
Not tested because I don't use T-Mobile variant. I use a SM-N920-C
XDA RULE #1 'SEARCH BEFORE POSTING". Please READ Posts #1-3 BEFORE flashing !!
Bugs:
Random reboot during charge. Only rebooted at 100% during A/C charge on my SM-N920C device
Have fun
Cheers
UITA
Click to expand...
Click to collapse
Great kernel. Very good performance and battery life. Haven't had the random reboot issue but then again I only charge at night while sleeping.
Will flash new update tonight.
Thanks again for your work.
Sent from my SM-N920T using Tapatalk

I just installed this v1.5b kernel... I will give feedback tomorrow night sometime and let you know how it runs for me.
Thanks for all your hard work on this @UpInTheAir

This kernel run great on t-mobile variant but I can't call anyone...it lags while trying to call someone and once they pick up neither side can hear anything.
Sent from my SM-N920T using Tapatalk

lilviet93 said:
This kernel run great on t-mobile variant but I can't call anyone...it lags while trying to call someone and once they pick up neither side can hear anything.
Sent from my SM-N920T using Tapatalk
Click to expand...
Click to collapse
Can users please follow the development thread protocols and try a few things first. Example is top of Post #3 which you all would have read. I don't use your device variant, so I can't test the exact kernel build, neither can I read minds.
At the very least, details of your ROM and firmware need to be posted so others can give feedback on what is working and not.
Myself, have no issue on SM-N920C (H4 firmware), and with minmial searching found this piece of info from arter97. it may be applicable, maybe not.
http://forum.xda-developers.com/showpost.php?p=62742125&postcount=1303
You will need more feedback here so others may help build a BIGGER picture.

UpInTheAir said:
Can users please follow the development thread protocols and try a few things first. Example is top of Post #3 which you all would have read. I don't use your device variant, so I can't test the exact kernel build, neither can I read minds.
At the very least, details of your ROM and firmware need to be posted so others can give feedback on what is working and not.
Myself, have no issue on SM-N920C (H4 firmware), and with minmial searching found this piece of info from arter97. it may be applicable, maybe not.
http://forum.xda-developers.com/showpost.php?p=62742125&postcount=1303
You will need more feedback here so others may help build a BIGGER picture.
Click to expand...
Click to collapse
I kind of feel bad for you bro. If you expect these people to read I think your gonna be disappointed ?. Xda no longer makes people read or search. They all expect things handed to them. This is the majority these days. The old school guys is a dying breed.

UpInTheAir said:
Can users please follow the development thread protocols and try a few things first. Example is top of Post #3 which you all would have read. I don't use your device variant, so I can't test the exact kernel build, neither can I read minds.
At the very least, details of your ROM and firmware need to be posted so others can give feedback on what is working and not.
Myself, have no issue on SM-N920C (H4 firmware), and with minmial searching found this piece of info from arter97. it may be applicable, maybe not.
http://forum.xda-developers.com/showpost.php?p=62742125&postcount=1303
You will need more feedback here so others may help build a BIGGER picture.
Click to expand...
Click to collapse
No issues with that here. Followed all instructions (DUH) and no issues so far. Had one random reboot but that was because I accidentally OC and hit apply without realizing it, lol.
BACARDILIMON said:
I kind of feel bad for you bro. If you expect these people to read I think your gonna be disappointed ?. Xda no longer makes people read or search. They all expect things handed to them. This is the majority these days. The old school guys is a dying breed.
Click to expand...
Click to collapse
True that. It's getting harder and harder to type the same thing over and over again. They just don't want to fend for themselves.
Sent from my SM-N920T using Tapatalk

Related

[Kernel]G2x-CM7[2.6.32.60] (054-stable)OC~1.55GHz/UV/SLQB/BFQ/ZRAM/Voodoo [Oct-9]

Here's a kernel build based on CM7 Kernel Source Tree
Special Shout out to DebauchedSloth for his pull requests and collaboration on this open source project
Just a statement regarding kernel source: The Kernel Source is of course covered under GPL version 2. Free software does NOT mean no work or time was spent working on it. I have donated a large sum of my free time to hack this kernel. If you use my modified kernel source in its entirety, I kindly ask you to send me a github pull request or PM whenever you find bugs or think you can help improve my kernel hack further. This way the entire community will truly benefit from the spirit of open source. Thank you
What is a Kernel? The Kernel is the Foundation in which everything else builds upon in any software system.
[Car Analogy]: Kernel is like the Engine, Electrical system and the Transmission to a car. The Library, Framework and the Apps [AKA ROM] are the body frame and the rest of the Car.
​
THIS KERNEL is BASED ON CM7 Source Code. So it is COMPATIBLE ONLY WITH CM7 Builds.
Please DO NOT use any task killers, they DO NOT improve performance nor battery life. They INTERFERE with your phone's stability (more crashes) and App compatibilities (Forced Close).
ZRAM (aka CompCache aka RAMZSwap)
ZRAM is an updated version formally known as CompCache and RAMZSwap. It was originally designed for 2.6.38.xx kernels, I have backported to our 2.6.35.xx kernel. ZRAM allows real-time compression of memory objects in RAM thus reducing memory pressure for the Linux kernel and can keep more apps in memory longer (more apps in RAM == better performance, less fetching from slower MMC or SDCard). Compression, however, is not Free. Some CPU cycles are required to do the compress/decompression, so there's a slight penalty for it. The original CompCache / RAMZSwap required a user space binary to control its behavior which adds additional penalty to performance, but the new version ZRAM eliminated the need for a separate dedicated daemon, thus reducing the overhead and increased performance from the old CompCache by 20%. Therefore, with the newer implementation of ZRAM interface, the performance penalty is almost negligible.
Joe's RCU (Optimized for Small SMP systems)
Joe Korty has created an RCU for small SMP systems (> 32 cores). His approach is to isolate all the Garbage Collection (GC, a slow time consuming but necessary processing) to a single core, thus allowing other cores to ONLY work on real required processing. This will allow the additional cores to complete their assigned tasks as fast as possible (not bogged down by GC) then immediately go back to a suspended state (saving battery).
Fast No Hz RCU (Optimized for SMP operations)
Fast NoHz is an optimized version of the traditional Tree RCU. Many new kernels are using the Tickless NoHz design. This RCU is tailored and designed to work with the new NoHz kernel system.
Brain F*ck Scheduler - (BFS)
This scheduler is designed to be simple and speedy tailor specifically for user interface type systems such as desktop/smart phone devices where user interaction is MORE important than serving 1 million web requests (CFS, the default scheduler) at the same time (think of nimble desktop workstations vs large corporate servers).
SLQB - (SLAB allocator with Queue)
This memory allocator is designed for small number of CPUs system (such as desktop or smart phone devices). This allocator is design to be simple and it is optimized for using order-0 pages as much as possible (order-0 pages are the simplest therefore quickest type of memory in a Linux system to allocate). Not all kernels are using SLQB including CM7 main line...
Fair Budget Queue (BFQ I/O scheduler)
This I/O scheduler is an improvement on top of Completely Fair Queue (CFQ). CFQ is fair in terms of time but not in terms of throughput / bandwidth, so BFQ make sure that both time and throughput / bandwidth are balanced across all requests.
THIS IS ONLY FOR THOSE WHO ARE WILLING to FLASH THIS ON HIS/HER OWN PHONE... IF YOU ARE NOT COMFORTABLE WITH THIS YOU SHOULD NOT FLASH THIS.
For those who decide to flash, please post the results and/or issues here
[ Current Release Files: ]
[ Start @ 1.0 GHz, Stock Voltage, Max @ 1.55 GHz ]
(Official LGE/Tegra Voltage Values, Same as STOCK LGE Kernel)
The File ==> CM SV Kernel Version 054 stable <==
[ Start @ 1.0 GHz, Stock Voltage (Low Grade aka LG, Max @ 1.48 GHz ]
(Official LGE/Tegra Voltage Values, Same as STOCK LGE Kernel)
The File ==> CM SV Kernel Version 054 stable (LG) <==
[ Installation procedure: ]
1. reboot to CWM
2. Clear cache
3. Advanced, clear Dalvik
4. install zip from SDcard
5. Reboot
DONE!
[ Bulletin: ]
Version 050 is out. SOD, performance issues fixed
[ Bugs: ]
None so far...
[ History: ]
See 2nd post below!
Standard Disclaimer: Not responsible for bricking your phone, voiding your warranty, or any other pain or suffering you may feel as result of using this ROM or Kernel!!!
My github in Compliance with GPL
[ History: ]
Version 0.0.1 (deprecated)
Added SLQB memory allocator
Added FakeShmoo OC/UV
Added MinMax Governor
Version 0.0.2 (deprecated)
Adjusted Touch Sensitivity
Adjusted virtual keyboard deadzone
Version 0.0.3 (deprecated)
Updated Kernel to 2.6.32.40!!! Latest Patches!
Version 0.0.4 (deprecated)
Added new 1500 MHz frequency
Made Performance Governor Default (supposedly Tegra has HW scaler)
Default to 1100 MHz as startup frequency.
Version 0.0.5 (deprecated)
Fixed Max OC to allow proper 1.5 GHz setting
Revert back to MinMax Governor to conserve Battery Life
Version 0.0.6 (deprecated)
Updated kernel battery driver for better battery reading
Reduced amount of memory freed by oom_kill
Undervolted -50mv across the board by default
Lowest CPU Freq is now 400 MHz instead of 300 MHz, voltage remain the same
Governor switched back to performance due to some issues
Version 0.0.7 (deprecated)
Removed unnecessary spin locks to eliminate random stalls (lag)
Version 0.0.8 (deprecated)
Removed LG ATS driver support (not needed)
Removed ERRATA 720789 (not needed)
Version 0.0.9 (deprecated)
[ major fail on my part. blame on 3AM kernel hacking ]
Patched MM portion of kernel
Added Relaxed I/O accesses
Version 0.1.0 (deprecated)
Patched from 2.6.32.40 to 2.6.32.41
Compiled with Tegra2 specific VFP optimizations
Version 0.1.1 (deprecated)
Compiled with even MORE Tegra2 specific optimizations
Version 0.1.3 (Beta, Closed!)
Updated battery driver by DebauchedSloth
Boosted Headset volume by DebauchedSloth
Version 0.1.4 (Beta, Closed!)
Updated battery driver (part 2) by DebauchedSloth
Version 0.1.7 (deprecated)
Use normal oom_killer threshold
Upated to use TMUS specific CPWatcher (fixed kernel oops)
Revert star_battery change internal percentage calc method
Mem Cgroup optimizations
Fixed init.d issue
Added read-ahead cache for internal FLASH and SDCARD
Version 0.1.8 (deprecated)
Patched MM
Patched ASHMEM
Updated RCU to use NoHz matching NoHz for SMP used by Tegra2
Version 0.1.9 (deprecated)
BCM4329 disable ISCAN, enabled CSCAN
Patched RCU IRQ handling
Grab CPU Serial Number during boot
Version 0.2.0 (deprecated)
Added LG specific LED kernel driver (props to Aremcee)
Enabled LED generic driver
Version 0.2.1 (deprecated)
Fixed LG LCD Back Light driver
Updated LG LCD ALC/ALS sense cycle from every second to every 1.5 seconds (reduce pulsing effect)
Version 0.2.2 (deprecated)
Memory Carveout reduced from 128 MB to 64 MB
Updated LED config
Overclocked AVP from 240000 KHz to 266400 KHz
Overclocked DDR2 SDRAM timing from 300 MHz to 333 MHz
Version 0.2.3 (deprecated)
Updated BlackLight driver to be more compatible
Version 0.2.4 (deprecated)
Reduced cpu load by making LED notification as a single cpu thread
Reduced cpu load by making Battery driver polling as a single cpu thread
Reverted back to CM7 battery driver for now
Version 0.2.7 (deprecated)
Updated OC Voltages and Frequencies for UV and SV kernels
UV Kernel up to 1.55 GHz
SV Kernel up to 1.40 GHz
Fixed Gyro/Accelerometer output scale factor
Fixed Suspend issue
Fixed lag issue
Version 0.2.8 (deprecated)
Enabled USB Accessories Support
Revert to DS' Battery Driver (CM7 batter driver was causing overheating issues and faulty charges).
Version 0.2.9 (deprecated)
Patched to the p990h v10a drop
Split DS and CM driver into separate zips
Dropping EXT3 versions (too many zips to deal with)
Version 0.3.0 (deprecated)
Fixed WiFi DeepSleep
Enable BT Address access
Reduced unnecessary activities in Battery Charger
Power off Hall Sensor (magnetic) and Accelerometer when not using
Version 0.3.1 (deprecated)
Fixed overly aggressive accelerometer sleep policy
Added Voodoo Sound Processing
Version 0.3.2 (deprecated)
Reverted both power save for Hall and Accelerometer
(Both commits broke magnetic and compass drivers)
Version 0.3.3 (deprecated)
Partially revert load reduction for battery drivers (CM7 and DS)
(this is to fix alarm issue)
Revert WiFi deep sleep policy
(this is to fix WiFi Calling Issue while screen off)
Version 0.3.4 (deprecated)
Changed GPU carving back to 128MB to fix reboot issues
Cleaned up FakeShmoo Overclock code in general for future tweaks
GPU 3D overclock enabled
APV Overclock increased to 280000
Added new LED notification compatibility
Version 0.3.5 (deprecated)
Updated to LG latest drop v10e
Allowed LED lights to be configurable
Version 0.3.6 (deprecated)
Updated to LG latest drop v10e (part 2)
Updated touch screen driver
Version 0.3.7 (deprecated)
Reverted drop v10e's NVRM changes
Adjusted sleep GPIO settings
Updated Kernel to patch level 2.6.32.42
Version 0.3.8 (deprecated)
tegra_gps: Hold wakelock while GPS is in use
Cleaned up OC minor coding error
Updated Bluetooth Sleep driver from V21e (Better Power Savings)
Added Compressed RAM Swap Memory from LGE V21e (More available RAM)
Updated WL driver to use thread based control from LGE V21e (Better way of Control)
Updated Gyro Accel, Compass and TS0710MUX (used for GSM) drivers from LGE V21e (Faster Transfer and better sensor readings)
Added Memory Carveout Killer to reclaim unused memory from LGE V21e (More available RAM)
Version 0.4.1 (deprecated)
Fixed oops that was 0.4.0 (Blame midnight hax and lack of caffeine)
Patched kernel to 2.6.32.45
Updated Battery Charger driver from LGE V21e
Updated rindrv for better TCP throughput from LGE V21e
Updated Mic Bias for headset from LGE V21e
Updated Headset and Amp initialization order per LGE V21e
star_bl: Lower ALC voltage values
p99x: Board file updates from v21e
star: Fix headset detection on resume
star_powerkey: Fix missed events while on LP1
star_proximity: Move event generation to workqueue
nvodm_touch_synaptics: Adjust coordinate limits
star_proximity: Fix pin assignment on p999
Updated CM7 battery charger driver
Version 0.4.2 (deprecated, Nightly 143+)
Updated RAMDISK for Nightly 143+
USB: Remove serial functions from RNDIS composition
Revert "TTY: ldisc, do not close until there are readers
Revert "Fix memory leak in cpufreq_stat
removed LGE's compressed RAM Swap
Version 0.4.3 (deprecated)
Used the git implementation of SHA-1 to reduce boot time by 11%
Updated uidstat to only count IPv4 traffic
Optimized memcpy and memmove for string library calls (real working version )
Version 0.4.4 (deprecated, Nightly 174+)
Added optimized CRC32 and CRC32c which pretty much improves EVERYTHING which use those 2 library calls including File Systems, TCP/IP etc
Added Arcee's SPI DVS patch
Added LZO compression support (for ZRAM)
Added ZRAM patched to beyond Linux 3.1-rc9 (a newer version of Ramzswap without user space daemon )
tegra: Updated nvhost for new star userspace bits
Version 0.4.5 (deprecated, Nightly 174+)
cpufreq: fix cpufreq_stats table removal warning via cpu hot-plug
base:cpu.c: Cherry pick updates from Motorola Atrix 4G kernel
cpufreq: cherry picked updates from Motorola Atrix 4G kernel
compilation: fixed annoying debug section mismatch warnings
Revert "Fix memory leak in cpufreq_stat"
kernel patch: 2.6.32.48 -> 2.6.32.49-rc1
atomic_t: Cast to volatile when accessing atomic variables
Revert "Revert "Fix memory leak in cpufreq_stat""
Revert "Revert "TTY: ldisc, do not close until there are readers""
Revert "tegra: Import dvs updates for SPI from p999's v21e"
Revert "nvrm_user.c: Updates from the p990 v10e drop. Fixes BSOD while charging"
kernel patch: 2.6.32.47 -> 2.6.32.48
kernel patch: 2.6.32.46 -> 2.6.32.47
kernel patch: 2.6.32.45 -> 2.6.32.46
Version 0.4.6 (deprecated, Nightly 174+)
star: Import some v20l patches
star: Add GPIO pins G0, G1, and W2 to wakeup pad
mm: retry page fault when blocking on disk transfer
sched/rt: code cleanup, remove a redundant function call
ARM: Add optimised swahb32() byteswap helper for v6 and above
hugetlb: Replace BUG() with BUILD_BUG() for dummy definitions.
kernel.h: Add BUILD_BUG() macro.
block: limit default readahead size for small devices
PM / Suspend: Fix bug in suspend statistics update
mm/vmalloc.c: eliminate extra loop in pcpu_get_vm_areas error path
lockdep: print lock name for lockdep_init_error
init/main.c: execute lockdep_init as early as possible
[PATCH] Input: introduce device properties
[PATCH] input: mt: Add hovering distance axis
input: mt: Break out slots handling
Input: introduce MT event slots
USB: f_mass_storage: Disable write cache support
kernel:sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire
sched: don't call task_group() many times in set_task_rq()
PM: wakelocks: Don't report wake up wakelock if suspend aborted
rtc alarm: fix bad index when canceling alarms[]
ARM: support XZ compressed kernels
decompressors: add boot-time XZ support
decompressors: add XZ decompressor module
arm: Allow CPU-supported unaligned accesses
PM: wakelocks: Display wakelocks preventing suspend by default
mmc: core: put eMMC in sleep (cmd5) mode before suspend
input: evdev: Add missing wake_lock_destroy
lookup3(). The new hash function
Version 0.4.7 (deprecated, Nightly 174+)
Patched to kernel.org 2.6.32.50
Version 0.4.8 (deprecated)
Patched to kernel.org 2.6.32.51
Version 050 (Current, CM7.2.0+)
Increased BL polling from 2 sec to 3 sec
Fixed sys_sync() stability issues
Backport CFS Autogroup to allow for better multitasking performance (smoother operations)
Optimize Driver wait/sleep time outs with more CPU friendly operations
Fixed occasional Sleep-to-Off issues (Take 2 )
Fixed occasional Sleep-to-Off issues
Removed some kernel debug options
Enable ARM unaligned access
Added CM7.2.0 Stable Compatible RAMDISK
Added Screen Off CPU limiter (limit CPU usage to Max 503 MHz)
Turn off 2nd CPU core while screen off
Fixed reboot hang issues
Fix Temple run issue using Sensor updates from v20L
DS battery driver is NOW DEPRECATED (NO LONGER AVAILABLE)
Add CPU Freq Table support (which fix the CPU stats bug, now you can use CPUSPY to see deep sleep stats)
Adjusted CPU freq table, Lowest @ 216MHz, Highest @ 1552MHz
use generic strnlen_user and strncpy_from_user functions
Patched to Linux 2.6.32.59
Added 18 patches from LGE V21Y 2.3.4 GB source drop
Reserved 2 just in case....
When you say you've added min/max governer not sure what you mean. I'm under the impression that Tegra only uses Performance. When I go into governer setting in pimpmycpu there is no option to change it.
Note: It boots fine with cm7 and BT/wifi work fine. Now to test OC/UV
jlevy73 said:
When you say you've added min/max governer not sure what you mean. I'm under the impression that Tegra only uses Performance. When I go into governer setting in pimpmycpu there is no option to change it.
Note: It boots fine with cm7 and BT/wifi work fine. Now to test OC/UV
Click to expand...
Click to collapse
I don't see why tegra only supports performance... I could be wrong... Governor should be independent of CPU architecture underneath.... Could be a limitation of pimpmycpu...
BTW, Did you try it yet? Did it boot? I am curious....
Just wanted to say I just donated 10.00 hard earned bucks towards your G2X fund Faux!
faux123 said:
I don't see why tegra only supports performance... I could be wrong... Governor should be independent of CPU architecture underneath.... Could be a limitation of pimpmycpu...
BTW, Did you try it yet? Did it boot? I am curious....
Click to expand...
Click to collapse
This kernel is excellent, very fast @1.3/1.3 Smartbench 2011 score was 4976/3014. That's a better score than the viewsonic clocked @ 1.7
Fp2sd = 117FPS
Linpack = 49
Great work, thanks! Hope you get your device soon!
jlevy73 said:
this kernel is excellent, very fast @1.3/1.3 smartbench 2011 score was 4976/3014. That's a better score than the viewsonic clocked @ 1.7
fp2sd = 117fps
linpack = 49
great work, thanks! Hope you get your device soon!
Click to expand...
Click to collapse
thank you thank you thank you... I am very happy it booted at all.. I am even more happy that it actually worked from a blind build!!!!!
PLEASE TEST the HELL OUT OF IT!!!!
GOing to bed... tired as hell
faux123 said:
thank you thank you thank you... I am very happy it booted at all.. I am even more happy that it actually worked from a blind build!!!!!
PLEASE TEST the HELL OUT OF IT!!!!
GOing to bed... tired as hell
Click to expand...
Click to collapse
I sure will, once again thanks. Great job
Is this only for CM7? I just love the way stock is running for me so far. I mean I don't mind reflashing CM to test this.
Sent from my LG-P999 using XDA App
And this is for CM7 only??
G2X
fcisco13 said:
And this is for CM7 only??
G2X
Click to expand...
Click to collapse
Yes, for cm7 only.
Ouch....would really love to give these kernels a try...but the stock rom is sick....I anxiously await a stock overclocked kernel....if I had the time and skill I'd have done it myself.
Sent from my LG-P999 using XDA Premium App
Kernal boots fine for me as well. Noticed a increased in speed @ 1.4GHz
Get the phone already!
Quandrant Results
Original at 1Ghz got a ~2000
Overclocked at 1.4Ghz got a ~2800
I know Quandrant isn't accurate but it's fun.
Damn....u did it first! Nice job congratulations!
This thing absolutely screams at 1.3GHz. I'm not experiencing any new bugs or seeing fixes to old ones. I hope folks will post speeds and voltages that are working for them as our use of this kernel settles into a routine.
bookmarked this thread! might wanna try soon.
jland22 said:
Just wanted to say I just donated 10.00 hard earned bucks towards your G2X fund Faux!
Click to expand...
Click to collapse
I just donated another $5.00 not much but your building roms blind...Great Job
Is this only for cm7? I had alot of problems with cm7 could connect to mobile network no matter what I tried. I would love to try this just don't want to mess with cm7 right now cause I need my phone for work & on call emergencies. So any who will this work on stock rom with Pauls fix? Please let me know I'm dieing to give this kernel a go. Thank you fuax123 your hard work is greatly appreciated. Hope to see more awesomeness from you in the future.
Sent from my LG-P999 using XDA App
Love your work!!! Can't wait to try this. Sent ya $30 and would love to send ya a fone but your blind work is simply AMAZING!
Thanks 3x

[Kernel]ICS,CM9/CM7(v004b1/v029)OC~1.73GHz/UV/True Dual Core/Power Savings[Apr-14]

NOTICE: This is COMPATIBLE with ALL AOSP/CM7/CM9/OpenSense Based ROMs
(Thanks to Albinoman887, scorp2kk, intervigilium and vorbeth for pull requests and contributions.)
For frequency control use fauxclock from Google Play
Just a statement regarding kernel source: The Kernel Source is of course covered under GPL version 2. Free software does NOT mean no work or time was spent working on it. I have donated a large sum of my free time to hack this kernel. If you use my modified kernel source in parts or in its entirety, I kindly ask you mention its origins and to send me a github pull request or PM whenever you find bugs or think you can help improve my kernel hack further. This way the entire community will truly benefit from the spirit of open source. Thank you
​
Hi XDA members and fellow Sensation users:
This is my eleventh kernel hack. I want to thank Cyanogen, CyanogenMod members, Erasmux, and several others I cannot recall for inspiring me to venture into this unfamiliar territory for me.
What is a Kernel? The Kernel is the Foundation in which everything else builds upon in any software system.
[Car Analogy]: Kernel is like the Engine, Electrical system and the Transmission to a car. The Library, Framework and the Apps [AKA ROM] are the body frame and the rest of the Car.
​
THIS KERNEL is BASED ON CM7 Source Code. So it is COMPATIBLE ONLY WITH CM7/AOSP Sensation Builds.
Please DO NOT use any task killers, they DO NOT improve performance nor battery life. They INTERFERE with your phone's stability (more crashes) and App compatibilities (Forced Close).
Joe's RCU (Optimized for Small SMP systems)
Joe Korty has created an RCU for small SMP systems (> 32 cores). His approach is to isolate all the Garbage Collection (GC, a slow time consuming but necessary processing) to a single core, thus allowing other cores to ONLY work on real required processing. This will allow the additional cores to complete their assigned tasks as fast as possible (not bogged down by GC) then immediately go back to a suspended state (saving battery).
Fast No Hz RCU (Optimized for SMP operations)
Fast NoHz is an optimized version of the traditional Tree RCU. Many new kernels are using the Tickless NoHz design. This RCU is tailored and designed to work with the new NoHz kernel system.
SmartAssV2 Governor (Balanced)
This governor has a built-in "profile" similar to SetCPU, so screen off will use lower clock rate thus conserve more battery, but it also has a fast wake up feature so that user interaction will not see the lag when switching from Sleep to Wake state.... (So SetCPU Profiles are sorta redundant when using this governor, you can still use SetCPU to OC to higher than default Clock frequency).
Interactive Governor (Performance)
This governor is designed to put more priority to User Interface (UI aka Apps) tasks, therefore appears more responsive then the traditional OnDemand governor. So if you want the smoothest UI interaction, this governor is for you...
Brain F*ck Scheduler - (BFS)
This scheduler is designed to be simple and speedy tailor specifically for user interface type systems such as desktop/smart phone devices where user interaction is MORE important than serving 1 million web requests (CFS, the default scheduler) at the same time (think of nimble desktop workstations vs large corporate servers).
SLQB - (SLAB allocator with Queue)
This memory allocator is designed for small number of CPUs system (such as desktop or smart phone devices). This allocator is design to be simple and it is optimized for using order-0 pages as much as possible (order-0 pages are the simplest therefore quickest type of memory in a Linux system to allocate). Not all kernels are using SLQB including CM7 main line...
Fair Budget Queue (BFQ I/O scheduler)
This I/O scheduler is an improvement on top of Completely Fair Queue (CFQ). CFQ is fair in terms of time but not in terms of throughput / bandwidth, so BFQ make sure that both time and throughput / bandwidth are balanced across all requests.
Installation Instructions:
Here's a step by step instruction to install this kernel:
*************** ICE CREAM SANDWICH (Android 4.0.x) ***************
<< Fast NoHz >>
[ CFS-OnDemand ] (Mainline Edition)
The File ==> Latest AOSP Sensation Kernel (1.73 GHz) <==
*************** GINGERBREAD (Android 2.3.x) ***************
<< Fast NoHz >>
[ CFS-OnDemand ] (Mainline Edition)
The File ==> Sensation Kernel 029 (1.73 GHz) <==
[ CFS-OnDemand ] (Extreme Edition -- Should work with most phones but NOT GUARANTEED!)
The File ==> Sensation Kernel 029 (1.73 GHz, ZCACHE, GPU @ 320 MHz) <==
[ Optional: ]
The File ==> Modified Sensation Thermal Throttler Configuration <==
Optional Under voltage: Version 0.1.4+ ONLY
Code:
[ to over volt ALL frequencies by 25000 uv (microvolts) ]
echo "+25000" > /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels
[ to under volt ALL frequencies by 25000 uv (microvolts) ]
echo "-25000" > /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels
[ to set a specific frequency (ie 1.18 GHz)
with a specific voltage (ie 1.0875 volts) ]
echo "1188000 1087500" > /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels
CPU Frequency Voltage Table
Code:
192000: 812500
310500: 812500
384000: 812500
432000: 812500
486000: 837500
540000: 850000
594000: 862500
648000: 875000
702000: 900000
756000: 925000
810000: 937500
864000: 962500
918000: 962500
972000: 962500
1026000: 975000
1080000: 987500
1134000: 1000000
1188000: 1012500
1242000: 1025000
1296000: 1050000
1350000: 1075000
1404000: 1100000
1458000: 1112500
1512000: 1125000
1566000: 1150000
Low Voltage - Under Volt the processor, therefore uses Less Battery, but NOT ALL CHIPS can handle Under Volt.. If you experience instability, try the Stock Voltage Version.
Stock Voltage - Uses the voltage values from ORIGINAL HTC Kernel Source.
There are NO PERFORMANCE DIFFERENCE between the Under Volted and Stock Voltage versions!
1. download the above file (via phone directly or to a PC)
2. copy the downloaded zip file to /sdcard/download/
3. Open ROM Manager and select "Reboot into Recovery" and select "OK"
4. Once in recovery, select "wipe cache partition", select "Yes", then select "advanced", then select "Wipe Dalvik Cache", then select "Yes" again. Once finished, click the back button to go back to the main recovery menu. On that menu, select "Install Zip From SDCad", then select "Choose zip from SDCard", then go to /sdcard/download and select the downloaded zip file and let it run its script.
5. Once the script is done, select "reboot system now"
Note: After FLASHING, the first reboot may take longer than usual, please be patient... After the first reboot, it may lag during initial load (let everything finish loading). Once everything is loaded and phone is ready for use, reboot the phone a 2nd time and the lag will be gone and everything should be silky smooth...
NEWS BULLETIN:
Version 001 for AOSP/CM9/OpenSense is out! Major thanks to all those who worked on OpenSense device tree! Version 029 is OUT for GB!
Please don't hesitate to talk among yourselves and help each other out... The XDA community is what inspired me to hack kernels for everyone since everyone here is nice and helpful to each other... Keep helping each other.... Famous proverb: It's better to give than to receive...
BUGS:
Not All CHIPS ARE CREATED EQUAL
TO DO:
version 1.x.x -- Haven't thought about it yet...
History:
See Post below...
Standard Disclaimer: Not responsible for bricking your phone, voiding your warranty, or any other pain or suffering you may feel as result of using this kernel!!!
My Github Complying with GPL
Follow me on
:
If you find this Kernel useful, feel free to hit the [Thanks] button below
Version History
Version 012 (deprecated)
- EXT 4 Support, CIFS + UTF-8 (NLS Support)
- Kineto_gan Support (WiFi Calling)
- BFQ I/O Scheduler default
- TUN VPN support added
- SLQB memory allocator added and made default
- BFQ I/O scheduler added and made default
- Added NEON and other Snapdragon Compiler optimizations
- Patched kernel to version 2.6.35.14
- Tweaked Voltage Table for more stability
- Allowed unaligned memory access
- Reverted CPU Clock Table back to CAF version
- OC up to 1.512 GHz CAF Fast Version
- Added CAF Patches to msm/cpufreq
- OC CPU up to 1.782 GHz, L2 Cache up to 1.512 GHz
- Added CAF Patch to force max frequency for all cores via sysfs mfreq
- Added Bluetooth BNEP support
- Introducing Synchronous L2 Cache (1.56 GHz version ONLY)
- Introducing L2 Cache Bandwidth Boost (from max 310MHz to 360MHz)
- CAF Patch msm: acpuclock: Subscribe to _FROZEN CPU notifiers
- CAF Patch msm: pm-8x60: Remove redundant code for restoring ACPU Clock Rate
- CAF Patch msm: acpuclock-8x60: Use hotplug notifications for CPU, L2, BUS, voltage
- Added back Scaling_Available_Frequecies sysfs entries (For Mike1986 and other ROM devs)
- Introducing GPU 2D/3D Overclocking <img src="http://rootzwiki.com/public/style_emoticons/default/biggrin.png" class="bbc_emoticon" alt="">
- 3D Engine from 266.6 MHz to 320 MHz (both versions will benefit from this boost)
- Fast NoHz RCU (An RCU designed for Tickless kernel, which is our kernel)
- CAF msm: clock-8x60: Refresh PDM and TSSC halt bits at boot (Bug Fix)
- CAF msm: 8660: Add barriers to SMP boot code (Stability patch)
- CAF msm: clock-local: Add memory barriers for later move to _relaxed accessors (Stability patch)
- CAF ARM: SMP: Make resched-ipi-while-offline warning less verbose (Slight performance tweak)
- CAF msm: clock-8x60: Vote for mmfpb_a_clk at 64MHz (Bug fix)
- CAF mmc: core: put eMMC in sleep (cmd5) mode before suspend (Power Saving)
- CAF msm: clock-8x60: Don't disable clocks in reg_init (Bug fix)
Version 014 (deprecated, CM7 Alpha1 ONLY)
-Introducing Global CPU Voltage Table (Under volt capability via sysfs interface, inspired by snq adapted for Snapdragon Dual-Core by me )
Version 019 (deprecated, CM7 Alpha2+)
Applied many FrameBuffer patches from CAF
Applied couple more KGSL patches from CAF
Revenge of CFS, CFS Enhancement (Interactive latency greatly reduced, make it BFS like)
Applied many FrameBuffer patches from CAF yet again
Added New Early suspend drivers for 2D and 3D GPU engines
Re-Enabled KGSL Ringbuffer Power Management Overrides
Updated to JHash3
Updated Cpufreq to copy policy from siblings
Fixed memory leak in cpufreq stats
Removed CPU from NoHz Idle fair cgroup
Shorten 1080P start up latency
Fixed USB Gadget Serial Crash
Applied more MSM FrameBuffer updates from CAF
Fixed random SPI Operational State Invalid error
Added histogram capability for MSM video
Added lock/unlock for KGSL Early Suspend Drivers
Updated KGSL power level change
Revert Reg Init Patch from earlier (cause of instability)
Optimized memcpy and memmove for string library calls (real working version )
fixed audio unmapped memory crash
fixed inaccurate D-Cache size Macro
Version 020 (deprecated, CM7 Alpha2+)
CFS Autogroup Version 2.0 (Super Charged CFS)
Fixed Kernel/Timekeeping issue
Fixed Full / Stretched Screen issue for Video Player
Patched FB and KGSL
Fixed Random Reboot issue (took me a week to verify this fix)
Revenge of JRCU (JRCU tweaked for better performance and battery savings)
Removed ALWAYS ON ADM Clock to save battery
Moved Data Mover to early suspend for cleaner exit
Version 023 (deprecated, CM7 Alpha2+)
Added XZ Compression support to 2.6.35 kernel
Added XZ Compression support for kernel image
Added XZ Compression RAMDisk support (boot time)
Used the git implementation of SHA-1 to reduce boot time by 11%
Updated qdsp6v2 to block write until buffer is full
Updated trivial bug fix for SMP macro
Added newly optimized CRC32 Improves EVERYTHING that uses it including TCP/IP, File Systems etc...
Added newly optimized CRC32c improves EXT4 metadata performance and anything else which uses CRC32c
Patched msm_serial_hs_lite (better battery life)
Patched qdsp6v2 to fix unexpected power consumption (better battery life)
Patched mdp4_overlay to flush RGB pipe when solid fill mode is used (better battery life)
Patched clock-8x60 to add a lower gsbi_uart_clk entry to save power (better battery life)
Lowered Camera Flash limit from 30% to 10%
Tweaked conservative governor for better interactive performance
Enabled Deep Power Management Options (better battery life)
Lowered CPU Minimum Voltage (better battery life)
Gate smi_2x_axi_clk off when smi_clk is disabled (better battery life)
Fixed performance level computation for VCD (better performance)
Added local control of vpe_axi_clk and rot_axi_clk (better battery life)
Removed unnecessary checks from DMA engine (more efficient DMA Engine == performance)
ARM Patch: Use CTR for the I-cache line size on ARMv7 (better performance)
Enabled inline locks for ARM (performance)
CPU workqueue optimization (limit some workqueues to single thread)
patched qdsp6v2 to Set tx and rx flags based on current device
patched display to avoid staging up two pipes at same mixer_stage
Added GPU slumber (whenever screen is off, GPU is set to sleep)
Added idle wait support for SMP
Fixed AXI clock bug in GPU
Fixed L2 Cache Synchro bug (better performance)
Updated spin lock code (better performance)
Reduced WiFi voltage to min recommended by datasheet (better battery)
Reduced other sub-system voltages by 5~10% (better battery)
Eliminated unnecessary macro from decompressors (code clean up)
Wind down GPU turbo mode if idling (better battery)
compiled with latest code sourcery (better performance)
Fixed Power Management memory leak
Added 2 way call record capability (thanks to mdeejay!)
Patched wakelock to latest AOSP
Patched audio DSPs
Patched Ondemand Governor for better power savings.
Version 024 (deprecated, CM7 Alpha2+)
NoHz RCU set as default
Disable BCM4329 wake irq when stopped (battery saving fix)
Re-order PPP packets in PPPoLAC and PPPoPNS (VPN bug fix)
PLL clock training with higher frequencies for better stability (stability enhancements)
mfd - Fix memory leak in debug probe
Introducing GPU 2D scaling governor (Enabled, completely original coding from me)
-- now it will scale from 145.455MHz~200 MHz depending on usage (this should save additional battery while screen is on).
Introducing IntelliDemand CPU governor
-- Built-in Screen Off profile (like SmartAss)
-- Built-in Browsing detection (enabled, completely original coding from me)
(this will limit cpu clock to max 1.0 GHz while browsing web, book, email etc)
Adjusted 3D and 2D GPU scaling and initial states for better compatibility with Rosie
Version 025 (deprecated, CM7 Alpha2+)
msm72k_udc: Replace dma_coherent_pre/post_ops with mb/rmb
nfs: writeback pages wait queue
block: limit default readahead size for small devices
make default readahead size a kernel parameter
smd_pkt: Extend read operation to receive data larger than SMD FIFO
pet watchdog from console driver
Correct the number of slave ports in the system
watchdog: increase pet time to ten seconds
led: enable dynamic LED brightness
mm/vmalloc.c: eliminate extra loop in pcpu_get_vm_areas error path
Revert "qup_i2c: Calculate combined write length for multiple write transactions" (broke Sensors )
restart: call secure code to disable arbiter
restart: Handle reset interrupt from pmic
pmic8058-xoadc: request's done late into suspend
pmic8058-xoadc: Add mpp_config call on configure
Remove pm_runtime_suspended() from __pm_generic_call
HDMI: Support for 480p 16:9 in HDMI Driver
qdsp6v2: Reduce the pcm write timeout value
enable ldo's in PHY resume path (usb)
Add suspend/resume for TSENS (thermal sensor)
While powering down flush all the rpcrouter workqueues (rpc)
Reader thread to allocate memory without holding a spinlock (rpc)
Reorganize the usage of spinlocks in RPC Router reader thread
Update RPC client's cb_list_lock to use spinlocks
Retry callback registration on timeout (rpc)
Add smd_tiocmset api without spinlocks
Close smd ports upon failure to open.
print lock name for lockdep_init_error
execute lockdep_init as early as possible
board:clocks: add comments to make trouble shooting easier
smd_tty: restrict DS port platform driver
smd: add closing state to subsystem restart
smd_pkt: add subsystem restart loopback server reinit
smd_tty: add subsystem restart loopback server reinit
smd: add check for LOOPBACK_TTY platform device
Add 10 microsec delay before fetching setup_data (usb)
Simplify ACA state machine to support standard ACA (usb)
Recovery point SEI support for ISDB-Tmm (vidc)
Copy the End of Sequence flag (vidc)
Fix H.263 30fps standard resolution encoding.
Override SP profile to ASP for MPEG4 decoding.
Remove check for allocation of sequence buffer size. (vidc)
Update firmware memory size. (vidc)
Fix GOB Header for H.263 encoding.
Increase the decoder input buffer size.
Return the correct error code for IOCTL. (vidc)
Set correct divx codec type.
Handle b-frame not supported error.
Increase the kernel SMI memory size. (vidc)
Report bitstream errors to driver client.
add change to print MFC firmware version
Removed check for comparing DPB Size
add Check for infinite intraperiod configuration.
Fix to handle non-fatal sequence header errors. (vidc)
Fix not coded vop handling in decode order.
add mdp revision number
increase mdp max burst size
Calculate combined write length for multiple write transactions (i2c)
Fix input handler crash (ondemand, intellidemenad)
Add htc off-alarm support from XE source
updated sii9234 tpi driver from XE source code
USB misc code updates from XE source
enable android USB gadget projector support
Added thermal trip critical retry from XE source
updated DMA engine from XE source
fixed minor HTC battery driver coding derp
Added HTC Beats headset support from XE source
kernel:sched: avoids loadavg Moire
don't call task_group() many times in set_task_rq()
block level disk cache target for device mapper
Do not destroy old sched domain on cpu_up
Do not block when waiting to free old root domain
Check for extended quiescent state at start of gp (rcu)
Don't allow cpu to get console lock during hotplugging (printk)
Add the function 'cpu_hotplug_inprogress'
Remove extraneous boot_secondary delay
Version 026 (deprecated)
PM / Sleep: fixed coding derp from "Drop pm_op() and pm_noirq_op()"
mfd: timpani-codec: Handle register write for numbers more than cached one
mfd: timpani-codec: Write register defaults when disabling devices
msm_fb: Remove Audio Packet Control Register setup
mfd: timpani: Retry upon I2C failure.
msm_fb: Check for ACP and ACFG register before reset core.
msm_serial: add PM_RUNTIME code from CAF
mm: retry page fault when blocking on disk transfer
msm: kgsl: Do not allow SLUMBER from INIT
PM / Sleep: Drop pm_op() and pm_noirq_op()
PM / Sleep: Unify diagnostic messages from device suspend/resume
sched/rt: code cleanup, remove a redundant function call
ARM: Add optimised swahb32() byteswap helper for v6 and above
hugetlb: Replace BUG() with BUILD_BUG() for dummy definitions.
kernel.h: Add BUILD_BUG() macro.
msm: kgsl: New low power level
msm: vidc: print message as kernel info instead of error
camera:gemini: update gemini engine from hTc Ruby
battery: battery driver and charging driver update
mm: Android Ashmem update from hTc Ruby
misc: android pmem update from hTc Ruby source code
mfd: marimba core update from hTc Ruby
board: ARM kernel update from Ruby source code
cpufreq: add two-phase to ondemand and intellidemand
Version 027 (deprecated)
input/misc/gpio: update input GPIO driver from PyramidLE source
vidc: 1080p: Override profile to ASP for XVid/Divx456
Re-enabled ZRAM
Version 028 (deprecated)
Updated Zcache and ZRAM to latest Linux-next patches
Added Google's Snappy Compression for ZRAM
Version 029 (Current, CM7 Alpha2+)
Init: Multithread initcalls to auto-resolve ordering issues.*
memcg: let css_get_next() rely upon rcu_read_lock()*
idr: make idr_get_next() good for rcu_read_lock()*
mm: implement WasActive page flag (for improving cleancache)*
zcache: fix deadlock condition*
Revert "msm: kgsl: Clocks should be set to the active level during NAP"*
Revert "partition_sched_domains: Do not destroy old sched domain on c…*
mmc: core: Prevent too long response times for suspend*
Reserved 2... just in case!
Faux123 you're my favorite recognized developer hero
Why do you make your font size so large? Hurts to read.
WOW! CM kernel is out!
I have tested this kernel and it runs very smooth, most things so far work. There are a few hiccups but they could also be due to not having kernel source for the cm7 rom yet.
Im not posting screenshots since it scores about the same as sense based roms. Linpack is a bit low but that could be a number of factors. Overall importance is that the rom is smooth and very agile
Wow, you're quick!
persiansown said:
Why do you make your font size so large? Hurts to read.
Click to expand...
Click to collapse
For those people who fail @ reading
Thank you!
Thanks a ton for all the work you do. At first I was afraid this phone wasn't going to have much love (I came from Mytouch slide), but I have been overwhelmed by the amount of people that are putting out quality work for it
Prepare to have your thanks button massaged a few times.
I knew you were up to something. Flashing now.
Remember to give THANKS were THANKS is due.
Where is the download link?
Idk? Faux were is the download link?
Remember to give THANKS were THANKS is due.
Martovitz said:
Idk? Faux were is the download link?
Remember to give THANKS were THANKS is due.
Click to expand...
Click to collapse
I totally support your message, but, it's "where" thanks is due, dude, not "were."
CM7 Kernel is OUT! Version 012 is the baseline version.
Current CM7 is based on 2.3.3 Binary Blobs, so only up to my version 012 is compatible with it. Once CM7 decides to move to 2.3.4 binary blobs, then I will apply my 013 and 014 patches to the kernel.
Enjoy and have fun.. Now let's post some amazing benchmarks!
Wiped cache, dalvik, flashed 1.78 then thermal patch. Rebooted. Getting constant reboots shortly after ADW EX finishes loading. Won't stop.
man, tonight just keeps on getting better and better lol first we get cm7, then xboarder fixes his AOSP rom due to cm7 , then faux comes out with a cm7/AOSP OC kernel... this phone just became the best out , easily.
Part Four said:
Wiped cache, dalvik, flashed 1.78 then thermal patch. Rebooted. Getting constant reboots shortly after ADW EX finishes loading. Won't stop.
Click to expand...
Click to collapse
hm... my beta tester has tested with 1.78 GHz version and verified that essential capabilities were working correctly.
Part Four said:
Wiped cache, dalvik, flashed 1.78 then thermal patch. Rebooted. Getting constant reboots shortly after ADW EX finishes loading. Won't stop.
Click to expand...
Click to collapse
I tried the 1.78 and worked but bootlooped during cf bench, odd because I have been able to run the 1.78 kernels before but we shall see. I'll be testing heavily tonight.
Edit: Okay she's running just fine on 1.5 so maybe my phone cant handle 1.78.......anymore ....??
faux123 said:
hm... my beta tester has tested with 1.78 GHz version and verified that essential capabilities were working correctly.
Click to expand...
Click to collapse
I don't doubt it. All phones are different. With this 1.78, my phone would freeze and reboot after ADW finished loading, but all of your 1.78 versions worked perfectly for me on Melvin's Beast ROM. Trying 1.56 now.

[Guide/Tweak/Mod/Script] [Feb.24] How to Tweak and Optimize Android Performance

Please see post #2 for instructions and change log.
BASICS/PREREQUISITES:
To begin you must unlock, install TWRP, and acquire system files and mods.
Unlocking:
Use the Asus unlocking tool from the downloads section on the Asus TF700 support website. Simply install the .apk, run the app, and follow the prompts.
Installing TWRP:
TWRP can be found here - http://forum.xda-developers.com/showthread.php?t=1797692
Instructions for installing TWRP can be found here - http://forum.xda-developers.com/showthread.php?t=1938129&highlight=root+custom+recovery
NOTE - To boot into TWRP press and hold the power and volume down button until white text appears in the top left corner of your screen. Release both buttons and press volume up.
System Files:
System files and mods can be obtained from the following links. Please thank/donate to the devs for all of their hard work.
CROMi-X [ROM] - http://forum.xda-developers.com/showthread.php?t=2425383
Hundsbuah’s Kernel - http://forum.xda-developers.com/showthread.php?t=2143093&page=80
Data2SD [Mod] - http://forum.xda-developers.com/showthread.php?t=1962507
ROM2SD [Mod] - http://forum.xda-developers.com/showthread.php?t=2501129
CrossBreeder [Mod] - http://forum.xda-developers.com/showthread.php?t=2113150
DATA2SD/ROM2SD:
Data2SD works around poor I/O performance by giving us the ability to utilize a fast microSD card as our primary mode of storage. ROM2SD follows a similar premise as Data2SD; however, it also gives us the ability to dual boot any android ROM compatible with our tablet. The application of these mods results in apps opening faster, faster boot times, faster read/write speeds, and faster downloading/less lag while downloading. Step #1 and Step #2 only need to be followed the first time you apply these mods.
Step #1 - Create GParted Live USB Stick:
In order to run your tablet from a microSD card you will need to reformat it using Gparted (a linux based partition editor) installed on a live USB stick. A live USB stick has the image (.iso file) of a program burnt onto it so that it can be run at boot on a PC.
Find Gparted here - http://gparted.sourceforge.net/livecd.php
Download the live CD/USB image. The easiest tool for burning the image is the LinuxLive USB Creator.
LinuxLive USB Creator can be found here - http://www.linuxliveusb.com/
Download the program and install it. Simply follow the instructions within the program using the Gparted image.
Step#2 - Reformat microSD Card:
This involves booting into Gparted, clearing your microSD of existing partitions, and creating new partitions to store androids /system (ROM, kernel), /data (apps and data), and /media partitions (user data and media files - "sdcard0"), which were previously stored internally.
Boot Into Gparted:
Insert your live USB and microSD card into your PC. To boot into Gparted power on your PC and select one of the "FX" buttons to bring up the boot selection menu (I need to select F9). The live USB will be labelled something like "USB Diskette", or "USB Hard Disk". Select your live USB and follow the prompts to boot into Gparted.
Create Partition for External Storage:
Once Gparted has loaded delete any existing partitions on your microSD card. Next create a primary partition using the Fat32 file system at the very beginning of your card with at least 4Gb of storage (I am using 8Gb). This is recognized and functions as external storage so that we have a place to store flashable (installable) .zips and TWRP backups. It does not contain any data relevant to the functioning of our tablet.
NOTE - Partitions should be aligned to mb and ideally be divisible by 4.
Create Partition for System Storage:
After creating a partition for external storage we need to create partitions for androids /system, /data, and /media partitions. If you plan on using Data2SD you only need to make a second partition. If you plan on using ROM2SD then you need to make 2 additional partitions.
Data2SD - Create a second primary partition using the ext4 file system with the remaining space on your microSD. This partition will contain your /system, /data, and /media partitions. After you have created this partition you will need to flag it to run at boot. Right click the ext4 partition and select “Manage Flags”. Check the box beside “Boot”. You are done reformatting, simply exit Gparted.
ROM2SD - The second partition you need to make will contain your /data and /media partitions. The third partition will contain your /system partition. It only needs enough space to store your ROM and kernel so we will create it first at the very end of the microSD card. Create a primary partition using the ext4 file system with 1Gb of space. After you have created this partition you will need to flag it to run at boot. Right click the ext4 partition and select “Manage Flags". Check the box beside “Boot”. Now create another primary partition using the ext4 file system with the remaining space on your card. You are done reformatting, simply exit Gparted.
Step #3 - Install System Via TWRP:
I do not recommend setting up Data2SD or ROM2SD using old data. Please do a fresh install to avoid issues. I am able to wipe my tablet completely, install my system, set up my apps/data, and apply all of the tweaks in this guide in less than half an hour.
Getting Started:
If using Data2SD please download the "mount-data2sd.zip" file attached to this post (credit @Mistar Muffin). If using ROM2SD please download the "mount-rom2sd.zip" file attached to this post (credit @_that). Move this file, your ROM, your kernel, and any applicable mods to the Fat32 partition on your microSD card. Power down your tablet and boot into TWRP (see basics section for details).
Install Using Data2SD:
Boot into TWRP and wipe everything other than external storage (cache, dalvik cache, data, system, internal storage). To begin setting up Data2SD select CROMi-X for installation. Next choose "mount-data2sd.zip". This resets device nodes so that TWRP will install .zips to our microSD card rather than internal storage. Begin installation once the rest of your .zips are selected (ex - themes, mods, etc). During CROMi-X installation you will be presented with a kernel selection page. In the first section select your desired kernel. In the second section choose the Data2SD compatible option. When installation has finished reboot your tablet and set it up as usual.
Install Using ROM2SD:
Before proceeding check out _that`s ROM2SD thread so you understand how ROM2SD works - http://forum.xda-developers.com/showthread.php?t=2501129. CROMi-X or miniCROMi-X users can utilize the following instructions to install ROM2SD, see the following post if you are dual-booting other ROMs - http://forum.xda-developers.com/showpost.php?p=47333729&postcount=31.
Boot into TWRP and wipe everything other than external storage (cache, dalvik cache, data, system, internal storage). We begin by setting up our tablet to run from internal storage. Select CROMi-X or miniCROMi-X for installation. Hundsbuah's kernel and _that's kernel are available through CROMi-X and are ROM2SD compatible. Next choose any other .zips you need to flash (ex - themes, mods, etc). During CROMi-X installation you will be presented with a kernel selection page. In the first section select a ROM2SD compatible kernel, in the second section choose the 4th option. This installs CROMi-X to your internal storage and allows you to boot to an additional system on a microSD card. Once installation has finished reboot your tablet.
When you reboot you will be presented with the android set up wizard. Go through this as usual and set up you tablet. Once you have finished reboot your tablet back to recovery. Next we will set up our microSD. Select CROMi-X or the ROM2SD compatible version of miniCROMi-X for installation. Next choose "mount-rom2sd.zip". This file updates TWRPs device nodes so that .zips are installed to the correct partitions on your microSD card. Select the rest of the .zips you need to flash and begin installation. Once you reach the kernel selection page in the CROMi-X installer select your desired kernel and the third option in the second section. Once installation has finished reboot your tablet. After rebooting you should be presented with the android set up wizard again.
NOTE - To boot using internal storage remove your microSD card from your tablet and power on. To boot to using your microSD simply put it back in and turn on your tablet.
Creating/Restoring Nandroid Backups:
To create or restore a TWRP Nandroid backup you must first install mount-data2sd.zip or mount-rom2sd.zip. This resets device nodes so that TWRP will correctly backup/restore partitions on your microSD card. The "Backup" section allows you to create Nandroid backups. The "Restore" tool in TWRP allows you to restore Nandroid backups.
Wiping Partitions and Factory Reset:
Boot into TWRP and install mount-data2sd.zip or mount-rom2sd.zip. This resets device nodes so that TWRP will correctly wipe partitions stored on your microSD card. The "Wipe" section can be used to do a factory reset or selectively wipe your dalvik cache, cache, /system partition, /data partition, or internal storage.
NOTE - Partitions are mounted differently after implementing Data2SD/ROM2SD. The Fat32 partition on your microsd is recognized as "MicroSD". The media partition is still mounted as "sdcard0". It can be found in the /system/storage/ directory, along with your tablets internal storage, which is mounted as "sdcardi". If using ROM2SD you internal /data partition can be accessed via the/datai directory.
CPU/GPU FREQ CAPS:
With Hundsbuah's kernel you can set freq caps for the CPU and GPU within each of Asus' power modes (power saving, balanced, performance). The parameters we need to edit can be found in the following files:
cpu1.sh (power saving)
cpu2.sh (balanced)
cpu3.sh (performance)
Which are located in the following directory:
/system/etc/cpuX.sh
To apply the following tweaks a text editor is used to edit lines contained in the aforementioned files. I utilize the editor built into AntTek Explorer Ex.
GPU Frequency Cap:
The following lines set GPU voltage:
logi "echo GPU voltage > core_cap_level"
echo GPU voltage > /sys/kernel/tegra_cap/core_cap_level
To modify the GPU freq cap simply fill the red portion of the above lines with your desired GPU voltage. The GPU voltage determines the GPU freq cap. Here is how Hundsbuah's stock voltage table works, if you modify the voltage table these values will be different:
700 mhz - 1425 mV
650 mhz - 1387 mV
600 mhz - 1350 mV
520 mhz - 1300 mV
484 mhz - 1250 mV
446 mhz - 1200 mV
408 mhz - 1150 mV
361 mhz - 1100 mV
247 mhz - 1000 mV
200 mhz - 950 mV
GPU FPS Limit:
To unlock the GPU FPS limit and change it to 90 add the portion in red to the following lines:
logi "setprop persist.tegra.NV_FPSLIMIT 1"
setprop persist.tegra.NV_FPSLIMIT 1
logi "setprop persist.sys.NV_FPSLIMIT 90"
setprop persist.sys.NV_FPSLIMIT 90
CPU Frequency Caps:
To change the frequnecy caps for each CPU core fill the red portion of the following lines with the desired frequency:
logi "echo Core 1 freq cap > pwr_cap_limit_1"
echo Core 1 freq cap > /sys/module/cpu_tegra/parameters/pwr_cap_limit_1
logi "echo Core 2 freq cap > pwr_cap_limit_2"
echo Core 2 freq cap > /sys/module/cpu_tegra/parameters/pwr_cap_limit_2
logi "echo Core 3 freq cap > pwr_cap_limit_3"
echo Core 3 freq cap > /sys/module/cpu_tegra/parameters/pwr_cap_limit_3
logi "echo Core 4 freq cap > pwr_cap_limit_4"
echo Core 4 freq cap > /sys/module/cpu_tegra/parameters/pwr_cap_limit_4
Asus Power Saving Modes:
The following profiles are optimal for specific tasks/uses. They were designed to obtain a lag-free experience based on certain levels of CPU load.
Power Saving - Used for tasks with a moderate to high load for extended periods of time (productivity, browsing heavy websites, streaming video online, heavy multitasking)
- GPU Voltage/Freq = 1425/700
- Core 1/2/3/4 = 1750000
- Quadrant Score - 7400-7500 (Screenshot - https://www.dropbox.com/s/jqdcrwc7t...core - Power Saving Mode (max 1.75Ghz).jpg?m=)
Balanced - Used for tasks with low to moderate load (general use, light browsing, email, media consumption, etc.)
- GPU Voltage/Freq = 1425/700
- Core 1/2/3/4 = 1600000
- Quadrant Score - 6900-7000 (Screenshot - https://www.dropbox.com/s/zlfhnv1jq...ant Score - Balanced Mode (max 1.6Ghz).jpg?m=)
Performance - Used for short intense workloads
- GPU Voltage/Freq = 1425/700
- Core 1/2/3/4 = 1900000
- Quadrant Score - 8000-8100 (Screenshot - https://www.dropbox.com/s/iv5wawq49...ant Score - Performance Mode (max 1.9Ghz).jpg)
INTERACTIVE GOVERNOR TWEAKS:
The CPU governor controls how the CPU scales through frequency steps in response to changes in CPU load. CPU load reflects the difference between our processors current power (increased by freq and voltage - decreased by leakage) and the power needed to effectively process work queued up by the process scheduler. The magnitude and variability of CPU load are important indicators of processor performance. As load increases instances of lag also tend to increase. If we were to graph instances of lag/stuttering and CPU load over time you would see that stuttering happens most when load is high. An unstable, or highly variable CPU load indicates that CPU scaling is not responsive to the demands of the process scheduler; its almost as if scaling is a half-step too late. In this condition scaling is generally erratic, which decreases time spent idling, system stability, and responsiveness. Ideally we want CPU load to be as low and stable as possible as this indicates scaling is working efficiently. The amount of power a CPU can output does not matter; if it is not effectively scaled based on changes in load then lag/unresponsiveness is bound to occur. The following governor tweaks improve the efficiency of CPU scaling. To evaluate their effectiveness Android Tuner was utilized to monitor CPU load, CPU scaling in real-time, total time spent at each frequency step, and core temperature during benchmark tests and actual use. Detailed explanations can be found beneath each tweak.
NOTE - You will need to write an init.d script to apply the following tweaks. See my guide to writing init.d scripts for details - http://forum.xda-developers.com/showthread.php?t=2198510.
NOTE - CROMi-X Users - The following tweaks, aside from max_boost, are applied by default in CROMi-X.
timer_rate - 20000
Sets the rate at which the governor samples cpu load. Lower values result in scaling that is too jumpy. Higher values result in scaling that is not responsive enough.
min_sample_time - 40000
Sets the minimum amount of time spent at a freq step before scaling down. The interactive governor samples CPU load every 2 ms. If the CPU is underpowered core freq is ramped up. Once load decreases the CPU is scaled back down. By default the CPU must spend at least 3 ms at a freq before it can scale down, which does not make sense if the governor is set on a 2 ms timer. A 4 ms minimum downscaling delay makes sense - the timer samples load twice before scaling down. Load tends to fluctuate drastically with touch devices; thus we do not want the CPU to scale down if it is going to have to ramp up again. Having a 2 ms timer allows the CPU to be scaled up quickly, while a 4 ms down scale delay prevents the CPU from downscaling early.
midrange_freq = 760000 - set as close to middle of freq table as possible
Needs to be recalibrated to reflect modified freq caps. If core freq caps are increased midrange freq should be adjusted so that the governor knows how to control the CPU properly.
max_normal_freq = 1300000
Instructs the CPU to jump to this freq when midrange_go_maxspeed_load is reached. For some reason this tweak has had a greater impact on performance than any of my governor tweaks. Before applying this tweak 475 mhz and max frequency are used most while under low/moderate load. After applying this tweak 475 mhz and 1.3 Ghz are utilized more often, as are a wider range of freq steps. Despite spending far less time at max frequency benchmark scores and performance have increased.
max_boost = 1900000 - set to highest freq available
Max boost is a mechanism for clearing a mounting queue as quickly as possible to prevent lag. It will do its job most effectively if we give it as much juice as possible. Controlled by go_maxspeed_load.
NOTE - CROMi-X Users - To apply the above tweak delete or edit the line changing max_boost under "#CPU and VM Tweaks" in sdbags 50CleanTWEAKS init.d script.
midrange_go_maxspeed_load = 65
go_maxspeed_load = 85
Optimal for keeping CPU load low and stable. Through my testing I have found that it is more efficient to adjust freq a little earlier by setting load thresholds lower (65/85) than it is to make adjustments when load has already gotten relatively high. Improves responsiveness without hurting battery life because the CPU spends more time idling.
To implement the above tweaks add the following lines to your init.d script:
echo "20000" > /sys/devices/system/cpu/cpufreq/interactive/timer_rate
echo "40000" > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
echo "760000" > /sys/devices/system/cpu/cpufreq/interactive/midrange_freq
echo "1300000" > /sys/devices/system/cpu/cpufreq/interactive/max_normal_freq
echo "1900000" > /sys/devices/system/cpu/cpufreq/interactive/max_boost
echo "65" > /sys/devices/system/cpu/cpufreq/interactive/midrange_go_maxspeed_load
echo "85" > /sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load
NOTE - Detailed descriptions of each governor can be found at the following link - http://forum.xda-developers.com/showthread.php?t=1369817.
HOTPLUG CONFIG:
The hotplug config in Hunds Kernel allows you to control how CPU cores are brought online as threads are processed. A thread is the smallest sequence of instructions that can be managed independently by a process scheduler. Threads are contained within a process. A process is the execution of instructions contained within a program. On a single processor system multi-threading (multitasking) is generally implemented by transmitting/sending signals over a common path; the processor switches between different threads. This switching generally happens frequently enough that the user perceives the threads or tasks as running at the same time. If the CPU is overloaded and a thread is queued up by the process scheduler then lag/stuttering is likely because thread switching does not occur quickly enough to be hidden from the user. On a multi-core system threads can be truly concurrent, with every processor or core executing a separate thread simultaneously, which decreases the potential for lag/stuttering. If core 1 is busy processing a thread and another thread is queued up by the process scheduler we want an additional core to become active so that core 1 does not have to switch between threads. However, we also do not want to bring cores online needlessly. If a core is able to process multiple threads fast enough such that switching is unnoticeable then it would be inefficient to bring another core online.
NOTE - CROMi-X Users - The following tweak is applied by default in CROMi-X.
To change the hotplug config add the following line to your init.d script:
echo "2 4 6" > /sys/kernel/rt_config/rt_config
Instructs the kernel to bring core 2, 3, or 4 online when more than X threads are active. Core 2 is brought online when 3-4 threads are active, core 3 is brought online when 5-6 threads are active, and core 4 is brought online when 7+ threads are active. Through my testing I have found that a single core running at 475 Mhz has enough power to effectively process a constant low load. If hotplugging values are set lower then the kernel tends to unnecessarily bring additional cores online while in a low load state. If the kernel is told to activate cores later then we begin to notice lag/stuttering due to thread switching.
KERNEL TWEAKS:
The following tweaks directly impact how the kernel controls our tablets hardware.
CPU Frequency Table:
The CPU frequency table sets the frequencies that are available to the CPU. The following tweak modifies the minimum freq step that is available to the CPU, to apply it add the following line to your init.d script:
echo "475000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
Through my testing I have found that if an app is open and generating a very low load we cannot utilize frequencies below 475 mhz. If allowed to drop below 475 mhz core freq bounces between 204 mhz and 475 mhz while in an active low load state; which indicates that freq steps below 475 mhz are incapable of handling the load induced by the activation of a foreground app. Preventing the CPU from dropping below 475 mhz increases responsiveness and stabilizes CPU load as the CPU cannot drop to ineffective frequencies. This does not impact battery life because of the design of the Tegra 3 processor. The Tegra 3 has 5 cores; 4 primary fast-process cores and 1 slow-process battery saving core. If our tablet is asleep or idling/inactive (no foreground app) then processing is handled by the low-powered battery saving core. If any foreground app is open our kernel activates a combination the 4 primary cores. Scaling_min_freq has no impact on the battery saving core. Therefore, increasing scaling_min_freq ensures we utilize effective frequencies while in an active state without preventing the CPU from dropping to lower frequencies while inactive.
CPU Voltage Table:
The CPU voltage table sets the voltages that are supplied to frequencies in the frequency table. Processing power is increased by frequency and voltage; while it is decreased by leakage, which is increased by heat. As voltage increases so does heat. Therefore, voltage has a positive and negative impact on processing power. The optimal voltage table balances the costs of reducing voltage with the benefits of reducing heat. When undervolting we want to drop voltages as low as possible without decreasing the load that a frequency step can handle. If voltages are dropped too low the need to jump to higher frequencies negates the benefit of running lower voltages. At this point, stability is also compromised. In order to change your CPU voltage table add the following line to your init.d script:
echo "1337 1300 1275 1250 1225 1200 1175 1150 1125 1100 1075 1050 1025 1000 975 950 925 900 875 850 825 800 775 750 725 700 687 675" > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table
The voltage table above has been rescaled and undervolted such that heat production is decreased while performance and stability are maintained. Battery consumption correspondingly decreases as less voltage is drawn by each freq step. Lower voltages are used across the entire table yet the undervolting is not very severe, if voltages are dropped any lower the load that each freq step can handle begins to decrease and introduce instability. The lowest and highest freq, where CPU utilization is highest, are undervolted the most. The voltages supplied by the table are optimal for the load each freq step needs to process, which is indicated by improved CPU scaling. CPU load is lower and more stable, low to mid range freq are used more, and upper range freq are used less. The CPU responds to changes in load more appropriately; while in a low load state we are much more likely to jump to a midrange feq than an upper range freq.
GPU Voltage Table:
The GPU voltage table sets the voltages that are supplied to freq in the freq table. Hundsbuah's voltage table is nearly optimal. The voltage supplied to 700 mhz (1425 mV) cannot be dropped without negatively impacting performance. That being said, the voltages supplied to lower freq can be dropped and rescaled such that performance is maintained. The following voltage table reduces heat production and battery consumption without impacting performance and stability. To edit your GPU voltage table add the following line to your init.d script:
echo "1425 1375 1325 1275 1225 1175 1125 1075 1025 975 925" > /sys/devices/system/cpu/cpu0/cpufreq/gpu_voltage_control
I/O TWEAKS:
I/O (input/output) refers to the communication between an information processing system and external sources (users, network cards, monitors etc). I/O operations involve an input device, a processing unit, and an output device. Whether or not a device is classified as input or output depends on one's perspective because many devices can serve as an input or produce output. Within computer architecture the CPU is the processing unit and main memory (RAM) is the output device. Any operation involving the transfer of data to/from this combination (ex - from an SSD) is considered I/O. I/O operations utilize both slow-access bulk storage (ROM) and fast-accesss memory (RAM), which prevents the CPU from processing flows of information at the same rate in both directions. The bottleneck introduced by R/W operations on slow-access storage often underlies laggy/unresponsive performance. I/O scheduling is utilized to avoid lag/stuttering that results from disparate rates of information processing.
Scheduler:
I/O schedulers control the flow of information between input devices, processing units, and output devices. Schedulers utilize algorithms to maximize the efficiency of I/O operations. Thus, I/O performance is significantly impacted by the scheduler that we use. To evaluate each scheduler's performance both Quadrant and Android Tuner were used; Quadrant for global I/O performance, Anroid Tuner for specific R/W speeds. I ran all schedulers through 6 trials in Quadrant and 6 trials in Android Tuner to control for variability in test scores and the effects of confounding variables. Following trials I calculated the mean R/W speed of each scheduler for all tested file sizes. Mean memory, I/O and total Quadrant scores were also calculated. Schedulers were then ranked from 1-6 within the previous measures. Finally, schedulers were ranked globally based on the mean of all within measure ranks. Results are as follows:
1)sio
2)deadline
3)row
4)cfq, noop
5)bfq
While the aforementioned ranks accurately reflect global I/O performance schedulers excel in a different areas. I suggest checking out my data at the following link and selecting the scheduler that is optimal for your system - https://www.dropbox.com/s/iie89tn33qe07j8/Lucius.Zen - IO Scheduler Data.xlsx?m=.
NOTE - CROMi-X Users - The following tweak is applied by default in CROMi-X.
To change your scheduler to "sio" add the following line to your init.d script:
echo "sio" > /sys/block/mmcblk0/queue/scheduler
echo "sio" > /sys/block/mmcblk1/queue/scheduler
NOTE - Detailed descriptions of each scheduler can be found at the following link - http://forum.xda-developers.com/show....php?t=1369817.
NOTE - Additional I/O tweaks can be found in the "I/O Scheduler Tweaks" section in post #3.
Structural/Clerical Section
METADATA:
INTRODUCTION:
Please advance through post #1 in the order I have laid out. I include prompts to links or other sections when necessary. I suggest reading the entire guide before applying any tweaks. See the "Appendix" section (post #3) for additional tweaks, mods, and useful resources.
Kernel Compatibility:
I am running Hundbuah's latest kernel. However, these tweaks should work well with other kernels (ex - _that's kernel).
Android Version/ROM:
This guide is based on the latest version of the android 4.2 ROM CROMi-Xenogenesis by sdbags. The modifications made in newer versions of android should have little impact on the effectiveness of these tweaks.
Init.d Scripts:
CROMi-X and other users can utilize the appropriate scripts attached to post #1 to apply tweaks implemented via init.d. To activate the script simply save it and remove the .txt appendage at the end of the file. See "Step #5: Enable Your Script" in my guide to writing init.d scripts for application instructions - http://forum.xda-developers.com/showthread.php?t=2198510.
Caution:
It is not possible to brick your device by applying the tweaks/mods in this guide. I have done terrible things to my tablet and she still works like a charm. However, I suggest taking a Nandroid backup of your /system, /data, and boot partitions before proceeding (see "Data2SD/ROM2SD" section in post #1).
Disclaimer/Support:
I am not a developer. I am simply an android enthusiast. I can guarantee that if you thoroughly follow the instructions in this guide you will not run into any issues. That being said I will not hold your hand. I have spent an immense amount of time ensuring this guide is incredibly thorough and easy to follow. I welcome all feedback relating to how this guide can be improved and promise I will do all I can to help anyone with issues. However, I have already spent far too many hours preparing this guide. I only ask that you do your best to avoid being a dumbass.
Happy Tweaking!
Lucius
IMPLEMENTATION GUIDE:
The following list outlines how I set up my system on a microSD formatted for ROM2SD (related section - "Data2SD/ROM2SD" - post #1). This roadmap is meant to simplify the overall application of this guide. Detailed instructions can be found in post #1 & #3. System files and installable mods can be obtained through links in the "Basics" section in post #1.
1) Wipe old data for fresh install (see "Data2SD/ROM2SD" - post #1).
- Boot into TWRP
- Install mount-rom2sd.zip (attached to post #1)
- Wipe cache, dalvik, system, data, and internal storage
- Format /data
- Power off
2) Install system and mods (see "Data2SD/ROM2SD" - post #1).
- Boot into TWRP
- Install CROMi-X to microSD
- Install mount-rom2sd.zip
- Install CrossBreeder mod (see "CrossBreeder Mod/AdAway App" - post #3)
- Install Disable_Journal.zip (attached to post #1 - see "Disable Ext4 Journalling" - post #3)
- Reboot System
3) Disable unnecessary apps (see "Disable Apps" - post #3).
4) Modify CPU/GPU profiles (see "CPU/GPU Freq Caps" - post #1).
5) Apply init.d script (attached to post #1 - see my guide to init.d scripting for application instructions - http://forum.xda-developers.com/showthread.php?t=2198510).
6) Disable CrossBreeder's governor & I/O tweaks (See Step #2 in "CrossBreeder Mod/AdAway App" - post #3)
7) Disable boot animation (see "Disable Boot Animation" - post #3).
8) Remap dock keyboard (see "Remap Dock Keyboard" - post #3).
9) Enable AdAway app & reboot when prompted (see "CrossBreeder Mod/AdAway App" - post #3).
CHANGE LOG:
Code:
[B]Feb.24/14:[/B]
- Added "Step #2 - Disable CrossBreeder's Governor & I/O Tweaks" in the "CrossBreeder Mod/AdAway App" section in post #3 - important for CrossBreeder mod users only
- Updated Quadrant scores in the "CPU/GPU Profiles" section in "CPU/GPU Freq Caps" in post #1
- Updated "Implementation Guide" in post #3
- Added note to "Remap Dock Keyboard Section" in post #3 - found APP_SWITCH function that invokes recent apps menu
[B]Feb.21/14:[/B]
- Added "Implementation Guide" section to post #2
- Renamed "Instructions" section in post #2 to "Introduction"
- Edited and cleaned up "Disable Ext4 Journalling" section in post #3
- Updated Power Saving mode Quadrant score in the "CPU/GPU Profiles" section in post #1
[B]Feb.20/14:[/B]
- Added new flashable .zip (Disable_Journal.zip) for disabling journalling - old one wasn't configured for our device - thanks LetMeKnow!
- Updated Quadrant scores in the "CPU/GPU Profiles Section" in post #1 and added screenshots
[B]Feb.19/14:[/B]
- Added "I/O Scheduler Tweaks" section to post #3
- Updated scripts to include aforementioned changes
- Added note to "Scheduler" section in post #1
[B]Feb.18/14:[/B]
- Added "Disable Logging/Logcat" section to post #3
- Updated scripts to include aforementioned change
- Reorganized post #3
[B]Feb.17/14:[/B]
- Added "Disable EXT4 Journaling" section to post #3
- Added "Set GPU FPS Limit" section to "CPU/GPU Freq Caps" in post #1 - thanks LetMeKnow!
- Added "Search Applications Provider" to "Disabled Apps" section in post #3
Updates Related to CROMi-X:
- Updated script for CROMi-X 5.3a compatibility
- Updated "Cromi-X Installer Options" section in post #3
- Added note to "TCP/IP Protocols and Congestion Algorithms" section in post #3
- Added note to "Scheduler" section in post #1
[B]Jan.13/14:[/B]
- Caught up on editing, reformatting, and reorganizing - fewer errors, clearer instructions, increased consistency across post #1-3 - not a single sub section made it out unscathed :)
- Modified intro to post #1
- Changed "Introduction" section in post #2 to "Instructions"
- Added "Init.d Scripts" section to "Instructions" section
- Added Google Search, Search, and User Dictionary to "Disabled Apps" section
- Added link to my TCP congestion algorithm data in "Optimal TCP Congestion Algorithm" section
Updates Related to CROMi-X:
- Updated script for CROMi-X users, please use new script for compatibility reasons - script was altered and renamed as entries in sdbags 50CleanTWEAKS script need to be removed or overwritten for compatibility reasons - see notes below
- Added note to "max_boost" in the "Interactive Governor Tweaks" section
- Added note to "Optimal TCP Congestion Algorithm" in the "TCP/IP Protocols and Congestion Algorithms" section
- Added note at the top of the "Interactive Governor Tweaks" section
- Added note at the top of the "Hotplug Config" section
[B]Jan.5/14:[/B]
- Updated CPU voltage table - midrange voltages rescaled and undervolted more - results in less heat, less battery consumption, greater usage of mid range freq, lower and more stable cpu load, feels more responsive, benchmark scores maintained, no decrease in stability thus far - attachments also updated
- Apologies for the many updates, voltage table tweaking can be finicky, tends to be a work in progress, should be the last for a while
[B]Jan.4/14:[/B]
- Changed top voltage (1.9 Ghz) in CPU voltage table from 1350 mV to 1337 mV as it is running much more stable - attachments also updated
[B]Jan.3/14:[/B]
- Moved "Introduction" to post #2 - ran out of room in post #1
- Added "GPU Voltage Table" section to the "Kernel Tweaks" section in post #1
- Uploaded a copy of the scripts I use - download and remove the .txt appendage to use - see my guide to writing init.d for application instructions
[B]Jan.2/14:[/B]
- Added "CPU Voltage Table" section to the "Kernel Tweaks" section in post #1
[B]Dec.30/13:[/B]
- Added "Disable Boot Animation" section to post #3
[B]Dec.27/13:[/B]
- Updated links to descriptions of governors/schedulers as they were out of date
- Added "Noozxoide Settings" section to post #3
- Added "Optimal TCP Congestion Algorithm" section to "TCP/IP Protocols and Congestion Algorithms" in post #3
- Added note to "Remap Dock Keyboard" section
- Cleaned up "Data2SD/ROM2SD" section
[B]Dec.26/13:[/B]
- Added "Remap Dock Keyboard" section to post #3 - thanks berndblb!
[B]Dec.23/13:[/B]
- Added "TCP/IP Protocols and Congestion Algorithms" to Appendix
- Went through and edited entire guide several times over to make everything as clear and easy to read as possible
[B]Dec.19/13:[/B]
- Added "I/O Tweaks" section
- Updated "Introduction" section (disclaimer)
- General cleaning, editing, clarification
[B]Dec.17/13:[/B]
- Cleaned and updated "Data2SD/ROM2SD" section - thanks _that and Thibor!
- Updated "Caution" section
[B]Dec.16/13:[/B]
- Tested CROMi-X 5.2.3, updated guide to reflect new changes - thanks sdbags!
- Changed "Introduction" section significantly
- General editing, cleaning, and reorganizing - simpler, more concise, easier to understand :)
[B]Dec.15/13:[/B]
- Added max_normal_freq tweak to "Interactive Governor Tweaks" section
- Added scaling_min_freq tweak to "Frequency Table Tweaks" in the "Kernel Tweaks" section
- Moved "CrossBreeder Mod/Ad Blocking" section to post #3
- Fixed typo in "Set CPU Freq Caps" in the "CPU/GPU Freq Caps" section - first line editing core 2/3/4 were improperly labelled as core 1 - copy/paste error, sorry guys
[B]Dec.14/13[/B]
- More editing - Arghhhhhh!!!
- Added "CROMi-X Installer Options" and "Disabled Apps" sections to post #3
- Updated "Special Thanks" section in post #3
- Updated "CPU/GPU Freq Caps" section - dual/quad core modes are no longer needed to increase utilization of the entire freq table - better performance without hurting efficiency or battery life
- Added quadrant scores to "CPU/GPU Profiles" section
- Reorganized "Interactive Governot Tweaks" section - ready to add the most powerful governor tweak thus far
[B]Dec.13/13[/B]
- Added "Disclaimer" section in "Intro"
- Updated Post #2 and #3
- More editing
[B]Dec.12/13:[/B]
- General cleaning, reorganizing, editing
- Ready for more tweaks
[B]Dec.6-11/13:[/B]
- And the updating begins...
- Updated "Introduction", "Basics", "Data2SD/ROM2SD", and "CrossBreeder/Ad Blocking" sections
- Updated "CPU/GPU Profiles" and "Stock (Interactive) Governor Tweaks" section
- Added "Hotplug Config" Section
SPECIAL THANKS:
This guide would not have been possible without the support of the xda community. I would like to take this opportunity to thank the community at large for all of your support. I would also like to formally thank the following individuals:
@Dees_Troy for bringing TWRP to our device.
@scrosler for the original CleanROM.
@clemsyn for his awesome kernel development.
@sdbags for CROMi-X and his incredible support.
@Hundsbuah for Hundsbuah's Kernel and explaining the inner-workings of kernel tweaking.
@_that for ROM2SD, kernel development, and his incessant need to challenge everything that I do. Thank you for helping keep my brashness in check, tolerating my lack of knowledge, and explaining rather than simply lecturing.
@Mistar Muffin for Data2SD
@idcrisis and @fivefour for their CrossBreeder Mod and sticking it to the man.
@buhohitr for the essential. support he provided during my initial foray into the "Android Development" section
@LetMeKnow for GPU fps unlocking, Disable_Journal.zip, sharing his results, and general support.
RESEARCH AND TESTING:
In order to evaluate a tweak I conduct experiments using a pretest-posttest design, which involves comparing mean pretest/posttest scores within and between a test group and a control group. Both groups are subjected to testing before the application of the experimental manipulation to establish an estimate of baseline performance in the measure of interest. Following pretests the experimental manipulation is applied to the test group while the control group is left constant. Posttest measures of both groups are then made. The mean score of both groups in pretests and posttests are calculated. To evaluate the overall effect of the experimental manipulation mean posttest scores are compared between the test and control group. If mean scores in the test group are greater than the control group then it is likely that the experimental manipulation was effective. Statistical hypothesis tests are needed to validate the comparison by ensuring within group variability does not exceed between group variability. If within group variability is higher than between group variability we cannot be sure that our mean scores are actually different. The pretest posttest design gives us the ability to evaluate changes within both groups as well. This is done by comparing mean pretest to protest scores within each group. If the control group made statistically significant improvements between the pretest and posttest this decreases our confidence in the validity of our between group comparison; unless the change within the control group can be accounted for. To create a test and control group ROM2SD was used to install two seperate systems on the same microSD card (32GB Sandisk UHS-1). One install was utilized as the control group, the other was utilized as the test group. Both setups were exactly the same in all respects to ensure accurate comparisons of mean test scores. The tweak being applied represents the experimental manipulation. Each tweak was tested in a separate experiment on a clean system. In between blocks Sd Maid was used to clear caches and junk files and dalvik/cache were cleared via TWRP. Various benchmarking and system monitoring tools were used to measure performance. While benchmarking and system monitoring tools are great they are not perfect. Thus, the effect of each tweak was subjectively tested in real world use for 3 days at minimum. Generally speaking I do not put much faith in others' subjective opinions; however, I make sure I know exactly what to look for with respect to a tweaks impact on performance. This is the point where I ask you to momentarily suspend disbelief, take my word for it, and try these tweaks for yourself. If you think I am nuts after all the more power to you.
Additional Resources
APPENDIX - USEFUL RESOURCES/TWEAKS/MODS:
CROMi-X INSTALLER OPTIONS:
I select the following options during the CROMi-X installation process:
DPI - 200
Launcher - Apex Launcher
Sound Manager - X-Loud Audio Mod (Noozxoide)
Tweaks - Browser2RAM, Zip Align .apks
Apps - AdAway App
Hard Core Tweaks - Force GPU Rendering
DPI Settings:
DPI, or dots per inch, determines how images are rendered across the pixels on your display. Setting DPI to a lower value results in content looking smaller. Changing DPI settings will not impact performance. 240 DPI is standard for most tablets because it makes things easiest to see/use for the widest number of people. 200 is better if you use your tablet as a laptop replacement because more content can be displayed at any given time.
Launcher:
I suggest using Apex Launcher. It has great features that extend functionality if desired. The UI is also incredibly customizable and can be stripped down to the bare essentials. Disabling features and cleaning up the UI is more important to me than adding features. Apex also won an award for top 5 apps in 2012 from xda. Make sure you select "Lock launcher in memory" in Apex's "Advanced Settings".
NOOZXOIDE SETTINGS:
The optimal noozxoide settings depend on the speakers you are using. I am utilizing the following settings for our tablets built-in speaker.
Noozxoide Xlimiter Processor:
- Compress and reduce overload for smooth audio - Enabled
- Select Effect Strength - Hard
Noozxoide Balanced X-EQ Processor, Noozxoide Maxxbass Processor:
- Deliver balanced natural soundstage and premium bass - Enabled
- Digital Presets - Cinema
- Noozxoide VE-Engine - Stongest
Noozxoide Logic Surround ES Processor:
- Create VSUR on practical monitors and widen the soundstage - Enabled
- Create Room Size - Live
CROSSBREEDER MOD/ADAWAY APP:
The CrossBreeder Mod utilizes 5 techniques to reduce lag. See the CrossBreeder mod link in post #1 for further details. From my experience it noticeably improves web page loading speed and the responsiveness of apps relying on mobile networks. It also completely removes ads instead of covering them with the "Web Page Not Availabe" dialogue. In order to enable ad removal you will need the CrossBreeder mod and AdAway app (obtained via the CROMi-X installer or the following link - http://forum.xda-developers.com/showthread.php?t=2190753).
Step #1 - Enable CrossBreeder:
If you did not install CrossBreeder during your system installation download the CrossBreeder mod and move it to your external storage. Boot into TWRP and install CrossBreeder (if you are flashing to a microSD make sure device nodes are set correctly). Wipe cache/dalvik and reboot.
Step #2 - Disable CrossBreeder's Governor & I/O Tweaks:
The CrossBreeder mod implements governor and I/O tweaks that may interfere with the application of the tweaks in this guide. To disable CrossBreeder's governor and I/O tweaks open a root explorer and navigate to the following file:
/system/etc/CrossBreeder
Next remount the /system partition as rewritable (see "Step #5 - Enable Your Script" in my guide to writing init.d scripts for details - http://forum.xda-developers.com/showthread.php?t=2198510). Once your /system partition is mounted as rewritable locate the following files:
/system/etc/CrossBreeder/START_TWEAKING_GOVERNOR
/system/etc/CrossBreeder/START_TWEAKING_IO
And change their name to:
/system/etc/CrossBreeder/STOP_TWEAKING_GOVERNOR
/system/etc/CROssBreeder/STOP_TWEAKING_IO
Step #3 - Enable AdAway App:
Once you have rebooted open the AdAway app. Select "Download Files and Apply Ad Blocking". Reboot your system when prompted. All ads should now be completely removed.
REMAP DOCK KEYBOARD:
To remap the dock keyboard we need to edit the following file using a text editor:
/system/usr/keylayout/asusdec.kl
I suggest backing up this file to an additional location before you begin editing. To remap a particular key simply delete the function to the right of the key's number and replace it with the desired function. Once you are done editing save the file and reboot your tablet.
EXAMPLE:
key 142 SLEEP WAKE UNLOCK
key 142 FORWARD_DEL WAKE UNLOCK
NOTE - Invoking the APP_SWITCH function opens the recent apps menu.
NOTE - The files below asusdec.kl contain the keyboard mappings for various external keyboards (ex - generic PC keyboards). I suggest checking out these files as they contain numerous functions that can be remapped to our keyboard dock (ex - escape).
NOTE - For a list of useful keyboard shortcuts see the following thread - http://www.transformerforums.com/fo...list-shortcut-keys-keyboard-dock.htmlhortcuts
DISABLE APPS:
Disabling the following apps will not impact basic functionality, cause instability, or boot looping. However, I primarily use my tablet as a laptop replacement; therefore, I offload many functions that I find better suited to my phone (ex - location based anything, lockscreen, daydream, etc).
Asus Battery
Asus Sync
Basic Sleep Mode Apps
Bluetooth Share
Calculator
com.android.backupconfirm
com.android.lockscreen
com.android.providers.partnerbookmarks
com.android.sharedstoragebackup
com.asus.pcsynclauncher
com.asus.quicksearch
com.asus.youtubesearch
com.google.android.voicesearch
Gallery
Google Backup Transport
Google Partner Setup
Google Search
Google Text-to-speech Engine
Live Wallpaper Picker
Market Feedback Agent
Mobile Data
Mobile Network Configuration
MusicFX
Network Location
Photo Screensavers
Search
Search Applications Provider
Setup Wizard
Setup Wizard
Sound Recorder
Talkback
User Dictionary
Wi-fi Direct Share
DISABLE BOOT ANIMATION:
Disabling the boot animation significantly reduces heat production and battery consumption brought about by the boot sequence. Core temperature ranges between 44-46 degrees celsius following a cold boot with the boot animation enabled. Core temperature ranges between 38-40 degrees celsius following a cold boot with the boot animation disabled. To disable the boot animation add the following line to the bottom of your build.prop file (found in the /system directory) using a text editor:
debug.sf.nobootanimation=1
DISABLE EXT4 JOURNALLING:
The ext4 file system utilizes journalling as a safeguard against data loss. A journalling file system keeps track of write operations in a journal before committing them to storage. In the event of a shutdown brought about by a system error it is possible for write operations to be interrupted, which may introduce inconsistencies in the file system. Instead of doing an entire file system check the journal is examined for write operations that were potentially interrupted. Thus, journalling allows ext4 file systems to quickly recover from crashes as entire file system checks can be avoided. However, write operations cannot be executed until the journal is updated and actively maintaining a journal requires memory and processing resources. Therefore, disabling journalling is advantageous from a performance perspective. I have found that disabling journalling reliably produces an increase in performance. To test I ran through 5 trials in Quadrant with journalling disabled and 5 trials with journalling enabled. On average disabling journalling increased total score by 88.2 points. The minimum and maximum total scores out of 5 trials were also much higher with journalling disabled. These results suggest that disabling journalling is a reliable way to improve performance. Follow the steps below to disable journalling:
Step #1:
Download Disable_Journal.zip (credit - @LetMeKnow) from post #1 and move it to your microSD card.
Step #2:
Boot into TWRP and install Disable_Journal.zip (if you are flashing to a microSD make sure device nodes are set correctly). Wipe cache/dalvik and reboot.
DISABLE LOGGING/LOGCAT:
Logcat, the android logging system, provides a mechanism for collecting and viewing system debug output. Various logs from applications, portions of the system, and kernel are recorded in logcat so that users can debug system failures/crashes brought about by errors in processes. Thus, logcat can be an incredibly useful tool for developers, testers, and advanced users. However, maintaining logcat involves recording thousands of lines of data as processes are executed, which requires system resources. Despite logcat's usefulness as a debugging tool it negatively impacts performance. To test I ran through 5 trials in Quadrant with logcat disabled and 5 trials with logcat enabled. On average disabling logcat increased total score by 20.2 points. The minimum and maximum total scores out of 5 trials were also higher with logcat disabled. Therefore, disabling logcat is advantageous for users who do not require advanced debugging capabilities. To disable logcat add the following line to you init.d script:
rm dev/log/main
I/O SCHEDULER TWEAKS:
The following tweaks improve I/O performance by modifying parameters that control the behaviour of the I/O scheduler. Detailed explanations can be found beneath each tweak.
iostats - 0
Disables I/O stats, which reduces overhead.
rotational - 0
Optimizes I/O scheduler behaviour for non-rotating storage. Scheduler no longer uses logic meant to reduce seek times.
rq_affinity - 1
Forces the kernel to process I/O requests on the CPU core that issued the request. Improves the effectiveness of CPU data caching.
nr_requests - 1024
Increases the size of the I/O request queue so that more requests can be sorted before execution.
read_ahead_kb - 6144
Increases the size of the read-ahead cache, which improves the reading of sequential data.
To evaluate the effectiveness of the above tweaks I compared mean R/W speeds of various file sizes following the application of each tweak. The above parameters represent independent variables (experimental conditions) and R/W speed, measured via Android Tuner, represents the dependent variable. I subjected each experimental condition to 5 trials to control for variability in test scores. In the first set of trials no tweaks were applied in order to establish a baseline measure of R/W speed (baseline condition). After establishing baseline performance each tweak was applied and tested in a sequential manner (experimental conditions C0-C4). Following trials the mean R/W speed of each file size was calculated for each experimental condition. In order to compare the impact of each tweak the total mean R/W speed of each experimental condition was also calculated. Global R/W speed increased sequentially following the application of each experimental manipulation. These results suggest that all of the aforementioned tweaks have a positive and measurable impact on I/O performance. You can find an excel chart detailing my results at the following link - https://www.dropbox.com/s/ezkbenk1ruql9rt/Lucius.Zen - Scheduler Tweaks Data.xlsx?m=.
To apply the above tweaks add the following lines to your init.d script:
MMC=`ls -d /sys/block/mmc*`;
for i in $MMC;
do
echo "0" > $i/queue/iostats;
echo 0 > $i/queue/rotational;
echo "1" > $i/queue/rq_affinity;
echo 1024 > $i/queue/nr_requests;
echo "6144" > $i/queue/read_ahead_kb;
done;
echo "6144" > sys/devices/virtual/bdi/179:0/read_ahead_kb
TCP/IP PROTOCOLS AND CONGESTION ALGORITHMS:
TCP/IP is a core set of communication protocols used to transfer data over the Internet and similar networks. IP packets are the vehicle devices use to transfer data between an application program and a web host. They are comprised of a header, which contains the source/destinatin address (among other things), and a payload, which contains the actual data. TCP, part of the transport internet layer, provides intermediate communication between an application and a host. When sending large chunks of data a program can issue a single request to TCP instead of breaking down data into a series of IP packets and requests.
Due to network congestion and other factors IP packets are often lost. TCP maintains the ordered delivery of packets by detecting packet loss, requesting retransmission, reordering data, and minimizing network congestion. When a host receives a stream of packets it reassembles the data into the sequence that was originally sent. Once the receiver confrims the soundness of the data it sends a packet acknowledging its retrieval. To avoid overloading the connection between a program and a host this aknowledgement must occur before more packets can be sent/recieved.
For each connection TCP maintains a congestion window. The TCP congestion window is maintained by the sender and is used to prevent network congestion/overload due to packet loss. When packet aknowledments are received the size of the TCP congestion window increases exponentially until a timeout occurs or the receiver reaches its bandwidth limit. Thus, as more packets are acknowledged the maximum segment size (specifies the largest amount of data in a single TCP segment) of the congestion window becomes larger; every round-trip time the maximum segment size effectively doubles. A mechanism called "slowstart" controls the maximum segment size of the TCP congestion window. To prevent network overload TCP congestion avoidance algorithms modify TCP window size, "slow-start", and the slow-start threshold. Thus, TCP congestion avoidance algorithms have a significant impact on the speed of packet delivery between an application program and a web host.
Optimal TCP Congestion Algorithm:
NOTE - CROMi-X Users - The following tweak is applied by default in CROMi-X.
My research and testing suggests that "lp" is the optimal TCP congestion algorithm. Although "westwood" produces marginally higher download/upload speeds (see the following post - http://forum.xda-developers.com/showpost.php?p=48088128&postcount=1884) "lp" results in a stronger connection between an application and a host; which is indicated by fewer timeouts, lost connections, and more responsive web browsing. This leads to the best overall user experience. To change your TCP congestion algorithm to "lp" add the following line to your init.d script:
/system/xbin/sysctl -w net.ipv4.tcp_congestion_control=lp
I salute you just for write this up. Thanks!!!! :good::good:
Thank you very much for this very detailed guide :good:
Thanks so much for this write up :good: just one question with regards to vsync, there seenms to be a lot of people that have experienced battery drain and/or screen tearing (especially during gaming) when disabling vsync, have you noticed this with the tf700?
yew123 said:
Thanks so much for this write up :good: just one question with regards to vsync, there seenms to be a lot of people that have experienced battery drain and/or screen tearing (especially during gaming) when disabling vsync, have you noticed this with the tf700?
Click to expand...
Click to collapse
I cannot report on the effects of disabling vsync on gaming because I do not play on games on my tablet. I havent experienced excessive battery drain or screen tearing during any benchmarks or stress tests that ive used. I dont experience any while watching a 1080p youtube video in a floating browser while reading multiple articles on the web with lots of pinching and zooming. If i were going to ever experience screen tearing, I imagine that would do it lol.
lucius.zen said:
I cannot report on the effects of disabling vsync on gaming because I do not play on games on my tablet. I havent experienced excessive battery drain or screen tearing during any benchmarks or stress tests that ive used. I dont experience any while watching a 1080p youtube video in a floating browser while reading multiple articles on the web with lots of pinching and zooming. If i were going to ever experience screen tearing, I imagine that would do it lol.
Click to expand...
Click to collapse
Thanks, will give it a try.
I'm pmr there is an option for compressed ram, what choice do you use?
Sent from my MB865 using xda app-developers app
yew123 said:
Thanks, will give it a try.
Click to expand...
Click to collapse
I don't think you can disabled vsync on tf700. Even if you disable vsync in PMR it does nothing.
Great guide. Is there any way of making a flash able zip so we don't have to re do it all when we upgrade rom?
Sent from my Xperia S using XDA Premium HD app
ishamm said:
Great guide. Is there any way of making a flash able zip so we don't have to re do it all when we upgrade rom?
Sent from my Xperia S using XDA Premium HD app
Click to expand...
Click to collapse
+1 and an uninstall zip
Sent from my ASUS Transformer Pad TF700T using xda premium
Where exactly in the internal storage do the zip files for apps go if you have data2sd enabled?
---------- Post added at 05:06 PM ---------- Previous post was at 04:46 PM ----------
And has anyone else had an issue where the network tweaks cause your Wifi to be disabled? I had to stop using them because of this.
gvsukids said:
I'm pmr there is an option for compressed ram, what choice do you use?
Sent from my MB865 using xda app-developers app
Click to expand...
Click to collapse
Only tweaks that are included are mentioned. Dont implement zram compression. Its an old optimization meant for lower end devices. It will reduce performance rather than improve it.
buhohitr said:
+1 and an uninstall zip
Sent from my ASUS Transformer Pad TF700T using xda premium
Click to expand...
Click to collapse
I include instructions on creating rescue packages in my guide, i will upload my .zip for PMR today.
primaleph said:
Where exactly in the internal storage do the zip files for apps go if you have data2sd enabled?
---------- Post added at 05:06 PM ---------- Previous post was at 04:46 PM ----------
And has anyone else had an issue where the network tweaks cause your Wifi to be disabled? I had to stop using them because of this.
Click to expand...
Click to collapse
I include instructions on how each partition and storage point is mounted in data2sd, see the "Note" at the end of Step #3.
buhohitr said:
I don't think you can disabled vsync on tf700. Even if you disable vsync in PMR it does nothing.
Click to expand...
Click to collapse
It doesnt have any impact on benchmark scores but I noticed flash elements in web pages were rendering faster with it enabled, especially when maximizing fullscreen flash videos. It used to take 3 sec for the GPU to render a streaming flash video when switched to fullscreen, now it takes around .8s.
I used to hate using flash. Which sucks, bc i use flash a lot, so I have spent a lot of time trying to optimize web browsing and flash. It still isnt perfect, but at least performance and stability are comparable to a laptop now. It just works better. At least it does exactly what you expect, no more errors, or unresponsiveness. The experience of consuming media over the web is much better overall after implmenting all my tweaks.
IF YOU HAVE A QUESTION, PLEASE REREAD THE INSTRUCTIONS IN DETAIL BEFORE ASKING IT.
I have answered 4 questions already that I really did not need to answer. The answers were already included somewhere in my guide. I dont mind answering questions, however, i wrote the guide with so much detail for a reason lol. The answers are there, please make sure you are thorough when reading my guide, I was quite throrough when I wrote it .
primaleph said:
Where exactly in the internal storage do the zip files for apps go if you have data2sd enabled?
---------- Post added at 05:06 PM ---------- Previous post was at 04:46 PM ----------
And has anyone else had an issue where the network tweaks cause your Wifi to be disabled? I had to stop using them because of this.
Click to expand...
Click to collapse
I havent had any network connection issues any my internet is terrible. I get a max download speed of 1.2 mb and only 50% signal strength in my bedroom. I have actually noticed wifi performance is better. Webpages open instantaneously, like apps do. Loading a new page in xda.com takes less than one sec, it basically happens instantly. Right now my signal is full strength, webpages are loading really fast, and streaming stuff is a pleasure. When I get my new phone I will definitely do up a video review on wifi performance and web browsing so you can see how fast web pages load.
ishamm said:
Great guide. Is there any way of making a flash able zip so we don't have to re do it all when we upgrade rom?
Sent from my Xperia S using XDA Premium HD app
Click to expand...
Click to collapse
I have had some issues creating a flashable .zip for PMR tweaks, the method I thought I could use doesn't work the way I anticipated. If I can figure this out I will post it, however, in the mean time it is really easy to apply the tweaks yourself. Now that I know which tweaks to apply it takes less than 5 min. Once youve done it twice you should have it memorized no problem

[KERNEL][EAS][8.0/8.1/9.0][GPUSC] Proto8 Kernel [Ofast]

{
"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"
}
Proto Kernel
Huawei Honor 9, P10 and P10+​
This kernel is aimed for optimal relation between Performance and Battery on the Honor 9 and the P10 family.
It's built with Function and Optimization in mind, no mile-long list of Features and unnecessary Bloat.
P10/P10+ users should download appropriate version.
Users with CN versions (AL-00's, TL-00's, C636 Region and alike) must also download appropriate version (CN) or it will cause a major bootloop.
As of August 23rd, following recent Huawei decisions and intentional provocation of issues with custom firmware, EMUI 8 is only Officially supported up to B369. It will work with more recent versions up to September Patch but WE WON'T TAKE ANY BUG REPORTS FROM THEM.
OpenKirin 8.1 Roms and HavocOS-hi3660 are Officially supported, Compatible with other Treble 8.1 and 9.0 Projects BUT WE ADVISE STRONGLY TO BASE YOUR TREBLE ROMS ON B368 OR B369 AT THE MOST.
DISCLAIMER
I'm not responsible for bricked devices and nuked SD Cards or the inability of reading instructions. Unlocking bootloader, flashing kernels and such, voids your warranty. If you have any doubts or don't know what you're doing, SEARCH, READ and then ASK. And i can't and therefore won't respond to issues without logs.
FEATURES
- Compiled with Linaro AArch64 GCC 5.5 2017.10 and GCC 4.9 2017.01 (CN Versions) (ARMv8,A53 Optimized)
- Native ARM big.LITTLE CPU Driver while keeping Huawei's specific SMP Flow for Kirin SoC
- HiSi GPUFreq driver and Frequency Hopping Spread Spectrum feature
- UV (UnderVolt) on both CPU Clusters and GPU for better efficiency (All thanks to @nutcasev1.5)
- Energy Aware Scheduling (EAS) with "Schedutil" CPU Governor
- blu_active and blu_schedutil CPU Governors
- CAF CPU Boost driver and SchedTune Boost v3
- GPU Scene Aware (set as default)
- Maple, SIOPlus and Zen additional I/O Schedulers
- Aggressive GPU Suspend on Low Frequencies
- Swap and zRam disabled
- NTFS R/W Support
- Reduced Kernel Wakelock Sources by 90% in relation to Stock
- Advanced TCP Algorithms with "Westwood" Default
- Reactivation of the "setenforce" command
- Huawei's Analytics Engine disabled
- Capacitive Button Fix by @zxz0O0
- Wireguard VPN Support
REQUIREMENTS
- Unlocked Bootloader
For EMUI 8:
- TWRP Recovery - @zxz0O0 TWRP Mandatory for the H9
- EMUI 8 Stock Firmware up to B369 Officially Supported. Others may work.
For Treble 8.1 and 9.0:
- TWRP for 8.1 - Get it here -> Link
- You will have to place Zips on external SD because this TWRP can't decrypt internal storage.
- OpenKirin Projects and HavocOS-hi3660 Officially supported. Other projects should work as well.
ACKNOWLEDGEMENTS
- Huawei/Honor for the source code
- @osm0sis for the AnyKernel2 and AIK tools
- @zx2c4 for Wireguard
- @eng.stk for his awesome blu_active and blu_schedutil CPU Govs
- @franciscofranco for the small bits and pieces that just make things work
- @zxz0O0 for initial tips on EMUI8 boot structure and the Capacitive Button Fix
EAS DISCLAIMER
- It is possible, as reported on other device threads, that EAS may increase your active battery drain during the first 2 or 3 cycles of usage. This is normal. Just continue to use the device normally and it will tune itself to your use and battery life will stabilize afterwards.
DOWNLOAD H9
AFH
DOWNLOAD H9 CN
AFH
DOWNLOAD FOR P10/P10+
AFH
DOWNLOAD FOR P10/P10+ CN
AFH​
XDA:DevDB Information
Proto8, Kernel for the Honor 9
Contributors
JBolho, nutcasev1.5
Source Code: https://github.com/JBolho/Proto
Kernel Special Features: EAS, UnderVolt, GPU Optimization, Persistent Spectrum Support, Wireguard
Version Information
Status: Stable - Final
Current Stable Version: 5.1F
Stable Release Date: 2018-10-24
Created 2018-04-21
Last Updated 2018-10-24
ProtoSSC, Changelog, Init.d Script and EMUI8 Theme
Q&A, Proto-Spectrum System Control, Proto init.d Script and Proto EMUI8 Theme
Proto-Spectrum System Control (ProtoSSC)
- Spectrum App - Google Play Link
- Spectrum System Control - AFH Download
"What is Spectrum and ProtoSSC?"
Spectrum, to put it simply, it's a quick and easy way of changing between Kernel settings oriented for 4 different scenarios, using pre-programmed profiles. More info? Check out the XDA link:
Spectrum App XDA Thread
Huge thanks to @frap129 for this work (and for Maple I/O too by the way)
ProtoSSC is a set of intructions that will give you full power over your system, completely eliminating Huawei's Management and Override Framework, replacing it with Spectrum-based Management, without having to mess around with files on internal storage.
Profiles are now built-in and are persistent after reboots (read notes)
ProtoSSC Instructions
First download the SSC flashable zip for your device file from the link above and place it on external SD card
Go to <root>/vendor/etc and delete the "perfgenius_boost_policy" and "perfgenius_config" XML files.
Go to <root>/vendor/bin/hw and rename (do not delete) "[email protected]" and "[email protected]" (just add ".bak" in the end)
Go to <root>product/etc/xml and delete the "uniperf_config_cust" XML file.
Go back to <root>/vendor and open the build.prop, find the lines "ro.config.hw_perfgenius" and "persist.sys.iaware.cpuenable" and change them from 'true' to 'false'.
If you were already using Spectrum, on your Internal Storage, delete the Spectrum folder, along with the profiles. Leave the Spectrum app installed.
Reboot to TWRP and flash the SSC file and reboot. (If you do not have Spectrum app installed, install it - Play Store link is above). Just give root permissions to the app and set whatever profile you want to use.
Every SSC Profile is now EAS based and separated by device family and was designed and tested for each purpose.
Every single profile has also some degree of underclocking, according to its design and purpose.
Therefore, we don't want to hear any noobs ranting about Antutu points.​
Balance - Designed for normal everyday use. Best balance between performance and SOT.
Performance - Designed for more demanding use, heavy multi-tasking and heavy Camera usage.
Battery - Designed for the best Battery life while maintaining minimal settings to avoid lags. GPU and Big cluster capped to minimum frequencies.
Gaming - Specifically designed and tested for sustained performance with heavy 3D gaming.
IMPORTANT NOTES:
After a lot of headaches and trying to figure all this Huawei system out, with the precious help of people at fRom Future Roms TG Group, and of course the ProtoKernel Testing Team, we finally made the profiles 100% persistent, and CPU/GPU freqs will no longer be overriden by the system.
There is only one logic exception to this, and that is of course, the Thermal Engine. Suffice to say, we will never mess with this.
These devices are not gaming consoles, i've heard the complaints, and i adjusted Boost settings on Gaming profile to be less agressive and underclocked the Little Cluster as well. With highly demanding games it will heat anyway, but should be better now. I take no complaints regarding PUBG or hour-long gaming sessions.
What is the Proto init.d Script and how do i use it?
- The Proto init.d Script tweaks the TCP buffers to optimize Mobile Data performance and enables the USB Fast Charging by default.
The script is best used with Magisk and you have to place it under <root>/magisk/.core/post-fs-data.d or <root>/sbin/.core/img/.core/post-fs-data.d depending on Magisk version.
Download is attached to this post as a zip file.
There's a Proto EMUI8 Theme? Where do i get it?
Right this way! --> Download Proto Kernel EMUI 8 Theme
Put it on Themes folder on Internal Storage and it will show up on your Themes app.
"My device started to lag a bit, what's happening?"
- If this occasionally happens, you really should know that rebooting your device every other day is a good thing. Swap and ZRam are dead for good and i'm not bringing them back.
Enjoy!
Version 5.1F - 10.24.18 [Final Feature-Development Release]
- Upstreamed to Linux 4.4.159
- Disable Huawei's D.U.B.A.I. functionality (No More Analytics for the H Company)
- Optimize build for big.LITTLE (GCC 5.5 based version only)
- Full Rebase of EAS to AOSP
- Implement Schedutil Governor
- Port Blu_Schedutil from OP6 Blu_Spark Kernel
- Deprecate Sched Governor
- Fix and Implement WALT (Window-Based Load Tracking)
- Add Tuned Zen I/O Scheduler (Now part of SSC Balance Profile)
- Separate SSC Profiles between Honor9 and P10 family (avoids error spamming on init logs and tailored freqs)
- Update Wireguard
- It's recommended you use the Kernel along with SSC and the init.d Script
Older Versions:
Version 3.0R - 09.19.18
- Upgrade to Linaro GCC 5.5-2017.10 (Keep Linaro GCC 4.9 for CN versions)
- Upstreamed to 4.4.103 - Kernel now on par with stock K970
- Increased Buffer on GPUFreq driver
- Port HiSi JPEG Processing Engine
- Update Wireguard to 0.0.20180910
- Update on SSC - All profiles are now based on EAS with heavy frequency customization
- Revert Proto init.d Script back to v1 due to Huawei's poor implementation of Skia
Version 2.5R - 08.20.18 [GPU Supercharger Edition]
- GPU - Reduce TLB Pressure and Prevent Memory Fragmentation
- GPU - Port and Optimize HiSilicon GPUFreq Driver and FHSS GPU Feature
- GPU - Re-Tune Scene Aware and Disable D.U.B.A.I. Analytics on GPU Govs
- Update Wireguard to 0.0.20180809
- Optimize Async I/O for SSD Storage
- Disable HiSi PerfHub
- Minor FS Optimization
- Initramfs Optimizations
- Minor Memory Fragmentation Optimization
- Updated Proto init.d Script to v2
Version 2.0R - 06.29.18 - Major Milestone Update
- Upstreamed to 4.4.73
- New Optimal Timer Frequency - 156HZ Set as Default
- Go Tickless - Enable Full Dynticks System
- Power Efficient Workqueues can now be toggled
- Revert CPU DDR Link Enabling and other HiSi CPU Functions
- Keep Kirin Specific SMP Flow but move to ARM big.LITTLE CPUFreq Driver
- Reduce Kernel Max Wakelocks down by 90% relative to Stock
- Minor RAM and DevFreq Tweaks
- GPU Scene_Aware Tuned for Power Efficiency
- Minor Log Spam on CPU's Silenced
- Reduce Timeout to Stop Processes and Enter Sleep
- Optimized Sound Output Gains and Eliminate Rates below 16Khz
- Implement UKSM 0.1.2.6
- Upgrade SchedTune Boost to v3
- Major Update to Spectrum Profiles to accomodate new features as well
- Update Wireguard to 0.0.20180620
Version 1.7.1R - 06.02.18 - Minor Fix Version
- @zxz0O0 Capacitive Button Fix now included
- Update Wireguard to 0.0.20180531
Version 1.7R - 05.28.18
- Upstream to 4.4.63
- Implement USB Fast Charging Capability
- Minor Efficiency Tweaks to Sched, SchedTune CPU Boost and LMK
- Removed Sociopath TCP Algorithm (Not needed, performance similar to Westwood)
- Update Wireguard to 0.0.20180524 and make it built-in instead of module
- Updated Spectrum Profiles
- Introduction of Proto init.d script - Tweaks TCP and Enables the USB Fast Charging by Default
Version 1.6R - 05.19.18
- Upstream to 4.4.52
- Add FRandom RNG Driver
- Add Dynamic SchedTune Boost
- Update Westwood TCP Algorithm
- Add Boeffla Wakelock Blocker
- Fix for possible Entropy depletion
- Update Wireguard to 0.0.20180519
Version 1.5R - 05.10.18
- Add blu_active CPU Governor and CAF Boost driver for non-EAS users
- Enable CPUFreq DDR Link
- Enable HiSilicon Low Temp CPU Frequency Set
- Timer Frequency set to 300HZ
- Powersave, Userspace and Conservative CPU Govs no longer available
- Automatic Process Group Scheduling Support
- SMT Scheduler Support for Multi-Threading Optimization
- Disable Scheduler Logging to reduce Overhead
- GPU Scene Aware - Battery friendly balanced GPU management. OpenGL may suffer, Vulkan is favored.
- Add Powersave GPU Gov for users that really don't need any GPU performance
- Maple I/O Scheduler tuned and set to default
- ZRam Disabled
- Entropy Tuned for improved performance
- Add FSync Toggle capability
- Disable CRC checks
- NTFS File System R/W Support
- Enable CleanCache Driver
- Skip Kernel Sync on Suspend
- Disabled Huawei Root Scanner
- Add Sociopath TCP Algorithm
- Update Wireguard to version 0.0.20180420
Version 1.2R - 05.04.18
- Add Maple and Tuned SIOPlus I/O Schedulers (SIOPlus now default)
- Tuned CFQ and Deadline I/O Schedulers
- Updated Sched Governor to Kirin970 .103 Source
- Updated CPUFreq Drivers and Governors to Kirin970 .103 Source
Version 1.1R - 04.26.18
- [FIX] Knuckle Gestures now work
- Reverted Huawei Max Freq. Detection for Increased Granularity on "big" Cluster
- Sched Governor now tuned for faster Freq Ramp-Down - [This may affect Benchmark Performance but not device overall performance and/or behaviour]
Version 1.0R - First Official Release 04.21.18
- Linaro AArch64 GCC 4.9 2017.01 (ARMv8,A53 Optimized)
- UnderVolt CPU/GPU by @nutcasev1.5
- Activate built-in EAS and set "Sched" Governor as default
- Enable Kirin Hotplug Flow for big.LITTLE
- Enable Aggressive GPU Suspend on Low Frequencies
- Deactivated Swap
- Reduced Kernel Wakelocks by 50%
- Set CFQ as Default I/O Scheduler
- Renamed Interactive Gov to bypass EMUI Governor Overrides
- Set Westwood as Default TCP Algorithm
- Reactivated "setenforce" command
- Added Wireguard VPN Capability
YES! a custom kernel, will take a look at this with AOSP oreo.
You say it under volts the CPU, is it possible to allow CPU OC'ing, since the A73 cores can hit 2.6GHz according to ARM, but we get stuck with 2.4GHz?
ambitiousButRubbish said:
YES! a custom kernel, will take a look at this with AOSP oreo.
You say it under volts the CPU, is it possible to allow CPU OC'ing, since the A73 cores can hit 2.6GHz according to ARM, but we get stuck with 2.4GHz?
Click to expand...
Click to collapse
The frequency is there on the kernel CPU files but it's not being considered, and plus, the max frequency is locked by Huawei on a hardware config file on vendor partition that sets all kinds of parameters. So far, fortunately, we managed to get around the override on that file that forced "interactive" to be default governor, no matter what was set on kernel, or else, EAS with its Gov as default wouldn't be possible.
But tampering with the file itself is not an option at this point in time.
JBolho said:
The frequency is there on the kernel CPU files but it's not being considered, and plus, the max frequency is locked by Huawei on a hardware config file on vendor partition that sets all kinds of parameters. So far, fortunately, we managed to get around the override on that file that forced "interactive" to be default governor, no matter what was set on kernel, or else, EAS with its Gov as default wouldn't be possible.
But tampering with the file itself is not an option at this point in time.
Click to expand...
Click to collapse
Ah, ok, still nice anyway, maybe someone will find a way to get around this lock.
ambitiousButRubbish said:
Ah, ok, still nice anyway, maybe someone will find a way to get around this lock.
Click to expand...
Click to collapse
Time will tell. Huawei's manner of doing things is a bit tricky. They set one thing on the kernel but then override it on the rom, or on Vendor (because of Treble compatibility)
I'm still pissed at them for switching to 64bit audio drivers exclusively, which nukes the ability to use currently available audio mods.
so , hang on, on the AOSP rom, i am able to change the CPU governor, and it DOES have an effect (bench on interactive gave ~180000 antutu v7, on performance gave ~200000) so, is it a setting in vendor, if its in the ROM itself, then a custom ROM might allow modifications from the kernel to take an effect, though the ROM may have to exclusively support the feature.
ambitiousButRubbish said:
so , hang on, on the AOSP rom, i am able to change the CPU governor, and it DOES have an effect (bench on interactive gave ~180000 antutu v7, on performance gave ~200000) so, is it a setting in vendor, if its in the ROM itself, then a custom ROM might allow modifications from the kernel to take an effect, though the ROM may have to exclusively support the feature.
Click to expand...
Click to collapse
You misunderstood me. You can change the governor after boot with any kernel management app, that's not the question. (I use KA for example)
But if you do not use one of those apps, the governor by default is interactive, even if you go into the kernel code and change it to something else. (that's why we had to find a way to override that)
Also, that vendor file sets Performance as governor during boot, and sets different governors also when the device is charging.
oh, ok, yes, that makes sense
Use su.d or service.d for change govs or sched like you wish with time wait until process found.
I use this way for my mod .
My H9 have no values stock , cpu at Lmk and no kernel app
k1ks said:
Use su.d or service.d for change govs or sched like you wish with time wait until process found.
I use this way for my mod .
My H9 have no values stock , cpu at Lmk and no kernel app
Click to expand...
Click to collapse
That's not a user-friendly solution. It's not even a solution in itself when it comes to developing...
If I want my kernel to be set a certain way, I have the obligation to make it so, without telling users to follow extra steps... Furthermore, no user should be forced to root in order to have a kernel work as it is intended. This is flash-and-forget, no extra steps needed.
If a certain user doesn't want to use it as-is, then of course, they can install a kernel app or use your method to set things their way, but that's out of my control or responsibility.
JBolho said:
That's not a user-friendly solution. It's not even a solution in itself when it comes to developing...
If I want my kernel to be set a certain way, I have the obligation to make it so, without telling users to follow extra steps... Furthermore, no user should be forced to root in order to have a kernel work as it is intended. This is flash-and-forget, no extra steps needed.
If a certain user doesn't want to use it as-is, then of course, they can install a kernel app or use your method to set things their way, but that's out of my control or responsibility.
Click to expand...
Click to collapse
It's a solution anyway.
By the way, great to see a custom kernel here.
Good initiative.
k1ks said:
It's a solution anyway.
By the way, great to see a custom kernel here.
Good initiative.
Click to expand...
Click to collapse
Thank you!
In the meantime i've been looking through some files and there are things that may be possible to improve but require root access and "manual labor" since TWRP still can't flash stuff on certain partitions.
If i can validate them with my testing, they may end up as some form of "Optional Root-Only Additional Optimizations" but the goal should be to provide something that performs without extra work.
Anyway, any and all feedback is appreciated, this device has great potential.
Nice work bro.. Will definitely give it a try.. :good:
JBolho said:
Thank you!
In the meantime i've been looking through some files and there are things that may be possible to improve but require root access and "manual labor" since TWRP still can't flash stuff on certain partitions.
If i can validate them with my testing, they may end up as some form of "Optional Root-Only Additional Optimizations" but the goal should be to provide something that performs without extra work.
Anyway, any and all feedback is appreciated, this device has great potential.
Click to expand...
Click to collapse
What do you mean " TWRP still can't flash stuff on certain partitions " ??
Twrp flash well .
If you want some support for the optionnal root add.
Yes great potential , sadly Huawei does not do like the others.
k1ks said:
What do you mean " TWRP still can't flash stuff on certain partitions " ??
Twrp flash well .
If you want some support for the optionnal root add.
Yes great potential , sadly Huawei does not do like the others.
Click to expand...
Click to collapse
Last time I checked, it still couldn't mount system... But thanks for the suggestion, this is still a work in progress, Huawei's methods are a bit mind bending and we're still figuring out what works and what doesn't. But there's still much room for improvement, I'm sure.
JBolho said:
Last time I checked, it still couldn't mount system... But thanks for the suggestion, this is still a work in progress, Huawei's methods are a bit mind bending and we're still figuring out what works and what doesn't. But there's still much room for improvement, I'm sure.
Click to expand...
Click to collapse
Of course , for sure . Stille much.
About mount system , i can help.
My mod that I develop on G+ need to mount system and mount root img too and works perfectly.
Works on most Huawei devices , H9 , P9 , P10...
Twrp Oreo manage successfully this step.
New Magisk use another way to mount because .img is in /data/adb/**.
@JBolho your kernel is working on my P10 (VTR-L29c432 Oreo b365), it's pretty fast I'm impressed with it, great work!
Update: Wifi and Bluetooth not working.
Working great on latest 362 ROM with KangVIP341. Safetynet passed, setenforce supported. But I still can not make VIPER4ANDROIDFX work in any way. Also nandroid backup is impossible from latest TWRP 3.2.1-0 v3. Error 255.
This kernel work on honor 8 pro.

remove

about Deluxe Kernel
This kernel is born as an option. It is not necessary to look for a low latency experience and additives.
because this brings it to Moto G6 plus evert a low latency performance optimized throughout all the parts build
the balance of the governor add-ons and the latest stable caf patches for our android based on sdm630 good dexk support on android pie+ arrives
the next betas published in the evert test group. Good luck to all of us.
great job @ seba_3567
FEATURES
- add ASB-2019-07-05_4.4-p-release
- add ASB-2019-07-05_4.4-p
- add LA.UM.7.4.r1-05400-8x98.0
- add LA.UM.7.2.r2-01300-8x98.0
- Align file struct to 8 bytes (old 4)
- 53 warning fixed
- all commit old build
- TTL fixup & misc.
- all changes old build
and commit beta 1-5 (sorry file changes to trash)
- remove blu gov cpu
- f2fs update support
- Update GPU governor with adrenoboost support
-remove vendor verify
- set kernel ANXIETY (I O FILES ) for default
- optimize anxiety (L1 procesador cache)
- cache l1 improve and reduce latency
- proc: Remove verifiedbootstate flag from /proc/cmdline 2/2 (thank to @fjsanti and @SyberHexen )
-proc: Remove SafetyNet flags from /proc/cmdline 1/2
- Tune VM params
- evert_defconfig cleaner
- uv gpu (80mv)
- uv display
add LA.UM.7.2.r1-07200-sdm660.0 into on dexk
- add LA.UM.6.2.r1-12700-sdm660.0 into on dexk
- update v4.4.184 to v4.4.185 into on dexk (74 commits)
- camera driver update
- sound driver update
- soc update
- display driver update
- wireless driver update
v8.0 final
- fixed derps battery drein and latency error on last 7.3
- DSBOOST update
- sched: import schedutil from pixel 3a (add no active)
- blu gov problem (get no active)
- reduce latency all kernel
- Dexk get support boot GSI permisive
- update 4.4.181 to 4.4.182 (6 commit)
- update 4.4.180 to 4.4.181 (268 commit)
- add Alucard Hotplug
- msm: mdss: Boost cpubw devfreq device when a new frame is ready
- kernel: Boost whenever a zygote-forked process becomes a top app
- upstream-f2fs-stable-linux-4.4.y' (285 commits)
- power: boeffla: Block some wakelocks
- boeffla_wl_blocker: update to wakelock blocker driver v1.1.0
- boeffla_wl_blocker: update to wakelock blocker driver v1.0.1
- boeffla_wl_blocker: add generic wakelock blocker driver v1.0.0
-kernel: Don't allow IRQ affinity masks to have more than one CPU
- defconfig: Enable RCU boost
- Wait 1 second to turn off a cpu
- init: mark dm_setup as __maybe_unused
- LA.UM.7.2.r1-07000-sdm660.0
- mmc: queue: Do not attempt request merging
- block: Force requests onto their origin CPU
-init: bypass dm-verity and mount system directly
Mount system_a/system_b directly by reading androidboot.slot_suffix=
v7.0 final release
- add dts_eagle sound support
- wcd9335: enable interrupt requests for huwifi mode;
-Have Adreno Idler ramp down frequency quicker but increase idlewait t…
-PM / devfreq: Add an interface to boost devices when the screen is woken
-cpufreq: Introduce CPU wake boost driver
-disable crc check
- cpu oc tester
- it accelerates the CPU but it does not show the apparent
- increased speed apart from what the latency gains but it is bearable
- ARM: dts: Reduce the maximum voltage allowed for the panel
- ARM: dts: sdm660-pm: set LPM parameters from SDM845
- ARM: dts: sdm630-pm: set LPM parameters from SDM845
- add support cryto SHA512
- update bsboost set
- ram optimize
- mm: Bump dirty ratios
- fs: Reduce cache pressure
- mm: Do not reserve memory for admins
- mm: Keep dirty pages in ram for at least 80 seconds
- mm: Do not periodically writeback data
- Compact memory mostly when fragmentation occurs
- mm: Increase vmstat interval
- block: Reduce queue depth
- update 4.4.179 to 4.4.180: (267 commits)
- add LA.UM.7.2.r1-06900-sdm660.0 into pie (12 commit)
- set Always overcommit memory by default
- mm: Allow memory to overcommit to 80% ratio
- sched/fair: Tune the scheduler using Google's presets
- Improve headset detection to 1sec..
- increase ROOT_FREQ to 24600000
- DTS: Decrease BCL low battery threshold to 5%
- zram: set lz4 by default
- cpu uc (add new 300MHZ on 8cores)
- cpu more frequency
- ARM: dts: Reduce the maximum voltage allowed for the panel
- ARM: dts: sdm660-pm: set LPM parameters from SDM845
- ARM: dts: sdm630-pm: set LPM parameters from SDM845
- add support cryto SHA512
- update bsboost set
- ram optimize
- mm: Bump dirty ratios
- fs: Reduce cache pressure
- mm: Do not reserve memory for admins
- mm: Keep dirty pages in ram for at least 80 seconds
- mm: Do not periodically writeback data
- Compact memory mostly when fragmentation occurs
- mm: Increase vmstat interval
- block: Reduce queue depth
v5.0 :
https://www.androidfilehost.com/?fid=1395089523397957276
cpu: optimize
add more apis [12]
add more cpu gov (7)
add support for Dynamic SchedTune Boost
cpu: optimize driver
other changes
I deleted the other file
in which it contained changes}:
and more........
final pie release deluxe kernel
Download
https://t.me/evert_roms
check telegram group :good:
you like my job give me a cup of coffee:highfive: https://www.paypal.me/sebastian3567
XDA:DevDB Information
remove, Kernel for the Moto G6 Plus
Contributors
sebastian3567HD
Source Code: https://github.com/TeamDeluxe/android_kernel_motorola_msm8998
Kernel Special Features:
Version Information
Status: Testing
Created 2019-07-27
Last Updated 2020-04-08
Reserved
at the moment he cannot do the ZIP since I have social life c: put to that I invite the developers / cooks that includes the tree in his environment and someone wants to help with the zip can contact me a telegram @ seba_3567 and I give him permissions to the tree
Reserved
dexk get support for android 10 ! update soon
Thank you very much for posting this. I am eager to try this on my device, which has Havoc on it.
Just to confirm the installtion process. I assume that I would install the kernel, then flash Magisk.
Is there any need to reload TWRP (I noticed that you posted an updated flashable twrp on Telegram as well which I am eager to try).
Perfect
Great combination, Havoc and KernelDeluxe. Thank you
I have tested this on my phone using the latest version of Havoc.
Unfortunately, I experienced a couple of instances where the phone totally froze then restarted. I was in the middle of using firefox for android both of those times. Since the phone was non responsive, I was not able to get a logcat.
I am not sure if that behavior would be limited to firefox, at each of those restarts I had to set up my home screen widgets again and didn't want this to happen again so I reverted to the standard Havoc kernel.
If there are any tests or diagnostic information I can provide, I will be happy to do so. I can flash the kernel again and do that. I am just a bit wary of using it as a daily driver. Please let me know how I can help troubleshoot or if there is any information I can provide. Note, I didn't do any kernel tuning.
I am wondering what others may have experienced....
ew said:
I have tested this on my phone using the latest version of Havoc.
Unfortunately, I experienced a couple of instances where the phone totally froze then restarted. I was in the middle of using firefox for android both of those times. Since the phone was non responsive, I was not able to get a logcat.
I am not sure if that behavior would be limited to firefox, at each of those restarts I had to set up my home screen widgets again and didn't want this to happen again so I reverted to the standard Havoc kernel.
If there are any tests or diagnostic information I can provide, I will be happy to do so. I can flash the kernel again and do that. I am just a bit wary of using it as a daily driver. Please let me know how I can help troubleshoot or if there is any information I can provide. Note, I didn't do any kernel tuning.
I am wondering what others may have experienced....
Click to expand...
Click to collapse
it is normal if that compilation has a non-stable preliminary version
sebastian3567HD said:
it is normal if that compilation has a non-stable preliminary version
Click to expand...
Click to collapse
I totally understand and just wanted to report my experience.
I will try the next version whenever it comes out.
If I am not mistake, the "stock" kernel that comes with Havoc is an earlier version of this (If I am correct).
- proc: Remove verifiedbootstate flag from /proc/cmdline 2/2 (thank to @FJSanti and @SyberHexen )
-proc: Remove SafetyNet flags from /proc/cmdline 1/2
Hi, does this 2 thing mean i can use gpay and other safetynet sh.. without root, magis and bla bla with this kernel without a problem? Or it no longer works for gpay?
lsander said:
- proc: Remove verifiedbootstate flag from /proc/cmdline 2/2 (thank to @FJSanti and @SyberHexen )
-proc: Remove SafetyNet flags from /proc/cmdline 1/2
Hi, does this 2 thing mean i can use gpay and other safetynet sh.. without root, magis and bla bla with this kernel without a problem? Or it no longer works for gpay?
Click to expand...
Click to collapse
in theory yes
sebastian3567HD said:
in theory yes
Click to expand...
Click to collapse
Yup in theory but before i will unlock ky hootloader would be nice to know if somebody use it that way. I use a lot gpay for now that is why asking. Anyway thanks maybe i will unlock anyway. I hate stock roms
Hey, does this work on stock?
Would this make my phone faster game wise?
This will overclock my gpu or not..?
---------- Post added at 08:00 AM ---------- Previous post was at 07:54 AM ----------
This will overclock my gpu or not..?
Suport Android 11?

Categories

Resources