[KERNEL] Bricked-Kernel Flo/Deb - Nexus 7 (2013) Original Android Development

Welcome to the most customizable N7 2013 kernel on xda
Bricked-Kernel Nexus 7 2013 (flo/deb)​
Features:
* Based upon Googles msm 3.4 source
* Various other fixes (look @ github)
* Compiled with gcc4.7.2 toolchain (linaro 09.12)
* -O3 optimized
* Snapdragon S4 & CortexA15 optimizations
* vastly improved touchscreen drivers, which made it rock stable even before Google patched the firmware
* Sweep2wake
* DoubleTap2Wake
* replaced qcoms hotplug binary with msm_mpdecision (IN-KERNEL, better battery life + performance)
* Extensive sysfs interface for mpdecision with all the tuneables you want (/sys/kernel/msm_mpdecision/)
* replaced the thermald binary with my IN-KERNEL solution. (/sys/kernel/msm_thermal/)
* export krait version to: /sys/kernel/debug/krait_variant
* modified ondemand governor
* Allow OC up to 1,83Ghz
* Fixed min cpufreq resets
* Undervolting
* Sound Control (faux123)
* Default clocks: 384min & 1512max
Zip features:
*** ON-THE-FLY-RAMDISK EDITS!
*** THIS KERNEL USES YOUR RAMDISK, it will just modify it on the fly while flashing. These changes are not creating any incompatibilities with roms/other kernels. (Except those roms which intentionally go incompatible to stock/aosp on a driver level)
* removes min freq overrides from the ramdisk
* removes governor overrides from the ramdisk
* adds init.d support to your ramdisk (if not already supported)
* modifies stock ondemand settings
* add module insertion
Check the compare links for the rest ​
Where is tha Changelog???
There will be no more changelogs.
Instead the download pages were outfitted with compare links to github for each download.​
What is sweep2wake?
Yes that is a mako, works the same way on the flo though ​
How to install?
Flash through recovery. #done.​
How to uninstall?
Flash this through recovery:
Bricked_uninstaller
Bye.​
Where to complain about errors/bugs?
Please use the Issuetracker for bugs/errors/feature wishes!
Issuetracker @ https://github.com/showp1984/bricked-flo/issues
[email protected]
IRC Chat: Freenode IRC #bricked​
Download:
No Guarantees! If it kills your grandmother or your device, I am NOT responsible! If you understand this:
(If you download, please hit Thanks below my post! Thank you!)
>>> DOWNLOAD <<<​
Donor List:​
> Hall of fame <
Thank you very much!​
Source:
​

What is msm_thermal?
Kernel based 3-phase thermal control!
This replaces your /system/bin/thermald binary which is renamed by the installer to thermald_bck.
It will throttle your cpu speed to keep it cool and unleash it if the cpu has cooled down enough. (3 phases: low, mid and high)
Check /sys/kernel/msm_thermal/conf/ for the thermal configuration
allowed_max_high = highest threshold (phase 3)
allowed_max_low = remove the throttling if we cooled down to this (clr_thrshold)
allowed_max_freq = max frequency if throttled (limit)
[...]mid[...] = same as above, just for phase 2
[...]low[...] = Lowest threshold (phase 1)
check_interval_ms = how often shall we check? (sampling rate)
Default: 100ms (=0.1sec)
shutdown_temp = if we reach this shut down the device!
Default: 80°C
If you want to see msm_thermal doing it's job:
Code:
adb shell
cat /proc/kmsg | grep 'thermal'
What is msm_mpdecision?
100% kernel based multi core decision! (should cpu1/2/3 be online or not?)
This replaces your /system/bin/mpdecision binary which is renamed by the installer to mpdecision_bck.
Check /sys/kernel/msm_mpdecision/conf/ for the configuration.
startdelay = time until mpdecision starts doing it's magic (20000)
delay = time between checks (70)
pause = if something else plugs in the cpu, fall asleep for 10000ms (10 secs)
scroff_single_core = if the screen is off, don't plug in cpu1/2/3. Additionally: Unplug all cpus except cpu0 when screen is turned off (1)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
min_cpus = min cpus to be online, cannot be < 1. Default: 1
max_cpus = max cpus to be online, cannot be > 4. (if you set it to 2 and min_cpus to 1 you will basically have a dualcore) Default: 4
idle_freq = a value against that will be checked if a core +/- is requested. (486000)
If cpu0 is below that value and a core up of another cpu is requested, nothing will happen.
If any other cpu is above that value and a core down of that cpu is requested, nothing will happen. (otherwise it would now put down that cpu even though it is still working, which isn't what we want)
Hot plug thresholds (aka now it gets 'complicated')
This small formula calculates which value will be used: (number_of_cpus_online - 1) * 2
The result of this formula will be the nwns_threshold where a new cpu is hotplugged.
The result of this formula + 1 will be the nwns_threshold where a cpu is unplugged.
nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)
Example:
One cpu is online.
(1 - 1) * 2 = 0 ergo:
nwns_threshold_0 = cpu1 will be hotplugged at this value
((1 - 1) * 2) + 1 = 1
nwns_threshold_1 = cpu0 will be unplugged at this value
Since we can't unplug cpu0 this is '0'.
Two cpus are online.
(2 - 1) * 2 = 2 ergo:
nwns_threshold_2 = cpu2 will be hotplugged at this value
((2 - 1) * 2) + 1 = 3
nwns_threshold_3 = cpu1 will be unplugged at this value
etc...
The default values are:
NwNs_Threshold: 12, 0, 25, 20, 32, 28, 0, 35
TwTs_Threshold: 140, 0, 140, 190, 140, 190, 0, 190
Where the position and function of the number equals the result of the above explained formula.
(all times are in ms)
If you want to see the mpdecision magic happening:
Code:
adb shell
cat /proc/kmsg | grep 'MPDEC'
mpdecision's input event boost, aka project butter
This will boost your min cpu speed if you touch the screen or press a button and gives you full control.
In those events the min cpu freq will be risen to a predefined value (look below) on every online cpu. This boosts overall reaction times and smoothness a lot. (works similar to the qcom mpdecision binary)
Configuration files:
[email protected]:/sys/kernel/msm_mpdecision/conf # ls
boost_enabled
boost_freqs
boost_time
All of them work like the usual sysfs files, except one special case:
boost_freqs will list all frequencies from cpu 0 to cpu x. Cpu 3 and any following cpu will share one frequency.
To change those frequencies echo the cpu number + the frequency in khz. To change the boost freq of cpu3 (and 4,5,6,7,8, etc) the echo would look as follows:
Code:
echo "3 1026000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
for cpu0:
Code:
echo "0 1026000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
Defaults:
Code:
cat /sys/kernel/msm_mpdecision/conf/boost_freqs
918000
918000
702000
594000
How does sweep2wake work? Does it keep my phone awake?
Short answer: No.
Long answer:
Sweep2wake works with IRQs (Interrupts).
An interrupt can be best imagined as you doing something, like shopping at the local super market, when someone jumps in front of you and punches you into your family jewels. You will most certainly not just continue shopping.
In technical terms: An Interrupt interrupts the normal operation of a program and executes "special" code instead.
So if you touch your screen, an interrupt is send on which the touch driver reacts. That's it.
Since we have a capacitive touchscreen you also do not need to worry about any pressure onto the screen.
If you want to disable sweep2wake execute this command on your phone (adb shell or directly), you can also add it to an init.d script.
Code:
echo "0" > /sys/android_touch/sweep2wake
(echoing "1" activates it, which is the default setting)​Recommended governor?
Ondemand.​Why do I have no WLAN?
Due to this kernels very high optimization settings it is too big for our boot.img with WLAN included into the kernel, so it is built as a module. That means it needs to be inserted into the kernel upon boot up, which needs to be automated for maximum comfort.
The zip adds this to your ramdisk, if that fails for some reason the wlan module cannot be inserted.
if
Code:
adb shell lsmod
doesn't show this:
Code:
tun 14701 0 - Live 0x00000000
cifs 275399 0 - Live 0x00000000
wlan 2964650 0 - Live 0x00000000 (C)
Then something went wrong. (My fault)
You can test it by executing
Code:
adb shell
su
insmod /system/lib/modules/wlan.ko
Wait a few seconds and try to enable wifi and repeat the above lsmod command (should now show wlan).
If WLAN now works, I messed up.
Open a new issue in the issue tracker and it will be fixed asap.​

If you look for an app to control your kernel: http://forum.xda-developers.com/showthread.php?p=47773391#post47773391

Wohoooooo the best kernel on sensation thread now reaches nexus 7!!! That's awesome :highfive:
Sent from my Nexus 7 using xda app-developers app

Drunken_elk said:
Wohoooooo the best kernel on sensation thread now reaches nexus 7!!! That's awesome :highfive:
Click to expand...
Click to collapse
It's been on the flo since September the 19th, there just wasn't an xda thread for it

Oh damn . Anyway good choice to add the thread
Sent from my Nexus 7 using xda app-developers app

no fsynch trigger? or just not mentioned in features?

L-ViZ said:
no fsynch trigger? or just not mentioned in features?
Click to expand...
Click to collapse
Whoever disables fsync is a maniac. It is not in this kernel and will never get in. That's my totally honest opinion.
Using a no fsync, or 'dynamic' fsync kernel is the equivalent of jumping from a skyscraper with nothing but a napkin.

Best Nexus 5 kernel il now on N7 ! Awesome ! Thank's for this
Envoyé depuis mon Nexus 7 avec Tapatalk 4

Assume this is based on the new 4.4.1?
Sent from my Nexus 4 using Tapatalk

ogrillion said:
Assume this is based on the new 4.4.1?
Click to expand...
Click to collapse
Indeed.

Hey man, good to see more talented kernel devs on this device, yours was one of my favourites back on my HTC One X
Any chance of merging kexec patch for multirom support?
http://forum.xda-developers.com/showthread.php?t=2457079
Nexus 7 LTE
Stock rooted KOT49E
Faux Kernel

show-p1984 said:
Indeed.
Click to expand...
Click to collapse
Oh god ! Downloading now !
Envoyé depuis mon Nexus 7 avec Tapatalk 4

Can you include the MultiROM patch in the kernel?
Sent from Tapatalk, using Tapatalk

show-p1984 said:
Indeed.
Click to expand...
Click to collapse
made for 4.4.1 means only usable on 4.4.1 or works on 4.4 too?

Will this brick my phone
Does Slimport work with this? I have had other kernels flick out after 5 minutes or so.
Sent from my Omni 4.4 Galaxy S3. Proud Googy Beta tester.

Works with CM11?

L-ViZ said:
made for 4.4.1 means only usable on 4.4.1 or works on 4.4 too?
Click to expand...
Click to collapse
I can tell you that I am running it on Bruce's 4.4 odexed and is running brilliantly so far. Installed it early this morning and running great so far.

Quiksilver78 said:
Works with CM11?
Click to expand...
Click to collapse
It should.
Give it a try, the install process make a backup of your current Zimage, if something goes wrong, just flash the uninstaller and your'll get back to your unmodified rom.

lionelia said:
It should.
Give it a try, the install process make a backup of your current Zimage, if something goes wrong, just flash the uninstaller and your'll get back to your unmodified rom.
Click to expand...
Click to collapse
Turning on WiFi caused boot loops for me lol
I figured it wasn't supposed to work so I didn't report it so I flashed slimkat

Related

[Kernel 3.12.rc6][24 OCT][DEV THREAD!] Dorimanx 8.43 ONLY JB I9100 +RECOVERY+ROOTED.

