[ apps] sysctl config "root" - HTC Wildfire S

Dear friends,
Does anybody heard about this application which improve your device performance by changing some parameters in the sysctl() file. It has the following option, but as an amateur I do not know what for what parameters and what value should I select :
Memory Free( KB) - default 2637
Dirty Ratio - default 20
Dirty Background Ratio - default 5
VFS Cache Pressure - default 100
Oom Allocating Task - default unchecked
In the advanced option ( For pro version)
Key - default null
Value - default null
Application Version : 1.2
Application Name: SYSCTL CONFIG ROOT
--------------------------------
Anyone out there to give a lesson
--------------------------------
" Use Android, Use Tapatalk "

Related

[KERNEL][3.4.106][LP][ION] K^Kernel 3.4.106 v2.0 for LP 5.0 [11/03/2015][EOL]

{
"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"
}
In this thread you may find my customized kernel 3.4.x for Lollipop rom (CM 12.0 and derivatives) that use ION+PMEM ADSP memory allocations.
Of course, your feedback, as always, are welcome and certainly valuable.
The main features are the following:
- Kernel 3.4.x
- Kernel based on more updated kk_2.7-stable branch of CAF (Code Aurora Forum)
- Sources synched with cm-12.0 repo branch of DevCon Team
- Built with my custom Linaro 4.9.3-2015.02 toolchain optimized for Cortex-A8
- Built with Cortex-A8 and NEON VFP optimization flags (both kernel and modules)
- Built with -O3 optimization flag (both kernel and modules)
- CPU overclockable up to 1824 MHz
- CPU frequencies undervolted (UV version) or extremely undervolted (EXUV version)
- CPU voltage control VDD sys interface (click for more details)
- Dynamic memory allocation of ION heaps through CMA (Contiguous Memory Allocator)
- Dynamic memory allocation of PMEM ADSP heap through CMA (Contiguous Memory Allocator)
- 426MB of free RAM
- Init.d support
- Fast Charge support (default disabled, click for more details)
- Battery Life eXtender support (default disabled, click for more details)
- Ram Console support (click for more details)
- TRIM support
- USB OTG support (if also implemented on rom side)
- Lowered display panel voltage
- Lowered vibetonz voltage
- Lowered wifi voltage
- Lowered swappiness (60 -> 45)
- Increased CPU frequency during boot
- Optimized AES and SHA1 routines for ARM cpu architecture
- Fixed 100% battery notification after charger unplug
- Increased audio volume on board side
- Con Kolivas' CK3 Tweaks
- Optimized SLUB memory allocator
- Optimized ARM RWSEM (read/write semaphore) algorithm
- Optimized asynchronous I/O latency on solid state disks
- Disabled Gentle Fair Sleepers for better UI performance
- CIFS support on boot
- Memory compaction
- Dynamic compression of clean pagecache pages
- Dynamic FSync v1.2 (click for more details)
- Dynamic dirty page writebacks (click for more details)
- VM tweaks for performance and less battery consumption
- Timer slack controller (click for more details)
- Dynamic management of the minimal timer slack value during suspend/resume (click for more details)
- LowMemoryKiller management of not killable processes (click for more details)
- exFAT support
- Additional TCP Congestion algorithms
- Updated ZRam, ZSMalloc, ZCache built-in modules
Available CPU governors:
- Adaptive
- BrazilianWax
- Conservative
- Hyper
- Intellidemand
- Interactive
- InteractiveX
- LionHeart
- LulzActive
- OnDemand (default)
- OnDemandX
- Performance
- Powersave
- SmartAssV2
Available I/O schedulers:
- BFQ
- CFQ
- Deadline
- Fiops
- Noop
- ROW (default)
- SIO
- V(R)
Kernel Downloads for Lollipop ION+PMEM ADSP:
K^Kernel LP-5.0 Mediafire Folder
[QRCODE]https://www.mediafire.com/folder/b82tiiw5u7hd7[/QRCODE]
- v2.0 -
for CM 12.0
and the other roms based on CM 12.0
Note: You must use the CWM recovery with new partition assignments you may find inside CM 12.0 thread by arco68.​
Howto install the kernel:
1) Download the preferred kernel zip file to sdcard or external sdcard
2) Reboot to recovery mode
3) Flash the kernel zip file
4) Reboot the system
Kernel sources (on GitHub):
Development branch of K^Kernel 3.4 for LP 5.0 ION+PMEM ADSP
​
Useful info:
- Special features and sysfs settings
- Frequently asked questions
​
Tables:
​
Changelog:
Code:
[B]11/03/2015 - K^Kernel 3.4 v2.0 for Lollipop ION+PMEM ADSP[/B]
- Kernel 3.4.106
- Built with my latest custom Linaro 4.9.3-2015.02 toolchain optimized for Cortex-A8
- defconfig: Switch to ROW I/O scheduler as default (credits to Christopher83)
- HID: input: generic hidinput_input_event handler (credits to David Herrmann)
- cpufreq: Avoid using global variable total_cpus (credits to Ruchi Kandoi)
- net/ping: handle protocol mismatching scenario (credits to Jane Zhou)
- net: ipv6: allow choosing optimistic addresses with use_optimistic (credits to Erik Kline)
- netfilter: IDLETIMER: fix invalid deference of timer (credits to JP Abgrall)
- prctl: make PR_SET_TIMERSLACK_PID pid namespace aware (credits to Micha Kalfon)
- crypto: arm-aes - fix encryption of unaligned data (credits to Mikulas Patocka)
- ARM: 8118/1: crypto: sha1/make use of common SHA-1 structures (credits to Jussi Kivilinna)
- ARM: 8119/1: crypto: sha1: add ARM NEON implementation (credits to Jussi Kivilinna)
- ARM: 8120/1: crypto: sha512: add ARM NEON implementation (credits to Jussi Kivilinna)
- defconfig: Enable NEON optimized SHA1 crypto routines (credits to Christopher83)
- defconfig: Build QCOM crypto device as built-in (credits to Christopher83)
- pstore: selinux: add security in-core xattr support for pstore and debugfs (credits to Mark Salyzyn)
- KEYS: close race between key lookup and freeing (credits to Sasha Levin)
- msm_fb: Fix RGB pipe offset issue (credits to Blefish)
- msm: mdp.c fix deadlock which causes blue screen (credits to Vinu Deokaran)
- msm: rq_stats: Use cpufreq API to get the current frequency (credits to Archana Sathyakumar)
- defconfig: Back to enforced SELinux (credits to Christopher83)
- staging: android: ashmem: add missing include (credits to Rom Lemarchand)
- net: wireless: bcmdhd: Remove WLAN_CIPHER_SUITE_AES_CMAC advertisement (credits to Dmitry Shmidt)
- gpu: ion: Refactor locking (credits to Srinivasarao P)
- gpu: ion: use a list instead of a tree for heap debug memory map (credits to Srinivasarao P)
- gpu: ion: fix locking issues in debug code (credits to Mitchel Humpherys)
- gpu: ion: add locking to traversal of volatile rb tree (credits to Srinivasarao P)
- gpu: ion: Delete invalid extra file (credits to Pradosh Das)
- drivers: video: msm: Cleanup some dead codes (credits to sirmordred)
- lz4: Revert previously applied commits (credits to Christopher83)
- decompressor: add LZ4 decompressor module (credits to Kyungsik Lee)
- lib: add support for LZ4-compressed kernel (credits to Kyungsik Lee)
- lib: add lz4 compressor module (credits to Chanho Min)
- lib/lz4: correct the LZ4 license (credits to Richard Laager)
- lz4: fix compression/decompression signedness mismatch (credits to Sergey Senozhatsky)
- lz4: ensure length does not wrap (credits to Greg Kroah-Hartman)
- lz4: fix another possible overrun (credits to Greg Kroah-Hartman)
- lz4: add overrun checks to lz4_uncompress_unknownoutputsize() (credits to Greg Kroah-Hartman)
- Update zram and zsmalloc up-to 3.17 kernel changes (credits to sirmordred)
- msm7x30: Remove high memory configurations (credits to Christopher83)
- msm7x30: Change all heap types to CMA (credits to sirmordred)
- msm7x30: Workaround deep sleep issue (credits to Christopher83)
- msm7x30: Increase ION memory heap for surfaceflinger (credits to Christopher83)
- defconfig: Update default and custom configurations (credits to Christopher83)
- f2fs: Sync F2FS to Jaegeuk's linux-3.4 branch (credits to Christopher83)
- selinux: fix inode security list corruption (credits to Stephen Smalley)
- Squashed update of kernel from 3.4.105 to 3.4.106 (credits to Christopher83)
- ipv4: try to cache dst_entries which would cause a redirect (credits to Hannes Frederic Sowa)
- USB: android: release spinlock before queuing work in android_setup (credits to Tarun Gupta)
- usb: gadget: Ignore the second set_config from the host (credits to ChandanaKishori Chiluveru)
- usb: android: Skip the work when set_config arrives with same value twice (credits to ChandanaKishori Chiluveru)
- usb: android: Fixup multiple lun support (credits to arco68)
- msm: camera: s5k4ecgx: Set mount angle from platform data (credits to sirmordred)
- USB: gadget: qdss: Fix strncmp length usage (credits to Kumar Gala)
- usb: android: Print LUN debug info (credits to Christopher83)
- Ramdisk updates (credits to Christopher83)
[B]31/12/2014 - K^Kernel 3.4 v1.0 for Lollipop ION+PMEM ADSP[/B]
- Kernel 3.4.105
- Built with my latest custom Linaro 4.9.3-2014.12 toolchain optimized for Cortex-A8
- ariesve: Set SELinux to be permissive (credits to Christopher83)
- defconfig: Set selinux permissive (credits to arco68)
- defconfig: Enable CONFIG_NETFILTER_XT_TARGET_IDLETIMER (credits to arco68)
- defconfig: Regenerate (credits to arco68)
- ext4: Add support for FIDTRIM, a best-effort ioctl for deep discard trim (credits to JP Abgrall)
- broadcom_wlan: Modify country code source (credits to arco68)
- net: ipv6: autoconf routes into per-device tables (credits to Lorenzo Colitti)
- netfilter: nf_conntrack: decrement global counter after object release (credits to Pablo Neira Ayuso)
- net: ipv6: Add a sysctl to make optimistic addresses useful candidates (credits to Erik Kline)
- Enable NEED_NETDEV for vendor command support. (credits to Subhani Shaik)
- cfg80211: ignore supported rates for nonexistant bands on scan (credits to Felix Fietkau)
- crypto: msm: check potential integer overflow (credits to William Clark)
- defconfig: Enable generic USB audio driver (credits to tobigun)
- i2c: chips: fsa9480: Add support for charging in USB-OTG mode (credits to tobigun)
- defconfig: Update custom defconfigs (credits to Christopher83)
- defconfig: Disable Frandom module (credits to Christopher83)
- i2c: chips: fsa9480: Add write-permission for USB-OTG charger type (credits to tobigun)
- Staging: android: binder: More offset validation. (credits to Arve Hjonnevag)
- fs: f2fs: Initial import from https://kernel.googlesource.com (credits to arco68)
- defconfig: Enable F2FS filesystem (credits to arco68)
Credits and Thanks to:
arco68, CastagnaIT and Ivendor for their awesome work and their kernel sources
Ezekeel, Doomlord, Faux123, Stratosk, Tegrak, ErasmuX, Imoseyon, Blefish, mikeioannina, Madridii and other devs I'm surely missing
CyanogenMod, Kernel.org, Code Aurora Forum, Google, Linaro GCC developers
XDA:DevDB Information
[GT-I8150][ION] K^Kernel 3.4 for LP 5.0 ION+PMEM ADSP, Kernel for the Samsung Galaxy W I8150
Contributors
Christopher83
Source Code: https://github.com/Christopher83/samsung-kernel-msm7x30/tree/cm-12.0
Kernel Special Features: Customized kernel 3.4.x for LP 5.0 rom (CM 12.0 and derivatives) with ION memory allocations
Version Information
Status: Stable
Current Stable Version: v2.0
Stable Release Date: 2015-03-11
Created 2014-12-31
Last Updated 2015-06-08
Special features and sysfs settings (Part 1):
Here you can find some useful scripts that can be used with the following described features:
Scripts​
CPU voltage control VDD sys interface
This feature allows to customize the voltage assumed by each cpu scaling frequency.
It could be useful if you'd like to decrease one or more voltages for battery saving purposes (undervolting), or to increase/adjust them to prevent phone freezes (overvolting).
How to customize the voltages:
1) By downloading and using Trickster MOD or IncrediControl and changing the voltages table inside the SVS tab
2) By using customized init.d scripts (the custom values will be always restored after a reboot, if you don't format the system partition)
- Download one of the script named 01vdd_levels*
- If the file has been saved with .txt extension (stock browser), rename it by removing the .txt extension
- Edit the file by setting your customized voltages, where each line has this syntax
Code:
echo "[I][B][COLOR="Blue"]cpu_freq_HZ[/COLOR][/B][/I] [I][COLOR="SeaGreen"][B]mV[/B][/COLOR][/I]" > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
cpu_freq_HZ is the cpu frequency in Hz you'd like to change
mV is the voltage you want to set
For example, the following line means that when the cpu frequency is 1516800 Hz = 1516 MHz, the voltage used will be 1175 mV
Code:
echo "1516800 1175" > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
- Copy the new file inside /etc/init.d
- Give the rwxr-xr-x permissions to the file (read, write, execution for owner, read and execution for group users, read and execution for others)
- Reboot
3) By using Terminal Emulator (note that the values you set will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run these commands
Code:
su
# Run a command for each cpu frequency voltage you'd like to change
echo "[I][B][COLOR="Blue"]cpu_freq_HZ[/COLOR][/B][/I] [I][COLOR="SeaGreen"][B]mV[/B][/COLOR][/I]" > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
cpu_freq_HZ is the cpu frequency in Hz you'd like to change
mV is the voltage you want to set
For example, the following line means that when the cpu frequency is 1516800 Hz = 1516 MHz, the voltage used will be 1175 mV
Code:
echo "1516800 1175" > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
Alternative Extreme Undervolted (ExUV) settings
If after overclocking your I8150 you noticed some freezes when on ExUV kernel builds, you may use an alternative extremely undervolted setting with the init.d script you can find here: 01vdd_levels_alt_exuv
- Download the script
- If the file has been saved with .txt extension (stock browser), rename it by removing the .txt extension
- Copy the new file inside /etc/init.d
- Give the rwxr-xr-x permissions to the file (read, write, execution for owner, read and execution for group users, read and execution for others)
- Reboot
Force Fast Charge
This feature allows you to force AC charging for any charger that is detected as USB (eg. PC USB ports, USB Car Chargers) and pull the full current the charger can support, in such a way as to speed up the time required for a complete battery recharge.
By enabling this feature, the USB / ADB data transfers will be disabled (security limitation to protect your data).
How to enable/disable the Force Fast Charge:
1) By using the related setting inside System->Advanced->Force Fast Charge (only on CM 10 Beta 3 and next releases)
2) By downloading and using Trickster MOD or IncrediControl or NsTools
2) By directly editing the file /sys/kernel/fast_charge/force_fast_charge and setting 1 to enable the force charge, 0 to disable it (note that set value will be lost after a reboot/shutdown)
3) By using Terminal Emulator (note that set value will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run this command to enable the force fast charge feature
Code:
su
echo 1 > /sys/kernel/fast_charge/force_fast_charge
- Then, when you want to restore the normal status, run this command to disable the force fast charge feature
Code:
su
echo 0 > /sys/kernel/fast_charge/force_fast_charge
4) By using a customized init.d script, but I don't recommend it because you have to remember to disable the feature every time you want to connect your device to a pc for data transfering after every reboot
Battery life extender (BLX)
This feature has been developed by Ezekeel and allows to set a customized battery charging limit (100% is the default stock value, if you want, you can set a lower value).
As Ezekeel said, it is commonly accepted that both very low and very high charge states accelerate the degradation of the battery capacity (that is why you should store Li-Ion batteries at around 40% charge).
If you set a charging limit equal to 100, this feature will be disabled.
How to activate this feature and set a customized charging limit:
1) By downloading and using Trickster MOD or NsTools by setting the customized battery life extender charging limit
2) By using a customized init.d script (the custom value will be always restored after a reboot, if you don't format the system partition)
- Download the script named 15blx
- If the file has been saved with .txt extension (stock browser), rename it by removing the .txt extension
- Edit the file by setting your preferred charging limit (the downloaded script will set the charging limit to 95%)
- Copy the new file inside /etc/init.d
- Give the rwxr-xr-x permissions to the file (read, write, execution for owner, read and execution for group users, read and execution for others)
- Reboot
3) By directly editing the file /sys/class/misc/batterylifeextender/charging_limit (the value you set will be lost after a reboot/shutdown)
4) By using Terminal Emulator (note that set value will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run these commands (changing the charging limit = 95 with the preferred one)
Code:
su
echo 95 > /sys/class/misc/batterylifeextender/charging_limit
LowMemoryKiller
The LowMemoryKiller driver is used to kill a selected process and free the memory when it is under one of the defined thresholds.
The tuning of the driver could be achieved by means of two parameters exposed by the kernel module via sysfs interface:
- /sys/module/lowmemorykiller/parameters/minfree
This file includes a comma separated array of the threshold numbers for minfree memory size (in page units).
- /sys/module/lowmemorykiller/parameters/adj
This file includes the comma separated array of oomadj factors, if the corresponding minfree threshold has been reached, one of the process with an oomadj greater than this number will be killed.
The oomadj factor is a property associated to each process, its value is in a range from -17 to +15, the processes with a higher oomadj factor will be the first to be killed when a specific minfree threshold has been reached.
RAM Console
This feature is useful expecially for development and debugging purposes, when occurs kernel panic / unexpected shutdowns or reboots. Pratically, the kernel messages are also stored inside a little RAM portion and restored during reboot after a kernel panic, inside the file /proc/last_kmsg.
Dynamic FSync
This feature has been developed by Faux123 and allows to dynamically manage the synchronous writes performed on file system (FSync).
It uses asynchronous writes when the screen is on, instead of synchronous writes, to have better performance and a slightly lower battery drain, while when the screen is off the synchronous writes are re-enabled to flush all the outstanding writes and prevent possible data loss.
How to enable/disable the Dynamic FSync (default enabled):
1) By downloading and using Trickster MOD
2) By directly editing the file /sys/kernel/dyn_fsync/Dyn_fsync_active and setting 1 to enable the dynamic fsync, 0 to disable it (note that set value will be lost after a reboot/shutdown)
3) By using Terminal Emulator (note that set value will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run this command to disable the dynamic fsync feature
Code:
su
echo 0 > /sys/kernel/dyn_fsync/Dyn_fsync_active
- Or run this command to re-enable the dynamic fsync feature
Code:
su
echo 1 > /sys/kernel/dyn_fsync/Dyn_fsync_active
Dynamic dirty page writebacks
This feature has been developed by me and allows to dynamically manage the dirty page writebacks with two different intervals, one when the screen is on and another when the screen is off.
It is based on a commit of Francisco Franco, but instead of using hard coded values and of disabling at all the dirty page writebacks while the screen is on (possibility of data loss), I preferred to use a customizable higher dirty page writebacks interval (15 seconds) than the default one (5 seconds) while the screen is on and a customizable default interval (5 seconds) when the screen is off.
By using a higher interval we have better performance and less battery consumption, with a very low risk of data loss.
How to customize the dynamic dirty page writebacks feature (default enabled):
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), the default value is 1500 centisecs (15 seconds)
- dirty_writeback_suspend_centisecs is the interval for the dirty page writebacks when the system is suspended (screen off), the default value is 500 centisecs (5 seconds)
In my kernel builds, during boot, I set other customized values:
- an interval of 30 seconds while the screen is on
- an interval of 10 seconds when the screen is off
1) By directly editing one of the file written above inside /proc/sys/vm and setting the preferred value (note that set value will be lost after a reboot/shutdown)
2) By using Terminal Emulator (note that set value will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run this command to disable the dynamic dirty page writebacks feature
Code:
su
echo 0 > /proc/sys/vm/dynamic_dirty_writeback
- Or run this command to re-enable the dynamic dirty page writebacks feature
Code:
su
echo 1 > /proc/sys/vm/dynamic_dirty_writeback
- Run this command to set customize the two intervals (30 seconds while the screen is on, 10 seconds when the screen is off)
Code:
su
echo "3000" > /proc/sys/vm/dirty_writeback_active_centisecs
echo "1000" > /proc/sys/vm/dirty_writeback_suspend_centisecs
Special features and sysfs settings (Part 2):
Timer slack controller and dynamic management of the minimal timer slack value
The timer slack controller is a feature developed by Kirill Shutemov and it allows to set the minimal timer slack value for every process contained within a control group (cgroup).
A timer slack allows the kernel to manage processes wakeup requests at some future time.
Thanks to this feature, the kernel can set a specific timer slack for the involved processes, minimizing the number of wakeups and allowing a lower system's power consumption.
For further info: Timer slack for slacker developers
I also implemented a new feature in addition to the above one that allows the dynamic management of the minimal timer slack value.
So, it's possible to use different minimal timer slack value when the system is active and when has been suspended.
How to customize the dynamic timer slack controller feature:
Three new cgroup parameters are exposed inside each processes hierarchy contained in /dev/cpuctl path:
- timer_slack.min_slack_ns is the timer slack used when the system is active for the current processes hierarchy
- timer_slack.min_slack_suspend_ns is the timer slack used when the system is suspended for the current processes hierarchy
- timer_slack.effective_slack_suspend_ns is the timer slack currently used
At the moment, the values chosen and used by K^Kernel are the following:
- core processes (/dev/cpuctl), 0 ns when the system is active, 50000 ns when the system is suspended
- foreground apps/processes (/dev/cpuctl/apps), 0 ns when the system is active, 250000 ns when the system is suspended
- background non interactive apps/processes (/dev/cpuctl/apps/bg_non_interactive), 100000000 ns when the system is active, 250000000 ns when the system is suspended
1) By directly editing one of the file written above inside /dev/cpuctl and inside each hierarchy subfolder, by setting the preferred value (note that set value will be lost after a reboot/shutdown)
2) By using Terminal Emulator (note that set value will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run these commands to set the minimal timer slack for generic and core apps/processes
Code:
su
echo 0 > /dev/cpuctl/timer_slack.min_slack_ns
echo 50000 > /dev/cpuctl/timer_slack.min_slack_suspend_ns
- Run these commands to set the minimal timer slack for apps/processes in foreground
Code:
su
echo 0 > /dev/cpuctl/apps/timer_slack.min_slack_ns
echo 100000 > /dev/cpuctl/apps/timer_slack.min_slack_suspend_ns
- Run these commands to set the minimal timer slack for apps/processes in background and non interactive
Code:
su
echo 100000000 > /dev/cpuctl/apps/bg_non_interactive/timer_slack.min_slack_ns
echo 250000000 > /dev/cpuctl/apps/bg_non_interactive/timer_slack.min_slack_suspend_ns
LowMemoryKiller management of not killable processes
This feature allows to define processes and system processes white-lists filled with the preferred process names and to not be killed by lowmemorykiller, unless it is absolutely necessary.
This feature exposes four new lowmemorykiller parameters:
- donotkill_proc, is the flag to enable / disable this feature for the processes chosen by the user
- donotkill_sysproc, is the flag to enable / disable this feature for the system processes chosen by the user
- donotkill_proc_names, is the list of process names (comma separated) chosen by the user to be preserved from killing
- donotkill_sysproc_names, is the list of user system process names (comma separated) chosen by the user to be preserved from killing
When the lowmemorykiller needs to free ram, it will first kill the processes not included inside the two process name lists chosen by the user.
If there are no more standard killable processes, then it will be necessary to kill one of the processes included inside one of the two white-lists, to prevent system hangs, slowdowns, etc.
How to customize the white lists of processes to preserve from killing:
On K^Kernel the feature is enabled by default and the provided processes white lists are the following:
- donotkill_proc_names = "com.cyanogenmod.trebuchet,com.anddoes.launcher,com.teslacoilsw.launcher,org.adwfreak.launcher,gtp.nextlauncher,android.inputmethod.latin,com.touchtype.swiftkey"
this means that Trebuchet Launcher, Apex Launcher, Nova Launcher, ADW Launcher, Next Launcher, stock keyboard and SwiftKey keyboard will be preserved from killing
- donotkill_sysproc_names = "android.process.acore,com.android.phone,com.bel.android.dspmanager"
this means that the system process, the phone process and DSP Manager will be preserved from killing
1) By using a customized init.d script (the custom value will be always restored after a reboot, if you don't format the system partition)
- Download the script named 80dnkp
- If the file has been saved with .txt extension (stock browser), rename it by removing the .txt extension
- Edit the file by setting your preferred status and processes list
- Copy the new file inside /etc/init.d
- Give the rwxr-xr-x permissions to the file (read, write, execution for owner, read and execution for group users, read and execution for others)
- Reboot
2) By directly editing the files inside /sys/module/lowmemorykiller/parameters (note that set values will be lost after a reboot/shutdown)
3) By using Terminal Emulator (note that set values will be lost after a reboot/shutdown)
- Open Terminal Emulator
- Run these commands if you want to enable the feature
Code:
# To enable this feature for the processes chosen by the user
echo 1 > /sys/module/lowmemorykiller/parameters/donotkill_proc
# To enable this feature for the system processes chosen by the user
echo 1 > /sys/module/lowmemorykiller/parameters/donotkill_sysproc
- Run these commands if you want to disable the feature
Code:
# To disable this feature for the processes chosen by the user
echo 0 > /sys/module/lowmemorykiller/parameters/donotkill_proc
# To disable this feature for the system processes chosen by the user
echo 0 > /sys/module/lowmemorykiller/parameters/donotkill_sysproc
- Run this command if you want to add, for example, Trebuchet Launcher (CM default launcher) and the default keyboard to the processes white list
Code:
echo "com.cyanogenmod.trebuchet,android.inputmethod.latin" > /sys/module/lowmemorykiller/parameters/donotkill_proc_names
- Run this command if you want to add, for example, the system process, the phone process and DSP Manager to the system processes white list
Code:
echo "android.process.acore,com.android.phone,com.bel.android.dspmanager" > /sys/module/lowmemorykiller/parameters/donotkill_sysproc_names
ZRAM module
As explained on Wikipedia, this feature, provided in this kernel as a standalone loadable module, increases performance by avoiding paging on disk and instead uses a compressed block device in RAM in which paging takes place until it is necessary to use the swap space on the hard disk drive.
In few words, the memory pages no more used and so to be swapped are sent to zRam device blocks, compressed and stored in memory instead of disk allowing better performance and also lower memory usage, on the other hand, a little higher amount of cpu is needed to perform compression and decompression of memory pages.
Since we have a device with a low amount of free memory, this feature could be useful to have more free ram.
How to change the size of zRam or to disable it (thanks to @ktulu84 for sharing these scripts):
To change the size of zRam (the custom value will be always restored after a reboot, if you don't format the system partition):
- Download the script named 60zram
- If the file has been saved with .txt extension (stock browser), rename it by removing the .txt extension
- Edit the file by setting your preferred zRam size (change SIZE value, default is 100 MB)
- Copy the new file inside /etc/init.d
- Give the rwxr-xr-x permissions to the file (read, write, execution for owner, read and execution for group users, read and execution for others)
- Reboot
If you want to use default zRam size, simply remove the file placed inside /etc/init.d and reboot.
To disable zRam (the custom value will be always restored after a reboot, if you don't format the system partition):
- Download the script named 60disable_zram
- If the file has been saved with .txt extension (stock browser), rename it by removing the .txt extension
- Copy the new file inside /etc/init.d
- Give the rwxr-xr-x permissions to the file (read, write, execution for owner, read and execution for group users, read and execution for others)
- Reboot
If you want to re-enable zRam, simply remove the file placed inside /etc/init.d and reboot.
FAQ - Frequently asked questions:
Q: What are the differences between EXUV and UV kernel versions?
A: The EXUV kernel versions have extremely undervolted settings for the cpu frequencies, they allows to have a very low battery drain, instead the UV kernel versions have undervolted settings a bit higher than EXUV versions, but always lower than stock kernel settings.
The EXUV kernel versions could give some problems (freezes, shutdowns, huge lags) on some devices because the cpu doesn't support too low voltage settings.
For a lower battery consumption, I suggest you to try EXUV versions first and to switch to UV versions only if you encounter one of the above mentioned problems.
Q: For v1.0 kernel builds, what are the differences between 396MB, 406MB and 416MB versions?
A: 396MB, 406MB and 416MB kernel versions have different free ram available for user space, with a higher free ram your device will work better with heavy apps, many concurrently used apps, heavy games, etc.
- 396MB versions are more stable, everything is fully working, but you could have some slowdowns with apps that require a high amount of free memory.
- 406MB versions have additional 10 MB of free ram, they are suitable for the users that use the device primarly for calls, messages, simple apps and simple games. The camera, video recording (both 480p and 720p modes) and video playback are fully working.
- 416MB versions have additional 20 MB of free ram, they are suitable for the users that use the device also with heavy apps, various concurrently used apps and games. The camera, video recording (both 480p and 720p modes) and video playback are fully working.
Q: How can I get the Performance and Developer Options entries inside Settings menu?
A: Go inside Settings -> About Phone -> Scroll down and tap 7 times on Build number (it's an Easter Egg).
Q: How can I get the log after an unexpected shutdown / reboot?
A: After an unexpected shutdown / reboot of the device, if the problem may be kernel related, you should have the /proc/last_kmsg, if so, send me that log and I'll check it to find the possible cause of the problem.
Q: How can I get the logs when I encounter strange system issues while it's running?
A: Check first if the problems could be related to an app you're using and if you changed something in the last days before facing those issues.
If the problem started after installing the kernel, then let me have you logcat and dmesg:
- Open Terminal Emulator and execute these commands:
Code:
su
dmesg > /sdcard/dmesg.txt
locat -v time -d > /sdcard/logcat.txt
- Open you preferred file manager and go inside the internal sd card partition /sdcard
- Send me the dmesg.txt and logcat.txt files, if you want zip them first
Q: How can I mount a shared Windows folder with CIFS module?
1) By using Terminal Emulator
Code:
mount -o unc=\\\\[COLOR="DarkGreen"][I]ip[/I][/COLOR]\\[COLOR="Blue"][I]share[/I][/COLOR],noserverino,username=[I][COLOR="DarkOrange"]user[/COLOR][/I],password=[I][COLOR="Lime"]password[/COLOR][/I] -t cifs //[COLOR="DarkGreen"]ip[/COLOR]/[COLOR="Blue"]share[/COLOR] [I][COLOR="DarkSlateGray"]/mnt/cifs[/COLOR][/I]
2) Downloading and using CifsManager and configuring the new share as follow:
- Share Path = ip/share
- Mount Point = /mnt/cifs/share
- Username = username
- Password = password
- Options = unc=\\\\ip\\share,noserverino
Where:
ip is the ip address of your pc where the folder is shared
share is the shared folder name
user is the user name that can access the shared folder
password is the user password
/mnt/cifs is the mount point (must be created if you'd like to use the command approach with Terminal Emulator)
Reserved, just in case...
Notorious as always. Thanks, Christopher!
Awesome!!! I'll update my W soon *_*
P.s. Happy new year!!!
Wow! I bet this is your first 2015 kernel post
Sent from my GT-S6500 using XDA Free mobile app
Wow, so fast sir. You are the king of kernel :thumbup:
Chris, you're impeccable. Thanks for support.
i download n instal this kernel, but i got some trouble when i try to find Performance Setting.
i do have Developers Setting, but for Performing Setting i can't figure it where.
sorry for my bad english
Sent from indONEsia
ka12el said:
i download n instal this kernel, but i got some trouble when i try to find Performance Setting.
i do have Developers Setting, but for Performing Setting i can't figure it where.
sorry for my bad english
Sent from indONEsia
Click to expand...
Click to collapse
There is no performance settings at the moment in cm12. As an alternative use performance control
ilusi0n_ said:
There is no performance settings at the moment in cm12. As an alternative use performance control
Click to expand...
Click to collapse
thanks for your respon
but why on Q&A first page say i can get dev setiing and perform setting with press 7 times on build number.
ok i try the apps
thank you so much
Sent from my GT-I8150 using XDA Free mobile app
ka12el said:
thanks for your respon
but buy on Q&A first page say i can get dev setiing and perform setting with press 7 times on build number.
ok i try the apps
thank you so much
Sent from my GT-I8150 using XDA Free mobile app
Click to expand...
Click to collapse
Performance settings does not appear because cyanogenmod didn't implement it when Arco compile the rom for us. In a future build, the rom will have the performance settings.
Today I get kernel wakelock from apps wakelock detector
It is "rpc_read" wakelock about 12 h
Im using your kernel, christopher
Thank you
Is it working with the latest cm12?
riyosakura said:
Is it working with the latest cm12?
Click to expand...
Click to collapse
Yes it is.
riyosakura said:
Is it working with the latest cm12?
Click to expand...
Click to collapse
I think it should not be used, because it is not in sync with the latest changes in CM12
* Waiting for the new version update .
huongthanh8690 said:
I think it should not be used, because it is not in sync with the latest changes in CM12
* Waiting for the new version update .
Click to expand...
Click to collapse
you think so? i already flashed it lol.
so far so good though.
huongthanh8690 said:
I think it should not be used, because it is not in sync with the latest changes in CM12
* Waiting for the new version update .
Click to expand...
Click to collapse
using it with no problems.

Manually setting Touch (Vibra, Wakeup, Sensitivity)

i know some of you facing issue, when you hard reset you W10M, some setting in extras is cant be opened, example Touch:
#if you never done tweaking before:
http://1drv.ms/1P3MHKo
1. deploy this root tool in WP RegEdit folder
2. open root tool, choose Lumia Registry Editor
3. tap ... check interop unlock and apply
4. deploy this CustomPFD in WP RegEdit folder
5 open CustomPFD then:
#All value is in Integer - DWORD - 32bit
Vibra:
HKLM\SYSTEM\TOUCH\BUTTONS\Vibrate (tested)
value 0
0= off
1= on
Wakeup:
HKLM\SOFTWARE\OEM\Nokia\Touch\WakeupGesture (tested)
HKLM\SYSTEM\TOUCH\BUTTONS\Settings\WakeupGestureSupported (not tested)
value 0
0= off
1= on
Sensitivity:
HKLM\SOFTWARE\OEM\Nokia\Touch\Improved (tested)
HKLM\SYSTEM\TOUCH\BUTTONS\Settings\ImprovedTouchSupported (not tested)
value 0
0= off
1= on
#tested with Lumia 730 build 10581 when touch app cant be opened :crying:
check my other Thread as well:
VM
http://forum.xda-developers.com/windows-10/windows-10-mobile/test-build-10572-t3241559
3G only
http://forum.xda-developers.com/windows-10/windows-10-mobile/force-3g-using-network-t3241953
Touch option
http://forum.xda-developers.com/windows-10/windows-10-mobile/disable-touch-vibration-navbar-t3241550
Camera tweak
http://forum.xda-developers.com/win...ximize-potential-lumia-win10m-camera-t3192960
Shell Tweak
http://forum.xda-developers.com/windows-10/windows-10-mobile/shell-mod-tweak-t3193612

[KERNEL] [ROOT] [SM-G920F Exynos 7420] [17 Dec] SkyHigh TW 5.1.1 Kernel [v2.9]

[KERNEL] [ROOT] [SM-G920F Exynos 7420] [17 December] SkyHigh TW 5.1.1 Kernel [ v2.9 ] [Synapse ++]
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:
[INDENT][COLOR="red"]N920F[/COLOR]XXU3QOLF[/INDENT]
* Compiled with Linaro gcc-linaro-4.9-2015.02-3-x86_64_aarch64-linux-gnu
* Linux 3.10.94
* [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 reported working
* [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
CPU temperature
A57 big Cores Frequency Scaling
live frequency
MAX: 2400 MHz (stock 2100 MHz is default)
MIN: 500 MHz (stock 800 MHz is default)​
CPU governors
interactive (default)
on-demand
conservative
userspace
performance​
CPU governor tunables
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)​
CPU governors
interactive (default)
on-demand
conservative
userspace
performance​
CPU governor tunables
A53 VOLT
HPM voltage control
A53 LITTLE Cores voltage control
CPU MULTICORE
Power Aware Scheduling control
HMP LITTLE Packing
Exynos Core Control Interface (choose 1 > 8 cores online)
PEWQ (Power-efficient Workqueues) control
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
CPU thermal control
normal temp
critical temp​
GPU thermal control
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)
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
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
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
sweep2sleep control
NETWORK
TCP congestion control
All available enabled.
Default = westwood+​
Screen mirror/allshare cast fix control (enabled)
Clean WIFI Lease
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 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​
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​
USB
USB status
USB mode selection
MTP
PTP
CD_ROM (drivedroid support)
USB_Keyboard-Mouse​
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
Entropy tweaks
Increased boot frequency
Power-efficient workqueue (PEWQ) efficiency patches
CLEANCACHE & ZCACHE
Microsoft X-BOX gamepad controller in-built module
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
XDA
Samsung OSRC
and many others!
check github source credits
IF I'VE FORGOTTON ANYONE, PLEASE DON'T BE SHY AND SPEAK UP, THANKS
XDA:DevDB Information
SkyHigh Galaxy S6 Exynos 7420 Kernel, Kernel for the Samsung Galaxy S6
Contributors
UpInTheAir
Source Code: https://github.com/UpInTheAir/SM-N920
Kernel Special Features: Synapse ++ | EXT4 | exFAT | NTFS | CIFS
Version Information
Status: Testing
Created 2015-12-17
Last Updated 2015-12-17
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
[v2.9] - 14 December 2015
variant:
Korean variant support discontinued unless sources become compatible with all SkyHigh variants. v2.8 is the last for now
source:
BUILD: fix invalid binary created for .tar.md5 archive
Revert " Source: merge N920SKSU2AOK5"
Cause of boot and stability issues with T variants​
config: remove MPTCP from reverted N920SKSU2AOK5 source
[v2.8] - 13 December 2015
ramdisk:
Synapse: update sweep2sleep description
Ensure PowerSuspend State is DISABLED​
su: update BINARY to BETA-SuperSU-v2.52 (latest stable beta)
1. Unroot (SuperSU APP > settings > "full unroot")
2. Reboot
3. Install SuperSU app from Play Store
4. NOTHING else to do !!​
init.rc: prevent override of dirty_background_ratio
Synapse: change dirty ratios default description & clean up
Synapse: adjust for adaptive dirty_background_ratio & adaptive dirty_ratio
Synapse: disable drop_caches on boot
improved UI performance as cache does not have to rebuild on every boot. optional in Synapse​
source:
Revert duplicate code from my mistake
Revert "cpufreq: Remember last policy min/max on cluster restart"​
Linux 3.10.93 > 3.10.94
Source: merge N9200ZHU2AOKA
Source: merge N920SKSU2AOK5
ARM: 8429/1: disable GCC SRA optimization
Support for GCC 6.0 toolchain
mm: Increase Dirty Ratios (battery)
mm: Adaptive Dirty Background Ratio & Dirty Ratio for suspend/resume (battery) my own
dirty_background_ratio 20-resume / 60-suspend (fixed)
dirty_ratio 40-resume / 95-suspend (fixed)​
config: enable ADAPTIVE_DIRTY_BACKGROUND_RATIO & ADAPTIVE_VM_DIRTY_RATIO
mm: Dynamic Page Writeback: fix compile if not enabled in config
[v2.7] - 09th December 2015
variant:
add SM-G9287C support with G9287CDXU2AOK1 ramdisk base​
ramdisk:
Synapse: NETWORK: add IPV6 Optimistic Detection controls & enable
Synapse: NETWORK: modify layout of WiFi DTIM Interval description
Synapse: NETWORK: add GPS Time Zone for faster GPS lock
Synapse: SCREEN: fix up sweep2leep description
Synapse: USB: tidy up USB live status
Synapse: USB: add live DNS address
Synapse: USB: add title to live DNS address
Synapse: IO: add NR Requests control
Synapse: A57/A53: show live freq for all A57 & A53 cores
Synapse: A57/A53: make default CPU frequencies static so they are not overridden
Synapse: A57/A53: move A57, A53 & GPU voltage controls to separate tab
Synapse: A57/A53: use the new renamed ren_max_freq (you need to use Synapse to control CPU MAX values - and any other SkyHigh features !!)
Synapse: A57: correct core display for temp sensors
Synapse: MEMORY: Adaptive vfs_cache_pressure on Suspend / Resume
Synapse: MULTICORE: remove HMP threshold controls. They are dynamic
N9200 ramdisk: update to N9200ZHU2AOKA
N920K ramdisk: add SkyHigh version
source:
BUILD: small fixes to build scripts
BUILD: fix up ramdisk_fix_permissions.sh
BUILD: add separate SM-N920K support
dts: N920S/K/L update from N920SKSU2AOK5 source
cpufreq: rename scaling_max_freq to ren_max_freq (fix by @arter97 to prevent DVFS override set CPU MAX freq)
fs/dcache.c: adaptive vfs_cache_pressure on suspend / resume (100% screen on & 20% static screen off)
fs: make ADAPTIVE_VFS_CACHE_PRESSURE compile optional
Revert various Nvidia power efficiency patches (Testing to resolve random System UI restart to lock screen)
config: enable ADAPTIVE_VFS_CACHE_PRESSURE
A53: allow max to 1600 MHz (default/stock 1500 MHz)
A53: increase boot frequency to 1500 MHz
[v2.6] - 05 December 2015
variant:
add SM-G928T/W8 variant support
ramdisk:
Synapse: SCREEN: add sweep2sleep control
Synapse: USB: add USB storage controls
MTP
PTP
CD ROM iso image (drivedroid support)
USB Keyboard / Mouse​
Synapse: clean up
source:
net/neighbour: queue work on power efficient wq
sched/fair: Implement fast idling of CPUs when the system is partially loaded
arm64: Improve power efficiency through load/store exclusive usage (Nvidia power efficiency patch set)
thread_info: Remove usage of relaxed calls in sched header
hrtimer: Replace usages of hrtimer_callback_running with relaxed version
aio: Skip timer for io_getevents if timeout=0
touchscreen: add sweep2sleep
sweep2sleep: adjust for 1440 x 2560 display
usb: gadget: check for accessory device before disconnecting HIDs
drivers: usb: Use Android device as USB keyboard/mouse
usb: gadget: mass_storage: added sysfs entry for cdrom to LUNs
[v2.5] - 03 December 2015
variant:
add SM-G928C/F/I/G, SM-N920P, SM-N920S/K/L & SM-N9200 variant support
ramdisk:
BUILD: auto build archives for each variant selection
ramdisk bases:
SM-N920S/K/L N920SKSU2AOK5
SM-N9200 N9200ZHU2AOJ9
SM-N920P N920PVPU2AOI6​
Synapse: fix up generate
Synapse: fix up fuel-gauge reset
source:
various power efficient workqueue patches
sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire
ext4: Speedup WB_SYNC_ALL pass called from sync(2)
mm: pass readahead info down to the i/o scheduler
mm: fix aio performance regression for database caused by THP
fixup! mm: fix aio performance regression for database caused by THP
fts_ts: fix a stupid typo by Samsung
CHROMIUM: cpufreq: interactive: calculate load before freq change
block_dev: implement readpages() to optimize sequential read
[v2.4] - 30th November 2015
variant:
add SM-N920G variant support
ramdisk:
update SM-N920-I/G ramdisk N920GDDU2AOJ5
/sbin/SkyHigh.sh: Enable Main Equalizer by default (Fixes bug where no audio from earphones whilst in-call)
Synapse: MEMORY: change KSM > UKSM controls
source:
UKSM: 0.1.2.3-for-v3.10.ge.46
UKSM: fix compile errors
UKSM: disable by default
config: enable UKSM
toolchain: gcc-linaro-4.9-2015.02-3-x86_64_aarch64-linux-gnu
Makefile: add optimizations
dts: N9200_HK update from N9200ZHU2AOJ9 source
cpufreq: Mod perms so they are settable in apps
[v2.3] - 29th November 2015
source:
Fix in-call reboot
Revert "toolchain: change to Linaro GCC 5.2.1 20151005". (Back to Linaro 4.9.3 20141031)
Revert "ufs: fix compilation warnings"​
power: process: drecrease time to enter sleep
futexes: Increase hash table size for better performance
cpufreq: Optimize cpufreq_frequency_table_verify()
[v2.2] - 28th November 2015
ramdisk:
Update N920C/CD/8 to N920CXXU2AOK7
Synapse: NETWORK: add WiFi Power Mode & DTIM Interval controls for screen ON/OFF
Synapse: NETWORK: add Wireless wakelock timeout control
default.prop: re-enable Samsung SPCM Service (removed entry)
Synapse: MEMORY: add Samsung SPCM Service control (Enabled = default/stock)
source:
Source: SM-N920T_NA_LL_Opensource N920TUVU2COJ5
drivers/video/exynos/Makefile: Fix compile warnings for non-supported drivers
config: enable LCD_HMT
Linux 3.10.90 > 3.10.93
Fix compile errors with GCC 5
crypto: pcomp - Constify (de)compression parameters
crypto: testmgr - Wrap the LHS in expressions of the form !x == y
ufs: fix compilation warnings​
toolchain: change to Linaro GCC 5.2.1 20151005
bcmdhd4359: WIFI PM support
config: enable BCMDHD_WIFI_PM
tcp: enable sockets to use MSG_FASTOPEN by default
bcmdhd: reduce rx wakelock timeout via sysfs node
net: wireless: bcmdhd4359: reduce kernel logging
Drivers: sensorhub: reduce wakelock time
[v2.1] - 17th October 2015
boot.img:
repack with stock dt.img (flash over v2.0 if you have audio issues)
[v2.0] - 17th October 2015
ramdisk:
Synapse: add BACKUP RESTORE section for save/restore profiles & boot.img to /sdcard/SkyHigh folder (from my older SkyHigh kernels on other devices, modified and adapted to suit from apb_axel and neobuddy89)
Synapse: FS: add FSTrim push button
/sbin: replace fstrim with (PIE) binary (from arter97 git)
[v1.9] - add SM-N9208_SEA variant support 16th October 2015
[v1.9] - 15th October 2015
ramdisk:
boot.img: disable boot time security check "KERNEL IS NOT SEANDROID ENFORCING" (kernel is still permissive)
Synapse: disable CortexBrain as not needed for in-call reboot bug "work-around" any more. It's fixed !! Intend to add other options here in future.
source:
config: disable unused FS support
build scripts: clear ccache instead of clean
FIX IN-CALL REBOOT BUG: toolchain: change to gcc-linaro-4.9-2014.11-x86_64_aarch64-elf
The recommend Google ARM Toolchain GCC aarch64-linux-android-4.9 causes general stability and in-call reboot issues​
[v1.8b] - 13th October 2015
ramdisk:
Synapse: MEMORY: add Dynamic management of dirty page writebacks control (screen on/off)
Synapse: CPU MULTICORE: add Power Aware Scheduling control - enabling gives better battery (default = disabled for performance)
Synapse: minor adjustments to layout and descriptions.
default.prop: add some experimental RAM management tweaks (thanks to @mikeyinid for the suggestions)
source:
sched: HMP: set Power Aware Scheduling off by default (previously enabled by default in patch)
GPU: set max freq to 700 MHz as default (stock)
cpufreq: Break out early if freq equals to target_freq
PM / sleep: unregister wakeup source when disabling device wakeup
tick: don't update idle time if cpu offline
slub: fix kmem_cache_shrink return value
mm: slub: fix format mismatches in slab_err() callers
a bunch of SELinux patches
mm: Dynamic management of dirty page writebacks
kernel.h: fix error when compiling N9208_SEA
[v1.7b] - 12th October 2015
ramdisk:
Synapse: MEMORY: add Dynamic FSYNC control
Synapse: LOGS: add Android logger control (enabled for logcat)
/sbin/cortexbrain-tune.sh: some adjustments to watchdog control
source:
xz: tweaking kernel compression (not used)
AIO: Don't plug the I/O queue
fs/dyn_sync_cntrl: dynamic Fsync control v1.5
fs/dyn_sync_cntrl: on by default
logger: Add sys fs kernel interface to configure Android logger & modify for Synapse
writeback: fix race that cause writeback hung
timer: optimize apply_slack()
writeback: Fix occasional slow sync(1)
writeback: fix writeback cache thrashing
CHROMIUM: mm: Fix calculation of dirtyable memory
mm: Optimized SLUB memory allocator
arm64: dcache: select DCACHE_WORD_ACCESS for little-endian CPUs
Linux 3.10.61 > 3.10.90 (took a lot of time)
Revert "powersuspend: add screen on/off hooks" from hotplug
decon: add powersuspend hooks
fips: fix whitespaces
arm64: crypto: increase AES interleave to 4x
cpufreq: Remember last policy min/max on cluster restart
mm: vmscan: If kswapd has been running too long, allow it to sleep
[v1.6b] - 9th October 2015
boot.img:
re-pack with custom generated dt.img
ramdisk:
Synapse: HMP: rename to CPU MULTICORE
Synapse: CPU MULTICORE: add PEWQ (Power Efficient Work-queues) for better battery at slight cost of performance.
Synapse: POWER SUSPEND: add PowerSuspend controls
Synapse: MEMORY: add vfs_cache_pressure control
default.prop: insecure adb again
init.rc: remove more code to prevent IO scheduler override
source:
config: add variants and sync to v1.5b
Remove obsolete build script and add build script / tools to build custom dt.img
config: N920C dtb exynos7420-noblelte_eur_open_09
config: N920I dtb exynos7420-noblelte_eur_open_09
sched/fair: Fix small race where child->se.parent,cfs_rq might point to invalid ones
cpufreq: Introduce new relation for freq selection Introduce CPUFREQ_RELATION_C
cpufreq: interactive: use new CPUFREQ_RELATION_C
int_sqrt.c: Correction square root algo with naming
int_sqrt: Improve 3x faster integer sqrt.
workqueue: Fix permission for power_efficient workqueue
a bunch of workqueue patches
jiffies conversions: Use compile time constants when possible
sched/completion: Add lock-free checking of the blocking case
sched: Remove one division operation in find_busiest_queue()
sched/fair: Optimize find_busiest_queue()
kthread_work: wake up worker only when the worker is idle
sync: don't block the flusher thread waiting on IO
mm: Clear page active before releasing pages
makefile: Add SoC-specific compile target
sensorhub: fix compile warning for SM-N9208
workqueue: disable PEWQ by default
config: enable WQ_POWER_EFFICIENT_DEFAULT
PowerSuspend: patch powersuspend driver up to v1.7 & modify to suit
powersuspend: call screen on/off hooks with hotplug (panel hooks)
powersuspend: add power_suspended boolean for global access
config: enable POWERSUSPEND
config: enable TIMA_LKMAUTH and also missing TIMA for SM-N920S
[v1.5b] - 6th October 2015
ramdisk:
Synapse: CORTEX: add CortexBrain to control screen on/off functions. Enabling this FIXES in-call reboot bug (actually a solution - not a "fix"). Thanks to Dorimanx & halaszk88 for the orignial scripts which I chopped to pieces into my SM-N915S kernel .
/sbin: add CortexBrain script
/sbin/SkyHigh.sh: start CortexBrain on boot
source:
Block: add FIOPS I/O scheduler
FIOPS: forward port for use on 3.10 Linux
config: enable IOSCHED_FIOPS
block: sysfs: allow non superusers to change I/O scheduler
block: Reserve only one queue tag for sync IO if only 3 tags are available
blk-throttle: check stats_cpu before reading it from sysfs
cfq-iosched: fix the setting of IOPS mode on SSDs
Block: add BFQ-v7r8-I-O-sched-for-3.10.8+
config: enable IOSCHED_BFQ
block: bfq-iosched: tuning for SSD
a lot of block commits to support ROW IO scheduler
Block: add ROW I/O scheduler
block: row: add magic values
config: enable IOSCHED_ROW
sched/cputime: Do not scale when utime == 0
[v1.4b] - 5th October 2015
ramdisk:
Synapse: THERMAL: add CPU, GPU, MIF & ISP thermal controls
Synapse: BATTERY: add charge controls (adapted from AndreiLux)
source:
GPU: allow min freq to 100 / 160 MHz
GPU: allow max freq to 772 / 852 MHz
GPU: increase throttling levels for better performance
GPU: increase max allowable voltage
GPU-MALI-T760: Added GPU THERMAL control interface
ARM: Mali-T760: disabled min/max lock. TouchWiz use this, so we can use normal DVFS with this patch
drivers/cpufreq: fix Samsung typos
exynos7420_tmu: add configurable interface
config: increase kernel log size so it is not overwritten
DEBUG: capture beginning of the crash in last_kmsg
config: enable building of dtb
[v1.3b] - 4th October 2015
updater-script:
create basic flashable zip for custom recovery
ramdisk:
Update N920T to N920TUVU2COI5
Synapse: SCREEN: remove mDNIe colour controls
init.rc: ensure IO schedulers are not overridden
source:
remove video: exynos: Decon: Add mDNIe colour control (causing display colour issues. Maybe take a look another time)
[v1.2b] - 3rd October 2015
ramdisk:
Update N920C to N920CXXU1AOI1
Synapse: LED: add LED fade-in/out controls
Synapse: SCREEN: add mDNIe colour controls (AndreiLux)
Synapse: HMP: add HMP LITTLE Packing control (Power savings at a slight cost to performance)
Synapse: HMP: add Exynos Core Control Interface (choose 1 > 8 cores online)
init.rc: set randomize_va_space to 0 (disabled) for improved GUI responsiveness
init.rc: fix Samsung syntax error: setprop sys.sysctl.compact_memory 0
disable some unnecessary security stuffs (arter97)
default.prop: (trying to fix errors and panic)
remove FHA for now whilst testing for reboot
various security additions/removal testing for reboot​
source:
Source: merge in SM-N920C_SEA_LL N920CXXU1AOI1
Trying to fix some some errors and panic
sysrq: Emergency Remount R/O in reverse order
Revert "security: SELinux: Avoid enabling enforcing by conventional flag
Revert "security: SELinux: revert Samsung hard enforcing
selinux: loose everything
config: more TIMA adjustments​
video: exynos: Decon: Add mDNIe colour control
video: exynos: Silence mDNIe control hook
cpufreq: Silence dm_hotplug debug
config: compile SCHED_HMP_LITTLE_PACKING
HMP: disable HMP LITTLE packing (default)
LED: add LED fade-in/out control
Dynamic CPU Hotplug: exynos-interface from Universal5410
dm_cpu_hotplug.c: fix compile error
[v1.1] - 30th August 2015
ramdisk:
Synapse: INFO: added asv_summary
Synapse: GPU: added GPU freq scaling MIN/MAX controls
init.rc: added some boot defaults (ensure stock CPU & GPU freqs)
source:
A57: allow max 2400 MHz & min 500 MHz
A53: allow min to 200 MHz
cpufreq: Add kt files and build it
cpufreq: Set global var screen_is_on when screen goes on and off
gpu: Add code to allow user to control min and max GPU Mhz - @ktoonsez
[v1.0] Initial Release - 29th August 2015
A lot of credit (as always) goes to @AndreiLux for various source commits, Synapse app and UCI support and more !
REQUIREMENTS
Variant support for:
SM-G920F​
FOR BUG REPORTING: Stock UNMODIFIED TouchWiz (TW) 5.1.1 ROM (this means no Xposed or tweaks etc)
Custom recovery i.e.. TWRP
INSTALLATION
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 any custom kernel with Synapse app > 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
SM-G920F [ v2.9 ] READ THIS >>>>> FIRST [ v3.0 ] RELEASE IS TOMORROW
________________________________________________________________________
SOURCE
ALL KERNELS COMPILED WITH SAME SkyHigh SOURCE !!
Github
.
Help and 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:
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.
If you have any of the following, please post your LATEST stock boot.img along with the firmware version you extracted it from.
N920R4​
Download the full firmware package from either sammobile.com or samsung updates.com (1.5+ GB )
"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
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 enable some of the CPU MULTICORE features in Synapse (slight performance cost):
Power Aware Scheduling
HMP LITTLE Packing
PEWQ (power-efficient workqueue)
Increase the HMP Up threshold a little
PERFORMANCE TIPS
LATER
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)
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
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
BACKUP & RESTORE
DO NOT restore profiles from different kernel version
If the backup isn't visible, reboot device and ensure for have "synapse boot completed" message. Otherwise synapse won't read the file.
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
.
UpInTheAir said:
There is no link yet. You didn't bother to read the link right next to it ?
Click to expand...
Click to collapse
Placeholder threads aren't allowed on XDA. Please let me know when you have a link to post for download. Until then, thread closed.
Thread Closed
Razvan
Forum Moderator

Skinny Pro Custom Boot Images

What is Skinny Pro?
This is not for NOOBS - it breaks functionality in Xiaomi apps that try to communicate back to head office. This is an intentional feature and is for people who are not interested in being part of the Xiaomi ecosphere. LEAVE NOW if you have, or intend to log on to Xiaomi and use their services!!!!
Skinny does not magically fix poor choice of ROMs, Apps or lack of knowledge.
It is not a custom Kernel - it is a custom boot.img containing modified initialization scripts for the stock kernel.
There are 2 distinct versions:
Based on 7.1.4.0 - Use for 7.1.xx to 7.3.20 (MIUI7) Support discontinued since V7 (O.P no longer applies to this version)
Based on MIUI8 - use for MIUI7.5.x and MIUI8
Design Brief:
No Placebos
To overcome the limitations of Stock MIUI being:
Poor battery life
Poor performance
Chronic invasion of privacy
Boot.img mods:
Disable starting of non-present devices and services
Disable stock recovery overwriting TWRP
Disable OTA services (no use on a modified ROM)
Disable starting of invasive (spying) services
Disable fingerprint sensor infrastructure (not for our device)
Disable find device infrastructure
Disable second space infrastructure
Build in init.d support
Enable zram swap creation (disable conflicting "mcd" service infrastructure)
Mass Storage Device mode added for external SDCard
Improved TCP Buffer values
Reconfigured internal SDCard suppport to remove uneccessary symlinks
Reduce cpu scheduler, foreground and background tasks deadtime (throttling)
Add some Android 6.0 TCP tweaks
Expose LMK and HPS settings for user configuration
What you will see:
Faster boot
Less background activity at idle
Less RAM usage
Less spying/reporting activity
Better battery life
Better Performance
More reliable and faster data speeds
Install your chosen ROM and get it past the first setup screens before flashing a Skinny Boot image.
If you really must install Xposed, install this after the Skinny boot image.
Do not install "kernel" tweaking apps - they will conflict with the inherent settings in Skinny!
No wipes are necessary after installing the boot.img
What else do I need to do?
First, an explanation as to why we need to set everything the way it is:
The cpu is controlled by 4 separate mechanisms:
1. Thermal throttling - will limit frequencies and shut down cores to stay within safe operating temperatures - will override all other mechanisms. Settings available: High Performance (less strict) or Balanced (default)
2. Performance Server - will temporarily boost freqs and cores depending on detected conditions such as screen touch, screen update or rotate, app open. Limited settings available via /etc/perfservscntbl.txt
3. Hotplugging Service - will add or remove cpu cores as load requires. Some settings are accessible through /proc/hps/
4. Interactive Governor - will throttle freqs up and down based on load and add or remove cores also. Some settings are accessible through /sys/devices/system/cpu/cpufreq/interactive/
You will notice there are competing and often contradicting mechanisms. The factory defaults essentially disable the Interactive governor as being the primary source of initial boosting cpu freqs. The "boost" setting normally found in the governor is non-functional - instead, the Perf Server will boost to 2 cores @ 1183MHz when a potential demand for processing power is detected apart from a simple screen touch. The interactive governor will take over scaling the freq and number of cores after the perf server boost period expires or load demands more cpu power than the boost caters for.
Since the Performance Server tends to over-react, setting 2 cores @ 1183MHz for the smallest of events, we disable it completely by manually editing the existing line in /system/build.prop from:
ro.mtk_perfservice_support=1 to ro.mtk_perfservice_support=0
You must do this yourself - this is vital since all further Governor and Hotplug settings rely upon it being disabled.
Editing /etc/perfservscntbl.txt is not required since this file will no longer be processed.
The settings for the Interactive Governor and Hotplug are modified from factory default to correct a couple of serious problems:
1. The cpu will not reliably throttle back to idle at 403MHz. This has a huge impact on battery.
This is caused by the timer_rate setting being too short allowing transient background activities to trigger scaling the freq up. Increasing the time effectively averages out the transient load spikes so the cpu will not break idle unnecessarily.
2. The cpu does not respond to increasing or decreasing load fast enough creating micro-lags and consuming battery. Reducing the min_sample_time will shorten the time taken for the cpu to lower in freq when load drops off. Reducing the above_hispeed_delay will reduce the response time to increase the cpu freq in response to a load. Both of these settings also compensate for the longer than standard timer_rate that introduces some sluggishness by necessity.
All other values are set to encourage the frequency and number of cores to rapidly and reliably return to idle to save battery while still providing sufficient responsiveness to sudden load demands.
Create an init.d script exactly as follows: (premade file 01_init also available to download)
Code:
#!/system/bin/sh
### CPU freqs standard RN2: 403000, 806000, 1183000, 1326000, 1469000, 1625000, 1781000, 1950000
### CPU freqs PRIME RN2: 403000, 806000, 1183000, 1326000, 1482000, 1664000, 1885000, 2158000
### GPU freqs standard RN2: 253500, 299000, 390000, 442000, 546000
### GPU freqs PRIME RN2: 253500, 338000, 390000, 546000, 676000
# Stop running boot-time services (enable the lines for services you want to stop)
#stop sn # USB serial number allocation
#stop wifi2agps # WiFi assisted GPS (for fine location)
#stop agpsd # Mobile Network assisted GPS (for fine locastion)
#stop emsvr_user # Engineering Mode server
#stop PPLAgent # Privacy Protection Lock
#stop mtkbt # MTK Bluetooth
#stop batterywarning # Battery warning service
#stop debuggerd64 # debug logging
#stop debuggerd # debug logging
#stop logd # logging
#stop autokd # autotune for WiFi
#Set to permissive (enable this line if SE permissive mode is required)
# setenforce 0
# Tweak Interactive Governor (now set in boot.img - enable here to override values)
#echo 403000 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq # factory default 1183000
#echo 99 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load # factory default 99
#echo 99 > /sys/devices/system/cpu/cpufreq/interactive/target_loads # factory default 90
#echo 25000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate # factory default 20000
#echo 10000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time # factory default 20000
#echo 5000 > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay # factory default 20000
#echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/timer_slack # factory default 80000
# Limit CPU max freqs (To limit the maximum cpu freq, enable both of these lines. Select a valid freq for your device from table at start)
#echo 1781000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
#echo 1781000 > /proc/cpufreq/cpufreq_limited_max_freq_by_user
# Limit foreground CPU cores (set in boot.img - enable here to override values) 0-1 min, 0-7 max Example shows 5 cores (also needs to be set in Hotplug)
#echo 0-4 > /dev/cpuset/foreground/cpus
# Hotplug settings (set in boot.img - enable here to override values) Note: num_limit values are 1-8
#echo 5 > /proc/hps/num_limit_low_battery # factory default 8
#echo 5 > /proc/hps/num_limit_power_serv # factory default 8
#echo 5 > /proc/hps/num_limit_thermal # factory default 8
#echo 5 > /proc/hps/num_limit_ultra_power_saving # factory default 8
#echo 99 > /proc/hps/up_threshold # factory default 95
#echo 87 > /proc/hps/down_threshold # factory default 85
#echo 0 > /proc/hps/rush_boost_enabled # factory default 1
#echo 0 > /proc/hps/input_boost_enabled # factory default 1
# Tweak GPU Settings (Look in /proc/gpufreq/gpufreq_power_dump for power usage at different freqs)
# To disable GPU touch boost:
#echo 0 > /proc/gpufreq/gpufreq_input_boost # factory default 1 (enabled)
# To limit max GPU freq: (Select a valid freq for your device from table at start)
#echo 442000 > /proc/gpufreq/gpufreq_opp_max_freq # factory default 0 (disabled)
# Tweak VM (set in boot.img - enable here to override values)
#echo 300 > /proc/sys/vm/dirty_expire_centisecs # factory default 200
#echo 500 > /proc/sys/vm/dirty_writeback_centisecs # factory default 300
# Tweak LMK (set in boot.img - enable here to override values) 18 37 56 75 93 112MB # factory default 72 90 108 126 219 317MB (MB x 256 = value)
#echo 4608,9472,14336,19200,23808,28672 > /sys/module/lowmemorykiller/parameters/minfree
#Enable zram (no zram set by default, enable first 4 lines if 1 zram required, all 7 lines if 2 zram required)
#echo 40 > /proc/sys/vm/swappiness
#echo 268435456 > /sys/block/zram0/disksize # for single zram: 536870912 = 512MB (for non-prime version) 1073741824=1GB (for prime version)
#/system/xbin/busybox mkswap /dev/block/zram0
#/system/xbin/busybox swapon /dev/block/zram0
#echo 268435456 > /sys/block/zram1/disksize # for 2 zrams: 268435456 = 256MB (for non-prime version) 536870912 = 512MB (for prime version)
#/system/xbin/busybox mkswap /dev/block/zram1
#/system/xbin/busybox swapon /dev/block/zram1
# Tweak IO Scheduler (set in boot.img - enable here to override values)
#echo deadline > /sys/block/mmcblk0/queue/scheduler # factory default cfq (choice: noop deadline cfq)
#echo 128 > /sys/block/mmcblk0/queue/read_ahead_kb # factory default 128 Choose between 128, 256, 512, 1024, 2048
#echo 0 > /sys/block/mmcblk0/queue/add_random # factory default 1
#echo 0 > /sys/block/mmcblk0/queue/iostats # factory default 1
#echo deadline > /sys/block/mmcblk1/queue/scheduler # for ext sdcard (sdcard1)
#echo 2048 > /sys/block/mmcblk1/queue/read_ahead_kb # for ext sdcard (sdcard1)
#echo 0 > /sys/block/mmcblk1/queue/add_random # for ext sdcard (sdcard1)
#echo 0 > /sys/block/mmcblk1/queue/iostats # for ext sdcard (sdcard1)
#Tweak Entropy (set in boot.img - enable here to override values)
#echo 384 > /proc/sys/kernel/random/read_wakeup_threshold # factory default 64
#echo 448 > /proc/sys/kernel/random/write_wakeup_threshold # factory default 128
#Tweak for wifi router connection issues
#echo 1 > /proc/sys/net/ipv6/conf/wlan0/disable_ipv6
# Disable debugging on some modules (set in boot.img - enable here to override values)
#echo 0 > /sys/module/alarm_dev/parameters/debug_mask;
#echo 0 > /sys/module/alarmtimer/parameters/debug_mask;
#echo 0 > /sys/module/binder/parameters/debug_mask;
#echo 0 > /sys/module/earlysuspend/parameters/debug_mask;
#echo 0 > /sys/module/sbsuspend/parameters/sbsuspend_debug_mask;
#echo 0 > /sys/module/snd/parameters/debug;
#echo 0 > /sys/module/pvrsrvkm/parameters/gPVRDebugLevel;
#echo 0 > /sys/module/musb_hdrc/parameters/debug_level;
#echo 0 > /sys/module/lowmemorykiller/parameters/debug_level;
#FSTRIM
busybox fstrim /data
busybox fstrim /system
busybox fstrim /cache
Update BusyBox to version 1.25.1-1 (available to download)
Reduce the number of apps and services needlessly starting automatically at boot. Uninstall or freeze bloat apps. Replace "noisy" apps with better written ones.
Use BetterBatteryStats, WakelockDetector Root or similar to understand what invisible activities are consuming battery.
Use SDMaid, DisableServices, MyAndroidTools or similar to disable autostarts (receivers)and app related services. Use with caution.
To see what boot services are running, type getprop in Terminal. You will see a bunch of entries like [init.svc.66xx_launcher]: [running]
These service must remain running do not stop!:
Code:
[init.svc.66xx_launcher]: [running]
[init.svc.MtkCodecService]: [running]
[init.svc.NvRAMAgent]: [running]
[init.svc.aal]: [running]
[init.svc.ccci_fsd]: [running]
[init.svc.ccci_mdinit]: [running]
[init.svc.drm]: [running]
[init.svc.fuelgauged]: [running]
[init.svc.gsm0710muxd]: [running]
[init.svc.guiext-server]: [running]
[init.svc.healthd]: [running]
[init.svc.installd]: [running]
[init.svc.keystore]: [running]
[init.svc.lmkd]: [running]
[init.svc.media]: [running]
[init.svc.mnld]: [running]
[init.svc.netd]: [running]
[init.svc.ril-daemon-mtk]: [running]
[init.svc.sdcard]: [running]
[init.svc.servicemanager]: [running]
[init.svc.shelld]: [running]
[init.svc.surfaceflinger]: [running]
[init.svc.thermal]: [running]
[init.svc.thermald]: [running]
[init.svc.ueventd]: [running]
[init.svc.vold]: [running]
[init.svc.zygote]: [running]
[init.svc.zygote_secondary]: [running]
[init.svc.bmi160d]: [running]
If you only have 1 SIM, it is highly recommended to go into single SIM mode to turn off the second modem service. Edit build.prop existing line from:
persist.radio.multisim.config=dsds to persist.radio.multisim.config=ss
Turn off Developer Options/Memory Optimization and MIUI Optimization. This is a legacy of the mcd service zram configuration that is disabled.
Removal of Apps that are created by symlinks: (Updated information for any ROM version can be found in ROM \META-INF\com\google\android\updater-script)
Uninstall the app where possible and then delete the leftover libs if they exist.
Code:
[B]MAB[/B]
/system/lib/libDToken.so
/system/lib/libNative.so
/system/lib/libShopSigned.so
/system/lib/libentryexpro.so
/system/lib/libsecuritysdk-3.1.27.so
[B]Jeejen[/B]
/system/lib/libJeejenAisound.so
/system/lib/libbspatch.so
/system/lib/libfamily_jni.so
/system/lib/libgetuiext.so
/system/lib/libjeejenmsc.so
[B]MIUI Video[/B]
/system/lib/libDecRes_sdk.so
/system/lib/libminivenus.so
/system/lib/libmresearch.so
/system/lib/libsecurities_sdk.so
[B]Cleanmaster[/B]
/system/lib/libTmsdk-2.0.9-mfr.so
/system/lib64/libTmsdk-2.0.9-mfr.so
/system/lib/libdce-1.1.14-mfr.so
/system/lib64/libdce-1.1.14-mfr.so
/system/lib/libkcmutil.so
/system/lib/libkcmutilex.so
/system/lib/libsic_helper.so
[B]SecondSpace[/B]
/system/lib/libspaces_jni.so
[B]Sogou Input[/B]
/system/lib/libwebp.so
/system/lib/libweibosdkcore_sogou.so
[B]AMAP Network Location[/B]
/system/lib64/libapssdk.so
[B]YellowPage[/B]
/system/lib64/libdidi_secure.so
[B]XMPass[/B]
/system/lib64/libxmpass_sdk_patcher.so
/system/lib64/xmpass_libweibosdkcore.so
[B]PicoTTS[/B]
/system/lib64/libttscompat.so
/system/lib64/libttspico.so
[B]Miui Gallery[/B]
/system/lib64/libwrapnexpcmcalbody.so
/system/lib64/libnexralbody_audio.so
/system/lib64/libnexcralbody_mc_jb.so
/system/lib64/libnexeditorsdk.so
/system/lib64/libPinguoImageSDK.so
/system/lib64/libMiuiGalleryNSGIF.so
/system/lib/libMiuiGalleryNSGIF.so
/system/lib64/libDexHelper.so
[B]MIUI Scanner[/B]
/system/lib64/libQuadrangleRecognizer.so
/system/lib64/libhw_instanttrans.so
/system/lib64/libhwocr_cntools_shared.so
/system/lib64/libsgmain.so
/system/lib64/libsgmainso-5.1.2011.so
/system/lib64/libtbdecode.so
Remove inbuilt virus scanner(s)
Remove GuardProvider.apk and SecurityAdd.apk plus:
Code:
/system/lib64/libams-1.1.7-m-mfr.so
/system/lib64/libams-1.1.7-mfr.so
/system/lib64/libavast-utils.so
/system/lib64/libavast-vps-interface.so
/system/lib64/libavlasys.so
/system/lib64/libavlm.so
/system/lib64/libavlurl.so
Extra libs that can be removed: (if associated apps are removed)
Code:
[B]Lib:[/B]
libfdpp.so Find Device
libfdpp_jni.so Find Device
libffmpeg-miplayer.so Music / MIUIVideo
libhotknot.so
libhotknot_vendor.so
libnfc_ndef.so
libpatcher_game_jni.so
libpatcher_jni.so
libvoicerecognition.so Voice Extensions
libvoicerecognition_jni.so Voice Extensions
libwhetstone_jni.so
libwhetstone_sdk.so
libxiaomimediaplayer.so Music / MIUIVideo
libxiaomiplayerwrapper.so Music / MIUIVideo
[B]Lib64:[/B]
libBaiduMapSDK_base_v4_0_0.so
libBaiduMapSDK_search_v4_0_0.so
libBaiduMapSDK_util_v4_0_0.so
libBankCardRecognizer.so
libduokantext.so
libfdpp.so Find Device
libfdpp_jni.so Find Device
libhotknot.so
libhotknot_vendor.so
libidcardquality_v1.0.3.so
libjni_latinimegoogle.so Google Keyboard
libjni_pacprocessor.so
libjni_unbundled_latinimegoogle.so Stock Keyboard
libnfc_ndef.so
libpatcher_game_jni.so
libpatcher_jni.so
libprintspooler_jni.so Print Spooler
libtbtv3312.so
libTrafficRadar.so
libttscompat.so Pico TTS
libttspico.so Pico TTS
libunipaychsec.so
libweibosdkcore.so
libwhetstone_jni.so
libwhetstone_sdk.so
[B]/vendor/lib64:[/B]
libcom_fingerprints_productiontestmanager.so
libcom_fingerprints_sensor.so
Skinny Pro All versions:
https://drive.google.com/folderview?id=0BwdRTuyj12_yRk9Kcm1pZkxuZzg&usp=sharing
Enjoy
@jajk Awesome work! Do you intend to work on the aosp boot.img much or are you more invested in the miui one (or is it mostly the same project with not many differences between the two types)?
@Sleepy_Augie There is little difference between the 2 flavors so it is easy to keep them in sync
All,
I cannot possibly know what customization other devs are adding to their boot.imgs and whether or not that will make their ROMs incompatible with my boot.imgs. I will try to keep the AOSP version up with current developments while still keeping it "Generic".
Could you include Selinux: Permissive? Zram is better than swap built-in miui ?
@efr07 The beauty of not embedding tweaks - you can choose to be permissive or enforcing in your init.d script rather than me dictating it to all.
setenforce=0 or 1
and to answer the second part....
MIUI uses what could be called a "dynamic swap" system utilizing 4 zram swaps of variable size. The system prioritizes what gets access to that extra memory and what doesn't. No surprises - Xiaomi apps get priority over your own apps. The complexity of this system is so great, it would negate any performance advantage completely but it does make the Xiaomi apps more tenacious than other apps.
@jajk
First things first thank you so much for the effort you have done improving Redmi Note 2,
But I have some question if you please,
I have Miui 7.2.2.0 Lite on my Redmi Note 2 Prime (2.2 ghz) (Rom Link http://en.miui.com/thread-244684-1-1.html)
I have flashed the file as img to boot, and I have done as you said until the int.d thing, I went to #/system/bin/ and I found sh file and opened it in text editor, deleted everything in it and paste what you mentioned, till now we are ok with the device.
I did not find the files that you said I should delete from /vendor/lib, so I went to /vendor/lib64 and deleted the first file, After I deleted it suddenly Root Explorer shut off and whenever I open it again I cant find anything, just blank screen with its symbol and name above and nothing else. Tried to delete Root Explorer and install again and nothing new. Please help, Have I done everything okay? and what should I do to fix this thing and continue deleting the remaining files?
Thank you.
@jajk delete folder /system/etc/radv <- do you mean radvd?
@aghr11 I think that you did not understand the method to create the init.d script and modified an important file instead. You will have to replace that script file you blanked with the original or restore from a good backup and try again. The list of files for deletion is only if they exist in the location as described. If you have enabled any fingerprint settings for some obscure reason, you will probably get locked out of your phone.
Now to creating the script.
Using a text editor, create a file named 01tweaks in /system/etc/init.d folder.
Paste the text (including the first line #!/system/bin/sh) into this file. Leave a blank line at the bottom of the file and make sure your editor is set to Unix end-of-line characters (not Windows)
Save the file and give it 0755 permissions (rwxr-xr-x)
@tonydeli7 Yes, typo I will fix..... done It is a folder to receive advertising pushed to your phone courtesy of Xiaomi!!!!
jajk said:
@tonydeli7 Yes, typo I will fix..... done It is a folder to receive advertising pushed to your phone courtesy of Xiaomi!!!!
Click to expand...
Click to collapse
Yeap, just saw the conf file... WTF are they doing?!
By the way, thanks a lot for this kernel! Nice work!:good::good:
UPDATE:
I edited the latest Multirom Stable (7.2.1.0) and added your kernel&tweaks,deleted the files and everything works great!
I only changed the touchboost value to 806000
jajk, many thanks for this brilliant work!
IIRC, your personal preference for a base ROM with the best behavior and performance with these tweaks was v7.1.4.0 (or was it 7.1.3.0). Is this so or has anything changed? My RN2p is long overdue for an update, still on dev 5.10.29!
If a have a weekly miui based on Miui V 7.3 beta, will it work?
@tonydeli7 Did you give it some time on touchboost 403? I find it does not contribute to lags perceptibly.
@algida79 The most bug free ROM I have come across is MR7.2.30 ID (ported from reno3). I think I had a link to that in the Skinny thread.
Don't load the preloader, uboot or logo from this ROM - edit the updater-script to remove flashing of these. You will need to do an intermediate flash of 7.1.3 or 7.1.4 using SP Flash tool to get all the partitions the way they need to be if coming from an ancient ROM.
@Dnxss Yes it will still work.
@jajk Half an hour I think. I had no lag,just my preference
The phone usage is mostly surfing,facebook,twitter,music playback etc etc with no gaming.
GPS SYNC 3G all on..
Installed app count is around 120..
Includes six reboots while testing ZRAM(disabled it), and if it's good to deactivate Whetstone app.
I also used the app Autostarts to disable useless receivers for many apps like FB etc,and disabled Mail,Voice Unlock,PicoTTS.
I am satisfied..[emoji14]
Sent from my Redmi Note 2 using Tapatalk
@tonydeli7 Whetstone app is a source of a lot of spyware but is not a straight forward removal but you will find that out...
can then also delete:
/etc/WhetstonePermission folder
/system/lib
libwhetstone_jni.so
libwhetstone_sdk.so
/system/lib64
libwhetstone_jni.so
libwhetstone_sdk.so
Yeap, I searched a bit. I am using the Multirom Stable and after flashing the kernel,Whetstone crashes sometimes.
Didn't notice anything weird after freezing it..
This rom doesn't have the line
persist.sys.whetstone.level=2
in the build.prop for some reason.
Sent from my Redmi Note 2 using Tapatalk
@tonydeli7 Whetstone is linked to the mcd service to make things harder to unravel as in all Xiaomi apps. The boot.img disables mcd which is why you will see Whetsone having a fit sometimes. Completely removing Whetstone is a very good thing to do - it may give you an FC on Battery app, delete that too - it chews battery and does not affect normal operation!!!
Anyone wanting to increase their privacy, rename /system/xbin/tunman to tunmanbak. This is the Xunlei data saver/spyware tunneling manager. It is disabled from starting in the boot.img but will still run if called upon like all of the disabled services - they still exist, but not started by default. Make sure it is disabled in the Download Manager Settings
There is another service /sbin/mdbd that appears to be a method of tunneling over usb connections to gain access to a network and on to P.R.C. It is disabled in the boot.img already but I will rename this one in a next revision to be doubly sure it will not start.
Discovered an issue of some apps not recognizing internal sdcard so new versions posted to fix this plus rename /sbin/mdbd to mdbdbak to prevent it from being started after boot. See previous post for the reason.
Back up your internal sdcard contents if you flashed the original images - you will loose everything on sdcard0.
No action needs to be taken if this is a first-time flash.
@jajk How come this version doesn't just dump sd to folder 0? What was merged between miui and pro boot images?
@Sleepy_Augie It is a very complex issue how Android provides a virtual filesystem for SDCards. I thought I could implement it in a simpler fashion as per Android 5.1 which worked well except apps like the stock Contacts are stuck in the dark ages and are hard-coded to still look for the emulated/0 folder for the internal sdcard - not storage/sdcard0.
So going from stock to my original mod leaves an orphaned folder which becomes named 0 because it belonged to user 0. Going back the other way the folder representing access to sdcard0 simply disappears.
The real location of files that appear on the internal emulated sdcard is always /data/media. All other folders that appear to be the same thing are only symlinks to this. Make sense:silly:
Hey @jajk ,
Thanks for the reply, but I have done exactly everything you said and followed all of your steps, but after one day using it, I do not notice any change on battery life, it is still so bad, I have tried everyrom (and every way that was suggested from other users on XDA and MIUI forums including every battery calibration thing) I came across since I bought my RN2p and the maximum battery life I got is nearly 4:30 hours on screen!! After I flashed the boot.img I noticed a slightly more speed booting up the device, the performance is the same (which is good because am all satisfied about the performance except for the battery life).
I have flashed smiui today and it's slightly better consuming energy than the previous ones...
Maybe I have done something wrong doing the 01tweaks thing, if you can upload me yours so I can try paste it in /system/etc/int.d folder, if that will work, then I will be so thankful to you. And if you have any suggestions that I could do to improve and enhance the crazy energy draining then I will be more thankful.

Need Assistance in Modifying a BenQ T3 (Performance wise, Reducing Apps & Flashing)

Need Assistance in Modifying a BenQ T3 (Performance wise, Reducing Apps & Flashing)
Hello,
Before I begin explaining my predicament I would like to state that this is essentially my first post on this website so I apologize in advance if I am essentially breaching any forum policies or rules and regulations for that matter. The moderators can amend this post as they may see fit since I am not too familiar with how things work here. That said let me get straight into what I am hoping to achieve.
I have a Benq T3 Android phone that I would like to customize, upgrade, add new features, remove flagship (reads default phone) applications, since they're essentially hogging space on the phone, and I hardly use them & finally upgrade the said former to a new Android (custom) or standard OS if it's possible based on the details I will be posting below. With all this I would like a custom or simple boot up screen as well without the Benq logo flashing all over the screen every time I power on or restart the phone.
The purpose of this exercise is:
1) I need to push this phone to the maximum limits of its hardware capability, overclocking, optimizing RAM, increasing swap space etc (currently it's not fast enough for me)
2) Remove all unnecessary applications completely (Flipboard, Benq applications that are part of the phone, WPS office), all these are by default inside the phone and even though I have tried uninstalling them they only uninstall the updates and the application still sits in hogging the phone space, which is quite frustrating.
3) To see if any relatively latest Android version could be used with the acceleration (hypothetically) done in the above point (1).
4) Flashing a new ROM (if necessary) something that may actually make this phone a better version of itself.
What will I use this phone for (Once it is done)
1) Twitter (Main function)
2) Texting (Main function)
3) Whatsapp (Main function)
4) Newspaper Applications~Text Reading Mainly, some sort of Flash / HTML5 as well (Main Function)
5) PDF reading (Main Function)
6) Discussion Board Browsing (Main function)
7) Emails (Secondary Function) ~ Using an Email client (Also need recommendations of light Apps that might work on the new made over system)
8) Youtube (Secondary Function)
9) Soundcloud (Secondary Function)
10) Word Processing including Spreadsheet + Ppt stuff occasionally (Secondary Function)
VERY IMPORTANT ~ EVERYTHING OTHER THAN WHAT I HAVE WRITTEN NEEDS TO GO
VERY IMPORTANT ~ THIS PHONE IS ROOTED VIA KINGO ROOT ALREADY
What I have currently
1) A computer running Windows 7 Home Premium x64 bit, i5 Gen 2 with 6 GB DDR2 RAM - Dell Inspiron N5110
2) An internet connection of around 20-30 Mbps
3) No programming ability whatsoever (A complete Newbie while being a downright noob in such stuff)
4) 3 hours a day (at best) to understand, implement and get this over with ASAP
5) English as my first language
6) Nothing else I am afraid
Please note that my generic aim to customize this BenQ phone is in pursuits of attaining maximum performance that the phone can generate for me while running the basic apps that I have mentioned above.
----------------------------------------------------------------------------------------------------------
That said I will now proceed to mention all my phone's tidbits based on the information that I gathered via Aida64 application
----------------------------------------------------------------------------------------------------------
Code:
----------------------------------------------------------------------------------
System
----------------------------------------------------------------------------------
Manufacturer - BenQ
Model - BenQ T3
Board - MSM8926
Device - T3_17A
Hardware - QCom
Platform - msm8226
Product - T3_08
Installed RAM - 1 GB
Total Memory - 866 MB
Available Memory - 256 MB
Internal Storage (Total Space) - 2051 MB
Internal Storage (Free Space) - 732 MB
----------------------------------------------------------------------------------
android.hardware.bluetooth
android.hardware.bluetooth_le
android.hardware.camera
android.hardware.camera.any
android.hardware.camera.autofocus
android.hardware.camera.flash
android.hardware.faketouch
android.hardware.location
android.hardware.location.gps
android.hardware.location.network
android.hardware.microphone
android.hardware.screen.landscape
android.hardware.screen.protrait
android.hardware.sensor.accelerometer
android.hardware.sensor.compass
android.hardware.sensor.light
android.hardware.sensor.proximity
android.hardware.sensor.stepcounter
android.hardware.sensor.stepdetector
android.hardware.telephony
android.hardware.telephony.gsm
android.hardware.touchscreen
android.hardware.touchscreen.multitouch
android.hardware.touchscreen.multitouch.district
android.hardware.touchscreen.multitouch.jazzhand
android.hardware.usb.accessory
android.hardware.wifi
android.hardware.wifi.direct
android.software.app_widgets
android.software.device_admin
android.software.home_screen
android.software.input_methods
android.software.live_wallpaper
android.software.sip
android.software.sip.voip
com.nxp.mifare
mobi.qiss.preload.benq
mobi.qiss.preload.benqhome
Code:
----------------------------------------------------------------------------------
CPU
-----------------------------------------------------------------------------------
SoC Model - Quadcomm Snapdragon 400 (MSM8926)
Core Architecture - 4x ARM Cortex-A7 @ 1190 MHz
Manufacturing Process - 28 nm
Instruction Set - 32-bit ARMv7
CPU Revision - r0p3
CPU Cores - 4
CPU Clock Range - 300 - 1190 MHz
Core 1 Clock - 787 MHz
Core 2 Clock - 787 MHz
Core 3 Clock - 787 MHz
Core 4 Clock - (Sleeping)
CPU Utilization - 74%
Scaling Governor ondemand
CPU ABI - armeabi-v7a
CPU ABI2 - armeabi
AES - Not Supported
NEON - Supported
SHA1 - Not Supported
SHA2 - Not Supported
Code:
------------------------------------------------------------------------------------
DISPLAY
------------------------------------------------------------------------------------
Screen Resolution - 540 x 960
Screen Size - 56 mm x 99 mm
Screen Diagonal - 4.48 inches
Pixel Density - 246 dpi (hdpi)
xdpi / ydpi - 245 / 246 dpi
GPU Vendor - Qualcomm
GPU Renderer - Adreno 305
GPU ALUs - 24
Current GPU Clock - 320 MHz
CPU Clock Range - 200 - 450 MHz
GPU Utilization - 0%
Scaling Governor msm-adreno-tz
Refresh Rate - 62 Hz
Default Orientation - Portrait
OpenGL ES Version - 3.0
GPU Version - OpenGL ES 3.0 [email protected]
[email protected]
LNXBUILD_Nondeterminist
ic_AU+PATCH[ES]_msm8226
_LNX.LA.3.5.1_RB1_CL330
4448_release_ENGG
([email protected])
--------------------------------------------------------------------------------------
GL_AMD_compressed_ATC_texture
GL_AMD_performance_monitor
GL_AMD_program_binary_Z400
GL_EXT_debug_label
GL_EXT_debug_marker
GL_EXT_discard_framebuffer
GL_EXT_robustness
GL_EXT_texture_format_BGRA8888
GL_EXT_texture-type_2_10_10_10_REV
GL_NV_fence
GL_OES_compress_ETC1_RGB8_texture
GL_OES_depth_texture
GL_OES_depth24
GL_OES_EGL_image
GL_OES_EGL_image_external
GL_OES_element_index_uint
GL_OES_fbo_render_mipmap
GL_OES_fragment_precision_high
GL_OES_get_program_binary
GL_OES_packed_depth_stencil
GL_OES_depth_texture_cube_map
GL_OES_rgb8_rgba8
GL_OES_standard_derivatives
GL_OES_texture_3D
GL_OES_texture_float
GL_OES_texture_half_float
GL_OES_texture_half_float_linear
GL_OES_texture_npot
GL_OES_vertex_half_float
GL_OES_vertex_type_10_10_10_2
GL_OES_vertex_array_object
GL_QCOM_alpha_test
GL_QCOM_binning_control
GL_QCOM_driver_control
GL_QCOM_perform_global_mode
GL_QCOM_extended_get
GL_QCOM_extended_get2
GL_QCOM_tiled_rendering
GL_QCOM_writenly_rendering
GL_EXT_sRGB
GL_EXT_sRGB_write_control
GL_EXT_texture_sRGB_decode
GL_EXT_texture_filter_anisotropic
GL_EXT_multisampled_render_to_texture
GL_EXT_color_buffer_float
GL_EXT_color_buffer_half_float
Code:
--------------------------------------------------------------------------------
NETWORK
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
TELEPHONY
--------------------------------------------------------------------------------
Phone Type - GSM
SIM State - Absent
ICC Card - Not Present
---------------------------------------------------------------------------------
WIFI
---------------------------------------------------------------------------------
State - Enabled
SSID - DSC Network
BSSID - d4:6e:0e:ee:2c:6b
Hidden SSID - No
MAC Address - 1c:e1:92:1c:11:ba
Signal Strength - 47 dBm (Excellent)
Link Speed - 65 Mbps
Network ID - 3
Gateway - 192.168.0.1
Netmask - 255.255.255.0
DNS1 - 192.168.0.1
DHCP Lease Duration - 2 hours
Wi-Fi Aware - Not Supported
Wi-Fi Direct - Supported
Code:
--------------------------------------------------------------------------------
BATTERY
--------------------------------------------------------------------------------
Power Source - A/C Charger
Level - 67 %
Status - Charging
Health - Good
Technology - Li-ion
Temperature - 40.6 C
Voltage - 4.044 V
Capacity (Reported by Andorid) - 2520 mAh
Code:
--------------------------------------------------------------------------------
ANDROID
---------------------------------------------------------------------------------
Andriod Version - 4.4.2 (KitKat)
API Level - 19
Rooted Device - YES
Android ID - 63f50428151aae1c
Baseband - MPSS.DI.2.0.1.c1-00223-
M8926DAAAANAZM-1
Build ID - SWEP_GA31I17A_v01.057.03.g_08
Codename - REL
Fingerprint - BenQ/T3_08/T3_17A:4.4.2/
KVT49L/
SWEP_GA3I17A_v01.057.03
.g_08:user/release-keys
ID - KVT49L
Incremental - 376
Java Runtime Version - Android Runtime 0.9
Java VM Version - Dalvik 1.6.0
Java VM Heap Size - 96 MB
Kernel Architecture - armv7I
Kernel Version - 3.4.-g3104c58
([email protected]
)(gcc version 4.7 (GCC))
#1 SMP PREEMPT Thu Mar
12 10:52:17 CST 2015
Tags - release-keys
Type - User
Google Play Services Version - 11.5.09 (034-164803921)
OpenSSL Version - OpenSSL 1.0.1e 11 Feb 2013
ZLib Version - 1.2.8.f-linuxfoundation-
mods-v1
ICU CLDR - 23.0
ICU library Version - 51.1.0.1
ICU Unicode Version - 6.2
Android Language - English (United States)
Configured Time - Malaysia Time (UTC+08:00)
UpTime - 01:16:03
Code:
-----------------------------------------------------------------------------
DEVICES
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
Rear Facing Camera
-----------------------------------------------------------------------------
Resolution - 8.0 MP (3264 x 2448)
Video Resolution - 2.1 MP (1920 x 1080)
Focal Length - 3.85 mm
Focus Modes - auto, infinity, macro,
continious-video,
continuous-picture
Video Snapshot - Supported
Video Stabilization - Not Supported
Zoom - Supported
Smooth Zoom - Not Supported
Auto Exposure Locking - Supported
Auto White Balance Locking - Supported
Flash - Supported
-----------------------------------------------------------------------------
Front-Facing Camera
-----------------------------------------------------------------------------
Resolution - 0.3 MP (640 x 480)
Video Resolution - 0.3 MP (640 x 480)
Focal length - 1.21 mm
Focus Modes - Fixed
Video Snapshot - Supported
Video Stabilization - Not Supported
Zoom - Supported
Smooth Zoom - Not Supported
Auto Exposure Locking - No Supported
Auto White Balance Locking - Not Supported
-----------------------------------------------------------------------------
OpenCL Device - QUALCOMM
Adreno(TM)
-----------------------------------------------------------------------------
Device name - QUALCOMM Adreno (TM)
Device Type - GPU
Device Vendor - QUALCOMM
Device Vendor ID - 0xBF4D3C4B
Device Version - OpenCL 1.1 Adreno(TM) 305
Device Profile - Embedded
Driver Version - OpenCL 1.1 QUALCOMM build:
LNXBUILD_Nondeterminist
ic_AU+PATCH[ES]_msm8226
_LNX.LA.3.5.1_RB1_CL330
448_release_ENGG
(CL3304448)
Build Date: 04/21/14 Mon
Local Branch:
Remote Branch: quic/
LNX.LA.3.5.1_RB1.1
Compiler E031.24.00.14
OpenCL C Version - OpenCL C1.1 Adreno(TM) 305
Clock Rate - 400 MHz
Compute Units - 1
Address Space Size - 32-bit
Max 2D Image Size - 4096 x 4096
Max 3D Image Size - 4096 x 4096 x 512
Max Samplers - 16
Max Work-Item Size - 256 x 256 x 256
Max Work Group Size - 256
Max Argument Size - 256 Bytes
Max Constant Buffer Size - 4 KB
Max Constant Arguments - 8
Max Printf Buffer Size - 1 MB
Native ISA Vector Widths - char1, short1, int1, half1, float1
Preferred Native Vector Widths - char1, short1, int1, long1, half1, float1
Profilling Timer Resolution - 1000 ns
OpenCl Library - /system/vendor/lib/libOpenCL.so
Global Memory - 443684 KB
Global Memory Cache - 8 KB (Read/Write, 64 Byte Line)
Local Memory - 8 KB
Max Memory Object Allocation Size - 443684 KB
Memory Base Address Alignment - 512-bit
Min Data Type Alignment - 64 Bytes
Command-Queue Out of Order Execution - Enabled
Command-Queue Profiling - Enabled
Compiler Available - Yes
Error Correction - Not Supported
Images - Supported
Kernel Execution - Supported
Linker Available - Yes
Linker-Endian Device - Yes
Native Kernel Execution - Not Supported
SVM Automics - Not Supported
SVM Coarse Grain Buffer - Not Supported
SVM Fine Grain System - Not Supported
Unified Memory - Yes
OpenCL Extension
cl_img_egl_image
cl_khr_byte_addressable_store
cl_khr_egl_event
cl_khr_fp16
cl_khr_gl_gl_sharing
cl_khr_global_int32_base_atomics
cl_khr_global_int32_extended_atomics
cl_khr_local_int32_base_atomics
cl_khr_local_int32_extended_atomics
cl_qcom_create_buffer_from_image
cl_qcom_ext_host_ptr
cl_qcom_ion_host_ptr
cl_qcom_limited_printf
cl_qcom_extended_images
-----------------------------------------------------------------------
OpenCL Device - QUALCOMM Krait(TM)
-----------------------------------------------------------------------
Device Name - QUALCOMM Krait(TM)
Device Type - CPU
Device Vendor - QUALCOMM
Device Vendor ID - 0xBF4D3C4B
Device Version - OpenCL 1.1. Krait(TM)
Device Profile - Embedded
Driver Version - OpenCl 1.1 QUALCOMM
build:
LNXBUILD_Nondeterminist
ic_AU+PATCH[ES]_msm8226
_LNX.LA.3.5.1_RB1_CL330
4448_release_ENGG
(CL3304448)
Build Date: 04/21/14 Mon
Local Branch:
Remote Branch: quic/
LNX.L.A.3.5.1_RB1.1
Compiler E031.24.00.14
OpenCL C Version - OpenCL C 1.1. Krait(TM)
Compute Units - 1
Address Space Size - 32-bit
Max 2D Image Size - 8192 x 8192
Max 3D Image Size - 2048 x 2048 x 2048
Max Samplers - 16
Max Work-Item Size - 1 x 1 x 1
Max Work-Group Size - 1
Max Argument Size - 256 bytes
Max Constant Buffer Size - 64 KB
Max Constant Buffer Size - 8
Native ISA Vector Widths - char16, short8,int4, long1, half8, float4
Preferred Native Vector Widths - char16, short16, int16, long1, half16,float16
OpenCL Library - /system/vendor/lib/libOpenCL.so
Global Memory - 443684 KB
Global Memory Cache - 1 MB (Read/Write, 64-byte
line)
Local Memory - 32 KB
Man Memory Object Allocation Size - 443684 KB
Memory Base Address Alignment - 1024-bit
Min Data Type Alignment - 128 bytes
Command-Queue Out of Order Execution - Enabled
Command-Queue Profiling - Enabled
Compiler Available - Yes
Error Correction - Not Supported
Images - Supported
Kernel Execution - Supported
Linker Available - Yes
Little-Edndian Device - Yes
Native Kernel Execution - Supported
SVM Atomics - Not Supported
SVM Coarse Grain Buffer - Not Supported
SVM Fine Grain Buffer - Not Supported
SVM Fine Grain System - Not Supported
United Memory - Yes
OpenCL Extensions
cl_khr_global_int32_base_atomics
cl_khr_global_int32_extended_atomics
cl_khr_local_int32_base_atomics
cl_khr_local_extended_atomics
cl_khr_byte_addressable_store
cles_khr_int64
cl_khr_fp16
No USB devices found.
No CUDA devices found.
No Vulkan devices found.
No PCI devices found.
Code:
----------------------------------------------------------------------------
THERMAL
----------------------------------------------------------------------------
tsens_tz_sensor0 - 42.0 C
tsens_tz_sensor1 - 43.0 C
tsens_tz_sensor2 - 42.0 C
tsens_tz_sensor3 - 42.0 C
tsens_tz_sensor4 - 41.0 C
tsens_tz_sensor5 - 43.0 C
ppm8226_tz - 38.7 C
pa_therm0 - 25.0 C
pa_therm1 - 25.0 C
Battery - 31.6 C
Ok, I did a bit of a mess up with the phone - Sorry! I tried removing the bloatware (BenQ software) using SuperUser app that I had installed previously after the KingoRoot and now the phone has lost it's systemUi
I see no icons on my screen and it takes very long to boot up the phone (heck most times it just gets stuck on the loading screen). I tried to do a master reset by pressing the power button + Volume down and cleaning all user data but everything I try seems to be in vain. The data was reset as I had to enter my google account and all flagship apps lost its updates but even so the result (i.e. no SystemUi) remains.
There seem to be no guides on this phone Model (BenQ - T3) at all on XDA forum or the internet for that matter.
Any suggestions on what can I do next ??
P.S. The phone has no SD card and this is just a Testing phone so I can play around with it as much as I can. Any help on the matter would be much appreciated.
Writing this after I've successfully troubleshooted and resurrected the phone to a much better state. Apparently in my haste to try out things I accidently damaged the launcher for my phone which totally messed up the User Interface.
Nearly three months of searching and reading various online material for my phone (still cannot find stock ROM) without avail I came back on XDA and posted this entire problem from scratch in the Noob Friendly Questions Thread.
Luckily a couple of blokes helped me out on the matter and I have managed to bring my phone back to a working state (typing this post from the XDA app itself on my BenQ)
If you want the reference to the conversation please visit the thread '[HELP THREAD] Ask ANY Question. by immortalneo' and start reading my post from page 4075 onwards.
Tools that I used to rectify this:
1) Adb and Fastboot drivers installed in the PC
2) Rooted BenQ T3 (if you haven't Rooted yet then just download KingoRoot, enable USB debugging and root the phone - Do a Google search and you'll find it pretty easy)
3) KitKat launcher apk app
At first I went into recovery mode and wiped clean the data and cache, this helped me boot into the phone after which I connected it to my PC (USB debugging on) and ran the following command:
Code:
Adb reboot bootloader
The phone then went into Fastboot mode and I had to further write this:
Code:
Fastboot oem unlock
The above command unlocked the bootloader after which I once again booted into the phone recovery and wiped clean the data and cache. When the boot up process was done I had to connect again to the PC (USB debugging on) and install the launcher by writing:
Code:
Adb install [launcher_name]
This repaired my UI and all the icons and screen windows came back to normal, my problem of being stuck at a normal boot up process also resolved once I reinstalled the launcher correctly!
Once the GUI came back I reentered my Google credentials, carefully uninstalled all bloat ware and unnecessary apps via Kingo Super user app and updated all the ones that I use on a daily basis.
I now will look to find TWRP or any custom recovery for my phone and Custom ROMs as well. If anyone can point me to the right direction then that would be highly appreciated !!!

Categories

Resources