[Kernel][26/11/14][LG][D855|F400|D852]Rin Kernel 1.8.5[KITKAT] - G3 Original Android Development

RIN Kernel for D855/P/K | F400/K/S/L | D852
Close to stock with some sugar added ... delicous!
Hey guys and girls,
you may have seen my unified stock kernel thread already (or may not, but doesn't matter). This kernel is my attempt to build up on the fixed source and add some additional features for us mod lovers to thinker with and to personalize your device to your usage. For now, I'll keep it close to my stock source and just pull some additional features and fixes in, but not to much. That may change in the future (maybe even soon), but for now, I'll stick to that paradigm.
First of, DISCLAIMER, I'm not responsible for bricked devices, dead unicorns, rainbows with missing colors, world war, nose bleed, void warranty (you know that already, don't you? your warranty is void now and it's your fault ) or any other harm happening to your device, you or people around you!
What does it serve? (Features)
Built with sabermod 4.9 toolchain
IO Schedulers
BFQ
CFQ
DEADLINE
FIFO
FIOPS
NOOP
ROW (default)
SIO
TRIPNDROID
VR
ZEN
Governors
Adaptive
Conservative
DanceDance
IntelliActive
IntelliDemand
Interactive (default)
Lagfree
Lionheart
OnDemand
Performance
Powersave
SmartassV2
Userspace
Wheatley
Smartmax
TCP Congestion Algorithms
BIC
Westwood
Vegas
Veno
Yeah
HTCP
Cubic (default)
Reno
init.d support
intelliplug
intelli thermal v2
Memutil optimizations
Voltage control
SoundControl
OC to 2.7GHz and UC support
Cpu limiter
2-Way Call Recording support
Simple GPU Algorithm
Simple_ondemand GPU Governor fixed
exFat support
ntfs support (bugged)
Oversharpening fix
DriveDroid support
android logger sysfs toggle (disabled by default)
high priority workqueue
Many under the hood fixes
Stability
More to come
How to apply it? (Installation)
IMPORTANT: Read through all the requirements, steps and warnings before you do anything, if any requirement doesn't match or you don't know what one or more of the steps below mean or do, ask before you do any of them, if you don't know how all the steps can be done, let it be, I warned you, if you don't do and something bad happens, I'll just laugh at you!!
Requirements? Yes!
D855/P/K, F400/K/S/L, D852
Custom Recovery
Stock or Stock based ROM (no AOSP)
How to flash the kernel?
Download zip
Place on internal or external SD
Reboot to recovery
Choose install zip
Search for the downloaded zip
Confirm flashing
Wipe cache
Reboot
Have fun
How to boot unbumped kernels?
Only needed for the img files prior version 1.7
Plugin your device to the PC
Open a terminal and execute
Code:
adb shell # open a shell over adb
su # change to superuser
dd if=/dev/block/platform/msm_sdcc.1/by-name/laf of=/storage/external_SD/stock-laf.img # backup the stock download mode to your external sd
exit # exit the superuser shell
exit # exit the adb shell
adb pull /storage/external_SD/stock-laf.img . # backup the download mode image from you external sd to the PC
adb shell
su
dd if=/dev/zero of=/dev/block/platform/msm_sdcc.1/by-name/laf # remove the stock download mode
BEWARE, THIS WILL REMOVE YOUR DOWNLOAD MODE!!! YOU WON'T BE ABLE TO FLASH KDZ FILES BEFORE YOU RESTORED IT!!!!
Turn off the device completely, plug in the USB-cable, if you pulled it out and start the device by holding vol up + power till you see some white text on the screen, fastboot should be written somewhere on the screen, afterwards execute the following command on the PC (while in the directory you've downloaded the kernel image to).
D855:
Code:
fastboot boot D855-rin-1.6.img # boot the kernel
F400:
Code:
fastboot boot F400-rin-1.6.img # boot the kernel
BEWARE, NEVER USE FLASH AT FASTBOOT ONLY BOOT, IT WILL TRIGGER SECURITY OF THE LOCKED BOOTLOADER AND YOU WON'T BE ABLE TO BOOT ANYMORE!!!!
You're done now and booted to the custom kernel!
How to make sure you're running the kernel?
To check if you properly booted into the kernel execute this in the command line (terminal emulater or through adb shell):
Code:
cat /proc/version
it should show
Code:
Linux version 3.4.0-rin-g58903a9-dirty ([email protected]) (gcc version 4.9.1 20140710 (prerelease) (crosstool-NG linaro-1.13.1+bzr2673 - Linaro GCC 2014.07 - Cortex-A15) ) #53 SMP PREEMPT Thu Aug 14 13:26:42 CEST 2014
Once more a warning READ IT!!:
BEWARE, when you reboot you'll boot to the stock kernel, you'll have to boot the custom kernel over fastboot every time, when you boot normally, you'll be on the stock kernel, this won't lead to issues, but you'll miss the benefits of this kernel, I know that's not optimal, but the best we can get with the locked bootloader.
How to restore Download mode?
Code:
adb shell # open a shell over adb
su # change to superuser
dd if=/storage/external_SD/stock-laf.img of=/dev/block/platform/msm_sdcc.1/by-name/laf # restore the stock download mode from the backup on your external sd
Changes? (Changelog)
26.11.2014/1.8.5
Less frequency steps to UC (better performance for governors hitting each step)
Oversharpening fix (Credits to @Skin1980)
Kernel now flashed with dd within recovery
Added external radio-iris-transport module to fix fm radio
20.11.2014/1.8
lollipop support (credits to @Skin1980 and his rooted ramdisk)
build with sabermod 4.9
Graphite build flags
NTFS support
sysfs interface for android logger (Logger disabled by default)
TCP cong algorithms (BIC, Westwood, HTCP, Vegas, Veno, Yeah)
More frequency steps between 300Mhz and 2.7Ghz
17.11.2014/1.7.2
Raise max microvolt at cpu for pm8941 and pma8084 (Possible Green Screen Fix)
Additional warnings fixed
11.11.2014/1.7
D852 support added
images bumped
flashable zip
init.d support (busybox required)
AIO optmimizations enabled
intelli plug added (credits to @faux123)
****load of warnings fixed
23.10.2014/1.6
D850 support added
Simple GPU Algorithm Support
Overclocking up to 2.76 Ghz
exfat support
intelli-thermal v2 added
smartmax governor added
memutil optimizations
build with NEON kernel mode
2-way call recording patch
DriveDroid cdrom emulation support
Faux SoundControl
Simple-OnDemand fixed
Cpu Freq Limiter
some small fixes and enhancements
17.08.2014
Support for F400 variants added
14.08.2014/1.0.1
net/ipv4|include/asm-generic: Enhancement of out of bounds fix
14.08.2014
Initial release
Full list of commits can be found here
Where to get it from? (Download)
AndroidFileHost | xda | dev host | google drive | trialsrider1
Let me test!! (Beta Testing Community)
Google+ LG G3 Beta Testing Community
Show me the so(u)rce(ry)! (Source Code)
https://github.com/tectas/android_kernel_lge_msm8974ac/tree/rin-kitkat
Donators (huge thanks, you're simply great )
@Toneman07
@Helloworld294
@shaarky
@Dreamxtreme
@guyd
@mosincredible
@tobitege
@AndroidUzer
Credits
XDA
Google
LG
@HolyAngel
@faux123
@KAsp3rd
@myfluxi
@trialsrider1
@Skin1980
@Lord Boeffla
@GuneetAtwal
@DooMLoRD
If you like my work, please show your appreciation by pressing the thanks button, if you want to do more, i've nothing against a little donation, but I'm as happy when you just thank me by pressing the button
XDA:DevDB Information
Rin Kernel, Kernel for the LG G3
Contributors
Tectas
Source Code: https://github.com/tectas/android_kernel_lge_msm8974ac/tree/rin-kitkat
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: 1.8.5
Stable Release Date: 2014-11-26
Created 2014-08-14
Last Updated 2015-01-09

Any questions? (FAQ)
How can I toggle the android logger?
File Explorer Method:
Go with a root explorer to /sys/kernel/logger_mode and open the logger_mode file.
Remove everything inside that file and put the number 1 to enable and 0 to disable the logger into it and save the file.
Terminal Method:
Enable the logger
Code:
echo 1 > /sys/kernel/logger_mode/logger_mode
Disable the logger
Code:
echo 0 > /sys/kernel/logger_mode/logger_mode
My internal sd is not working, what to do?
Open adb shell or a terminal emulator and type
Code:
su
restorecon -v -R /data/media

Eccellent!first build for d855,I'm really happy for this!
Is it for 16g,32g or all version?
-------------------LG G3 [D-855]
recovery = stock..
kernel = stock..
rom = stock..
-------------------previous phones:
-ZOPO ZP990 = rom by me
-XPERIA PLAY = kernel by me
-LG L7 = change with xperia play
-MOTOROLA FLIPOUT = OC 1,2ghz

DanieleD'Ignazio said:
Eccellent!first build for d855,I'm really happy for this!
Is it for 16g,32g or all version?
-------------------LG G3 [D-855]
recovery = stock..
kernel = stock..
rom = stock..
-------------------previous phones:
-ZOPO ZP990 = rom by me
-XPERIA PLAY = kernel by me
-LG L7 = change with xperia play
-MOTOROLA FLIPOUT = OC 1,2ghz
Click to expand...
Click to collapse
Works on both.

Sorry I already posted in the source thread, prolly shoulda posted here. Can you do a 851 version? Or will this version work for 851?

Hello, good job, when F400K?

luchino71 said:
Hello, good job, when F400K?
Click to expand...
Click to collapse
When someone sends me the stock boot image for ram disk
Sent from my LG-D855

This can be useful?
https://dl.dropboxusercontent.com/u/30244475/boot.img

luchino71 said:
This can be useful?
https://dl.dropboxusercontent.com/u/30244475/boot.img
Click to expand...
Click to collapse
Yup, perfect, thanks

Thank you for your kernel :good:
So far so good....just test it and I will reporting to you if I found some bugs

1.0.1 is up, small ipv4 fix included

sweet thanks buddy

any chance of this working on the 851

I'd just like to say.. congrats for being the first in the OG Dev section! Bugged me not seeing anything here.

Congratulations for the First Custom Kernel for LG G3...
I wish LG G3 can use LOKI like G2
too bad we still can't boot custom kernel every reboot
btw Smooth Works you got here
awesome bro, just awesome

Good job,bravo

CheesyNutz said:
any chance of this working on the 851
Click to expand...
Click to collapse
Sure, just go to D851 original development section, download the zip of rin, extract the boot image and do the steps described here, just replace the image name to boot, but I'd recommend simply flashing the zip
Sent from my LG-D855

is there a way to make the phone boot on your kernel without a computer ? script or anything ?
Tapatalked from my LG G3

atxbang56 said:
is there a way to make the phone boot on your kernel without a computer ? script or anything ?
Tapatalked from my LG G3
Click to expand...
Click to collapse
Unfortunately not yet, the bootloader has to be more or less tricked to be able to boot the kernel.
Sent from my LG-D855

Tectas said:
Unfortunately not yet, the bootloader has to be more or less tricked to be able to boot the kernel.
Sent from my LG-D855
Click to expand...
Click to collapse
ok I understand (hope that this bootloader unlocked will come soon). so just other questions please :
- onDemand works well with your kernel ?
- is there any other usable governor for gpu ?
I think I'm gonna try to install adb and fastboot at work if I have a reboot or something like that.
thank you for your hard work for such a locked phone....
Tapatalked from my LG G3

Related

[Module] SmartassV2/ondemandX governors for Rooted/stock ROM | 2012-02-24

This modules are for people with stock kernels because they don't have 'smartass' or ondemandX' governors.
EASY ENGLISH:
Differences between this modules and build in stock kernels:
- allows to set max CPU freq when screen is off (to save battery),
- allows to set starting CPU freq when phone awakes (to speed up awake process),
- allows set/change almost all aspects of governor (to suite needs),
- should be a bit more responsive when parameters are well chosen for smartassv2 governor.
Each governor has some predefinied values - more info in "Available settings".
If governors works or not on other version then 4.0.2.A.0.42 let me know.
Start:
The goal was bring 'smartassv2' and 'ondemandX' governor to work with stock kernel on Neo V.
Most information is in my thread on 'XPERIA X8 Android Development': [Module] | X8 | X10 mini/pro | AX8_SMARTASS v002 | 'smartass' governor | [2011-07-19]
To remind:
SmartassV2 (informal description and comparison with the first smartass)
SmartassV2 is a governor (controls the frequency of the CPU at each give moment) which like the first smartass is generally based on the implementation of interactive with some major changes and the addition of a built in sleep profile (behaves a bit differently when screen is off vs. on).
The smartassV2 improves the very naive scheme which the first smartass had: The first smartass (with the values I set for the hero), would cap the max frequency at 352Mhz for sleep and when screen is on, would do the opposite and keep the frequency at 518Mhz or above. For sleep this was very effective but a bit crude and unclean, and there could be some cases where you would need processing power even when screen is off (something is updating and music is playing and etc.). For screen on, smartass1 was too quick to jump to the max available frequency and again would never go below the 518Mhz, so in a nutshell its was using "too high" frequencies.
SmartassV2, introduce (internally) an "ideal" frequency which is the frequency we are "aiming" for, in some sense. The way I see it is that the "ideal" frequency is a hint to the governor what is a good balance between performance and battery life. Now when screen is on, I set (on the hero) the ideal frequency to 518Mhz which will ensure nice responsiveness but limit unnecessary use of higher frequencies when they are not needed. When screen is off, I set the ideal frequency to 352Mhz (0 will disable the screen state tracking all together). From my testing this will "convince" the governor to spend most of the its time during sleep at the lowest available frequencies. Note, that both during sleep and when awake the entire frequency range (as defined by the "user" - i.e. selected with SetCPU) is used by smartassV2. For example, when the CPU is loaded heavily, the highest available frequency will be used regardless if screen is on or off.
Click to expand...
Click to collapse
ondemandX - ondemand governor code from latest linux (3.0 at the moment) source *plus* the suspend/wake logic described above. No further optimization is done.
Click to expand...
Click to collapse
Info:
- information about governors is here,
- more information about 'smartass' governor is here or here,
- how different governors work is explained here: [Q] SetCPU governors (explained).
Prerequisites:
- Neo V (if works on Neo - let me know),
- root,
- ondemandX should work on any version,
- smartass was compiled against 4.0.2.A.0.42 version, how run on other version will be explained in manuall installation section,
- desire to replace SetCPU - when used only for 'ScreenOff' profile.
Manual installation:
Unzip file
Run copy.cmd file - this should copy modules to /system/lib/modules
run adb shell or terminal - whatever you like and execute su
Code:
su
If you have 4.0.2.A.0.42 version proceed to step 6
For smartass governor you need to know address for 'kallsyms_lookup_name'
run following command:
Code:
cat /proc/kallsyms | grep kallsyms_lookup_name
result should be as follows:
Code:
80101aec T module_kallsyms_lookup_name
[SIZE="3"][B]801056f0[/B][/SIZE] T kallsyms_lookup_name
Bolded value (801056f0) is address which we need.
Optional step: lower min CPU freq:
Code:
echo 122880 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
Insert ondemandX module:
Code:
insmod /system/lib/modules/aneov_ondemandx.ko
in dmesg command should be line:
Code:
<6>[ 431.711517] aneov_ondemandX: module v001 for device Xperia Neo V loaded
Insert smartassV2 module:
for version 4.0.2.A.0.42 just run command:
Code:
insmod /system/lib/modules/aneov_smartass2.ko
in dmesg command should be line:
Code:
<6>[ 420.308380] aneov_smartass2: module v001 for device Xperia Neo V loaded
for other use 'address' and use following command:
Code:
insmod /system/lib/modules/aneov_smartass2.ko lookup_address=0x[B][COLOR="Red"]801056f0[/COLOR][/B]
in dmesg command should be line:
Code:
<6>[ 420.308380] aneov_smartass2: module v001 for device Xperia Neo V loaded
Now you can enable desired governor. Execute:
Code:
echo "smartassV2" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
for smartassV2 or
Code:
echo "ondemandX" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
for ondemandX governor.
Lower min cpu freq a bit:
Code:
echo 122880 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
Until you're sure that it works with your hardware, don't install it to hw_config.sh.
Available settings:
Will be added later
v001:
- just initial version fixed to work with Neo V.
Disclaimer
I'm not responsible if this module damages your lovely phone. Use it at your own risk! Think before you do something!
Sources at: GitHub
Thank you!
On .62 firmware, I didn't have to specify lookup_address, since it didn't recognise that option, but it seems to work.
Also a good full article about governors:
http://forum.xda-developers.com/showpost.php?p=19846276&postcount=1
is there any chance to get this as a zip for cwm?
edit:yay! just put it manually into system/lib/modules and changed permissions and it works!
Working .62.
Could you also build an OC module please, that would be awesome.
Sent from my MT11i using Tapatalk
mpiekp said:
Working .62.
Could you also build an OC module please, that would be awesome.
Sent from my MT11i using Tapatalk
Click to expand...
Click to collapse
If I find source somewhere - or someone point me to sources - I can try.
Sources from any custom kernel, just compile against stock.
Thank you
Sent from my MT11i using Tapatalk
Hell yea, OC module for locked BL would be awesome!
Any news about OC or UV modes?
Wysłano z MT11i z użyciem Tapatalk
Will this work with my x8
Sent from my E15i using XDA
Intellidemand please!
Could you please make an intellidemand governor also..
Also please see these commits for some changes to smartass2 (more stable) and working lulzactive
thread dead for more than 2 months...
Zed's dead. but no matter
OK- so I'm planning on installing the module on a different device. with the assumption that the smartassv2.ko drivers are all the same, i figure that only the specifics differ.
e.g. no /sys/lib folder exists in my system, though a /sys/modules folder does.
So, the plan is: i edit the script to point towards the valid directories; place the files in those noted directories (eg create a /sys/lib/modules folder); edit the "scanning_available_governors" to mention those governors; kick back and enjoy.
two things concern me. First, I checked the symsearch.ko file found references to the kallsyms, as well as to the general public license and ARMv7, but haven't found much info online as to what the driver does. since it mentions architecture that may or may not adhere to my device (samsung galaxy player 5),should I go ahead?
Second, OP mentioned:
"result should be as follows:
Code:
80101aec T module_kallsyms_lookup_name
801056f0 T kallsyms_lookup_name
Bolded value (801056f0) is address which we need."
the instructions following that line doesn't mention the kallsyms_lookup_name addy again. so what is the addy good for?
thanks!
Wow IT REALLY WORKED.
i have smartass V2 on My locked bootloader .
Thank you.
(Yes i know i am a gravedigger but more people have to see this.)
Just everyday i find one more reason for not to unlock my BL.
I have the best governor
Best tweaks.
OC is useless (it consumes battery and Destroyes the phone).
WHY THE HECK WOULD I WANT A CUSTOM ROM.
EDIT: Erm guys how do i install it with hw_config.sh
It may be a silly question, but after reading descriptions to both the badass and the smartass v2 governors, but I'm still not quite sure which one will provide better battery life overall.
SmartassV2 is the answer ;P
not working on miui 2.7.13 based on 4.0.4

[KERNEL MODULE] Extra modules pack v0.1.3 (feat. overclock) [OMAP4 kernel 3.0.8]

Some extra kernel modules for you & me.
Modules :
filesystem
ntfs.ko (read/write support)
cifs.ko (with extra attributes)
kernel hacking
symsearch.ko (Unexported symbol finder by Skrilax_CZ)
CPU scaling governor (back ported from other dev)
cpufreq_interactiveX.ko [@] (interactiveX V2 governor by imoseyon)
early suspend support and hotplugging
cpufreq_hotplugX.ko [@] (hotplugX governor by imoseyon)
early suspend support and tweaks
cpufreq_smartass2.ko [@] (SmartassV2 governor by erasmux)
cpufreq_pegasusq.ko [@] (Samsung multi-core governor)
based on modification done by Gokhanmoral
cpufreq_boostedASSv2.ko [@] (a modified smartassv2 governor)
ported from BMc08GT
CPU/GPU frequency control
cpu-control.ko [@] (Tweak CPU frequency & voltage to your like)
my 1st kernel module. based on milestone overclock & opptimizer.
I/O scheduler
sio-iosched.ko (Simple IO scheduler)
based on Noop, Deadline and V(R) IO schedulers. In android world, simple is better
modules with [@] mark requires symsearch.ko to operate
Click to expand...
Click to collapse
These kernel module will work for most Motorola omap4 device. (kernel 3.0.8 only)
Disclaimer : I don't write all of these modules. Only make a few changes/tweak for it to work on our device. Enjoy!
Kernel version : 3.0.8
Kernel source : 67.42.17.XT910S.SKT.en.KR
Compiler setup : CodeSourcerey arm-2012.03-56-arm-none-eabi (-O2 optimization)
Build revision : Project Lense build *.*
Change logs:
0.1.1
- Add Simple I/O scheduler.
0.1.2
- Recompile with -O2 flag. I notice some instability when using -O3 flag
- Tweaked sio scheduler
- Add tweaked pegasusq governor.
0.1.3
- Add cpu overclock/underclock module
- Add boostedASSv2 governor
Click to expand...
Click to collapse
Source code :
https://github.com/ProjectLense/kernel_omap4_spyder
- branch extra_kernel_module
Download link :
extra_kernel_modules_0.1.3.zip - contains all the modules
init.d_n_governor_installer_0.1.3.zip - optional. init.d installer (load all modules to memory on startup).
Update : Add a preview of Tweakerz app.
- Include all kernel module. Module are loaded from app storage.(no install /alter system partition.)
- Load/unload kernel module on-the-fly (No save setting or set on boot option)
- Set CPU voltage/freq via GUI (No persist option yet)
[/LIST]
Easy Install method: (For init.d)
Reboot to recovery
Install extra_kernel_modules_0.1.zip
Install init.d_n_governor_installer.zip (Thanks to core720)
Click to expand...
Click to collapse
Install guide for adding init.d script via Script Manager - SManager app
1.Extract all *.ko files from extra_kernel_modules_0.1.2.zip to /system/lib/modules
2.Open Script Manager, Create new script / modify existing script
Code:
#!/system/bin/sh
insmod /system/lib/modules/symsearch.ko
insmod /system/lib/modules/cpufreq_interactiveX.ko
insmod /system/lib/modules/cpufreq_hotplugX.ko
insmod /system/lib/modules/cpufreq_smartass2.ko
insmod /system/lib/modules/cpufreq_pegasusq.ko
insmod /system/lib/modules/sio-iosched.ko
3.Save to /system/etc/init.d/
Click to expand...
Click to collapse
Q: How to load a cpufreq governor
1.Load symsearch.ko
2.Load your choice of governor
3.Enable it
Code:
insmod /system/lib/modules/symsearch.ko
insmod /system/lib/modules/cpufreq_interactiveX.ko
echo interactivex > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Click to expand...
Click to collapse
Q: What is the best cpu-freq governor
maybe this will help you choose/tweak
CPU Governors explained
Pegasusq Governor
Click to expand...
Click to collapse
Q: How to load cpu frequency/voltage (underclock/overclock)
1.Load symsearch.ko
2.Load cpu_control.ko
Code:
insmod /system/lib/modules/symsearch.ko
insmod /system/lib/modules/cpu_control.ko
Click to expand...
Click to collapse
Q: How to change cpu frequency & voltage
echo id frequency(Mhz) voltage(mV) > /proc/cpu_control/tweak_cpu
example :
Code:
echo 0 196 980 > /proc/cpu_control/tweak_cpu
echo 1 500 1195 > /proc/cpu_control/tweak_cpu
echo 2 750 1320 > /proc/cpu_control/tweak_cpu
echo 3 1000 1388 > /proc/cpu_control/tweak_cpu
echo 4 1350 1410 > /proc/cpu_control/tweak_cpu
ICS kernel default voltage&frequency table
Code:
[B]Id Freq Volt(mV)[/B]
0 300 1025
1 600 1200
2 800 1325
3 1000 1388
4 1200 1398
GB kernel default voltage&frequency table
Code:
[B]Id Freq Volt(mV)[/B]
0 300 1025
1 600 1200
2 800 1313
3 1000 1374
4 1200 1375
** voltage min : 830mV, max : 1410mV
Click to expand...
Click to collapse
More/Details about cpu_control.ko module
To view ICS default frequency-voltage table
Code:
cat /proc/cpu_control/opp_table_default
To view current frequency-voltage table
Code:
cat /proc/cpu_control/opp_table_current
To view current CPU & GPU frequency
Code:
cat /proc/cpu_control/frequency_current
Click to expand...
Click to collapse
whirleyes said:
cpufreq governor install method
1.Load symsearch.ko
2.Load your choice of governor
3.Enable it
Code:
insmod /system/lib/modules/symsearch.ko
insmod /system/lib/modules/cpufreq_interactiveX.ko
echo interactivex > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Click to expand...
Click to collapse
Will this survive a reboot Whirleyes?
NO.. use init.d or custom init to have it persist.
I've upload new version of bootmenu with 2nd-init support today.
Just waiting for Google Play to start distributing it
Awesome!
"67.42.17.XT910S.SKT.en.KR" is our Razr(Korea Razr).
is that kernel source has been opened?
Thanks for your work!
I'll try to test on my razr.
J.Y.Daddy said:
Awesome!
"67.42.17.XT910S.SKT.en.KR" is our Razr(Korea Razr).
is that kernel source has been opened?
Thanks for your work!
I'll try to test on my razr.
Click to expand...
Click to collapse
see this thread for all link .. ICS source code is now available!
good work
I've created an installer that includes support for automatic load init.d modules so they can select with SetCPU or other similar program....
core720 said:
I've created an installer that includes support for automatic load init.d modules so they can select with SetCPU or other similar program....
Click to expand...
Click to collapse
Thanks.. but to be more efficient, I would like to have them separated.
1. User install my module pack. (extra_kernel_modules_*.zip)
2. User install init.d loader. (init.d_n_governor_installer.zip
core720 said:
I've created an installer that includes support for automatic load init.d modules so they can select with SetCPU or other similar program....
Click to expand...
Click to collapse
I tried to use your flashable zip. It doesn't work, but I found that after I chmod 777 the 90module in the init.d folder it works flawlessly. So I think you need to add that set permissions to your script.
*edited for grammar issues. It was bugging me that my You're and Your was wrong.
Fix....
I don't think the ntfs.ko is working right. I just formatted an sd card with ntfs to test it out after loading the module and it pulls it as a blank sdcard.
Will this work on an XT910? Is the kernel source any different from the 67.42.17.XT910S.SKT.en.KR?
robertwhitten87 said:
I don't think the ntfs.ko is working right. I just formatted an sd card with ntfs to test it out after loading the module and it pulls it as a blank sdcard.
Click to expand...
Click to collapse
don't blame the ntfs.ko, it's MotoBlur problem.(vold limitation)
You have to mount your NTFS partition manually.
DJFliX said:
Will this work on an XT910? Is the kernel source any different from the 67.42.17.XT910S.SKT.en.KR?
Click to expand...
Click to collapse
These modules will work on any 3.0.8 kernel
whirleyes said:
don't blame the ntfs.ko, it's MotoBlur problem.(vold limitation)
You have to mount your NTFS partition manually.
Click to expand...
Click to collapse
Yeah, I realized that after I commented and was playing around some more. Motoblur is the one throwing the blank sd card issue, not the system itself.
So I think it's time to go back to playing. I'm loving the new governor.
does anyone have an init.d script they could throw up to run one of these on boot?
whirleyes said:
Q: How to load a cpufreq governor
I flashed the zips and have not been able to automatically pick the governor while in setcpu.
I loaded up terminal and did the commands you posted but those didnt work unless i substituted /system/lib for /system/bin. Doing that I can now select interactivex. I'd love for the init.d scripts to work so I dont have to fumble around with this every boot. My rom does have init.d support.
Is there a reason for the difference on my phone? I have a razr maxx and running the newest kernel from build 214 and on Arctic rom.
Thanks.
Click to expand...
Click to collapse
Thank you for this. I loaded both zips & init.d works perfectly for me on an OG Razr running the stock 211 rom/214 kernel combo. Everything is available to select & it all runs at boot. System Tuner Pro is what I use to select the governor/scheduler settings.
Sent from my DROID RAZR using Tapatalk 2
Thanks for the modules! They work perfectly. I was wondering if its possible for you to write a script/module that would support editing vsel values for undervolting the cpu. Would be really helpful in extending battery life.
evonc said:
Thanks for the modules! They work perfectly. I was wondering if its possible for you to write a script/module that would support editing vsel values for undervolting the cpu. Would be really helpful in extending battery life.
Click to expand...
Click to collapse
Try check OPPtimizer Projekt, maybe tekahuna has recompile it for ICS.

[Kernel] EX Kernel v1.7 (05/02/2013)

Hello everybody, here is my first Custom Kernel for Galaxy Ace 2.
Features
TWRP Recovery
22 Governor
5 I/O Scheduler
Init.d Script Supported
Custom Bootanimation
CIFS Supported
zRAM Supported
SWAP Supported
NTFS Supported
Mali Tweak
Readahead Limit
LZMA Compression
Use SLQB Memory Allocator
Use JRCU
Fsync Controler
LMK Tweak
Governor:
Code:
wheatley, lazy, intellindemand, sakuractive, scary, interactive, smartassV2,
ondemandx, conservative, ondemand, userspace, powersave, pegasusq, lionheart,
performance, interactivex, hotplug, brazilianwax, minmax, lagfree, savagezen,
and smartass
I/O Scheduler
Code:
noop, deadline, cfq, vr, and sio
Init.d Script:
*requirement : busybox
*recommended : lastest busybox
Custom Bootanimation:
* Put the bootanimation.zip in /system/media with right permissions.
* If there isn't any custom bootanimation, kernel will load Samsung official bootanimation.
CIFS support
i put cifs.ko in "/lib/modules/2.6.35.7/fs/cifs"
not be loaded by default for power saving
zRam:
* zRAM must be enabled by script/command.
* put this script in init.d
Code:
#!/system/bin/sh
# enable zRAM script
# zRAM Swap Disk Size: 64MB(64*1024*1024)
disksize=67108864;
# Set Size to system
echo $disksize > /sys/block/zram0/disksize;
# Enable Swap (Need BusyBox installed)
busybox mkswap /dev/block/zram0;
busybox swapon /dev/block/zram0;
SWAP:
*SWAP must use with a SWAP partition in sdcard.
Code:
mkswap /dev/block/mmcblk1p2
swapon /dev/block/mmcblk1p2
NTFS:
* Need a binary file "ntfs-3g". download here
* I put it in the flashable zip already.
Mali Tweak:
* Increased L2 cache max reads ( 28k -> 48k )
* Increased OS memory for buffer. ( 6m -> 10m )
* Decreased Job runtime (5000)
* Increased Mali Mem ([email protected] -> [email protected])
Readahead Limit
Code:
Limit default readahead size for small devices.
disk size readahead size
1M 8k
4M 16k
16M 32k
64M 64k
256M 128k
1G 256k
4G 512k
16G 1024k
64G 2048k
256G 4096k
Fsync Controler
Enable/disable single file/filesystem sync.
/sys/class/misc/fsynccontrol/fsync_enabled
enable = 1, disable = 0 (default enabled)
example init.d script :
Code:
#!/system/bin/sh
echo "0" > /sys/class/misc/fsynccontrol/fsync_enabled
Disabling single file/filesystem sync increases the risk of a data loss on a crash/freeze and potentially can lead to other side-effects.
Download
EX Kernel v1.7
eX-Kernel_v1.7 Download And Changelog
EX Kernel v1.2
eX-Kernel_v1.2 enable fsync
eX-Kernel_v1.2 disable fsync
EX Kernel v1
eX_Kernel_v1.tar.md5
if you need Odin Flasher : Odin3-v3.04.zip
but i recommend to use dd cmd (dd if=/sdcard/kernel.bin.md5 of=/dev/block/mmcblk0p15)
Changelog :
Code:
[LIST]
[B]EX Kernel v1.2[/B]
[*]upgrade TWRP to 2.3.1.1
[*]remove cifs modules
[*]add bfq and anticipatory iosched
[*]remove some governor and add "skywalker, abyssplug, lulzactive, gallimaufry, gallimaufryx, aggressive, and aggressivex"
[*]remove fsync control
[*]add some tweak
[*]bootanim fix (need test)
[B]EX Kernel v1[/B]
[*]inital release
[/LIST]
BUG :
Code:
[LIST]
[*]need test[/LIST]
Thanks :
Thanks to everyone who helped and support me
Special Thanks:
diego-ch
cocafe
adipat
oschmidt
amarullz
Older Kernel :
http://d-h.st/users/hafidzduddin/
Source : https://github.com/hafidzduddin/GT-I8160_HD-Kernel
Sorry i just update flashable zip
If there are any issues, please report.
and if you like my work, Press THANKS Button Please.
Nice work, thanks! :good:
* nice work
* plz update the recovery to 2.3.1.1
* mount usb storage is not working for me
hafidzduddin said:
Hello everybody, here is my first Custom Kernel for Galaxy Ace 2.
Features
TWRP Recovery
Governor : wheatley, lazy, intellindemand, sakuractive, scary, interactive, smartassV2, ondemandx, conservative, ondemand, userspace, powersave, pegasusq, lionheart, and performance
I/O Scheduler : noop, deadline, cfq, vr, and sio
Init.d Script Supported
Custom Bootanimation
CIFS Supported
zRAM Supported
SWAP Supported
NTFS Supported
1025kb sdcard max readahead
Sched Tweak
TCP Optimized
LZMA Compression
Use SLAB Memory Allocator
Init.d Script:
*requirement : busybox
*recommended : lastest busybox
Custom Bootanimation:
* Put the bootanimation.zip in /system/media with right permissions.
* If there isn't any custom bootanimation, kernel will load Samsung official bootanimation.
zRam:
* zRAM must be enabled by script/command.
* put this script in init.d
Code:
#!/system/bin/sh
# enable zRAM script
# zRAM Swap Disk Size: 64MB(64*1024*1024)
disksize=67108864;
# Set Size to system
echo $disksize > /sys/block/zram0/disksize;
# Enable Swap (Need BusyBox installed)
busybox mkswap /dev/block/zram0;
busybox swapon /dev/block/zram0;
NTFS:
* Need a binary file "ntfs-3g". download here
* I put it in the flashable zip already.
Download
I8160
GT-I8160-TWRP-Kernel.tar.md5
GT-I8160_HD-Kernel_TWRP.zip
I8160P [NFC Version] (need tester)
GT-I8160P-TWRP-Kernel.tar.md5
GT-I8160P_HD-Kernel_TWRP.zip
Changelog :
Code:
29/10/2012
[LIST]
[*]back to old ramdisk (TWRP 2.2.1) in order to fix tether issue
[*]fix error in function "usleep_range" when compile kernel
[*]modified LMK
[*]add more governor & iosched
[*]remove some Useless driver & tweak
[*]remove zCache
[/LIST]
Thanks :
Thanks to everyone who helped and support me
Special Thanks:
diego-ch
cocafe
adipat
oschmidt
Source : GT-I8160_HD_Kernel_TWRP.tar.gz
If there are any issues, please report.
and if you like my work, Press THANKS Button Please.
Click to expand...
Click to collapse
GT-I8160_HD-Kernel_TWRP.zip not work fpr me.
Messi10 said:
* nice work
* plz update the recovery to 2.3.1.1
* mount usb storage is not working for me
Click to expand...
Click to collapse
yeah i have same problem when use cwm recovery
tonus76 said:
GT-I8160_HD-Kernel_TWRP.zip not work fpr me.
Click to expand...
Click to collapse
recovery of what you use?
zram?
how can i check that zRam is working thanks.
Congrat'z gan... , we getting closer to a new SGA2 development thread :beer:
Taptaptapatalkerz dari GT-i8160 saya.
Mrtheperson said:
how can i check that zRam is working thanks.
Click to expand...
Click to collapse
use cmd "free" in terminal emulator
you can see zram file in /sys/block/zram0
if you need zram please dont use script to make swappiness 0 (default : 60)
"/proc/sys/vm/swappiness"
hafidzduddin said:
use cmd "free" in terminal emulator
you can see zram file in /sys/block/zram0
if you need zram please dont use script to make swappiness 0 (default : 60)
"/proc/sys/vm/swappiness"
Click to expand...
Click to collapse
Hmm after I flash this my phone won't boot. Then I use Odin to flash the one I was previously using and it's working fine.
malamharian said:
Hmm after I flash this my phone won't boot. Then I use Odin to flash the one I was previously using and it's working fine.
Click to expand...
Click to collapse
after i try GT-I8160-TWRP-Kernel.tar.md5 and GT-I8160_HD-Kernel_TWRP.zip i dont have any problem
i use odin to flash GT-I8160-TWRP-Kernel.tar.md5
and use recovery to flash GT-I8160_HD-Kernel_TWRP.zip
rom what you use?
hafidzduddin said:
after i try GT-I8160-TWRP-Kernel.tar.md5 and GT-I8160_HD-Kernel_TWRP.zip i dont have any problem
i use odin to flash GT-I8160-TWRP-Kernel.tar.md5
and use recovery to flash GT-I8160_HD-Kernel_TWRP.zip
rom what you use?
Click to expand...
Click to collapse
Kyrillos rom. And i was unable to go to recovery too.
Sent from my GT-I8160 using xda app-developers app
Great
Great work! Btw I really like this bootanimation!
great job- does it fix the Wifi tether?
Hey Hafidz
great job....i'd love to flash this....could you confirm if Wifi tether works on this now?
hafidzduddin said:
yeah i have same problem when use cwm recovery
recovery of what you use?
Click to expand...
Click to collapse
I used your previous twrp 2.3.1.1 recovery.
Very happy wit this thread mate
Also...will Jetmod work with this kernel??
Will Jetmod work with this kernel?
malamharian said:
Kyrillos rom. And i was unable to go to recovery too.
Sent from my GT-I8160 using xda app-developers app
Click to expand...
Click to collapse
tonus76 said:
I used your previous twrp 2.3.1.1 recovery.
Click to expand...
Click to collapse
ok, after i test flash my kernel when i use Kyrillos rom and twrp 2.3.1.1 i dont have any problem.
i flash kyriloss rom, i flash my old kernel (twrp 2.3.1.1), and then i restore my data.
after that I flash my new kernel (twrp 2.2.1) and i dont have any problem.
i use Odin3 v3.04 to flash my kernel via odin
try to use dd cmd (dd if=/sdcard/kernel.bin.md5 of=/dev/block/mmcblk0p15)
jeev_one said:
Hey Hafidz
great job....i'd love to flash this....could you confirm if Wifi tether works on this now?
Click to expand...
Click to collapse
yes because i rollback twrp 2.3.1.1 to twrp 2.2.1
jeev_one said:
Will Jetmod work with this kernel?
Click to expand...
Click to collapse
i dont know. i dont have jetmod rom
JetRom works with it.
But I think SuspressedRom is now a better rom/port
does it work for stock rom?
mystertom101 said:
does it work for stock rom?
Click to expand...
Click to collapse
i use stock rom

[Kernel][Jan 14]Experimental v12[JB 4.1.2]

This kernel is self-used.
So something has not been added.
If you want,just tell me and problem you encounter.
Kernel Features:
General:
- Kernel version 3.0.y
- 390MB RAM
- Useful optimization flags
- jRCU [Joe Korty]
- Dynamic dirty page writebacks
- Timer slack controller
- Dynamic management of the minimal timer slack value during suspend/resume
- LowMemoryKiller management of not killable processes
- Android Logger Disabled(++Performance) (Check HOW TO on how-to enable)
- Frandom Read Me!
- Entropy tweaks.
- Cleaned off Debug stuff, which slows down the Kernel (FRAME POINTER, Log Buffer Size is 64KB).
- CWM 5
- LZ4 for Zram swap.
- Elf.3 included for better battery.
- DVFS(Dynamic Voltage and Frequency Scaling).What is DVFS? [Cocafe]
- Disable sched debug stuff
- Optimized SLUB memory allocator
- Optimized ARM RWSEM
- Low memory killer updated to Android 3.10
- Do not kill process
- ARM ThumbEE
- Build with neon
- Remove old version sha1 implementation
- Optimized AES and SHA1 routines for ARM cpu architecture
- Optimized string and memcopy libs
- Ram Console support
- L2 cache max reads writable
- Disable mali state tracking
I/O and Filesystem
SIOplus
CFQ
Deadline
ROW
V(R)
Zen
Noop
CPU
Pegasusq
Conservative
Ondemand
Performance
Interactive
Lazy
Wheatley
Sakuractive
Hotplug
SmartAssV2
Lionheart
Lulzactiveq
Nightmare
Dyninteractive
Download:
Experimental v12
Credits:
cocafe
Mujeni
stratosk
Christopher83
xx214718247
Source:
Github
Changelog:
14/01/2014
-clean and fixed source
-UKSM(disbaled by default)
-ABBamp Audio(thanks @cocafe)
-SLQB memory allocator
-CWM 6
12/12/2013
-removed all experimental stuff
-removed DVFS
-white cwm touch
-fixes and tweaks
04/12/2013
-updated source to 3.0.101
-changed default lmk values
-KSM
-fix and tweaks
11/11/2013:
-fixed reboot problem
-remove compressed copy from zram in-memory
-backport zram from 3.7 kernel
-backport zsmalloc from 3.7 kernel
-lz4 compression for zram
-lz4 compressor module
-lz4 Cryptographic API
-included more Governor
-included more IO scheduler
27/09/2013
-interactive gov updated
-compiled usung linaro 4.8.2
-O3 optimisation
20/09/2013
-Clean Source
-Kexec support
-Dynamic dirty page writebacks
-Dynamic management of the minimal timer slack value during suspend/resume
-Automatic zipalign and fstrim
-Not Killable Processes
-DVFS(Dynamic Voltage and Frequency Scaling)
-added dyninteractive
-added Sakuractive governor
-added SIOplus IO
-increased RAM to 390MB
-600mhz freq
-added HotplugX and Lazy governor
19/06/2013
Version 8.0
-kernel updated to 6.2.A.1.100
-fixed led permission
-fixed camera
-changed CWM recovery
-Minor Tweaks
Version 6b
-390MB RAM
-added Lulzactivew,Lulzactiveq and Lazy Governor
-added zen and row IO
-minor fixes
Version 5
-Started from sratch
-Added 600Mhz
Experimental:
-ported and tweaked some Governor(Hyper,Dynainteractive,InteractiveX,Pegasu sq,Hotplug,Interactive) for sola from latest Nexus kernel.
-Tweaks and fixes
07/06/2013
Version 4
-Added some new governor
-Remove some mali tweak
-Removed some governor
-Fixes
05/06/2013
Version 3
-Compiled using latest Linaro 4.8 with optimisation
-Frandom as module
-Logger compiled as module(free up some memory)
-other fix and tweak
04/06/2013
Version 2
-Fix Mali Tweak
03/06/2013:
Version 1
-Initial Version
TODO:
1.Update to latest kernel version
2.Add/Remove governor
4.Fsync control
5.Add more TCP congestions
3.More features
HOW TO:
Here are some intructions/tips about how to play with the kernel.
Terminal is needed.
If you want to change the values,it needs su permission.
If you get 'Permisson denied',you need su permisson.
If the devices lost responses,hold power button 8s to reboot.
You can cd to the folder first,then do echos.
( CPU Freqs )
With DVFS,we cannot tweak min/max scale freqs via apps like SetCPU or nofrill.
but there are two ways you can change cpu freq:
by using this app
[APP][ROOT][4.0+] Performance Control - Open Source
Click to expand...
Click to collapse
or
by using terminal
cd /sys/power
Click to expand...
Click to collapse
For example: set 800Mhz as max limited
echo 800000 > cpufreq_max_limit
Click to expand...
Click to collapse
* When you switch on/off,power saving mode,this tweak will be overrided.
* If you want it to be permanet edit 05exp file in init.d.
No-fills CPU shows a wrong freqs
This is NOT issue. No-fills will show you Dynamic Min/Max scaling freqs,DVFS(dynamic voltage and frequency system) will adjust Min/Max freq according to system load.
Open SetCPU,it shows you real freqs.Or check sysfs directly.
Click to expand...
Click to collapse
ABBamp Audio
Please note that listening to too high volume music over 1 hour or more can damage your ears.
Too high volume can make your external speakers/headset overload or damage them.
First, why do i call it `AMP`?
Because most of our tweaks are about gain(volume)
Our codec is simple, It doesn't have any hardware EQ (although i want...)
ABBamp sysfs entries are in:
Quote:
/sys/kernel/abbamp
Click to expand...
Click to collapse
* Use RootExplorer to view this folder,there are lots files
Tweaks will take effects immediately!
Most tweaks will accept inputs like "on", "off" (no quotes)...
So, say "on" to enable this tweak, then this tweak will apply the value stored/inputed
View(cat) these files, most of them will give you useful infomation about this tweak.
They will show you the volume in dB of gain
`cd` to /sys/kernel/abbamp first then do echos, will be more convenient.
[AnaGain3] (Headset analog gain path):
Enable tweaks:
echo on > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
Disable tweaks:
echo off > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
Gain control: (min:0 ,max: 15) Lower value,higher volume (default: 0[+4dB])
echo left=?? > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
echo right=?? > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
Write both left and right channels:
echo gain=?? > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
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.
[APP][ROOT][4.0+] Performance Control - Open Source
Logcat
I have made android logger(logcat) as module to free more RAM.
Create a new init.d script:
Quote:
#!/system/bin/sh
insmod /system/lib/modules/logger.ko
Click to expand...
Click to collapse
Then you can use logcat command.
EGL Driver
To use Mali hardware egl driver only:
Edit /system/lib/egl.cfg
Quote:
0 0 android
0 1 mali
Click to expand...
Click to collapse
To
Quote:
0 0 mali
Click to expand...
Click to collapse
Init.d script
Please install busybox in system first
I recommend you install busybox via apps
Create a new folder named 'init.d' in /system/etc
Set the permisson of init.d foler to 0777(rwxrwxrwx) (at least has read and exec permission)
Set the owner to 0.0 (root root)
Put some scripts (any name you like) in init.d folder with permisson 0777 (rwxrwxrwx) (at least has read and exec permission)
Scripts with right permisson will be runned when system boots.
zRAM/SWAP
zRAM is optimized for Android. It is not lazy anymore.
Using zRAM will take a little CPU, because it needs to compress/decompress memory.
Recommended compressing about 18% of RAM, about 100 mb.
Setup disksize first: (example: 96mb= 96×1024×1024)
echo 100663296 > /sys/block/zram0/disksize
Click to expand...
Click to collapse
* Larger size more RAM will be compressed.
* Too large size might make phone lag
To enable:
Code:
mkswap /dev/block/zram0
swapon /dev/block/zram0
To check how many does it use:
cat /sys/block/zram0/num_reads
cat /sys/block/zram0/num_writes
cat /proc/meminfo | grep swap
Click to expand...
Click to collapse
* We can get other info in its sysfs
[SWAP]
1. Format/resize external SDCard via computer first.
Enable:
mkswap /dev/block/mmcblk1p1
swapon /dev/block/mmcblk1p1
Click to expand...
Click to collapse
2. Using a FILE as swap RAM: (Create a continuity file first)
su
cd /cache
dd if=/dev/zero of=swapfile bs=1024 count=81920
mkswap swapfile
swapon swapfile
Click to expand...
Click to collapse
Then we will have an 80mb swap RAM.
Last_dmesg
Some Help about posting kernel bugs -last_kmsg:
After you have a random reboot do this to get last_kmsg.txt file:
- via Terminal Emulator apk form play store : do
this:
Open the app, type:
su
Click to expand...
Click to collapse
hit enter.
type(withoutall the spaces) :
cat(space)/proc/last_kmsg(space)>(space)/sdcard/last_kmsg.txt
Click to expand...
Click to collapse
and hit enter.Then go to your internal memory with any
file explorer and you will finde the last_kmsg file
and please post it here.
UKSM
UKSM is more advanced than KSM algorithm which is developed by Chinese.
UKSM is faster 20x than KSM, and it has been disabled by default.
Here is a document about HOW-TO use UKSM in its WebSite.
http://kerneldedup.org/en/projects/u...ge/usage0-1-2/
if you want stop uksm run:
echo 0 > /sys/kernel/mm/uksm/run
Click to expand...
Click to collapse
for (re)activating:
echo 1 > /sys/kernel/mm/uksm/run
Click to expand...
Click to collapse
* I have set cpu_governor mode to quiet by default in order to get smooth.
* If feel laggy, try to disable UKSM.
reserved
Will try it out soon. Please add Lionheart.
Seems good :good:
1)Recovery is 6.0.1.2
2) Recovery usb mount does not work
I will definitely test and report. You look pretty good at what you do. I like that you are thorough to explain what you have included.
Sent from my ST25i using xda app-developers app
I don't own this device...so it would be great if somebody would test and report back.
Going to flash I ll report soon..
Sent from my Xperia U JB
1)Recovery is 6.0.1.2
2) Recovery usb mount does not work
3)Battery running quickly
I see in your changelog you've changed RAM amount, AFAIK our GPU uses 120 MB of RAM. I wonder if it would be worth it to downgrade RAM amount for GPU to like 100? Or even 80 MB of RAM, so our system would have more, like 400 MB.
Wiplive said:
I see in your changelog you've changed RAM amount, AFAIK our GPU uses 120 MB of RAM. I wonder if it would be worth it to downgrade RAM amount for GPU to like 100? Or even 80 MB of RAM, so our system would have more, like 400 MB.
Click to expand...
Click to collapse
I have tried allocating 400MB to system and it worked but hd video playback doesn't work and games start to fc.so I set it to 390MB which is stable and doesn't have side effect.
etch04 said:
I have tried allocating 400MB to system and it worked but hd video playback doesn't work and games start to fc.so I set it to 390MB which is stable and doesn't have side effect.
Click to expand...
Click to collapse
Wow 400MB!!! I think I could not play games and he video in order to have 400mb of free ram!!
Inviato dal mio Xperia U con Tapatalk 2
could you add wheatley governor? and maybe a smart overclock
i love your long and detailed first post
manuel100 said:
could you add wheatley governor? and maybe a smart overclock
i love your long and detailed first post
Click to expand...
Click to collapse
Sure i'll add it..but can somebody give me confirmation that kernel is working or not?.
etch04 said:
I have tried allocating 400MB to system and it worked but hd video playback doesn't work and games start to fc.so I set it to 390MB which is stable and doesn't have side effect.
Click to expand...
Click to collapse
can you make this version? advance thanks if yes :good:
dont want to play games or video playback but Xperia U will work fast...hope you make one
etch04 said:
Sure i'll add it..but can somebody give me confirmation that kernel is working or not?.
Click to expand...
Click to collapse
Yes its working pretty good..
The games seem more responsive dnt knw why maybe a placebo effect..
But I guess u will have to work on it to tweak for gaming..
Hve tested it for hardly some time so cant say abt battery..
But this kernel looks really promising..
Keep up the development..
Good work..
Sent from my ST25i
this kernel is for stock right? because i'm getting bootloop on cm10
Wow any screen of ram(poxible totally free)
---Signature---
I'M Busy With Exams Till First Of July, So Don'T Ask Me Any Update Or Support, Byee!
---End---
arnob_xperia said:
can you make this version? advance thanks if yes :good:
dont want to play games or video playback but Xperia U will work fast...hope you make one
Click to expand...
Click to collapse
Maybe,I will upload alternate kernel with 400MB ram for user who does not
Play games or watch hd video.