{
"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"
}
Dorimanx Kernel for SGII-I9100
Supporting 5 ROM Platforms!
My kernel was based on SiyahKernel 4.0 long time ago in other realty,
Kernel Tree is 3.12.rc6-R101, + Samsung JB updates + my tweaks and lots of tuning!
Thank you Gokhanmoral for your great work in the past!
Warning!!!
Do not install this kernel on any Android version lower than 4.1.Y
Do a Nandroid Backup of your ROM before first try it! just in case
Constant OC will drain more battery! use low speeds on screen off! min 200/100 max 800
CPU will shutdown in case of over-volt or under-volt so be careful
I'm no responsible for any hardware damage or system corruption that can happen after using this kernel,
you are using this kernel from your own will and accept any responsibility by using it.
If you install this kernel your warranty will be void!
Of course you can be relaxed, I'm trying every release on my phone several hours before of release it so,
if something wrong, i will get the damage first, you get a tested and tuned working kernel...​
« Thread rules
« Which kind of posts are allowed in this thread?
Report of bugs after test it personally and including the proper log (Please refer to the Voku's guide of How to report bugs for further information about logs.)
Feedback that could genuinely helps to the development of the kernel, for example tests of a new feature including a complete explanation, documentation and results.
Requests of new features for the next versions of the kernel with the proper explanation of why you expect to see it and why do you think that will be an improve to the kernel.
« Which kind of posts are not allowed here and belongs only to the discussion thread?
Battery life related, which include: Discussion of battery life, statistics of your battery life, screenshots about your configuration, your configuration itself (with the intention of help another users)
Reports of SOD if you undervolt / overclock your phone
General discussion about settings of the kernel, which include: Governors, schedulers, I/O, dual-boot, etc.
Requests of new features for the next versions of the kernel without the proper explanation of why you expect to see it and why you think that will be an improve to the kernel.
Bug reports with the proper attachments like logcat and kernel log (This is the exception, you can post it here and in the development thread, again, only with the log attached, otherwise the report will be ignored), please refer to the voku's guide of How to report bugs for further information about logs.
Deep sleep issues. Mostly of this issues are not kernel dependent, the rogue apps cause wakelocks and other weird behavior so, the first suggestion will be go to the BBS (Better Battery Stats) thread, install the app, and drop the log in there but as complement you can expose your issue here.
« Useful Links and Guides
Official Dorimanx's site
Facebook Fan Page
Kernel GIT Repository
INITRAMFS Repository (recovery)
Dorimanx change logs by kantjer
How to save battery by Voku
All you need to know about UV/OC by the professional chip designer Vikas [Very important to read]
[GUIDE] CPU Governors, TCP algorithms, Android Tips, & IO Schedulers: In my Own Words by MBQsniper
Kernel Governors, Modules, I/O Schedulers, CPU Tweaks, AIO App Configs by droidphile
How to make your own .TAR kernel file to flash with ODIN by dorimanx and a ready to use .TAR by kantjer
How to tune the touch screen if you need it by Crescendo Xenomorph
Kernel Gestures Builder by Flint2
SAMSUNG USB DRIVERS by Daerragh
[Tutorial] How To Logcat by paxChristos
Dorimanx kernel ICS/JB - Dummies Guide by ironass
Kernel is updated to 3.12.Y and beyond.(hybrid)(we have 93% from 3.12.Y kernel!)
Kernel SUPPORT JB 4.1.x/4.2.x/4.3.x
This is JB Tuned Kernel only! not supporting any 2.x.x/4.0.x roms!
Dual CPU support
Default CPU governor: HYPER
CFS CPU SCHEDULER Tweaks.
Default CPU frequency: 200-1200 MHz (MAX OC up to 1.6Ghz speed!)
Kernel Support STweaks and 5 Profiles.
Overclocking to 1600 MHz. (via ANY CPU Tweak Apps or STweaks)
Kernel support 16 CPU steps! 1600Mhz->100Mhz by static default!
You can set MIN/MAX CPU Freq in STweaks app! + lots of CPU tweaks.
Kernel will sleep in deep sleep on 200Mhz->800Mhz as Samsung requesting to prevent SOD.
Support undervolt/overvolting via sysfs interface/apps interface. and STweaks (800-1500mV) (all set to best)
Be very careful with voltage settings! (all set already)
Default I/O Scheduling: BFQ
More I/O Scheduling present in kernel: DEADLINE, VR, NOOP, FIFO, CFQ, SIO, ZEN, BFQ
Native USB Tethering.
Native Wi-Fi Tethering
File systems support: Ext3/4, FAT32, CIFS, NTFS, EXFAT
Added tweaks to increase I/O Speed.
Added tweaks to increase CPU speed
Removed all the debuggers to free kernel from unneeded jobs, and logs.
More Govs present, HYPER, conservative, performance, pegasusq, nightmare, darkness, zzmoove, ondemand(default sleep gov), sleepy.
ZRAM SWAP add more 150/300/600MB compressed RAM, activated by STweaks, set to off by default.
Tweak camera (better picks quality)
Kernel Include Siyah Recovery with Dual ROM support!
In Recovery you have section to select kernel profile. Performance, default, battery, the default is DEFAULT.
Kernel will Auto ROOT your device!
You can disable ROOT in STweaks app!
Tuned for I/O Mega Speed SQLite is injected to ROM after install.
BLN by GM! lights time out, and blink/breathing effect, see STweaks BLN tab to activate! (READ ABOUT BLNWW!)
New Kernel Management app STweaks by GM! installed with kernel.
BLN without Wakelock to save battery when BLN active till timed out. by GM.
Touch Keys Light change with the screen brightness! by GM.
Massive script for kernel/ROM management made by Voku,Alucard and me
It's will work by auto and set lots of tweaks: NET tweaks, GPU tweaks, CPU management, Deep Sleep Tuning, Charging states, and more!
It's name is cortexbrain-tune.sh
WE SAFE (MMC_CAP_ERASE not present) in kernel MMC Code!
MMC code merged with SAMMY Update 10 + 3.10.y updates!
FM-RADIO WORKING! (you need Spirit FM PAID!!!!) or Sammy ROM with FM APP.
Touch screen color + touch thresholds are in STweaks,
Kernel Cleaning Script is build IN! by VOKU.
BT Support for SAMMY 4.1.2 and all 4.2.X + 4.3.x
Video(GPU) + Camera Driver from SAMMY JB/CM10.1 + patches
WIFI Driver 1.61.56 ported from SG4
Modem Driver from SAMMY JB SOURCE
SMP Processor code updated from Kernel 3.12.Y
RCU + SRCU Processor code updated from Kernel 3.12.Y
Kernel Code for on screen gestures by Tungstwenty fixed by MARIO1968
All FS used Code merged with 3.12.Y kernel
SLUB fully merged with 3.12.Y Google Android kernel
SCHED CORE fully merged with 3.12.Y kernel.
RAM merged with 3.12.Y + Google Android kernel.
VFP updated to MAX from 3.12.Y
Slide2Wake by FLUXI, (swipe from left to right on turned off screen to wakeup device, tweak can be turned on/off in STweaks, this mod use 5% battery! (Modded by GM for less battery drain)
Sound boost controls by FLUXI in STweaks.
New Mali V2 Video Driver combined with old to support JB STOCK in one kernel(8.X branch) by Gokhanmoral/me/CM-TEAM!
In 9.X branch we have MALIv2 ONLY video driver for CM/AOKP new ROMS! no STOCK SUPPORT!.
Added mdnie interface and made hardcore’s sharpness tweaks optional by GM!
5 GPU FREQ Steps from 108Mhz to 520Mhz by GM!
Ultra KSM from 3.9.y kernel.
Powered by SuperSU "Please support SuperSU" dev Chainfire!
Recovery can backup/restore STOCK ROM! include the preloaded partition!
NOTE: This kernel is for JB AOKP / CM10.1 / MIUI(STOCK JB BASE) / SAMSUNG STOCK JB ROMs
WARNING:
It's not possible to dual-boot with the JB SAMMY ROMs in any combination.
So, please! don't try it and don't report it as a bug, it's a known issue.
---------------------------------------------------------
Disclaimer:
Every user must use his / her own criteria to report the off-topic posts,
The rules are just a guide to what is expected to see in a development thread,
But if you don't want report posts at least don't answer the repeated questions,
This open the door to the spoon feeders to ask again and again and again...​
Live Change Logs from GITHUB:
Initramfs
Kernel 8.x
Kernel 9.x
(To download kernel, go to links at bottom of >this page!< YES the OP PAGE!)
ICS is no longer supported!
for ICS ROMS use 5.x/7.x/8.1 only!
Discussion, Q&A Dorimanx Thread Go >HERE< For Help.
Change logs:
24/10/13 time 12:50
Kernels 8.43 + 9.43 <Stable>
Kernels 8.42 + 9.42 <Major BUG found and fixed in x.43>
Kernels 8.41 + 9.41 <Stable>
03/09/13 time 16:10
Kernels 8.40 + 9.40 < NEW BETA TEST! >
Kernels 8.39 + 9.39 <stable but with small bugs in ram count>
Added 4.3 support!
Kernels 8.38 + 9.38 <STABLE BUILD!>
15/08/13 time 04:00AM
NO 4.3 SUPPORT!
Kernels 8.37 + 9.37 <DELETED! BUGGED>
"Declared as 3.10.rc5 in X.36 build"
Kernels 8.36 + 9.36 <DELETED! BUGGED>
Kernels 8.35 + 9.35 <MASSIVE UPDATE! V2 Stable for most users>
Kernels 8.34 + 9.34 <MASSIVE UPDATE! Stable for most users>
Kernels 8.33 + 9.33 <Stable for most users! BUT do backups! to PC>
Kernels 8.32 + 9.32 <Considered stable by many, but still some got SODS(for some users). (bugs fixed)>
Kernels 8.31 + 9.31 < test V7, STABLE 90% but low vibrate and small bugs.>
Kernels 8.30 + 9.30 < test V6 STABLE 93%, OOM profiles still broken.>
Kernels 8.29 + 9.29 <new beta test V5, OOM FIXED! stable, but oom profiles broken.>
Kernels 8.28 + 9.28 <new beta test V4, half stable, 80% OK.>
Kernels 8.27 + 9.27 <STILL SODS, OOM Broken!>
Kernels 8.26 + 9.26 <STILL SODS, OOM Broken!>
Kernels 8.25 + 9.25 <DELETED, SYNC BUG>
27/05/13 time 02:50
Kernels 8.24 + 9.24 <Reported as 90% Stable release!>
Kernels 8.23 + 9.23 < DELETED SOD BUG>
Kernels 8.21 + 9.21 < DELETED SOD BUG>
kernels 8.20/9.20 < DELETED SOD BUG>
Kernels 8.19 + 9.19 < DELETED SOD BUG>
Kernels 8.18 + 9.18 < DELETED SOD BUG>
Kernels 8.17 + 9.17 < DELETED SOD BUG>
04/05/13 time 14:45
Kernels 8.16 + 9.16 <Reported as 95% Stable release!>
16/04/13 time 11:35
Kernels 8.14 + 9.14 <STABLE and WORKING OK!>
04/04/13 time 00:10
Kernels 8.13 + 9.13 <STABLE and WORKING OK!>
Kernels 8.12 + 9.12 <STABLE, but with WIFI BUG!>
23/03/13 time 23:40
Kernels 8.11 + 9.11
Kernels 8.10 + 9.10
Kernels 8.4/9.2 -> 8.9/9.9 DELETED! <MEM SOD BUG>
Kernels 8.3 + 9.1
Kernel 8.2 + 9.0
Kernel 8.1 <LAST ICS SUPPORTING KERNEL>
Old History:
24/02/13 time 05:22 (Advanced BETA II)
ICS+JB-MALI+CM10.1+JB SAMMY LEAK+OFFICIAL(from 7.44)
Kernel 7.50 <FINAL VERSION! MALI V1 is END OF LIFE!>
Kernel 7.49 <Advanced Beta Tuning FIX>
Kernel 7.48 <Advanced Beta Test>
Kernel 7.47 <Improved Beta Test>
Kernel 7.46 <MEGA BETA TEST>
01/12/12 time 19:15 (STABLE)
Kernel 7.26 ICS+JB-MALI
Kernel 7.26
20/10/12 time 16:15
Kernel 5.90 / 7.4 JB-MALI
Change Log for 5.90 ICS / 7.4 JB-MALI ONLY!
2/10/12 time 22:48
Kernel 5.84
*VOKU and me, we restored function that check DATA + CACHE file system before boot, for errors and damaged blocks and more.
it's can be requested for one time run by user via extweaks misc tab.
DO NAN DROID BACKUP VIA RECOVERY BEFORE ANY ATTEMPT TO USE IT! (if your phone will not boot, and you don't have backup, don't blame me for that)
If your data has allot of corrupted files. then first boot with this kernel will take longer! do not panic. let it work.
no more than 10MIN, if still no boot, then you need to restore your nand backup and never use this function!
your hardware is not ready for DATA partition clean up. forget it.
you will get new file /log-data and /log-cache
after boot you can check if you had any errors in data or cache.
To activate just "push the ATOMIC button " or push again to ABORT!
function will work after reboot, and never again, till requested by user.
If you do nan droid backup and then restore it, you restore all the errors and junk with it. (just for the info)
Goals for next builds:
Debug and find more code errors! (always something new)
Add cool features and tweaks
Extend battery life.
Boost performance.
« Installation
Download the file
Place it on your SD card
Reboot into recovery
Flash the file
Reboot
In case of a new installation on a non rooted or non recovery device:
You can Download ODIN 3.04 attached to page.
Reboot to Download mode (Hold Power + Home + Vol down, then vol up when you see the download menu)
Connect USB, wait until the drivers be installed
Install kernel via ODIN, choosing the option PDA, search for the file that you downloaded and push start
If all going fine the phone will reboot and you done
Mirror #1 by Bmbm
Mirror #2 by Willflint
Mirror #1 Here
Mirror #2 Here
Dev-Host mirror (just in case that main mirror be overloaded)
Alternative mirror provided by Looki75
> Server in standby, no content <​
« Credits
Gokhanmoral (Siyah Kernel)
Myfluxi (xxICSKernel)
Pinpong (Thoravukk_i9100)
Voku1987(This Kernel)
Alucard_24(This Kernel)
STANTRC(This Kernel)
Halaszk (siyahkernel-sgs3)
AndreiLux(Perseus-S3 Kernel)
Teamhacksungb (CM Kernel)
Pershoot (Galaxy-2636)
Dror2169 (KernelSanders-OMAP)
Faux123 (Great Mega Elite Dev, many kernels)
Simone201 (Neak-ICS kernel)
Angelom (Abyss kernel)
DerTeufel (Samsung kernel - Aries)
Entropy512 (CyanogenMod)
Talustus ( Dream Kernel - ICS)
Tungstwenty (On screen gestures addon)
Renaudallard (GNexus kernel)
Torvalds (Kernel 3.6.Y maintainer)
Robertobsc (Siyah kernel 3)
Second kernel developer voku1987, GIT
Please treat him as full time developer for this kernel, any of his answers are considered as if i have answered.
Thanks a lot for your help and support!
Third Kernel developer Alucard_24 GIT
Please treat him as full time developer for this kernel, respect his answers as he know much and helping in development!
Thanks a lot for your help and support!
Forth Kernel developer StanTRC GIT
Please treat him as full time developer for this kernel, respect his answers as he know much and helping in development!
Thanks a lot for your help and support!
Great Fearless Beta Test Team!
Eskriminal
Rkoby13
Infatality
Shahan_mik3
Computoncio
Metalgearhathaway
PSyCh¤_O_O
Crazy-Silver
Cybernetus
Bogdan1980
Markox89
Stopro
Misk77
The most active and honored team members are:
Voku1987 ★
Alucard_24 ★
StanTRC ★
THE RED BLUR ★
Manulemaboul ★
GaboWinter ★
Johnbeetee
Xanthrax
Cybernetus
Big_bum
Rkoby13
Unexist6969
Bologna
Kantjer
Crazy-Silver
Sybregunne
#illidan
It_ler
Flint2
Wonsky21
Zeppelinrox
Fhasovic
Lyndonguti
Nasty_z
Krishnadusad
Crescendo Xenomorph
Jgcaap
Bleuxeon
Respect them and read there posts, ask them questions, and you will be happy and safe with us
TO DONATE CLICK HERE
Donators:
Donation from a XDA Guests x36
Bmbm (Huge donation! Great Main Mirror!)
Willflint(Huge donation! Great Second Mirror!)
Bleuxeon x5
Sun90 X3
Rkoby13 X3
THE RED BLUR x2
Xanthrax x2
Kantjer x2
Flint2 x2
PigMachine x2
Nuclear******* x2
Jgcaap X2
Didgesteve X2
Toffiko X2
Ercxar X2
NeGriTa79 x2
O0boiboi0o x2
Axonn x2
Bologna, Avinashadvani, Ciribaski, Freewind29, Johnbeetee, Malavan, , Pender666, Ale.gu, Duykhang524, Fictisio, Americoz, Den15, Jomaga, GregX80, Nokia-xxx, Steili, Ulver7, Mr_omega, Haramizuki, Mofeywalker, Puppyko, Computoncio, Ophirb, [email protected], Sasho36, ADABman, Follettoverde, AMDPOWERFIST, Quijote1, GeScha, Trevfee, Cybernetus, Drinky, JulianXhokaxhiu, Thijssie909, **** Gordon, Gippy2, Mario1968, Godzifa, Maulattu, Manczyslaw1], Fakhersidhu, Davidb89, Dynomot, MrMastodon, Calanizzle, Nogo8888, Dongerado, H4cker77, GieltjE, Blaex, N1m0Y, Lukign0, Ruk_design, Bubble-be, Chivas112, Vexxx, ,Spinik, Minidou-77, Amber_Oomb, Oriundo, Imilic, Liorreem, GieltjE, Knהההrz, TrallaP, LegnaDegna, Fliron, Mrjl, Mmca, Adyjl, KqK, Xsycox, Gatsu84, Oshmoun, Poseben, R3dDr4g0n, Walter White, Arpinacio, TyDraniu, Livefortoday, Dox81, BigGiantFish, Blaex, Metalgearhathaway, HorstiG, Sgauge, ZeroLight, Leo2589, Cr3ck3r5, FaTa1-Err0r, 99x, Pitzyper[FONT=&quot], [/FONT]1.000.0000Dollar, Renemt, Cool1007, Sibero80,
« Extras
GESTURES!
Here you can download the app to set the gesture_set.sh script to make your own gestures.
*Added gestures script that connected with cortex and can be managed by user and system in harmony!
The script is located at /data/gestures_set.sh do not move it, if you have already any gestures scripts in init.d delete them and move your custom stuff to this script.
It will work with the screen on, and be shut on screen off, to get rid of one more loop that wait forever, we dont need it on screen off! So i give you 5 preconfigured gestures! max supported is 10! max finger touches supported also 10.
Script will be copied to data if not exist on boot, if exist then, nothing. You can shut this function in STweaks or restore to default gestures if you mess with it
On restore you will get backup of your current running file at /data/gestures_set.sh.bkp + gesture_set.sh.sec just in case.
PICK FOUND IN GOOGLE! It's not me
I am here for you so, ask, debug and comment!
Help me to make this kernel as good as possible!
Recognized by followers
Great Developer DORIMANX
Page modifications by GaboWinter!
​
Kernel Info about Tweaks / Mods
Here I will post about things that exist in kernel.
First of all here are some guides made by VOKU also developer for this kernel.
Android: How to report bugs
How to use "ADB" - Command Line Tool
You get ZRAM SWAP.
In short, it's compressed RAM, that by using our mighty CPU compress 150MB of Real RAM into 300MB ZRAM!
This is simple math:
we have 848MB RAM, + 300ZRAM - 150 Needed for ZRAM = 1GB RAM
You can see it work by entering terminal app, or connection by ADB
And type:
free
you will see this..
Code:
[email protected]:/ # free
total used free shared buffers
Mem: 848164 801800 46364 0 13456
-/+ buffers: 788344 59820
Swap: 292968 23420 269548
in SWAP filed you see it exist and works!
Also there is one more advanced check
type:
su
zram_stats
you get:
Code:
127|[email protected]:/ # zram_stats
Swaps Status
Filename Type Size Used Priority
/dev/block/zram0 partition 97656 7804 20
/dev/block/zram1 partition 97656 7804 20
/dev/block/zram2 partition 97656 7808 20
ZRAM STATS
/sys/block/zram0
disksize: 100003840
num_reads: 474
num_writes: 2013
invalid_io: 0
notify_free: 61
zero_pages: 105
orig_data_size: 7565312
compr_data_size: 3465633
mem_used_total: 3563520
avg_compr_ratio: 45 %
mem_overhead: 2 %
/sys/block/zram1
disksize: 100003840
num_reads: 473
num_writes: 2013
invalid_io: 0
notify_free: 61
zero_pages: 106
orig_data_size: 7561216
compr_data_size: 3447524
mem_used_total: 3584000
avg_compr_ratio: 45 %
mem_overhead: 3 %
/sys/block/zram2
disksize: 100003840
num_reads: 477
num_writes: 2014
invalid_io: 0
notify_free: 61
zero_pages: 99
orig_data_size: 7593984
compr_data_size: 3444863
mem_used_total: 3559424
avg_compr_ratio: 45 %
mem_overhead: 3 %
You see 3 ZRAM swaps each 100MB and they work in load balance!
All filled/released in one push, it's fully auto! it's will help on heavy RAM load!
==================================================================
Touch Recovery:
Made by ELITE DEVELOPER Gokhanmoral!
I have added tweaks and my configurations.
You can move in menu by finger, and by pushing arrows at the bottom, also hard keys work.
You can have 2 ROMS installed in one phone
See menu and check for full instruction on Developer Thread!
You can backup and restore / format / mount / install from ZIP / or from zImage!
You can set / reset your kernel profiles
there are 3:
Battery saver: reduced performance, but long battery life.
Default: normal performance, normal battery life
Performance: Boosted allot for performance, but faster drain of battery.
In order to use performance profile and not to drain your battery too much,
you need to set profiles in any app for CPU tweaking, that can give you profiles for:
Screen ON
Screen OFF
ON CALL
ON LOW Battery.
For screen ON you can use Full OC (200-1500) and have fun.
On Screen OFF: use 200-800/1000 speed
On Call use: 200-800 to save power.
On low battery use 200-1000/800/500 as you like..
================================================
You get tuned SQLite for CM9 or PURE ICS ROMS.
Its set to reduce the "sync command" when writing and reading tables in apps and system data.
So it's will "sync" on finish write, and not every small operation that its doing.
By this, read/write ( I/O) performance boosted allot!
If you install any other kernel after my, the sqlite will remain in ROM till ROM will be replaced.
================================================
More to be added later.
​
22/7/12 time 19:00
Kernel 1.0 -> 5.2
Code:
*Restored lot's of code that i and voku ported, to restore stability, much from that code was exp, so it's moved to EXP branch, i will test it offline.
*Changes to cortex for stability, see git.
*Messed with profiles save, should be ok now.
*Improved stability!
*Improved performance!
*Updated to 3.0.38!
*Fixed GPS
*Added wifi supplicant tuning to extweaks and to cortex.
*Added FIX for Korean GPS
*Added BT fix for SAMMY 4.0.4 ROMS by Gokhanmoral! TNX!
*More code porting for better deepsleep! and network fixes.
*Tuned hyper gov and renamed to HYPER!
*Updated to Samsung Update 5 + 6
*Lots of changes to TVOUT driver, it's may now work on custom roms!
*Removed ondemand, HYPER is the same gov but more advanced!
*Fixed intellidemand now it's stable.
*Ported more code fixes from 3.5-rc7
*Added new tweaks in extweaks and converted many to checkboxes.
*More patches to WIFI driver.
*Battery life improved allot! thanks to code changes that put more drivers to sleep!
*Removed KSM and ZCACHE from config, ZCACHE is damaged after merging with kernel 3.5-rc7 and KSM eat battery and dont really help. no big change in performance, still fast and smooth. (zcache no longer used in 3.x.x so we disable it too)
*Kernel is stable! 2 days with full cortex and performance profile.
*Updated to 3.0.37!
*I have ported lots of code changes from kernel 3.5-rc7 (about 2000+ code lines changed)
all about file system and cache memory and compression.
*VOKU has ported lots of new code for process control and kill + memory control. from 3.1.Y
*Fixed wakeup booster, it's more smart!, now i boost the freq to max but with your GOV not with performance, and add +25mV to all steps for time that wakeup booster works, then it's will set speed to normal and reduce voltage by -25 and all will be as you set.
*Cleaned code from unused functions.
*Extended light sensor and battery sensor pulling time, to reduce battery use, and CPU use (done by voku)
*Tuned voltage for HIGH steps 1000 --> 1500 added more +25mV each. for stability.
*Fixed the Touch keys timeout stuck at 5 sec. now should obey your settings.
*Added check if cortex background process is OFF or ON for real.
*Added new GOVs intellidemand and wheatley they are good for battery save, and can be fast if tuned via setcpu app! or they SLOW by default but very smart.
*Fixed all GOVS code about idle time statistics and wait for IDLE, should help reduce battery drain.
*Restored some define values to default, this small things can make big problems, we made some changes to them without fully understanding if it's OK or may damage some thing, like front camera!
*Kernel size is FULL, 8.10MB so very soon i will have to cut some tuning to gain more room for code changes...
*Fixed BLN still ON after main BLN switch off!
*Fixed small bug in kernel optimization.
*Tuned brightness for simple auto brightness (modded by VOKU)
*Improved stability and performance.
*File system corruption protection. by using FSYNC function to sync all changes to file system more often.
Added extweaks MISC option to disable the FSYNC to get little more performance, but reduce to less safe from damage file system (DEFAULT for all KERNELS!) this function is external! option will be updated only on reboot! not as you set it.
*Removed cortex background process for default and battery profiles, so user can use it or not. see extweaks, (without cortex, wake up booster + sleep gov change + dynamic GOV modding will not work!) for some ROMS, it's GOOD! since they get SOD all day with cortex ON, so try without, if OK, try with, if OK, have fun, if SOD, disable again.
It's ON for performance profile!
*Battery life improved.
*Added code fix that reduce CPU usage on idle to 1~15% on 100Mhz! was 15~30% now more battery will be saved.
*Rebuilded the root add/remove now it's used as buttons. install , remove , check
*Retuned Touch screen CODE, screen will not stuck now, 70% of SOD, not really stuck the phone, it's only the screen stuck! via adb i see that all OK! and system working as was, so now problem is fixed!
*New code fix for WIFI, now if not used and disabled in ROM, driver will cut power to WIFI chip! till now it's was still idle and drained power. not any more
*Finally i made my kernel STABLE! no more SOD and great battery life!
I have reverted from Linaro 12.06 GCC 4.7.1 builder to Android GCC 4.3 builder
that used to build all ROM and Default kernels!
So no more SOD! and battery is 1.1%/h -15mA :)
*Added more fixes to code from FLUXI kernel, TNX Myfluxi!
*Set 15 CPU freq steps for all profiles and removed settings to change it, there are many code trigers that depend on 15 freq steps, so best to have all for all profiles, then reduce the MAX freq to what needed, (already set)
*if you have added any INIT.D scripts that mess with my settings, REMOVED THEM, then test my kernel,
For some phones to low settings will always kill the phone,
I am asked all people that post INIT.D scripts in this thread, STOP/REMOVE. keep them to your self. thanks.
*Found and removed SOD bug on screen off/on and in deepsleep.
OK for me, need more people to test!
*Ported some stuff from GM SG3 kernel, better video sharpness and some restores for Video driver GPU freq lock on screen ON.
*Tuned all profiles, with min/max cpu on suspend, now we can use 200 to 700, please do not change it for now.
*Lots of new code ported by VOKU from 3.1.Y kernel! see GIT
*Some clean ups, and kernel optimizations FLAGS.
*Removed hotplug and interactive govs, we have lot better govs to use.*fixed small but critical bugs! (reuploaded kernel last at 18:59)
*I have reverted all CODE for CPU Idle and Suspend from Source (GM Thanks again!) now i hope the SOD will be wiped!
*Reduced Kernel size thanks to VOKU new reconfiguration of Kernel flags.
*Added new CPU calibration code form 3.4.y tree.
*Added more fixes for Kernel scheduler.
*Tuned all profiles, now sleep gov is pegasuq for all!
Fixed all missing config triggers and added more protection from battery gauge reset by extweaks without need.
*New Updates to SLUB scheduler that we use for memory management.
*Added new stuff to extweaks!
Now we have:
bln tab:
SWITCH to turn of BLN!
SWITCH to turn ON led lights on touch! it's use the led time out!
Fixed BLN test button.
cpu tab:
SWITCH to turn on/off wakeup booster and set the boost delay!
*Reverted last USB code update from NOTE, found that driver stuck after long charge and we can get to storage via USB, we have SG3 driver, so to mix them probably bad idea,
*Restored CPU code that needed for SAMMY rom stability to prevent SOD, so i hope it's will be ok now.
*Small fixing and cleaning. see GIT's
*Fixed WIFI wakelocks by removing latest patches, need to work on them first.
*Added CPU patches from GM
*Added Audio Amplifier GAIN for headphones 0DB 1.5DB 3-6DB addon by GM! see extweaks.
*Tweaked all profiles! set the suspend freq to min 700 max 800! as Samsung request! lest stop the SOD! please do not change that settings.
*Added new Patch for WIFI filter found by Entropy512 seems that we had an open packet filter that helped to drain battery with wakelocks!
*Fixed some cortex code, all should be good. and fast!
*Removed EXP ver, need to work on it.
*For now this kernle not include new Power Manager by VOKU, we still testing!
*Fixed Wakeup booster script, now will wake and power the phone for 10 sec on max we can get! the reduce to normal as user set in extweaks! will work only if background process is ON,
*Changed all profiles! boosted GPU freq and voltage for all, after testing with heavy games! now stable! + govs change.
*Cleaned and updated HYPER + ONDEMAND govs to 3.0.Y tree + mods.
*Lots of new stuff ported by voku for WIFI driver, so test it as much as you can.
*Fixed some bugs in cortex script, removed not used stuff from crypto module.
*Fixed SAMMY boot (reverted some stuff)
*Fixed led_timeout bug in extweaks.
*Fixed zram stats info for roms without BASH, it's temp solution till we can fix the main script.
*Added new tweaks, Negative mod On/Off via checkbox + advanced wakelock mod, will show all wakelocks that was ON and ended! so we can debug, who drained battery! it's OFF, by default, see MISC tab! added by GM! :)
*Updated New USB drivers from NOTE Update 3, need to test all we got (usb devices and external storage via usb)
*Reduced compression via XZ and reduced memory used for it, kernel bigger but little faster on boot.
*Small new fix to WIFI driver.
*Added interactive to govs, updated to max by myfluxi
*Added code correction for suspend freq + max freq for performance gov.
*Tuned touch screen wakeup and responce, very smooth now.
*Fix to pegasusq by GM
*Fixed GPU undervoltage script, (by myfluxi)
*And more, see GIT's
*Fixed boot for SlimICS!
*Fixed Battery charge low power mode + updated images from SG3
*Added full support for JellyBean ROM from working source thanks for huge help on that with the INIT root files!
*Fixed lots of mall bugs / syntax / descriptions, in all kernel scripts (extweaks and more)
*Added new stuff to extweaks (usb mod change, auto brightness)
*New fix to WIFI driver.
*Improved I/O latency
*Improved disk write to USB storage
*Improved screen wakeup
*Improved screen off state battery saver. (cortex)
*Lots of code fix and porting as always
*Reduced logs to dmesg and logcat, less chat, maybe less drain..
*Restored luzactive gov and removed tweaks for it on screen on/off now people can use the app for it to control settings.
If someone using apps like SETCPU with his own profiles, please do DISABLE in extweaks cortexbrain tab for CPU-TWEAKS! then your profiles will make difference, if it's enabled, then internal script do the work.
*Improved brightness levels, now more bright, was too dark on min..
*Updated to last released recovery by gokhanmoral!
*Reworked all boot structure to support 4 major branches and still give all that i have to all.
*Small change for kernel name, now it's better to find the last update in recovery!
*Tuned the background control process to wait 10 sec on screen off before do all the system/cpu/voltage/and more changes, just give us time to think if we finished with phone :) before it's shutdown to minimum :)
*Uploaded also in .TAR as promised.*Made lots of code fix and BOOT fix, should be ok now.
*VOKU ported new code for RAM, CPU, Power manager from 3.1.Y good work!
*Added boot progress bar, nice to have :)
*FIXED GPS Activation, deleted 4.1C/D (bugs)
*Fixed New boot order for MIUI and SAMMY and SlimICS
Need to test it.
*Fixed the screen shake on touch hold.
*Huge amount of changes to RAM, CPU, Kernel Operations (merged from 3.1.Y + 3.4.Y)
*Found and removed wakeup bug on lock screen!
*Tuned all govs and ported pegasusq from last siyah kernel to restore normal operation with it.
*Added tweak in extweak in screen tab for managing the negative color mod :)
*Voku ported lots of good stuff including new patch to WIFI driver, some problems resolved, need to test for long term.
*Fixed luzactive gov from been too slow.
*Added support for JellyBeens ROM branch! (by gokhanmoral)
*Lots of tuning and code fix, see GIT, it's too much for change log page*Massive PORT and adapt from 3.1.Y kernel by VOKU!
New code for: CPU, RAM, FS, Kernel operations and lots more! see GIT!
Now cpu used 1~10% on 100Mhz! and was like 25~35% so more battery save and more performance.
*Fixed Voltage for cpu reset on screen on/off
*Added new LOGO :) by Crazy-silver
*Arranged CPU govs by performance for awake, and by power save in deepsleep
See Extweaks CPU tab.
*Fixed battery reset on recovery.
*Added new Tweaks to CFS scheduler in CPU tab. tune it only if you know what is it and what it's set.
*Added more tuning, now we get more performance!
*Battery drain reduced due to low cpu use, and allot of stuff.
*Fixed oom_kill_allocating_task set to 0, now it's 1 as recommended.
*Fixed CFS tweaks activation.
*Added CORTEXBRAIN tab in extweaks, now you can control it, best not, but if you like to mess with stuff, then see what it do in initramfs git and change.
*Tuned scary gov should be better now, and removed it from defaul/battery just in case. added abyssplug.
*Switched to more stable compression and optimization level -O3 from Ofast
Should be more stable now. i even see some better benchmarks.
*Improved ROOT Install/Remove in extweaks + check button :)
*Fixed SCARY gov to be more adapted for this kernel.
*Allowed Abyssplug gov to control second CPU on/off
*Ported fix for vibrate for Samsung roms, TNX Gokhanmoral.
Need to test it! so please do.
*FIXED the BATTERY fuel gauge bug! now it's stable as should!
Give it some time to recover from bug to show good drain results.
but it's will stay correct after reboot, (did 10! no problemo!)
*New CPU idle code ported from 3.1.y kernel by VOKU! we now have the most advanced CPU code for SG2 :)
*Lots of changes and restoring and tuning CPU,GOVS,RAM,TWEAKS.
*Tuned data partition to be more resistant to sudden power loose (sod/batt pull and stuff) this is the android default, data=ordered, we had data=writeback, it's faster but less recommended for phones...
So now its safe again.
*Kernel Cleaning Script is build IN! by VOKU no need to run any external clean scripts.
*Small change to BLN, now will obey touch key voltage! only on blink and steady.
*Locked vibrate to min 25% (max 100%) and added code, if less than 25% set 75%, lets see if OK now after long sleep.
*More code updates from mainstream 3.0.y (some stuff was lost, so now i have my own mainstream kernel to update from)
*Tuned MAX freq for standby to 700Mhz
*Fixed UV reset after screen on/off
*Small config changes in INIT scripts / profiles.
*Added scary gov :) it's SLOW gov, good for battery save and will be used for deepsleep, also tuned it to wakeup fast!
added it to all profiles for deepsleep, and to extweaks
*Added more Voltage to CPU, now it's default ICS kernel voltage.
You can now reduce it by using asv group 4 or undervolt by -25 / -50 but test some time if no SOD. or just leave it alone.
*Updated to 3.0.36
*Added TNT to many bugs :laugh:
*Fixed slow wakeups
*Added more +25mv to lower cpu freq ranges to add more stability.
*boosted boot speed.
*Voku helped allot! he added lots of code fixing and updates to filesystem drivers and memory.
*Added new button at extweaks for checking current gps zone config.
*if you like to fix permissions, just push the button at extweaks misc and turn off the screen! fix will begin instantly! if you really need the phone, use it, but best to let it work top 2~3 min, depending on amount of mess and installed apps, it's done my 450 apps in 2 min :)
*we tuned profiles and voku added new stuff to conservative gov! so it's now the most saving battery gov! try it only for deepsleep (screen of gov)
it's slow, but this is what we need! less activity more battery!
*Vibrate should be OK now.
*now if phone is over 50c heat, and you turn off and on the screen. it's will auto drop to 1Ghz and to hotplug gov to cool off..
after temp will drop, and you turn screen on/off all your extweaks settings will be active again! so if was oc to max then you get it back :)
I care about my people :)
*Fixed the vibrate low after some time. + added extweaks interface for it.
*Added touch screen tuning
*Added screen color tuning (extweaks SCREEN tab)
*fixed WIFI driver
*Reduced batt drain
*Added HYPER gov, it's the most powerful gov in my kernel. :)
*Added New BLN from Myfluxi, it's works with aokp and cm9, need to check with original ics.
Lots of new tweaks in BLN tab
*Added lots of new code/bug fix for CPU / RAM / SYSTEM
*Corrected small bugs in extweaks,
*Updated to 3.0.35
*Reverted some commits that i think we can ignore for now. too much experimental.
*Added some more code fixes,
*Ported updated Vibrator driver code.
*Restored USB drivers, usb otg/disk-on-key should work.
*Added ZCACHE and CLEANCACHE this will boost I/O performance and help with heavy loads!
*Added massive amount of code fixing and tuning to RAM, CPU, NET.
*Added ability to boot in to DOWNLOAD(odin) mode from ROM->bootloader (credits to gokhanmoral)
*Tuned all profiles,
*Fixed ZRAM / GPS settings in extweaks!
*Added Fix permissions to extweaks MISC
*Added to system tweak to check if you have AD blocker file already, and if you do, then my adblocker will not be installed, if you dont, then you get one :)
*Added Zram turn off! not recommended, it's will shut down the zcache also. (no battery save from it, just little amount of cpu.)
*Added to GPSREGION option to restore your ROM default config! and one for not to change any config. (default!)
But restore will really work after you reinstall your rom, if you already changed it with my previous kernel version, (if not, new kernel users, then you set to go)
*Added lots of WIFI driver fixing! now Ch 13/14 will work as planed, and 5GHZ band will work as should.
*Added more pressure to save battery tweaks on screen off.
*Added ability to change the sleeping gov in extweaks + sleeping charging gov.
*Rearranged the extweaks CPU tab. now all in good order.
*Restored the Undervolt menu option. use it with care..
*Reduced undervoltage groups from 7 to 5, 6+7 are to low for our CPU.
*Updated to newest Linaro 12.05 GCC 4.7.1 ICS kernel builder! :) + patches to kernel for it to work.
*Patched All GOVS for more speed and battery save on screen off.
*Removed lots of logs generated from kernel to dmesg and logcat, now more quiet kernel and i hope it's will reduce some small battery drain.
*Blocked access to some logs that are written all the time to flash to save the flash and reduce internal cpu operations that we dont need.
*Fixed permissions to /data/anr! (no reboots any more)
*Ported more CPU code fixes.
*Fixed all kind of functions that can crash kernel and stuck the phone. there are more... there are always some more left... but we will get to them :)
*Updated to 3.0.34 Tree
*Added More EXtweaks Options:
Bus Freq, Bus Thresholds, Under voltage Groups, Suspend Freq, Zram Settings, Zram Stats, GPS Time Zone, GENTLE_FAIR_SLEEPERS, ARCH_POWER.
*Fixed and tuned lots of things in cortexbran-tune.sh script Cleaned old unused settings from extweaks xml
*Tuned all profiles.
*Tuned Network scripts, now i get a lot faster data connection!
*Added changes in CPU cores/voltage based on screen on/off
*Added cleaning of lost+found folders on each boot.
*Added WIFI fast sleep on standby.
*Code fixes and charge voltage config.
*Looks like the DATA partition fix at boot working great, and no serious problems, so i removed warning from change log, all cool :)
*Updated to 3.0.33 Tree
*Added Sec Rom NAND backup by gokhanmoral.
*Added lots of updates from SG3 kernel and NOTE(n7000) kernel.
*Added Abyssplug gov from Abyss kernel :) it's set as sleep gov in kernel operation script.
*Added one more level to BUSFREQ 100MHZ was lowest 133Mhz, may save some battery.
*Added LAZY gov and Hotplug
*I have reduced CPU global voltage! to save more power!
*Tuned all GOVS for less freq jumps and more stability,
*Added lowest power to GPU to 700mv by Myfluxi
In my profiles i use MIN 800mv, just in case, but you can test it.
*Made lots of profiles changes, please reset in recovery and set your preferred.
*Added changes to ADB operation, and lots of updates to USB and Misc code fixes.
*Massive script for kernel/rom management made by voku and me :)
It's will work by auto and set lots of tweaks: NET tweaks, GPU tweaks, CPU management, Deep Sleep Tuning, Charging states, and more!
It's name is cortexbrain-tune.sh :)
*Added DATA, CACHE, PRELOAD(sec-rom-system) partitions scan for errors and FIX! every boot!
I hope you want clean partition! there is no kernel / rom that will do that for you. :)
So errors are gathering slowly and some weird problems appear!
Well not any more :)
If no damage then no problems :) and no boot delay!.
*Added TAR kernel 3.2 for ODIN install to fix the recovery.
*Added new WIFI driver from SG3 :)
*Added ported changes to pegasusq GOV
*Tuned all profiles, (please reset and use one that you prefer.)
*New SD FAT32 driver from N7000 ported by Gokhanmoral
*CPU code restore, as was in 2.9 (no sod any more)
*Added fix_permissions script, you can run it via any terminal app or adb.
*Many drivers fixed by many devs, i have ported all :) Thanks to voku, gokhanmoral, myfluxi!
*New ZRAM compression from google, called snappy, it's use very little CPU to work. so ZRAM driver improved allot.
*Updated from source, recovery files and busybox.
*Reduced video ram from 32MB to 16MB, we had 9MB as default, so now more free ram shown. (try to run 1080p video and report if ok, or crap :) )
*Replaced WIFI driver from NOTE N7000 + fixes from lot of sources.
*Added BT drivers (more support, i hope it's will give someone any better compatibility with other devices.)
*Updated CPU code from source (siyah kernel)
*Tuned govs for more power save and performance. (ondemand + pegasusq) now back to ONDEMAND as DEFAULT.
*Added new option to dual mount sdcard+emmc via USB cable, and be able to use them in process of connection :) (one click connect)
See MISC tab in extweaks app :) after you disconnect usb, setting is released.
*Added new voltage code for GPU card and updated to source 3 N7000(NOTE) by myfluxi!
*Fixed STUCK after install on AOKP roms! (if you wait 60 sec with 2.8, rom will boot! now no wait, will boot as normal)
*New WIFI driver ported from N7000 (NOTE phone)
*New updated GPU driver (mali update 3)
*Tuned profiles, switched to pegasusq as default, (i am working on cool tweaking for it)
*Restored ntfs-3g if any one need it, + tweaks for it by gokhanmoral
*Some code fixing and settings tuning.
*Updated to 3.0.32 (lots of fixing)
*Updated new WIFI driver. (siyah kernel)
*Updated CPU code fixes from SOURCE(siyah kernel)
*Added all kind of tweaks and code fix from main line kernels.
*Improved support for SAMMY ROMS (ICS original)
*Improved battery drain, (Now Less drained on standby)
*Removed some addons that made SOD in many cases, now stable.
*Tuned my tweaks and scripts. (see initramfs) + updates from (siyah)
*Fixed init for MIUI roms, (restored + small changes)
*Added more cpu stability code from faux123
*Fixes to logger code and android binder.
*Messed allot with WIFI driver, work ok now.
*Tuned GPS permissions, should work now with non aokp roms.
*Added all new updates from all great devs :)
*fixed the init scripts to remove the encryption on boot.
*changed the charger voltage to 700mv and misc charger to 650, usb to 500.
cant be changed to different state via extweaks.
*compressed with XZ compression to allow moving all the modules inside the kernel image, now it's can be used as tar for odin.
*Added siyah in kernel name to activate dual boot support, as requested by Gokhan.
*tuned touch screen.
*tuned cpu
*tuned network
*updated recovery from ghokan.
*many new/updated drivers.
for full log see my git for initramfs and kernel.
kernel compressed with zlo the lowest compression for max speed.
so its was to big to fit the boot partition, i had to move the modules out of kernel.
so from version 2.3 you cant update via tar and odin.
so use recovery only.
or update the supplied modules to /system/lib/modules/
if you install via recovery, nothing needs to be done.
in case of emergency use 1.1 kernel in tar, then go to recovery and update to 2.X :)
*Tuned kernel for more battery saving
without reducing performance,
Now kernel will hold more in deep sleep.
*Switched to Linaro 12.4 gcc 4.7 toolchain. kernel is smaller now.
*Added CPU power management ported from NEXUS kernel.
*Made all kind of fixing and function exporting and cleaning warnings,
*Battery life improved by reducing activity in deep sleep, changes by myfluxi
*Added WIFI code fixes
*Added Network code fixes
*Tuned kernel tweak
*Added touch screen control by user, ground base code by myfluxi , now i need to put it to extweaks, still work to do..
*Updated to 3.0.31!
*Lots of cleanup and tuning to system tweaks,
*Lots of changes to recovery by gokhanmoral all for second rom and options to control it.
*Ported massive amount of code from sensation device kernel!
it's common Linux changes only, lots of bug fixing and function speedups!
see git, if you like something to read before bed :)
*Added some change to wifi to preserve more battery on sleep and wifi on.
*Fixed support for voodoo louder driver/app.
*Added lots of fixing to WIFI driver. see git.
*Fixed code for USB host and mouse/keyboard plug in.
*Added ability to change cpu min/max frequency in extweaks app.
*I have made huge amount of changes to kernel code, lots of ports from other great developers!
*tuned all profiles! you MUST clear profiles in recovery after install, and set one you like.
*For now we have static 15 CPU freq steps 1500->100, no change can be done without hot boot, so for stability i set it static.
*Added fix for cpu stats and stalls(hangs).
*New WIFI driver + lots of changes to it already.
*support for NTT-Docomo variant (you will need to “echo 16 > /proc/sys/kernel/rom_feature_set” to get gps working.
Step Table:
=========
5-steps: 1200, 1000, 800, 500, 200
6-steps: 1400, 1200, 1000, 800, 500, 200
7-steps: 1500, 1400, 1200, 1000, 800, 500, 200 (default.)
8-steps: 1600, 1400, 1200, 1000, 800, 500, 200, 100
9-steps: 1600, 1500, 1400, 1200, 1000, 800, 500, 200, 100
15-steps: 1500, 1400, 1300, 1200, 1100, 1000, 900, 800, 700, 600, 500, 400, 300, 200, 100
Have fun
Information Page​
ZRAM (aka CompCache aka RAMZSwap)
ZRAM is an updated version formally known as CompCache and RAMZSwap. It was originally designed for 2.6.38.xx kernels, I have backported to our 3.0.xx kernel. ZRAM allows real-time compression of memory objects in RAM thus reducing memory pressure for the Linux kernel and can keep more apps in memory longer (more apps in RAM == better performance, less fetching from slower MMC or SDCard). Compression, however, is not Free. Some CPU cycles are required to do the compress/decompression, so there's a slight penalty for it. The original CompCache / RAMZSwap required a user space binary to control its behavior which adds additional penalty to performance, but the new version ZRAM eliminated the need for a separate dedicated daemon, thus reducing the overhead and increased performance from the old CompCache by 20%. Therefore, with the newer implementation of ZRAM interface, the performance penalty is almost negligible.
Info about Cortexbrain-tune.sh and more!
# ==============================================================
# Logic Explanations
#
# This script will manipulate all the system / cpu / battery behavior
# Based on chosen EXTWEAKS profile+tweaks and based on SCREEN ON/OFF state.
#
# When User select battery/default profile all tuning will be toward battery save!
# But user loose performance -20% and get more stable system and more battery left.
#
# When user select performance profile, tuning will be to max performance on screen ON!
# When screen OFF all tuning switched to max power saving! as with battery profile,
# So user gets max performance and max battery save but only on screen OFF.
#
# This script change governors and tuning for them on the fly!
# Also switch on/off hotplug CPU core based on screen on/off.
# This script reset battery stats when battery is 100% charged.
# This script tune Network and System VM settings and ROM settings tuning.
# This script changing default MOUNT options and I/O tweaks for all flash disks and ZRAM.
#
# TODO: add more description, explanations & default vaules ...
#
# ==============================================================
# Explanations
# ==============================================================
#
# oom_kill_allocating_task: If this is set to zero, the OOM killer will scan through the entire tasklist and select a task based on heuristics to kill.
#
# This normally selects a rogue memory-hogging task that frees up a large amount of memory when killed.
# If this is set to non-zero, the OOM killer simply kills the task that triggered the out-of-memory condition.
# This avoids the expensive tasklist scan.
#
# echo XXX > /proc/sys/vm/oom_kill_allocating_task;
# dirty_expire_centisecs: This tunable is used to define when dirty data is old enough to be eligible for writeout by the pdflush daemons.
#
# It is expressed in 100'ths of a second. Data which has been dirty in memory for longer than this interval will be written
# out next time a pdflush daemon wakes up.
#
# echo XXX > /proc/sys/vm/dirty_expire_centisecs;
# dirty_writeback_centisecs: The pdflush writeback daemons will periodically wake up and write "old" data out to disk.
#
# This tunable expresses the interval between those wakeups, in 100'ths of a second.
# Setting this to zero disables periodic writeback altogether.
#
# echo XXX > /proc/sys/vm/dirty_writeback_centisecs;
# drop_caches: Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free.
#
# To free pagecache:
# echo 1 > /proc/sys/vm/drop_caches
#
# To free dentries and inodes:
# echo 2 > /proc/sys/vm/drop_caches
#
# To free pagecache, dentries and inodes:
# echo 3 > /proc/sys/vm/drop_caches
# page-cluster: page-cluster controls the number of pages which are written to swap in a single attempt. The swap I/O size.
#
# It is a logarithmic value - setting it to zero means "1 page", setting it to 1 means "2 pages", setting it to 2 means "4 pages", etc.
# The default value is three (eight pages at a time). There may be some small benefits in tuning this to
# a different value if your workload is swap-intensive. (default 3)
#
# echo XXX > /proc/sys/vm/page-cluster;
# laptop_mode: laptop_mode is a knob that controls "laptop mode". When the knob is set, any physical disk I/O
#
# (that might have caused the hard disk to spin up, see /proc/sys/vm/block_dump) causes Linux to flush all dirty blocks.
# The result of this is that after a disk has spun down, it will not be spun up anymore to write dirty blocks,
# because those blocks had already been written immediately after the most recent read operation.
# The value of the laptop_mode knob determines the time between the occurrence of disk I/O and when the flush is triggered.
# A sensible value for the knob is 5 seconds. Setting the knob to 0 disables laptop mode.
#
# echo XXX > /proc/sys/vm/laptop_mode;
# rr_interval: rr_interval or "round robin interval". This is the maximum time two SCHED_OTHER (or SCHED_NORMAL, the common scheduling policy)
#
# tasks of the same nice level will be running for, or looking at it the other way around, the longest duration two tasks
# of the same nice level will be delayed for. When a task requests cpu time, it is given a quota (time_slice) equal to the
# rr_interval and a virtual deadline, while increasing it will improve throughput, but at the cost of worsening latencies.
#
# echo XXX > /proc/sys/kernel/rr_interval;
# dirty_background_ratio: Contains, as a percentage of total system memory, the number of pages at which the pdflush background writeback daemon will
# start writing out dirty data.
#
# echo XXX > /proc/sys/vm/dirty_background_ratio;
# dirty_ratio: Contains, as a percentage of total system memory, the number of pages at which a process which is generating disk writes will itself start writing out dirty data.
#
# echo XXX > /proc/sys/vm/dirty_ratio;
# iso_cpu: Setting this to 100 is the equivalent of giving all users SCHED_RR access and setting it to 0 removes the ability to run any pseudo-realtime tasks.
#
# echo XXX > /proc/sys/kernel/iso_cpu;
# ===============
#
# Kernel-Settings
#
# ===============
# msgmni: The msgmni tunable specifies the maximum number of system-wide System V IPC message queue identifiers (one per queue).
#
# echo XXX > /proc/sys/kernel/msgmni;
# sem: This file contains 4 numbers defining limits for System V IPC semaphores. These fields are, in order:
#
# SEMMSL - the maximum number of semaphores per semaphore set.
# SEMMNS - a system-wide limit on the number of semaphores in all semaphore sets.
# SEMOPM - the maximum number of operations that may be specified in a semop(2) call.
# SEMMNI - a system-wide limit on the maximum number of semaphore identifiers.
#
# The default values are "250 32000 32 128".
#
# echo XXX XXX XXX XXX > /proc/sys/kernel/sem;
# ===============
#
# CPU-Settings
#
# ===============
# scaling_governor: Using Frequency Scaling Governors -> cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
#
# -> http://publib.boulder.ibm.com/infoc...?topic=/liaai/cpufreq/TheOndemandGovernor.htm
#
# conservative - Increases frequency step by step, decreases instantly
# ondemand - Uses the highest CPU frequency when tasks are started, decreases step by step
# performance - CPU only runs at max frequency regardless of load
# powersave - CPU only runs at min frequency regardless of load
#
# echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# sched_latency_ns: Targeted preemption latency for CPU-bound tasks.
#
# echo XXX > /proc/sys/kernel/sched_latency_ns;
# sched_batch_wakeup_granularity_ns: Wake-up granularity for SCHED_BATCH.
#
# echo XXX > /proc/sys/kernel/sched_batch_wakeup_granularity_ns;
# sched_wakeup_granularity_ns: Wake-up granularity for SCHED_OTHER.
#
# echo XXX > /proc/sys/kernel/sched_wakeup_granularity_ns;
# sched_compat_yield: Applications depending heavily on sched_yield()'s behavior can expect varied performance because of the way CFS changes this, so turning on the sysctls is recommended.
#
# echo XXX > /proc/sys/kernel/sched_compat_yield;
# sched_child_runs_first: The child is scheduled next after fork; it's the default. If set to 0, then the parent is given the baton.
#
# echo XXX > /proc/sys/kernel/sched_child_runs_first;
# sched_min_granularity_ns: Minimum preemption granularity for CPU-bound tasks.
#
# echo XXX > /proc/sys/kernel/sched_min_granularity_ns;
# sched_features: NO_NEW_FAIR_SLEEPERS is something that will turn the scheduler into a more classic fair scheduler ?!?
#
# echo NO_NORMALIZED_SLEEPER > /sys/kernel/debug/sched_features;
# sched_stat_granularity_ns: Granularity for collecting scheduler statistics. [1/0]
#
# echo XXX > /proc/sys/kernel/sched_stat_granularity_ns;
# sched_rt_period_us: The default values for sched_rt_period_us (1000000 or 1s) and sched_rt_runtime_us (950000 or 0.95s).
#
# This gives 0.05s to be used by SCHED_OTHER (non-RT tasks). These defaults were chosen so that a run-away realtime
# tasks will not lock up the machine but leave a little time to recover it. By setting runtime to -1 you get the old behaviour back.
# threads-max: Gets/sets the limit on the maximum number of running threads system-wide.
#
# echo XXX > /proc/sys/kernel/threads-max;
# ===============
#
# Memory-Settings
#
# ===============
# swappiness: Swappiness is a parameter which sets the kernel's balance between reclaiming pages from the page cache and swapping process memory.
#
# The default value is 60. If you want kernel to swap out more process memory and thus cache more file contents increase the value.
# Otherwise, if you would like kernel to swap less decrease it. A value of 0 means "do not swap unless out of free RAM",
# a value of 100 means "swap whenever possible".
#
# echo XXX > /proc/sys/vm/swappiness;
# overcommit_memory: Controls overcommit of system memory, possibly allowing processes to allocate (but not use) more memory than is actually available.
#
# 0 - Heuristic overcommit handling.
# Obvious overcommits of address space are refused. Used for a typical system.
# It ensures a seriously wild allocation fails while allowing overcommit to reduce swap usage.
# root is allowed to allocate slighly more memory in this mode. This is the default.
# 1 - Always overcommit.
# Appropriate for some scientific applications.
# 2 - Don't overcommit.
# The total address space commit for the system is not permitted to exceed swap plus a
# configurable percentage (default is 50) of physical RAM. Depending on the percentage you use,
# in most situations this means a process will not be killed while attempting to use already-allocated memory but
# will receive errors on memory allocation as appropriate.
# overcommit_ratio: Percentage of physical memory size to include in overcommit calculations.
#
# Memory allocation limit = swapspace + physmem * (overcommit_ratio / 100)
#
# swapspace = total size of all swap areas
# physmem = size of physical memory in system
# vfs_cache_pressure: Controls the tendency of the kernel to reclaim the memory which is used for caching of directory and inode objects.
#
# At the default value of vfs_cache_pressure = 100 the kernel will attempt to reclaim dentries and inodes at a "fair" rate with respect
# to pagecache and swapcache reclaim. Decreasing vfs_cache_pressure causes the kernel to prefer to retain dentry and inode caches.
# Increasing vfs_cache_pressure beyond 100 causes the kernel to prefer to reclaim dentries and inodes.
#
# echo XXX > /proc/sys/vm/vfs_cache_pressure;
# min_free_kbytes: This is used to force the Linux VM to keep a minimum number of kilobytes free.
#
# The VM uses this number to compute a pages_min value for each lowmem zone in the system. Each lowmem zone gets a number of reserved
# free pages based proportionally on its size.
#
# echo XXX > /proc/sys/vm/min_free_kbytes;
# ===============
#
# I/O-Settings
#
# ===============
# read_ahead_kb: Optimize for read-throughput (cache-value).
#
# example of C-program for finding correct vaules for Linux
# -> http://pastebin.com/Rg6qVJQH
#
# fifo_batch: Controls the maximum number of requests per batch.
#
# This parameter tunes the balance between per-request latency and aggregate
# throughput. When low latency is the primary concern, smaller is better (where
# a value of 1 yields first-come first-served behaviour). Increasing fifo_batch
# generally improves throughput, at the cost of latency variation.
# back_seek_max: This parameter, given in Kbytes, sets the maximum גdistanceג
#
# By default, this parameter is set to 16 MBytes.
# This distance is the amount of space from the current head location to the sectors that are backward in terms of distance.
# This idea comes from the Anticipatory Scheduler (AS) about anticipating the location of the next request.
# This parameter allows the scheduler to anticipate requests in the גbackwardג
nextג
# back_seek_penalty: This parameter is used to compute the cost of backward seeking.
#
# If the backward distance of a request is just (1/back_seek_penalty) from a גfrontג
# the seeking cost of the two requests is considered equivalent and the scheduler will not bias toward one or the other
# (otherwise the scheduler will bias the selection to גfront direction requests).
# Recall, the CFQ has the concept of elevators so it will try to seek in the current direction as much as possible to avoid the latency associated with a seek.
# This parameters defaults to 2 so if the distance is only 1/2 of the forward distance, CFQ will consider the backward request to be close enough
# to the current head location to be גcloseג
# fifo_expire_async: This particular parameter is used to set the timeout of asynchronous requests.
#
# Recall that CFQ maintains a fifo (first-in, first-out) list to manage timeout requests.
# In addition, CFQ doesnגt check the expired requests from the fifo queue after one timeout is dispatched (i.e. there is a delay in processing the expired request).
# The default value for this parameter is 250 ms. A smaller value means the timeout is considered much more quickly than a larger value.
# fifo_expire_sync: This parameter is the same as fifo_expire_async but for synchronous requests.
#
# The default value for this parameter is 125 ms.
# If you want to favor synchronous request over asynchronous requests, then this value should be decreased relative to fifo_expire_asynchronous.
# slice_sync: Remember that when a queue is selected for execution, the queues IO requests are only executed for a certain amount of time (the time_slice) before switching to another queue.
#
# This parameter is used to calculate the time slice of the synchronous queue.
# The default value for this parameter is 100 ms, but this isnגt the true time slice.
# Rather the time slice is computed from the following: time_slice = slice_sync + (slice_sync / 5 * 4 ג io_priority)).
# If you want the time slice for the synchronous queue to be longer (perhaps you have more synchronous operations), then increase the value of slice_sync.
# slice_async: This parameter is the same as slice_sync but for the asynchronous queue.
#
# The default is 40 ms. Notice that synchronous operations are preferred over asynchronous operations.
# slice_asyn_rq: This parameter is used to limit the dispatching of asynchronous requests to the device request-queue in queueגs slice time.
#
# This limits the number of asynchronous requests are executed (dispatched).
# The maximum number of requests that are allowed to be dispatched also depends upon the io priority.
# The equations for computing the maximum number of requests is, max_nr_requests = 2 * (slice_async_rq + slice_async_rq * (7 ג io_priority)). The default for slice_async_rq is 2.
# slice_idle: This parameter is the idle time for the synchronous queue only.
#
# In a queueגs time slice (the amount of time operations can be dispatched), when there are no requests in the synchronous queue CFQ will not switch to another queue
# but will sit idle to wait for the process creating more requests. If there are no new requests submitted within the idle time, then the queue will expire.
# The default value for this parameter is 8 ms. This parameters can control the amount of time the schedulers waits for synchronous requests.
# This can be important since synchronous requests tend to block execution of the process until the operation is completed. Consequently,
# the IO scheduler looks for synchronous requests within the idle window of time that might come from a streaming video application or something that needs synchronous operations.
# quantum: This parameter controls the number of dispatched requests to the device queue, request-device (i.e. the number of requests that are executed or at least sent for execution).
#
# In a queueגs time slice, a request will not be dispatched if the number of requests in the device request-device exceeds this parameter.
# For the asynchronous queue, dispatching the requests is also restricted by the parameter slice_async_rq. The default for this parameter is 4.
# ===============
#
# BFQ-Settings
#
# ===============
# timeout_sync, timeout_async: The maximum amount of disk time that can be given to a task once it has been selected for service, respectively for synchronous and asynchronous queues.
#
# It allows the user to specify a maximum slice length to put an upper bound to the latencies imposed by the scheduler.
# max_budget: The maximum amount of service, measured in disk sectors, that can be provided to a queue once it is selected (of course within the limits of the above timeouts).
#
# According to what we said in the description of the algoritm, larger values increase the throughput for the single tasks and for the system,
# in proportion to the percentage of sequential requests issued. The price is increasing the maximum latency a request may incur in.
# The default value is 0, which enables auto-tuning: BFQ tries to estimate it as the maximum number of sectors that can be served during timeout_sync.
# max_budget_async_rq: In addition to the max_budget, limit, async queues are served for a maximum number of requests, after that a new queue is selected.
# low_latency: If equal to 1 (default value), interactive and soft real-time applications are privileged and experience a lower latency.
# more Informations can be found here -> http://doc.opensuse.org/documentation/html/openSUSE/opensuse-tuning/part.tuning.kernel.html
NEW KERNEL NEW KERNEL \/
ram3n said:
Hey welcome matey,
Nice to see another awesome kernel.
Hope you the best!
Sure this one will rock against siyah.
Cheers
Sent via my s2 monster
Click to expand...
Click to collapse
You fast!
I added 2 post for more info..
If you took the second page, i will ask you in future to add some stuff about kernel for all people
thanks dorimanx
now i will try your kernel
can i use setcpu to set cpu Govs?
thank you
robertus23 said:
thanks dorimanx
now i will try your kernel
can i use setcpu to set cpu Govs?
thank you
Click to expand...
Click to collapse
yes you can, all that you want, will work
Freedom for all
thank you dorimanx
dorimanx said:
yes you can, all that you want, will work
Freedom for all
Click to expand...
Click to collapse
If I remember your kernel from the htc hd2 then I'll expect nothing less
Will test it and report back as soon as possible :]
Welcome!
Have a good day :]
Good to see you here dorimanx. Loved the hd2 kernels!
Sent from my GT-I9100 using xda premium
This is bomb ... Bomb kernel for all ics Rom... see its benchmark...!! Its really a beast of all kernel...
What about zram? How to check and activate..? Till today I cud not get it to work on your pre release kernel... sorry..!! I will wait for it..
TapaTalk Gnex Galaxy Sii
so far everything work perfect-it's mega speed kernel,no UV,no set cpu and bench is 4813 on quadrand
fantastic
thanks
The king of Kernels is here.
Needless to say I'm another old HD2 user, and i regard you as one of the main Developers responsible for the HD2's longevity.
The S2 community is in for a treat.
Welcome and thanks....(Again).
dorimanx said:
You fast!
I added 2 post for more info..
If you took the second page, i will ask you in future to add some stuff about kernel for all people
Click to expand...
Click to collapse
Haha, Yep others always call me The Fast
No problem mate, I will do it
buzzboy said:
The king of Kernels is here.
Needless to say I'm another old HD2 user, and i regard you as one of the main Developers responsible for the HD2's longevity.
The S2 community is in for a treat.
Welcome and thanks....(Again).
Click to expand...
Click to collapse
thanks! it's nice to be remembered!
My HD2 kernel and ROM still supported by me.
I am now in two fronts
Enjoy new power for SG2
I will try to make it best for all to enjoy!
Please report any bugs or suggestions,
I will do my best to add/fix all i can.
Do this kernel works on AOKP based roms?? Thanks
GLunPy said:
Do this kernel works on AOKP based roms?? Thanks
Click to expand...
Click to collapse
Yes !
10 chars
Sent from my GT-I9100 using xda premium
how about aosp? i tried it now but unfortunately almost bricked my device. installed via cwm, restarted and screen went all pixelated and stuck on bootscreen with battery heating up fast
buzzboy said:
The king of Kernels is here.
Needless to say I'm another old HD2 user, and i regard you as one of the main Developers responsible for the HD2's longevity.
The S2 community is in for a treat.
Welcome and thanks....(Again).
Click to expand...
Click to collapse
Sounds good I'm currently so satisfied with my setup that I ain't flashing nothing, but I will definitly keep an eye on this thread.
dead0 said:
how about aosp? i tried it now but unfortunately almost bricked my device. installed via cwm, restarted and screen went all pixelated and stuck on bootscreen with battery heating up fast
Click to expand...
Click to collapse
what rom do you have?
is it ICS based?
I have tested on CM9, and Original Samsung ICS,
It's configured for MIUI also.. (I didnt tried yet)

[KERNEL] Bricked-Kernel Grouper/Tilapia

Welcome to the most customizable N7 kernel on xda
Bricked-Kernel Nexus 7 (grouper)
Replaced NVIDIA's strange hotplug manager with my own: tegra_mpdecision​
Features:
Based upon Googles tegra3 source
Fixed section mismatches
Various other fixes (look @ github)
Compiled with gcc4.7.2 toolchain (linaro 09.12)
Replaced NVIDIAs hotplug manager with tegra_mpdecision (better battery life + performance)
Extensive sysfs interface for mpdecision with all the tuneables you want
Highly modified ondemand governor for tegra3 & mpdecision (this is the only recommended governor atm)
Fixed usage of 51Mhz clock
GPU OC (416/484/520Mhz)
Truly variant free CPU OC for all devices (51 - 1600Mhz)
Fixed max cpufreq resets throughout the kernel
All cores now use the max frequency (before: only in singlecore, otherwise -100Mhz)
Undervolting (faux123)
Default clocks: 102min & 1300max (+100Mhz overclocked) & 475 Maxscroff
earlysuspend/lateresume for ondemand including special screen off settings to save power
Aroma Installer by amarullz
cmdline interface for cpu min/max/maxscroff/gpuoc/scheduler/governor
---Just flash the kernel with your desired settings, no more need for oc apps. Reflash if you want to change sth. It's that easy!
FSync Control by Ezekeel
export t3 variant to debugfs by faux123 (adb shell cat /sys/kernel/debug/t3_variant)
lowered panel min brightness to 8
ZRAM
enabled NFSv3&4
Check the compare links for the rest ​
Where is tha Changelog???
There will be no more changelogs.
Instead the download pages were outfitted with compare links to github for each download.​
How to install?
Flash through recovery. #done.​
Where to complain about errors/bugs?
Please use the Issuetracker for bugs/errors/feature wishes!
Issuetracker @ https://code.google.com/p/bricked/issues/entry
[email protected]
IRC Chat: Freenode IRC #bricked​
Download:
No Guarantees! If it kills your grandmother or your device, I am NOT responsible! If you understand this:
(If you download, please hit Thanks below my post! Thank you!)
>>> DOWNLOAD <<<​
Donor List:​
> Hall of fame <
With special thanks to all N7 piggy bank donors!
Thank you very much!​
Source:
​
Benchmark:
Knowledge base:
What is tegra_mpdecision?
100% kernel based multi core decision! (should cpu1/2/3 be online or not, do we need the low-power/ninja core now?)
This replaces the stock nvidia hotplug solution.
Check /sys/kernel/tegra_mpdecision/conf/ for the configuration.
startdelay = time until mpdecision starts doing it's magic (20000)
delay = time between checks (130)
pause = if something else plugs in the cpu, fall asleep for 10000ms (10 secs)
scroff_single_core = Force low-power mode if screen is off (1)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
min_cpus = min cpus to be online, cannot be < 1. Default: 1
max_cpus = max cpus to be online, cannot be > 4. (if you set it to 2 and min_cpus to 1 you will basically have a dualcore) Default: 4
idle_freq = a value against that will be checked if a core +/- is requested. (475000)
lpcpu_up_hsyteresis = minimum number of requests that have to be send in order to switch to low-power mode (4)
lpcpu_down_hsyteresis = minimum number of requests that have to be send in order to switch to g-mode (quadcore-mode). Overridden by a requested freq that is higher than the max supported lp-mode frequency. (2)
If cpu0 is below that value and a core up of another cpu is requested, nothing will happen.
If any other cpu is above that value and a core down of that cpu is requested, nothing will happen. (otherwise it would now put down that cpu even though it is still working, which isn't what we want)
Hot plug thresholds (aka now it gets 'complicated')
This small formula calculates which value will be used: (number_of_cpus_online - 1) * 2
The result of this formula will be the nwns_threshold where a new cpu is hotplugged.
The result of this formula + 1 will be the nwns_threshold where a cpu is unplugged.
nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)
Example:
One cpu is online.
(1 - 1) * 2 = 0 ergo:
nwns_threshold_0 = cpu1 will be hotplugged at this value
((1 - 1) * 2) + 1 = 1
nwns_threshold_1 = cpu0 will be unplugged at this value
This will regulate when we switch to lp-mode, effectively replacing the quadcore g-mode core with the ninja lp-mode core.
Two cpus are online.
(2 - 1) * 2 = 2 ergo:
nwns_threshold_2 = cpu2 will be hotplugged at this value
((2 - 1) * 2) + 1 = 3
nwns_threshold_3 = cpu1 will be unplugged at this value
etc...
(all times are in ms)
If you want to see the mpdecision magic happening:
Code:
adb shell
cat /proc/kmsg | grep 'MPDEC'
mpdecision's input event boost, aka project butter
This will boost your min cpu speed if you touch the screen or press a button and gives you full control.
In those events the min cpu freq will be risen to a predefined value (look below) on every online cpu. This boosts overall reaction times and smoothness a lot. (works similar to the qcom mpdecision binary)
Configuration files:
[email protected]:/sys/kernel/tegra_mpdecision/conf # ls
boost_enabled
boost_freqs
boost_time
All of them work like the usual sysfs files, except one special case:
boost_freqs will list all frequencies from cpu 0 to cpu x. Cpu 3 and any following cpu will share one frequency.
To change those frequencies echo the cpu number + the frequency in khz. To change the boost freq of cpu3 (and 4,5,6,7,8, etc) the echo would look as follows:
Code:
echo "3 1026000" > /sys/kernel/tegra_mpdecision/conf/boost_freqs
for cpu0:
Code:
echo "0 1026000" > /sys/kernel/tegra_mpdecision/conf/boost_freqs
Defaults:
Code:
cat /sys/kernel/tegra_mpdecision/conf/boost_freqs
910000
910000
760000
620000
Recommended governor?
Ondemand.​Why do I have no WLAN?
This kernel is too big for our boot.img with WLAN included into the kernel, so it is built as a module. That means it needs to be inserted into the kernel upon boot up, which needs to be automated for maximum comfort = userinit (init.d) support.
The zip adds init.d support to your ramdisk, if that fails for some reason the wlan module cannot be inserted.
if
Code:
adb shell lsmod
doesn't show this:
Code:
tun 14060 0 - Live 0x00000000
cifs 239646 0 - Live 0x00000000
bcmdhd 433083 0 - Live 0x00000000
Then init.d support is probably missing.
You can test it by going to /system/etc/init.d/ and executing 00wlan.
Code:
adb shell
su
. /system/etc/init.d/00wlan
Wait a few seconds and try to enable wifi and repeat the above lsmod command (should now show bcmdhd as live, you can execute 01cifs and 02tun too).
If WLAN now works, init.d support is missing.
You need to have busybox installed in order to be able to get init.d support going, this shouldn't be a problem for most people, since it is usually installed when rooting your phone anyway (and who does unlock but not root their phone? :/)
It does not matter if busybox is installed in /system/bin or /system/xbin, my script will detect the location upon flashing and patch the ramdisk accordingly.
If no busybox is found, the script will add init.d support to your ramdisk with the default location: /system/xbin/busybox. All you need to do is install busybox there and reboot your phone.
​
show-p1984 said:
Knowledge base:
(under construction)
tegra_mpdecision manual:
coming soon(tm)
Click to expand...
Click to collapse
looks great is this kernal compatible with cm10 based roms such as paranoid android
Flypants101010 said:
looks great is this kernal compatible with cm10 based roms such as paranoid android
Click to expand...
Click to collapse
Yes, ofc
Running cm10 nightlies myself.
show-p1984 said:
Yes, ofc
Running cm10 nightlies myself.
Click to expand...
Click to collapse
All AOSP roms work with Bricked
* Hello World *
What tweaks did you make to on-demand, if you don't mind me asking? The only thing I've noticed is that frequency switching seems to happen faster & more often.
Feel like flashing something tonight!
Sent from my Nexus 7 using xda premium
I tried flashing this a few times and it fails with each try.
Dabaum said:
What tweaks did you make to on-demand, if you don't mind me asking? The only thing I've noticed is that frequency switching seems to happen faster & more often.
Click to expand...
Click to collapse
I mostly adapted it to work with the lpcore while the screen is on and also with special power saving setting while the screen is off.
The 2 phase frequency was changed to accomplish that.
It also applies a powersave bias while screen is off.
Additionally I changed the settings to allow faster scaling with less load. (70% > freq incr)
Source is currently being uploaded, but since I kept the history intact it is taking ages. You can look it up there in more detail once the source is up
airmaxx23 said:
I tried flashing this a few times and it fails with each try.
Click to expand...
Click to collapse
With what message?
I guess because your recovery does not identify your device as 'grouper'.
show-p1984 said:
With what message?
I guess because your recovery does not identify your device as 'grouper'.
Click to expand...
Click to collapse
It just says failed, I've had no problems flashing anything else and I'm flashing mutilple times a day usually.
airmaxx23 said:
It just says failed, I've had no problems flashing anything else and I'm flashing mutilple times a day usually.
Click to expand...
Click to collapse
It most certainly does not say "failed" and nothing else. Look harder.
Using twrp recovery me and my beta testee had no problems at all.
show-p1984 said:
It most certainly does not say "failed" and nothing else. Look harder.
Using twrp recovery me and my beta testee had no problems at all.
Click to expand...
Click to collapse
It says "unable to open zip file. Error flashing zip."
show-p1984 said:
Yes, ofc
Running cm10 nightlies myself.
Click to expand...
Click to collapse
And just to be clear, with non-CM based ones as well? I'm running the 'Glazed' ROM....
airmaxx23 said:
It just says failed, I've had no problems flashing anything else and I'm flashing mutilple times a day usually.
Click to expand...
Click to collapse
Nothing wrong with the zipfile, maybe corrupted download? did you do md5 hash check before flash?
It's either your custom recovery or a corrupted download, period.
ps. Happy Flashing.
airmaxx23 said:
It says "unable to open zip file. Error flashing zip."
Click to expand...
Click to collapse
corrupt download? checked md5/sha1?
corrupt phone upload? checked md5/sha1?
friedsonjm said:
And just to be clear, with non-CM based ones as well? I'm running the 'Glazed' ROM....
Click to expand...
Click to collapse
As long as it is AOSP you should be fine.
But just try it and report back, then we are all a bit more enlightened
(Sorry, I can't possibly test all the ROMs out there ^^)
T-junk said:
Nothing wrong with the zipfile, maybe corrupted download? did you do md5 hash check before flash?
It's either your custom recovery or a corrupted download, period.
ps. Happy Flashing.
Click to expand...
Click to collapse
If I try downloading it directly to my tablet the resulting file is only 17.51K in size, downloading it with a computer takes care of the problem.
airmaxx23 said:
It says "unable to open zip file. Error flashing zip."
Click to expand...
Click to collapse
I get the same.
Sent from my Nexus 7 using xda premium
airmaxx23 said:
If I try downloading it directly to my tablet the resulting file is only 17.51K in size, downloading it with a computer takes care of the problem.
Click to expand...
Click to collapse
StrangerWeather said:
I get the same.
Click to expand...
Click to collapse
I guess same problem for you StangerWeather.
Try downloading on your pc, I will look into that webserver issue tomorrow. (or maybe it's a chrome issue? who knows ^^)

[KERNEL] Bricked-Kernel Mako

Welcome to the most customizable N4 kernel on xda
Bricked-Kernel Nexus 4 (mako)​
Features:
* Based upon Googles msm 3.4 source
* Various other fixes (look @ github)
* Compiled with gcc4.7.2 toolchain (linaro 09.12)
* -O3 optimized
* Snapdragon S4 & CortexA15 optimizations
* Sweep2wake
(Disabled as default, activate through an app like KControl or over sysfs: echo 1 > /sys/android_touch/sweep2wake)
* DoubleTap2Wake
(Disabled as default, activate through an app like KControl or over sysfs: echo 1 > /sys/android_touch/doubletap2wake)
* replaced qcoms hotplug binary with msm_mpdecision (IN-KERNEL, better battery life + performance)
* Extensive sysfs interface for mpdecision with all the tuneables you want (/sys/kernel/msm_mpdecision/)
* replaced the thermald binary with my IN-KERNEL solution. (/sys/kernel/msm_thermal/)
* export krait version to: /sys/kernel/debug/krait_variant
* modified ondemand governor
* Allow OC up to 1,83Ghz, faux123 (from a thermal point of view that is now SAFE)
* Allow UC down to 94,5Mhz
* Fixed min cpufreq resets
* Undervolting (faux123)
* Default clocks: 384min & 1512max
Zip features:
* ramdisk module insertion
* removes governor overrides from the ramdisk
* adds init.d support to your ramdisk (if not already supported)
Check the compare links for the rest ​
Where is tha Changelog???
There will be no more changelogs.
Instead the download pages were outfitted with compare links to github for each download.​
What is sweep2wake?
How to install?
Flash through recovery. #done.​
How to uninstall?
Flash this through recovery:
Bricked_uninstaller
Bye.​
Where to complain about errors/bugs?
Please use the Issuetracker for bugs/errors/feature wishes!
Issuetracker @ https://github.com/showp1984/bricked-mako/issues
[email protected]
IRC Chat: Freenode IRC #bricked​
Download:
No Guarantees! If it kills your grandmother or your device, I am NOT responsible! If you understand this:
(If you download, please hit Thanks below my post! Thank you!)
>>> DOWNLOAD <<<
​
Donor List:​
> Hall of fame <
Thank you very much!​
Stock Nexus4 JELLYBEAN JWR boot.img (flash this if you come from another kernel)
Source:
​
What is msm_thermal?
Kernel based 3-phase thermal control!
This replaces your /system/bin/thermald binary which is renamed by the installer to thermald_bck.
It will throttle your cpu speed to keep it cool and unleash it if the cpu has cooled down enough. (3 phases: low, mid and high)
Check /sys/kernel/msm_thermal/conf/ for the thermal configuration
allowed_max_high = highest threshold (phase 3)
allowed_max_low = remove the throttling if we cooled down to this (clr_thrshold)
allowed_max_freq = max frequency if throttled (limit)
[...]mid[...] = same as above, just for phase 2
[...]low[...] = Lowest threshold (phase 1)
check_interval_ms = how often shall we check? (sampling rate)
Default: 100ms (=0.1sec)
shutdown_temp = if we reach this shut down the device!
Default: 80°C
If you want to see msm_thermal doing it's job:
Code:
adb shell
cat /proc/kmsg | grep 'thermal'
What is msm_mpdecision?
100% kernel based multi core decision! (should cpu1/2/3 be online or not?)
This replaces your /system/bin/mpdecision binary which is renamed by the installer to mpdecision_bck.
Check /sys/kernel/msm_mpdecision/conf/ for the configuration.
startdelay = time until mpdecision starts doing it's magic (20000)
delay = time between checks (70)
pause = if something else plugs in the cpu, fall asleep for 10000ms (10 secs)
scroff_single_core = if the screen is off, don't plug in cpu1/2/3. Additionally: Unplug all cpus except cpu0 when screen is turned off (1)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
min_cpus = min cpus to be online, cannot be < 1. Default: 1
max_cpus = max cpus to be online, cannot be > 4. (if you set it to 2 and min_cpus to 1 you will basically have a dualcore) Default: 4
idle_freq = a value against that will be checked if a core +/- is requested. (486000)
If cpu0 is below that value and a core up of another cpu is requested, nothing will happen.
If any other cpu is above that value and a core down of that cpu is requested, nothing will happen. (otherwise it would now put down that cpu even though it is still working, which isn't what we want)
Hot plug thresholds (aka now it gets 'complicated')
This small formula calculates which value will be used: (number_of_cpus_online - 1) * 2
The result of this formula will be the nwns_threshold where a new cpu is hotplugged.
The result of this formula + 1 will be the nwns_threshold where a cpu is unplugged.
nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)
Example:
One cpu is online.
(1 - 1) * 2 = 0 ergo:
nwns_threshold_0 = cpu1 will be hotplugged at this value
((1 - 1) * 2) + 1 = 1
nwns_threshold_1 = cpu0 will be unplugged at this value
Since we can't unplug cpu0 this is '0'.
Two cpus are online.
(2 - 1) * 2 = 2 ergo:
nwns_threshold_2 = cpu2 will be hotplugged at this value
((2 - 1) * 2) + 1 = 3
nwns_threshold_3 = cpu1 will be unplugged at this value
etc...
The default values are:
NwNs_Threshold: 12, 0, 25, 20, 32, 28, 0, 35
TwTs_Threshold: 140, 0, 140, 190, 140, 190, 0, 190
Where the position and function of the number equals the result of the above explained formula.
(all times are in ms)
If you want to see the mpdecision magic happening:
Code:
adb shell
cat /proc/kmsg | grep 'MPDEC'
mpdecision's input event boost, aka project butter
This will boost your min cpu speed if you touch the screen or press a button and gives you full control.
In those events the min cpu freq will be risen to a predefined value (look below) on every online cpu. This boosts overall reaction times and smoothness a lot. (works similar to the qcom mpdecision binary)
Configuration files:
[email protected]:/sys/kernel/msm_mpdecision/conf # ls
boost_enabled
boost_freqs
boost_time
All of them work like the usual sysfs files, except one special case:
boost_freqs will list all frequencies from cpu 0 to cpu x. Cpu 3 and any following cpu will share one frequency.
To change those frequencies echo the cpu number + the frequency in khz. To change the boost freq of cpu3 (and 4,5,6,7,8, etc) the echo would look as follows:
Code:
echo "3 1026000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
for cpu0:
Code:
echo "0 1026000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
Defaults:
Code:
cat /sys/kernel/msm_mpdecision/conf/boost_freqs
918000
918000
702000
594000
How does sweep2wake work? Does it keep my phone awake?
Short answer: No.
Long answer:
Sweep2wake works with IRQs (Interrupts).
An interrupt can be best imagined as you doing something, like shopping at the local super market, when someone jumps in front of you and punches you into your family jewels. You will most certainly not just continue shopping.
In technical terms: An Interrupt interrupts the normal operation of a program and executes "special" code instead.
So if you touch your screen, an interrupt is send on which the touch driver reacts. That's it.
Since we have a capacitive touchscreen you also do not need to worry about any pressure onto the screen.
If you want to disable sweep2wake execute this command on your phone (adb shell or directly), you can also add it to an init.d script.
Code:
echo "0" > /sys/android_touch/sweep2wake
(echoing "1" activates it, which is the default setting)​Recommended governor?
Ondemand.​Why do I have no WLAN?
Due to this kernels very high optimization settings it is too big for our boot.img with WLAN included into the kernel, so it is built as a module. That means it needs to be inserted into the kernel upon boot up, which needs to be automated for maximum comfort.
The zip adds this to your ramdisk, if that fails for some reason the wlan module cannot be inserted.
if
Code:
adb shell lsmod
doesn't show this:
Code:
tun 14701 0 - Live 0x00000000
cifs 275399 0 - Live 0x00000000
wlan 2964650 0 - Live 0x00000000 (C)
Then something went wrong. (My fault)
You can test it by executing
Code:
adb shell
su
insmod /system/lib/modules/wlan.ko
Wait a few seconds and try to enable wifi and repeat the above lsmod command (should now show wlan).
If WLAN now works, I messed up.
Open a new issue in the issue tracker and it will be fixed asap.​Last release for 4.2.2?
STABLE: 20130622_233007_master-8fa9be1
BETA: 20130727_023549_exp-d64cabc​
If you look for an app to control your kernel: http://forum.xda-developers.com/showthread.php?p=47773391#post47773391
it is finally here!!!
i spy sweep2wake
So over clock is safe with this???
Sent from my Nexus 4 using XDA Premium HD app
Looking forward to trying this out! Looks awesome. Just out of curiosity is there any reason why this zip is so much larger than the zips for other kernels?
I can't wait to get bricked!
alewis2k12 said:
So over clock is safe with this???
Sent from my Nexus 4 using XDA Premium HD app
Click to expand...
Click to collapse
OP is your friend
Sent from my Nexus 4 using xda premium
---------- Post added at 08:38 PM ---------- Previous post was at 08:38 PM ----------
Locksmith81 said:
OP is your friend
Sent from my Nexus 4 using xda premium
Click to expand...
Click to collapse
It's a yes
Sent from my Nexus 4 using xda premium
Flashed it and will report soon
Do it need to wipe cache ??
jarjar124 said:
it is finally here!!!
i spy sweep2wake
Click to expand...
Click to collapse
Soon(tm)
I am currently making final adjustments to sweep2wake
Perhaps it will be a christmas present?
alewis2k12 said:
So over clock is safe with this???
Click to expand...
Click to collapse
From a thermal point of view: Yes.
But if you set a too high clock and your chip craps out because of too much voltage, that won't save it.
Overclocking is dangerous. It will never be safe, the thermal guard just makes it as safe as on any other phone.
cmikeh2 said:
Looking forward to trying this out! Looks awesome. Just out of curiosity is there any reason why this zip is so much larger than the zips for other kernels?
Click to expand...
Click to collapse
Yes, because of sooooo many optimizations I pumped into the kernel it was getting pretty big, too big for it to fit inside the boot.img with the ramdisk. SO I had to remove stuff from the kernel and put it into modules (wlan,cifs,tun) which are inserted into the kernel upon boot.
You won't feel the difference but it enabled me to include these optimizations.
(the prima wlan module is 22megs or so... freaky big thing.)
mpttrung said:
Flashed it and will report soon
Do it need to wipe cache ??
Click to expand...
Click to collapse
It wipes cache for you.
show-p1984 said:
Soon(tm)
It wipes cache for you.
Click to expand...
Click to collapse
Opps ! It stucks at Google logo @@
I am using stock, any idea ??
mpttrung said:
Opps ! It stucks at Google logo @@
I am using stock, any idea ??
Click to expand...
Click to collapse
I am too on stock, works for me though.
Gimme last_kmsg after you got it into recovery.
show-p1984 said:
I am too on stock, works for me though.
Gimme last_kmsg after you got it into recovery.
Click to expand...
Click to collapse
Red : what do u mean ??
mpttrung said:
Opps ! It stucks at Google logo @@
I am using stock, any idea ??
Click to expand...
Click to collapse
Were you on Franco's kernel?
harpo1 said:
Were you on Franco's kernel?
Click to expand...
Click to collapse
Yeah ! U got stucked too ???
Anybody got a safe OC limit?? And thanks for the help....and coming from Franco as well
Sent from my Nexus 4 using XDA Premium HD app
alewis2k12 said:
Anybody got a safe OC limit?? And thanks for the help....and coming from Franco as well
Click to expand...
Click to collapse
1.7 should be safe, apq8064 is built with that max freq in mind.
Though to be clear: THERE IS NO SAFE OC FREQ. OC IS ALWAYS DANGEROUS!
To all those who have problems, I will provide a stock boot.img in the first post. (gimme a few seconds)
Stock Nexus4 boot.img (flash this if you come from another kernel)
mpttrung said:
Yeah ! U got stucked too ???
Click to expand...
Click to collapse
Yeah if you're kernel hopping make sure you reset back to stock. :good:
UZ7 said:
Yeah if you're kernel hopping make sure you reset back to stock. :good:
Click to expand...
Click to collapse
Flash to stock using fastboot ?
you could also reflash your rom

[Kernel][3.0.31][JB] RoXSel Kernel v2 (Touch) [08/09/2013]

RoXSel Kernel for GT-I8160 aka Codina aka Ace 2
Team: Roxsel (Rox and jereksel)
I'M IN NO WAY RESPONSIBLE OF ANY DAMAGE CAUSED BY USING THIS CUSTOM KERNEL.
PLEASE NOTE THAT SOME FEATURES CAN DAMAGE YOUR PHONE AND YOUR EAR.​
What is needed:
Samsung GT-I8160 (Jellybean)
Custom, non stock based ROM (CM, P.A.C, Slim, RootBox, LiquidSmooth...)
Some Android experience
Features:
zram: zRAM supports for android
swap: swap supports
fs: CIFS module
fs: Fsync control [Cocafe]
fs: exfat-nofuse [Dorimanx]
fs/aio: Asynchronous io performance improved
arm: ThumbEE
arm/vfp: Build with neon
arm/crypto: ARM AES and SHA-1 crypto implementation
abb-Regulator: VOTG power supply
abb-Chargalg: Real charged notification
abb-Charger: Charger control
lib: Optimzed CRC32 algorithm [ezekeel]
lib: GNU C version memcpy & string
mmc: spi CRC configurable [Cocafe]
mali: Utilization control
mali: MALI TWEAK[Cocafe]
mali: PM sampling rate tweakable [Cocafe]
kernel: LZO compression
snvet: Reduce the waketime 6s -> 1s
sched: Disable sched debug stuff
debug: Remove Samsung debug code [Adi_Pat]
debug: Android logger as module (free 4mb RAM)
st-mmio: Highlight mode for rear LED flash [Cocafe]
bcmdhd: PM_FAST by default
bcmdhd: Reenable ipv6 and disable multicast in suspend [Andrew Dodd]
random: Entropy tweaks [dorimanx]
random: Frandom module support
staging: Add Snappy and lz4 compression
staging: Lowmemorykiller tweaked
cpufreq: 14 available CPU governors
[*]block: 8 IO schedulers
ramdisk: Init.d scripts
ramdisk: LZO compression
ramdisk: ClockworkMod Recovery 6.0.3.4 [CyanogenMod]
ramdisk: ClockworkMod Touch Recovery 6.0.3.2 [SlimBean]
toolchain: Linaro GCC 4.7
More details in changelog and Github repo
Installation:
Download RoXSel_Kernel_vX.zip
Boot into recovery
Wipe Cache ( Highly Recommended )
Flash RoXSel_Kernel_vX
Reboot
Enjoy !
Downloads:
RoXSel Kernel v2
RoXSel Kernel v2 - CWM Touch
RoXSel Kernel v2 (4.1.2 Roms)
RoXSel Kernel v2 (4.1.2 Roms) - CWM Touch
Sources:
Credits:
dh.harald for kernel source
hafidzduddin, cocafe and Adi_Pat for tweaking source
If i forgot someone contact me
How to play with kernel
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.
Simply,You can cd to the folder first,then do echos.
Then `???` stands for the number to input
Boot time
RoXSel boots faster than stock normally.
4.2.2
Code:
Stock: 8600ms - 8800ms
RoXSel: 8400ms - 8600ms
Report other versions !!
How to check boottime?
Code:
cat /d/boottime/summary
CPU Governors
OndemandQ ( Default )
Ondemand
Performance
Hotplug
SmartAss2
Lionhearth
Lulzativeq
Powersave
Intellidemand
Lagfree
Lazy
Interactive
Conservetive
Userspace
* Personaly,I use OnDemand(Q)
* OndemandQ is a new governor. It will hotplug cpu when screen turns off only.
* If you mind the battery life time,choose HotPlug. It hotplugs cpu frequently.
* LulzactiveQ, it will hotplug cpus
CPU Freqs
On JB,we cannot tweak min/max scale freqs via apps like SetCPU.
Here is the method.
Code:
cd /sys/power
For example: set 400Mhz as max limited
Code:
echo 400000 > cpufreq_max_limit
* When you switch on/off power saving mode, this tweak will be overrided.
IO schedulers
Noop ( Default )
Deadline
Cfq
Bfq
Row
Zen
Sio
Vr
* Personally, i use Zen
Frandom Module
Use CrossBeeder to enable frandom.
Deepest sleep state
Stock: 3 Default: 3
Deepest supported is 5.
To change:
Code:
echo 5 > /d/cpuidle/deepest_state
* PegasusQ ( hotplug governors ) works badly with 5
* OnDemand works well with 5
* Please note that it wont increase the using time but standby time.
To check the cpuidle state:
Code:
cat /d/cpuidle/stats
USB VBus
( v2+ )
This can enable the internal vbus power supply for usb devices.
But the phone still cannot recognize our usb devices now.
You can use it for fun,like charging for other devices, using usb fan...
To enable :
Code:
cd /sys/kernel/abb-regu
echo 1 > VOTG
* Say 0 to VOTG to disable
* Plug yoru cable first,then enable it
zRAM
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 100mb
Setup disksize first: (example: 96mb= 96×1024×1024)
Code:
echo 100663296 > /sys/block/zram0/disksize
* Larger size more RAM will be compressed.
* Too large size might make phone lag
Enable:
Code:
mkswap /dev/block/zram0
swapon /dev/block/zram0
To check how many does it use:
Code:
cat /sys/block/zram0/num_reads
cat /sys/block/zram0/num_writes
* You can get other info in its sysfs
Swap
Format/resize your SdCard via computer first.
Enable:
Code:
mkswap /dev/block/mmcblk1p1
swapon /dev/block/mmcblk1p1
Init.d script
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.
Charger control
Please note that this control can damage your battery/phone.
If your battery/phone damaged,read the top of #1 post.
Lower current makes the charging longer,but protects battery.
Too high current can burn your battery!
I recommend you that dont set the max limited current over 900mA.
AC Maximum current: (stock: 600 , min: 0 , max: 900) mA
Code:
echo ??? > /sys/kernel/abb-charger/max_ac_c
USB Maximum current: (stock: 600 , min: 0 , max: 900) mA
Code:
echo ??? > /sys/kernel/abb-charger/max_usb_c
* The control only accepts values like 0, 100, 200 ...
* Set usb current to 0,the phone wont charge in usb port,but transmits data.
Track driver memory [advanced] :
Code:
cat /sys/kernel/abb-charger/stats
To get the charging current:
When you plug charger:
Code:
dmesg | grep -i ab8500-charger
Real charged notification
To be honest,it needs to check manually.
Code:
cat /sys/module/abb_chargalg/parameters/eoc_status
* You can use Rootexplorer to view this file.
* When it says "First full charging reached",then the UI should show you charged 100%
But it is not the real full charged.
* When it says it is the real full charged,you can unplug the charger.
* When you are charging and do a reboot will reset the counter.
* According to my experiments,it needs 1-2 hours to charge to real full.
MMC SIP CRC
( v2+ )
Disabling SPI CRC can improve mmc performance (10% ~ 30%)
But phone may freeze randomly
Code:
echo 0 > /sys/module/mmc_core/parameters/use_spi_crc
Camera LED Flash
( v2+ )
HIghlight mode for assistive light, enabling this for a long time will heat up your device, be careful!
Enable:
Code:
echo 1 > /sys/class/camera/flash/highlight
Disable:
Code:
echo 0 > /sys/class/camera/flash/highlight
Fsync Control
Get current status:
Code:
cat /sys/kernel/fsync/mode
FSYNC modes:
Code:
0: fsync on
1: fsync off
2: fsync dyn
Disable FSYNC:
Code:
echo 1 > /sys/kernel/fsync/mode
* Disabling fsync can improve io performace,
but it can make the data which hasnt been written lose when a sudden poweroff comes.
* Disabling fsync or enabling dyn_fsync will make param driver fail to store data
That means your "reboot recovery" will fail.
Enable Dynamic FSYNC:
Code:
echo 2 > /sys/kernel/fsync/mode
* Dynamic fsync will sync all buffers when screen turns off,
* If there is a heavy io load,the screen might get stuck for seconds.
* This is an experimental feature.
Mali GPU
Mali debug level
Disabling can speed up a bit
Code:
echo 0 > /sys/module/mali/parameters/mali_debug_level
* Higher level,more messages will be printed in dmesg, system will slow down
Mali L2 max reads control: (Stock:28kb,Default:48kb(max))
Code:
echo xx > /sys/module/mali/parameters/mali_l2_max_reads
* Some values will slow down graphics
* If not sure,keep default
Mali PM sampling rate: (Default: 1000ms)
Code:
echo xx > /sys/module/mali/parameters/mali_pm_sampling_rate
Mali PP scheduler tweaks: (Default: disable)
Code:
echo 1 > /sys/module/mali/parameters/mali_pp_scheduler_balance_jobs
* Enabling this,Some places will over ahead,choose by your self
Mali Utilization sampling rate: (Stock:500ms,Default:1000ms)
How often report a mali utilization.
Code:
echo xxx > /sys/module/mali/parameters/mali_utilization_sampling_rate
* Keep this default if unsure.
Mali Utilization control
(Default: low_to_high 192 high_to_low 64)
Our driver will report a mali utilization frequently.
This utilization(range: 0~255) means the load of mali.
If utilization is bigger than low_to_high ,driver will request higher hardware performance(highest APE/DDR OPP).
If utilization is smaller than high_to_low ,the driver will store the requested OPP(uses low OPP).
OPP can be understood as freq simply.
To check mali utilization values:
Code:
echo 5 > /sys/module/mali/parameters/mali_debug_level
cat /proc/kmsg | grep -i utilization
When it says SIGNAL_HIGH,it will request highest OPP.
When it says SIGNAL_LOW,it will request lowest OPP.
Press Ctrl+C to stop printing.
You can reduce low_to_high to trigger higher OPP requirement.
For smoothness and less powersaving:
Set low_to_high between 100-192.
Code:
echo 120 > mali_utilization_low_to_high
Mali max preemptive allocated max memory size:
Default is 16mb(16*1024*1024), bigger max size more throughput.
But when this value is too big, no more throughput.
For example: 48mb = 48*1024*1024
Code:
echo 50331648 > /sys/module/mali/parameters/pre_allocated_memory_size_max
EGL Driver
To use Mali hardware egl driver only:
Edit /system/lib/egl.cfg
Code:
0 0 android
0 1 mali
To
Code:
0 0 mali
Then remove libGLES_android.so
* Recommend to backup these files
* According to my feelings: after disabling sw egl driver,UI is faster
Logcat
Well,we have made android logger(logcat) as module to free more RAM.
Some guys request logcat.
Now we provide you a workaround:
Create a new init.d script:
Code:
#!/system/bin/sh
insmod /system/lib/modules/logger.ko
or
Flash this ZIP
Then you can use logcat command.
Almost tweaks will be restored to default after reboots.
So you can make your tweaks as init.d scripts to apply them when boots.
Bugs and Changelogs
Bugs :
LPM charging (Not on stock)
-------------------------------------------------------------------------------------------------------------------------------
Changelog Version 3 (XX/XX/XXXX) :
| Stock version ( Touch ) | | 4.2.2 Version ( Touch ) | | CM 10 version ( Touch ) | | MIUI version ( Touch ) |
Kernel version updated 3.0.31 - > 3.0.96
vmscan: vm_swappiness = 60 -> 20
snd_usb: fix sysfs conflicts [Cocafe]
bcmdhd: wifi signal values patch
power: stop printing noise [Cocafe]
sched: Enable arch power
mm: VM Tweaks [Adi_Pat]
fs: Reduce vfs_cache_pressure to 20 [Adi_Pat]
debug: Disable Frame pointer [Adi_Pat]
defconfig: Enable CLEANCACHE
Added support for MIUI
Added support for STOCK ~ HOT
-------------------------------------------------------------------------------------------------------------------------------
Changelog Version 2 (08/09/2013) :
| 4.2.2 version ( Touch ) | | CM 10 version ( Touch ) |
ramdisk: LZO compression
kernel: LZO compression
mali: pre-allocated os memory size 24mb -> 16mb
st-mmio: Highlight mode for rear LED flash [Cocafe]
bcmdhd: Reenable ipv6 and disable multicast in suspend [Andrew Dodd]
sched: Disable arch power
arm/crypto: ARM AES and SHA-1 crypto implementation
fs: exfat-nofuse [Dorimanx]
drivers/mmc: spi CRC configurable [Cocafe]
abb-Regulator: VOTG power supply
toolchain: Linaro GCC 4.7
partialy fix LPM charging
-------------------------------------------------------------------------------------------------------------------------------
Changelog Version 1 (29/08/2013) :
| 4.2.2 version ( Touch ) | | CM 10 version Touch |
Initial Release
Added CWM Touch version (04/09/2013)
Added CM 10 CWM Touch version (04/09/2013)
-------------------------------------------------------------------------------------------------------------------------------
Note:
I/O schedulers cant be changed in stock performance app that comes with most ROMS.
Use 3rd party app instead ( SetCPU, No-Frills... )
What are these an do I need it I'm running rootbox
Sent from my GT-I8160 using xda app-developers app
Faster with CM10 than CM10 with his stock kernel?
EDIT:
OP: @Rox = Roberthinio??
Ok IDK nothing about kernel. I use CM10 from @dh.harald. If i use this kernel, the performance will increase? And i use mod vold.fstab from MIUI beta rom, will it causing complication when i flash this kernel? Or i should flash this kernel with fresh CM10?
Thanks in advance, congratulations for the elaboration
good job :fingers-crossed:
Thank you guys. I'll give a try on slim bean.
On stock JB phone does not boot, its blocked at samsung blinking logo. Advices?
I can go to cwm recovery.
Sent from my Nivo using Tapatalk 4
myhayserano said:
On stock JB phone does not boot, its blocked at samsung blinking logo. Advices?
Sent from my Nivo using Tapatalk 4
Click to expand...
Click to collapse
What is needed:
Samsung GT-I8160 (Jellybean)
AOSP ROM (CM, P.A.C, Slim, RootBox, LiquidSmooth...)
Some Android experience
This is confusing, does it run on stock JB roms? Or is intended olnly fir custom roms?
Sent from my Nivo using Tapatalk 4
myhayserano said:
On stock JB phone does not boot, its blocked at samsung blinking logo. Advices?
I can go to cwm recovery.
Sent from my Nivo using Tapatalk 4
Click to expand...
Click to collapse
Read the requirements, lucky you don't hardbrick your SGA2 :')
myhayserano said:
On stock JB phone does not boot, its blocked at samsung blinking logo. Advices?
I can go to cwm recovery.
Sent from my Nivo using Tapatalk 4
Click to expand...
Click to collapse
read what is needed before you flash. to boot phone flash kernel.bin.md5 from one of firmwares using odin
Not needed I had cwm backup of my rom and just restored stock kernel phone booted ok. Please modify first post and specify that this kernel is compatibile ONLY with custom roms.
This phrase at the begining can make people mistake:
``Samsung GT-I8160 (Jellybean)``
Sent from my GT-I8160 using Tapatalk 4
Any bugs?
Sent from my GT-I8160 using xda premium
myhayserano said:
Not needed I had cwm backup of my rom and just restored stock kernel phone booted ok. Please modify first post and specify that this kernel is compatibile ONLY with custom roms.
This phrase at the begining can make people mistake:
``Samsung GT-I8160 (Jellybean)``
Sent from my GT-I8160 using Tapatalk 4
Click to expand...
Click to collapse
Read all phases and everything will be cleared out...
@up no bugs except that you have to use 3rd party app to change i/o scheduler ( you cant change inside settings-performance, dont kniw why. Some app bug)
I will ad more info later on 2 nd post i am not at home
Sent from my GT-I8160
Don't mean to sound like a noob but is it safe to use on top of tweaks such as Project Injection?
Yes. Also if you use crosbreeder you can enable frandom
Sent from my GT-I8160
Rox said:
Yes. Also if you use crosbreeder you can enable frandom
Sent from my GT-I8160
Click to expand...
Click to collapse
Thanks for the quick reply. I'll be pairing up this kernel with LiquidSmooth as soon as call volume is fixed. :good:
I'm trying now. This is ****** handsome! You put hotplug governor, my battery say tahnks to you
Maybe one little bug: on powersave frequency doesnt remain at 200mhz. And if i set frequency min 200 MHz - max 400mhz the 800mhz step continue to work, eventi if i choose userspace.
I'll try with no CPU frills.
Good work mate!

[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