[Kernel][3.4.113][DualBoot] Chrono Kernel R5.10

Custom kernel for Samsung Galaxy Ace 2​
Features:
Only one universal kernel for JB, KK and LP-based ROMs
CPU, GPU and DDR OC support
more governors and I/O schedulers
Lite kernel - some kernel features moved to modules
fully working BLN
Sweep2wake && Doubletap2wake
CPU freq settings for suspend
Full F2FS support
SELinux support
UKSM support
ABB-charger tweaks
Credits:
@dh.harald and @hafidzduddin for contribution on codina sources
@ Team Canjica for a base for this kernel
@ Nova Fusion for F2FS implementation
@zwliew for contribution on TC kernel
@cocafe for LiveOPP, GPU OC, abbamp and abb-charger tweaks and many cool patches which I've used from his kernel
@faux123 for dynamic Fsync implementation
@Christopher83 for dynamic management of dirty page writebacks implementation
@KINGbabasula for contribution on TC kernel sources
@boype for SIOPlus tweaks and OndemandPlus governor
@Adi_Pat for abbamp, kernel tweaks
@PolishVodka for initramfs scripts for 4.2.x and 5.0.x
@Rox for help in fixing initramfs scripts for 4.1.2
@ace2nutzer for optimization CPU OC and for whatever scripts which I have used in my kernel
@Meticulus for BLN, Sweep2wake and Doubletap2wake
@mkaluza for huge LiveOPP/Mali improvements and Dynamic governor
@yanpol199 for help with F2FS support in TWRP
@ all users who tests this kernel and directs the development along the right path
@ all those users, who I forgot to mention (PM me if so)
Team Win for TWRP recovery
CyanogenMod Team for CWM recovery
Phil3759 for philz recovery
Samsung for opening kernel source
Linus Torvalds for Linux sources
Standard Disclaimer: Not responsible for bricking your phone, voiding your warranty, or any other pain or suffering you may feel as result of using this kernel!!!
To install kernel with F2FS support read installation method in 3rd post
To install kernel with dual boot support, proceed this method.
Since R2.12.1 has been released, no need to care about bootscripts, kernel package will install it itself.
Source Code:
r6.0
< r6.0
Download:
FTP
Thanks @S.AMU for providing FTP-Server
Thanks @shaqman89 for providing build server
​
XDA:DevDB Information
Chrono Kernel, Kernel for the Samsung Galaxy Ace II
Contributors
ChronoMonochrome, cocafe, faux123, zwliew, mkaluza, Meticulus, KINGbabasula, ace2nutzer, TeamCanjica
Source Code: https://github.com/ChronoMonochrome/Chrono_Kernel-1/commits/master-3.10
Kernel Special Features: Swappable ramdisk, UKSM, dual boot support
Version Information
Status: Stable
Current Stable Version: R5.1
Stable Release Date: 1974-11-11
Beta Release Date: 1974-11-11
Created 2014-06-24
Last Updated 2017-10-27
Changelogs and features
Bug list:
-
Changelog
(old changelog)
R2.10
Build from R2.6 sources with re-added all changes in LiveOPP, cpufreq_limits module, some interfaces from 2.9.x (usb sw reset, PonKey emulator on voldown/up).
R2.9
Mali OC module v2.0:
added interfaces boost_hispeed1, boost_hispeed2.
added interfaces mali_threshold_freq_down and mali_threshold_freq_up
(new interfaces manual)
1) mali_threshold_freq_down/up:
echo new value to tweak it:
Code:
echo 150 > /sys/kernel/mali/mali_threshold_freq_up
2) mali_boost_hispeed(2)
Use command
Code:
echo idx=X > /sys/kernel/mali/mali_boost_hispeed2
to tweak its freq.
following command is to tweak its threshold:
Code:
echo threshold=220 > /sys/kernel/mali/mali_boost_hispeed2
partially re-enabled touchboost (it actually was enabled even on 2.7.4, but I forgot to mention)
reverted suspend/hibernate/freezer etc. commits to hopefully fix reboots issue in deepsleep
fixed APE_25_OPP (in suspend it actually used APE50 previously)
minor fixes in cpufreq_limits driver
R2.8
Mali OC module v2.0(detailed description in 3rd post):
added interfaces boost_hispeed1, boost_hispeed2.
added interfaces mali_threshold_freq_down and mali_threshold_freq_up
partially re-enabled touchboost (it actually was enabled even on 2.7.4, but I forgot to mention)
reverted suspend/hibernate/freezer etc. commits to hopefully fix reboots issue in deepsleep
fixed APE_25_OPP (in suspend it actually used APE50 previously)
minor fixes in cpufreq_limits driver
(2.7.6)
- fixed broken GPU scaling algorithm (removed /sys/kernel/mali/mali_scaling_dynamic)
(2.7.5)
- partially reverted LiveOPP voltage autocalibration
- fixed unstable mali tunables and added interface mali_scaling_dynamic
Code:
echo 1 > /sys/kernel/mali/mali_scaling_dynamic
When mali_scaling_dynamic is used, mali will scale between mali_boost_low and mali_boost_high using all steps between these mentioned. mali_stats provides statistics about mali utilization on each step.
- removed some GPU freq steps
(2.7.4)
- new governor Dynamic (thanks to mkaluza)
- new GPU scaling algorithm (thanks to 1N4148 ) - ondemand-like GPU governor
- LiveOPP: reworked avs-based varm recalibration algorithm
(2.7.3)
added governor OndemandPlus (thanks to boype)
removed governors with hotplugging support
added interface to tweak PLLDDR freq on suspend:
Code:
echo on > /sys/kernel/cpufreq/pllddr_raw
To control freq are used raw PLLDDR register values:
Code:
echo suspend=0x000050158 > /sys/kernel/cpufreq/pllddr_raw # 675 MHz
Code:
echo resume=0x000050168 > /sys/kernel/cpufreq/pllddr_raw # 798 MHz
PLLDDR freq can be checked via
Code:
cat /sys/kernel/liveopp/pllddr
Settings applies after 3 sec after suspend/resume.
Too low suspend or too high resume value may cause reboot. Please note that this setting still experimental and unstable itself, so it's disabled by default.
adjusted some GPU OC defaults
fixed BT issues
(2.7.2)
- fixed pllddr_cross_clocks instability
- removed unneeded DDR_50_OPP requirement on screen on (should prolong battery lifetime).
2.7
many various commits from Linux 3.3 (thanks @faux123)
improved hotplugging mechanism
updated RCU system
kernel scheduler
memory management
etc...
LiveOPP:
recalibrate varm and vbbx on boot (better stability)
added interface to OC some clocks that depends on PLLDDR
reimplemented sweep2wake and doubletap2wake (thanks @Meticulus)
enabled UKSM (thanks @cocafe)
- better RAM performance with tiny cost CPU. Boot time will be increased by 3 sec, it's ok.
uploaded kernel for s6d.
R2.6
ABB-charger:
reverted most of changes. It's only uses custom voltage table, termination current 150 mA and some other tweaks, provided by ace2nutzer.
added tweakable interfaces for termination current(better battery lifetime).
LiveOPP:
added most ape_25_opp switch interface
added steps 85, 350, 450 MHz.
ddrpll interface renamed to pllddr ;D
added input boost support for most of governors (thanks to zwliew for original patch)
R2.5
- only one kernel version for all ROMs/Filesystems/codina(p), please note that installation method is different from usual installation
- Switch to single platform RTC driver - AB500 (finally fixed all problems with clock freeze issue) [golden-guy]
- update LiveOPP from CoCore
- reworked and added DDRPLL boost [WIP]
R2.4
completely rewritten screenoff limits driver
added steps 30, 125, 150, 175 MHz, increased voltage on various steps for stability
enabled SELinux again
various fixes in FAT filesystem
re-added exFat support
re-added ZenX
abb charger fix v2 [ace2nutzer]
zRam script moved to init.d (to be able to change zRam size) on CM11
new package installation script, with little changes by me (thanks to borkins for help with this)
R2.3.2
improved battery live (full credit to ace2nutzer)
reduced liveopp table (too hard to search stable/optimal voltage)
Reverted all commits from tuna kernel (these changes are tested not well, may cause instability)
temporarily disabled SELinux
R2.2
LiveOPP 2.2:
no longer use setting ARM OPP (this previously caused lags)
simple algorithm for setting clock and voltages
use only pll, external clock no longer used
use only 1 varm selection
Big LiveOPP table (51 step: 46, 69,..., 1244 MHz)
Added and optimized new governor ZenX
Added FIFO I/O scheduler
Moved more kernel stuff to modules
TWRP 2.8.0.0
R2.1.5
Huge update from Tuna Hybrid kernel by @faux123 ( a lot thanks to him! ) :
a lot various commits from Linux Kernel 3.3-rc3
various fixes backported from Linux 3.5
fixed 3G/WiFi data arrows again
reduced kernel: 628 Mb RAM is available
Reverted from R2.1:
update of device-specific drivers from Novathor 3.4 kernel
"ARM: 7493/1: use generic unaligned.h"
(R2.0.2)
update from TC kernel
moved all networking modules to kernel (fixed lost data usage, tethering, etc.)
added module autoload (read below)
renamed interface /sys/kernel/cpufreq/screenoff_cpufreq_limits -> /sys/kernel/cpufreq/cpufreq_limits_on_suspend
R2.0-refresh
Cleaned kernel source tree from some doubtful commits
moved some kernel features to modules(thanks to mkaluza for idea and most of changes)
9p, CIFS, NTFS file systems
some unneeded ipv6 features
HID drivers
most of governors
slightly decreased boot time(in my case, from 8500 to 8330 ms)
slightly increased available RAM - 628 MB (thanks to reduced kernel size)
Huge LiveOPP improvement by mkaluza:
improved overclock stability, added all extended steps
UV 100-400 MHz steps to 0x12-0x14 (lower power consumption)
added state APE_25_OPP, used only with screen off(originally introduced by mkaluza, adapted for codina by me)
allowed change APE_OPP and DDR_OPP from LiveOPP
changed step 1228 MHz -> 1248 MHz (may cause reboots, need to find out optimal voltage)
Mali improvements by mkaluza
temporarily removed 25 MHz step (don't know how to add it with new LiveOPP, all attempts is caused boot loop)
(R1.6.3)
revert "update sweep2wake and doubletap2wake by Meticulus"
add cpufreq steps: 25, 500, 700 MHz; remove: 1050, 1100, 1250 MHz (only 12 CPU freq step is allowed)
R1.6
ARM: 7493/1: use generic unaligned.h (This has the
benefit of better code generated especially for ARMv7 on gcc 4.7+
compilers.)
register rear cam flash as LED (for BLN) - thanks to @Meticulus
update sweep2wake and doubletap2wake by Meticulus
add LMK timeout interface - @cocafe
Fix max freq not capped on suspend bug on Lulzactive (it was conflicted with screenoff cpufreq limits driver)
(R1.5.2)
F2FS support in TWRP (thanks to [email protected] for help with this)
R1.5.1
update from TC kernel
enabled SELinux (was disabled in r1.5 for testing)
ARM: 7006/1: Migrate to asm-generic wrapper support
added jRCU (thanks to cocafe)
Bugfixes
reverted to LK 3.2.0
fixed disappeared data usage monitor and probably data arrows also
fixed wifi/usb tethering - hopefully, need tests
fixed incorrect display of RAM occupied by some applications
fixed incorrect phone recognition on codina P in CWM/TWRP - thanks to @ace2nutzer
R1.5
Completely reworked file systems update:
fixed reboots, apps FC
fixed CWM loop
fixed huge battery drain (hopefully)
F2FS backported to Linux 3.2
R1.4
Bumped to Linux 3.2.9
File systems: big update from LK 3.2
Writeback: update from LK 3.2
Reduced wlan_rx_wake wakelock by half - zwliew
F2FS support in /system
Fixed more potential and real memory leaks in kernel
Removed u8500 hotplug driver again
R1.3
added BLN separate configuration of blink on and off delays
added MCDE tweaks (read below)
tweaked PegasusQ governor (based on script by ace2nutzer)
fixes:
reverted commits which caused most of random reboots reasons
finally fixed kernel panic in CFQ I/O scheduler (I hope so)
interactive governor reverted to stock TC
R1.2
workaround for s6d display bug (separate kernel version - soon)
CPU freq settings for screen off
Updates from linux kernel 3.2 (currently updated to 3.2):
File systems
Specific drivers
Security
Various core changes
Reverted:
Proportional Rate Reduction for TCP
Power management update from 3.2
1000 MHz messy workaround, provide another workaround instead
r1.1
Fixed 100 MHz bug
Added 300 MHz CPU step
Added VR I/O scheduler again (thanks to @cocafe for fixes compile errors)
Updates from Linux Kernel 3.2:
Process bandwith controller
Thin provisioning and recursive snapshots in the Device Mapper
I/O-less dirty throttling, reduce filesystem writeback from page reclaim
Proportional Rate Reduction for TCP
Memory management (Cross Memory Attach, "vmscan: add block plug for page reclaim", "thp: mremap support and TLB optimization", etc.)
Networking
Device Mapper
Virtualization
Crypto
Tracing/Profiling
r1
backport new zRam driver from 3.5 LK by @faux123. Also enables LZ4 compressor for zRam.
add u8500 hotplug driver by @zwliew again
revert voltage of display and other regulators to stock
add vpnclient.ko
a somewhat fixes and optimizations from CoCore - thanks to @cocafe
fix lagfree, lulzactiveq and interactive wrong tunables
adjust voltage(0x37) for 1200 and 1250 MHz
17.08.2014
Undervolt display from 1800 to 1400 mV
Undervolt various regulators
Revert CFQ to 3.0 branch to fix reboot issue
Add Lionheart governor, disable InteractiveQ and Hotplug
Support for 4.2.x ROMs (thanks to @PolishVodka for initramfs)
12.08.2014
fixed CFQ reboot issue (i hope so )
reboot into recovery from extended power menu should work (JB 4.1.2)- thanks to Rox
TWRP recovery instead CWM for ext4 kernel versions
Update to 3.1.10
9.08.2014
Fixed reboot issue (I hope so)
Add BFQ scheduler again
Fixed UMS bugs - thanks to cocafe
Upgrade kernel to 3.1.1
4.08.2014
Fixed bug of random change min CPU freq to 1Ghz.
Removed u8500 hotplug driver
Update sioplus from [email protected]
Temporarily removed BFQ and VR I/O scheds because they are became broken for some reasons.
Update LMK from [email protected]
Updates from 3.1 LK:
Sound cards, input devices, watchdogs, networking, staging, multifunctional devices, ... etc. See full list of changes on github.
29.07.2014
Added CPU 100MHz freq step
U8500 hotplug driver - zwliew
Universal exfat driver - zwliew
Switch to SLUB again
Updates from LK 3.1:
SLUB
Memory management (6/7 commits)
VFS (9/10 commits)
Dynamic writepage throttling
21.07.2014
revert CPU voltages to default for 0-3 steps
some changes in memory management
17.07.2014
Switch to SLQB memory allocator
Update BFQ I/O sched from v7r3 to v7r5
Enable UHID support (testing)
Some fixes in memory management
Remove some buggy "fixes" from last build
5.07.2014
fixed headset bug that appeared in last build
fixed the file permissions for CoCore Manager (for JB)
4.07.2014
F2FS support (still only KK version)
Usb drivers from STEXperia sola kernel instead stock samsung
(probably, UMS bug has been fixed. For me it works perfectly now.)
LZ4-compressed kernel support
minor fixes
27.06.2014
sources updated
enabled init.d support in kernel (JB)
added Lagfree governor
added ROW I/O scheduler
23.06.2014
fixed cpu oc via 3rd party apps
lowmemorykiller should be less aggressive
19.06.2014
cwm 6.0.48 instead stock recovery
14.06.2014
initial build
Kernel Tweaks:
(GPU/CPU undervolting and related tweaks)
Undervolting the CPU/GPU will bring battery savings but possible instability.
1) to undervolt CPU use ChronoKernel app or via init.d scripts:
Code:
echo *cpufreq* varm=xx > /sys/kernel/liveopp/arm_summary
for example, following sets voltage varm=0x10 for 200 MHz:
Code:
echo 200000 varm=0x10 > /sys/kernel/liveopp/arm_summary
or
Code:
echo 200000 varm-=10 > /sys/kernel/liveopp/arm_summary
(default varm voltage for 200 MHz is 0x1a but, code above sets 0x1a - 0xa(10) = 0x10 )
2) to undervolt GPU use init.d script:
Code:
echo x vape=yy > /sys/kernel/mali/mali_dvfs_config
Example:
Code:
echo 2 vape=0x1c > /sys/kernel/mali/mali_dvfs_config
"2" stands for DVFS idx (look at mali_boost_high/mali_boost_low).
To prevent overriding of such settings by ChronoKernel app, add line to your init.d script after GPU undervolting
Code:
chmod 444 /sys/kernel/mali/mali_dvfs_config
Don't change voltage of both GPU/CPU at the same time - otherwise if you'll get reboot if won't know what it caused. The same is for different frequencies - if you'll change voltage of too many steps you won't know which frequency caused reboot. It's not easy process, though, following method simplifies it: https://github.com/mkaluza/i9070_kernel_CoCore-E/wiki/Undervolting-janice .
3) Custom LiveOPP table.
By default some LiveOPP steps such as 100, 200, 500 ... MHz aren't used. You can re-enable those by following way:
Code:
echo 200000 enable=1 > /sys/kernel/liveopp/arm_summary
Or use CK app instead. Don't enable it unless it uses the same voltage as 400 MHz. The same is for the rest frequencies - until some of them uses same voltage, no point to enable steps with lower freq. I've added 100 MHz just to further make some tests with it once again. It can't use lower varm than 200 MHz - that's why it's disabled by default. Furthermore, not all phones well keep undervoltage, that's why 100-400 MHz steps uses same stock voltage varm=0x1a.
UPD. thanks to @borkins for this nice editor LiveOPP ARM steps: http://forum.xda-developers.com/showpost.php?p=60311291&postcount=2921
(CPU freq management tweaks)
CPU freq. limiter for screen OFF, adjust it via:
Code:
SYSFS=/sys/kernel/cpufreq/cpufreq_limits_on_suspend
echo min=100000 > $SYSFS
echo max=400000 > $SYSFS
echo on > $SYSFS
Too low frequency may cause freezes after wakeup and sound scrathes. If you use Dynamic govermor, it make no sense to use cpufreq limiter, because Dynamic already takes care about CPUfreq usage optimization. For more, read wiki.
Input boost
This feature has been originally written by zwliew.
Not all governors support input boost. Supported governors: ondemand, interactive, conservative, ZenX, lionheart and some others. Dynamic governor has its own boost interface.
Default boost frequency is 400 MHz.
Code:
echo 450000 > /sys/kernel/cpufreq/input_boost_freq # echo '0' to disable
echo 35 /sys/kernel/cpufreq/input_boost_ms
(BackLight Notification)
To configure time intervals of BLN blinking type(bln_ondelay stands for time of blink and bln_offdelay - delay between two blinks):
Code:
echo bln_ondelay=500 > /sys/kernel/bln/blink_mode
echo bln_offdelay=6000 > /sys/kernel/bln/blink_mode
Make sure BLN enabled:
Code:
echo 1 > /sys/class/misc/backlightnotification/enabled
# to enable bln_wakelock.
echo on > /sys/kernel/bln/bln_wakelock
Use /sys/devices/virtual/misc/backlightnotification/blink_mode to changes modes.
Blink modes:
0 = no blinking
1 = blink backlight only
2 = blink backlight + rear cam flash
3 = blink rear cam flash only
(Module autoload)
Now there is a simple way to load modules at boot. Just move needed modules to /system/lib/modules/autoload and reboot device(or execute /etc/init.d/00autoload)
(DDR overclock)
This feature has been developed by me and allows you to improve DDR and GPU performance. Please note, that DDR OC might work unstable and cause filesystem corruption. Though, DDR clock of 975 MHz has been highly tested and should work fairly stable on most devices.
Overclocking DDR over 975 MHz is highly NOT recommended, especially in case if you not sure that you can deal with possible consequences.
How to OC DDR:
1) by using
this script .
2) by using Terminal Emulator(in example below 975 MHz):
Code:
echo 0x5017f > /sys/kernel/liveopp/pllddr_oc_on_suspend
This setting will be applied right after disabling screen.
(Minimum APE/DDR OPP on screen on)
This feature has been developed by me and allows to set minimum APE/DDR OPP states which are used when screen is ON. APE controls many systems such as an image, video, audio system etc. DDR OPP determines performance of DDR. Default values are APE50 and DDR50. Lower states(APE25/DDR25) reduces power consumption, but may cause graphical glitches like screen blinking or filling it by vertical grey lines. If you don't have mentioned effects, it's recommended to use APE25/DDR25:
Code:
echo ddropp=25 > /sys/devices/pri_lcd_ws2401.0/mcde_screenon_opp
echo apeopp=25 > /sys/devices/pri_lcd_ws2401.0/mcde_screenon_opp
* if you don't have folder /sys/devices/pri_lcd_ws2401.0, use /sys/devices/pri_lcd_s6d27a1 instead.
(Screen refresh rate)
This feature has been developed by cocafe and modified by me. Lower lcdclk frequency cause less power usage, but too low values makes system unusable.
Following command allows to change screen refresh rate:
Code:
echo x > /sys/kernel/mcde/lcdclk
use
Code:
cat /sys/kernel/mcde/lcdclk
to see supported lcdclk modes. Default mode is 60 Hz which is recommended in most typical cases. If you've screen tearings, blinking etc. change resresh rate mode to "60+ Hz":
Code:
echo 0 > /sys/kernel/mcde/lcdclk
(ABB charger tweaks)
added tweakable interfaces for termination current. To adjust it type(just an example):
Code:
echo 90 > /sys/kernel/abb-chargalg/termination_curr_1st
echo 70 > /sys/kernel/abb-chargalg/termination_curr_2nd
curr_2nd should be less or same as curr_1st. Lower values prolongs battery lifetime, but also slows battery charging.
Default values are curr_1st == curr_2nd == 150 mA. Please note, too low values maybe aren't usable.
(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
Click to expand...
Click to collapse
(Software CRCs)
Disabling software CRCs gives you a slight bump(10-30% is what they say) of MMC performance, at the cost of a possibility of your Ace 2 freezing randomly.
Code:
echo 0 > /sys/module/mmc_core/parameters/use_spi_crc
Click to expand...
Click to collapse
(Dynamic dirty page writebacks)
This feature has been developed by Christopher83 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).
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 disabled):
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)
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:
echo 0 > /proc/sys/vm/dynamic_dirty_writeback
- Or run this command to re-enable the dynamic dirty page writebacks feature
Code:
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:
echo "3000" > /proc/sys/vm/dirty_writeback_active_centisecs
echo "1000" > /proc/sys/vm/dirty_writeback_suspend_centisecs
(Storages switch)
By default, this kernel comes with internal and external storages switched. You can revert this behavior, by changing the line
Code:
use_swap=1
to
Code:
use_swap=0
in file /ramdisk/fstab_specs.txt and flashing the kernel package. This setting will remain until you format /ramdisk partition.
(Tweak app)
ChronoKernel settings
Thanks mars_army for this app!
Bug reports:
after experiencing a random reboot, type in terminal:
Code:
su
cat /proc/last_kmsg > /storage/sdcard0/last_kmsg.txt
report it in the thread and attach the last_kmsg.txt
Other information
How to install kernel with F2FS support:
For those who don't know what F2FS is, check these links out:
General info
Benchmarks
Warnings
1. Make sure you have a standard kernel for backup that uses ext4 just in case. If anything goes wrong, just install the backup kernel and reboot to recovery.
2. You will have to wipe your /data and /cache partitions for this. Basically factory reset.
3. For 2, you could try to backup data and restore after formatting. I haven't tried this but I could work.
Click to expand...
Click to collapse
Installation method of kernels with full F2FS support:
Before installation make sure that you have at least ~25% free space on each partition that will be formatted to F2FS.
for CWM:
make backup
format /system partition to F2FS (and also /data and /cache if you didn't do it before)
restore /system partition
for TWRP
disable md5 generation
make backup of /system
find backup folder, run terminal and rename file system.ext4.win to system.f2fs.win (it won't work via filemanager)
Code:
mv system.ext4.win system.f2fs.win
format /system as f2fs
restore backup
Then install kernel.
To install kernel on ROM that isn't supported by installer:
(supported ROMs):
Stock ROM 4.1.2
CyanogenMod 10.1*
CyanogenMod 10.2*
CyanogenMod 11*
CyanogenMod 12
* most ROMs that based on this ROM are also supported. Despite of that some ROMs are supported, they can work incorrectly due to difference in their initramfs scripts(ramdisk).
1. Install needed ROM first,
2. Type following command in terminal emulator:
Code:
cd /
find . -xdev | cpio -o -Hnewc | gzip -9 > /sdcard/x.y.z.cpio.gz
where x.y.z is OS version (for example - CM11-based ROM - 4.4.4.cpio.gz)
3. put this file in installer at osfiles/x.y.z/ (e.g. osfiles/4.4.4/4.4.4.cpio.gz)
4. install kernel
To install a new ROM that is not F2FS compatible:
Use EXT4 to F2FS converter script
or edit the updater-script as follows
(manual method)
1. Replace strings
"mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");"
with string
"run_program("/sbin/busybox", "mount", "/system");"
2. Replace string
"format("ext4", "EMMC", "/dev/block/mmcblk0p3", "0", "/system");"
with string
"run_program("/sbin/mkfs.f2fs", "/dev/block/mmcblk0p3");"
3. Add string
"run_program("/sbin/busybox", "mount", "/data");"
after strings
"run_program("/sbin/mkfs.f2fs", "/dev/block/mmcblk0p3");"
"run_program("/sbin/busybox", "mount", "/system");"
4. Add string
"unmount("/data");"
before string
unmount("/system");
Click to expand...
Click to collapse
Fix for CodinaP, recognized as Codina in recovery (thanks @fluffi444 )
http://forum.xda-developers.com/showpost.php?p=58839849&postcount=2448
Various tweaks (thanks @xo.en )
xo.en said:
do NOT use swapiness more than 30, bigger values can bog machine down!
small advice:
Code:
#!/system/bin/sh
#chmod -R 755 /system/etc/init.d
chown root:root /proc/sys/vm;
echo "30" > /proc/sys/vm/swappiness;
busybox chmod ugo+rw /proc/sys/vm/vfs_cache_pressure;
echo "50" > /proc/sys/vm/vfs_cache_pressure;
echo "2000" > /proc/sys/vm/dirty_expire_centisecs;
echo "1500" > /proc/sys/vm/dirty_writeback_centisecs;
busybox chmod ugo+rw /proc/sys/vm/dirty_ratio;
echo "90" > /proc/sys/vm/dirty_ratio;
busybox chmod ugo+rw /proc/sys/vm/dirty_background_ratio;
echo "75" > /proc/sys/vm/dirty_background_ratio;
echo "512" > /sys/devices/virtual/bdi/default/read_ahead_kb;
echo "10" > /proc/sys/fs/lease-break-time;
echo "4" > /proc/sys/vm/page-cluster;
echo "5360" > /proc/sys/vm/min_free_kbytes;
echo "8" > /proc/sys/vm/min_free_order_shift;
echo "0" > /proc/sys/vm/oom_kill_allocating_task;
echo "1" > /proc/sys/vm/overcommit_memory
busybox sysctl -w kernel.random.write_wakeup_threshold=256;
busybox sysctl -w kernel.random.read_wakeup_threshold=1376;
and
Code:
#!/system/bin/sh
chmod 0644 /sys/module/lowmemorykiller/parameters/adj
echo "0,3,6,10,12,15" > /sys/module/lowmemorykiller/parameters/adj;
chmod 0644 /sys/module/lowmemorykiller/parameters/minfree
echo "1024,2048,2560,4096,6144,8192" > /sys/module/lowmemorykiller/parameters/minfree;
chmod 0644 /sys/module/lowmemorykiller/parameters/debug_level
echo "0" > /sys/module/lowmemorykiller/parameters/debug_level;
works miracles in my case, especially second one, imho it would be hard to use different values, i was trying different setups for YEARS(with this machine), so it is not just random throw. Bigger LMK REALLY makes things worse here. It usually has tremendous influence over fluidity of gui, and whole sys.
Click to expand...
Click to collapse
Odin kernel
with TWRP
with CWM
There is no KSM or Low Memory killer or any Performance tweaks ?? Built in CWM ?
Master-ZizO said:
There is no KSM or Low Memory killer or any Performance tweaks ?? Built in CWM ?
Click to expand...
Click to collapse
This kernel based on stock CM kernel by TeamCanjica, and it's have same changes.
Damn, I was so excited to see a new kernel, but I noticed that it's actually for 4.1.2. I almost flashed it on a 4.4.3, not that it would have been such a tragedy.
Is there gonna be a version for the KitKat ROMs?
dragos281993 said:
Is there gonna be a version for the KitKat ROMs?
Click to expand...
Click to collapse
yes, please wait a little bit.
ChronoMonochrome said:
yes, please wait a little bit.
Click to expand...
Click to collapse
OK. I've got another question for you. Are you gonna add "lagfree" between the governors you already added, because that's probably one of the best governors a kernel can have ?
This is for stock samsung JB?
yes it is
Even if in the download section it says 4.4.2, I flashed the kernel on a Carbon 4.4.3 and it's working like a charm. The only thing that doesn't show up correctly is both frequency bars in "performance". It shows 0MHz max, 0MHz minimum, but if you set the minimum to 600MHz, for example, the frequency will run at 600 minimum, even if it shows 0.
five attempts and each time bootloop and recovery keys do not work.
dragos281993 said:
The only thing that doesn't show up correctly is both frequency bars in "performance". It shows 0MHz max, 0MHz minimum, but if you set the minimum to 600MHz, for example, the frequency will run at 600 minimum, even if it shows 0.
Click to expand...
Click to collapse
It works normally for me. (ROM CM11 by TeamCanjica 4.4.2)
dragos281993 said:
OK. I've got another question for you. Are you gonna add "lagfree" between the governors you already added, because that's probably one of the best governors a kernel can have ?
Click to expand...
Click to collapse
Maybe I'll add this Governor.
mPiter said:
five attempts and each time bootloop and recovery keys do not work.
Click to expand...
Click to collapse
please post your last_kmsg log.
@ChronoMonochrome how do I do ksmg log when the phone does not turn on?
ChronoMonochrome said:
It works normally for me. (ROM CM11 by TeamCanjica 4.4.2)
Maybe I'll add this Governor.
please post your last_kmsg log.
Click to expand...
Click to collapse
If you added "lagfree", you'd be the first on to do it, so it would obviously be amazing and it would make you a better developer than others, of course.
EDIT: About the frequency thing, for me it shows 0MHz probably because I've got kitkat 4.4.3. Everything else's working fine.
@mPiter ,
Bug reports:
after experiencing a random reboot, type in terminal:
Code:
su
cat /proc/last_kmsg > /storage/sdcard0/last_kmsg.txt
report it in the thread and attach the last_kmsg.txt
Click to expand...
Click to collapse
p.s. restore stock kernel first.
there is a new folder in sdcard0 : triggers and files in it ( Cpt log). what is it?
ip3000 said:
there is a new folder in sdcard0 : triggers and files in it ( Cpt log). what is it?
Click to expand...
Click to collapse
I have no idea what caused this problem. Because on stock kernel and CM kernel i did not have this problem. Try to remove this folder and create text file with same name.
Would love to see lag free if anyone could make possible
Sent from my GT-I8160 using Tapatalk
1. Compatible for aosp 4.4.4 or only for CM?
2. Whats is the different with custom kernel by zwliew?
@ChronoMonochrome

Categories

Resources