[21st Feb][Rc-4][JB][3.0.65][CWM] SIRI KERNEL ★ Making your S Advance Fly! :D ★ - Galaxy S Advance I9070 Original Android Developmen

[21st Feb][Rc-4][JB][3.0.65][CWM] SIRI KERNEL ★ Making your S Advance Fly! :D ★
Hello,
So I am finally here! As I promised, I'll be hacking Kernels when Jellybean is out!
READ THE OP AND EVERYTHING PROPERLY BEFORE ASKING ANY QUESTIONS!
Just a small introduction:
Through this Kernel, my aim is to provide a fast yet bloat-free user experience. Hence , I have decided against adding 30 different governers or 10 different I/O Schedulers. I like to keep stuff neat and minimalistic. Big thanks to Cocafe, Diego and Shaan for their testing, help and especially Cocafe for whatever patches I have used from his Kernel and for helping me out with the recovery.
{
"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"
}
DISCLAIMER:
** I do not own the device **
INDEX:
1] Frequently asked Questions + Instructions (Read this well once)
2] Changelogs
3]"] Download Links
FEATURES
General Features
Updated to LATEST Linux 3.0.65
Compiled with Linaro Toolchain GCC 4.6 with Optimizations
Cleaned off Debug stuff, which slows down the Kernel (FRAME POINTER, Log Buffer Size is 64KB)
Hacks to improve battery! (Disabled SVNET Wakelocks, Removed APE Request from vibrator driver)
Optimized CRC32 Algorithms
Optimized Filesystem Mounts for better Disk I/O
Code rewrites whereever necessary.
Charger Current Control! (Refer to FAQ!)
Sound Boost Control! (Refer to FAQ!)
Android Logger Disabled(++Performance) (Check FAQ on how-to enable)
Lowmemory Killer and Logger updated to Android-3.4
All Section Mismatch Warnings fixed, since they could cause bugs.
ARM Specific Features
ARM specific optimizations and other compiler optimizations
Optimized ARM RWSEM Algorithm
Enabled ARCH Power and Disabled GENTLE FAIR SLEEPERS
ARM: Add optimised swahb32() byteswap helper for v6 and above
Removed Force Upload Mode (Causes A forced Kernel panic when you press Volume down + headset jack plugged in)
REMOVED ALL OF SAMSUNG's DEBUG CRAP which slowed down the Kernel!
Freed the Kernel of almost every possible debug that could slow it down.
JRCU (Improves smoothness and responsiveness)
Optimized ARM AES and SHA1 Routines
I/O and Filesystem
Cleancache Enabled
CIFS Enabled
IO SCHEDULERS: SIO,VR,ROW,CFQ.
Some I/O Related patches.
NOATIME and NODIRATIME mounts set as default.
Fsync Toggle (Ezekeel)
Network
Proportional Rate Reduction in TCP - By Google
TUN/TAP Enabled
Support to change WiFi Power Management Policy to PM_FAST (Read FAQ)
Vpnclient support (Module)
Added more TCP Congestion Avoidance Algorithms: Westwood, Veno, Illinios, Vegas. Cubic(default). [ Choose which gives you the best speed! ]
Linux Memory Management
SLUB Memory Allocator (Better than the SLUB -> Default)
Tweaked all VM parameters for best performance
Upstream Linux memory management patches merged.
RAMDISK
No Compression for RAMDISK (++boot speed)
XZ Compressed Kernels.
Auto-Root Feature
Support to run init.d scripts on boot
Auto /efs backup (Needs testing)
CPU
Governers: Interactive,Conservative,Performance,Hotplug,PegasusQ
Performance Governer is now core-aware, both cores are turned on for max performance (AndreiLux)
Interactive Governer synced with Android 3.4 Kernel.
Touch to boost CPU (Refer to FAQ!)
Lots more! Flash and see for yourself!!

Reserved
changelogs
Code:
[b][color="red"]SIRI Kernel[/color][/b]
[u][b][color="darkred"]SIRI Kernel rc-1[/color][/b][/u]
[list]
[*][b]Initial release[/b]
[/list]
[u][b][color="darkred"]SIRI Kernel rc-2[/color][/b][/u]
[list]
[*][b][u][b][color="red"]Updated to latest Linux 3.0.60[/color][/b][/u][/b]
[*] Fixed sound boost control
[*] Added WiFi PM FAST toggle (Check FAQ)
[*] Disabled all samsung debug crap drivers for a faster kernel
[*] Disabled lots of debug (KGDB,FRAME POINTER) that can slow down the kernel
[*] Other patches from Mainline Linux and other repos
[/list]
[u][b][color="darkred"]SIRI Kernel rc-3[/color][/b][/u]
[list]
[*][b][u][b][color="red"]ClockworkMod Recovery! (big thanks to cocafe and diego) [/color][/b][/u][/b]
[*][b][u][b][color="red"]Updated to Linux 3.0.65[/color][/b][/u][/b]
[*] Fsync on/off toggle (Ezekeel)
[*] JRCU Forward Ported (original patch by Joe Korty :) )
[*] PegasusQ governer added (On public demand! )
[*] Improvements to the sound control driver, the ab8500 asoc is now powered on when sound control is enabled.
Added code for jack detection, which will be useful for future use. Fixed the balancing issues.
Improved it to work better!
[*] Samsung phone svnet wakelocks disabled. Should improve battery.
Svnet wakelocks held the highest wakelock timeouts.
[*] charger control interface-
I wrote an interface to change the usb and ac charger currents.
You can now increase the speed of USB and AC charge.
Simply by increasing the charge currents. (Refer to FAQ)
Max for usb and ac is 900mA, the device will charge fast, but use at your own risk.
[*] Interactive governer synced with google's android 3.4 repo.
[*] Touch to boost interface-
rewrote a better implementation for this.
You can boost the cpu to a selected speed when you touch the screen. (refer to faq)
will boost overall performance and smoothness when enabled.
[*] Android low-memory killer driver synced with Google's android 3.4 repo.
[*] Android logger driver (logcat) synced with Google's android 3.4 repo.
[*] Android logger (logcat) is disabled for better performance.
You can enable it if you wish (refer to faq)
[*] Optimized crypto arm aes and sha1 routines.
[*] Performance governer is now core-aware. Both cores will be turned on when governer is enabled.
(thanks to andreilux for this patch)
[*] Toggle for mali l2 max reads (thanks cocafe!)
[*] Fixed all section mismatches. These could cause issues. But i have fixed them.
[*] Disabled lots of verbose debugging.
[*] Rewritten tspdrv vibrator driver-
Rewrote the i2c_write function for efficiency.
Removed all the crap debug macros, and removed the request_ape_opp
which would cause battery drains.
[*] [url="https://github.com/Adipat/android_kernel_samsung_janice/commit/28bb445211ed41ff2d1f9c7a8f395de55bfd789b"]patch to fix depleting entropy[/url] (please refrain from using seeder and other fixes)
[/list]
[u][b][color="darkred"]SIRI Kernel rc-4 (Coming soon!) [/color][/b][/u]
[list]
[*] Charging derps fixed. Also temporarily disabled Charge Control, will be added back in rc-5 with fixes.
[*] Vibrator(Haptic Feedback) Fixed.
[*] J4FS partly fixed. Will add full fix in next release.
[STRIKE]J4FS works perfectly now! reboot recovery and reboot download commands work like a charm.[/STRIKE]
[*] Added TCP Congestion Avoidance Algortithms: westwood, vegas, illinios, veno. (Refer to FAQ's!)
[*] Added easy control scripts, you can now tweak stuff easily! ;)
[/list]

FAQ- (READ this well before asking me anything!)
1] I am not responsible for any hard/damage caused. You are choosing to make these modifications at your own risk!
2] Do not use any third party init.d scripts!
3] Configurable Tweaks- You can choose to enable/disable some of my Kernel implementations.
EASIER WAY TO TWEAK! READ THIS !!
OR
[*] Sound Boost-
By enabling sound boost, you can get a considerable improvement in the overall headset volume output.
Connect your headphones/earphones, then enable it with the below command.
Code:
echo "1" > /sys/kernel/sound_control/sound_boost
[B]To Disable, echo "0" .[/B]
[*] Touch Boost Feature-
Touchboost feature , when enabled boosts the CPU speed on touch input.
So, whenever you touch the screen or are scrolling through, the CPU speed will get boosted(locked) to a set frequency.
This could possibly improve the gaming performance.
Code:
echo "1" > /sys/kernel/touchboost/enable
[B]To Disable, echo "0" .[/B]
After enabling it. You can tweak some more stuff.
Boost Frequency: Change the frequency of CPU boost. Default is 800Mhz.
Code:
echo "1000" > /sys/kernel/touchboost/freq_boost
[B]Above command sets it to 1Ghz boost. You can try 200, 400, 800 which are the supported values.[/B]
Boost Timeout Time to keep CPU Boosted. Whenever the timeout ends, the CPU will be restored back to normal. Default is 0.
Max supported is 10 seconds. To change the value.
Code:
echo "3000" > /sys/kernel/touchboost/timeout
[B]Above command sets it to 1 seconds. Value is in milli seconds, 1000 milliseconds = 1 second.[/B]
[*] Enable Logger (Logcat)
Logger is disabled by default to improve performance.
However, app debugging won't work. Even the logcat command won't work.
Code:
insmod /lib/modules/logger.ko
[B]To enable Android logger.[/B]
Code:
rmmod logger.ko
[B]To disable Android logger.[/B]
[*] Fsync On/Off
Fsyncs are enabled by default in my Kernel for safety purposes.
You can choose to disable it-
Effects of disabling Fsyncs:
Pros:
When Fsyncs are disabled, the Filesystem I/O operations are reduced. This could result in a possible increase in I/O benchmarks.
Other advantages could be increase in device responsiveness,performance and battery improvements since the disk I/O is reduced.
Cons:
It can cause filesystem corruption if there is a system freeze. Could have other side effects too.
Code:
echo "0" > /sys/class/misc/fsynccontrol/fsync_enabled ("1" to enable, default is enabled)
[*] Charger Current Control-
You can increase the charger input current for fast charge.
The default for USB is 500mA and AC Charger is 600mA.
Max supported value is 900mA for safety!
You can try values between 300-900mA.
Example-
Code:
echo "700" > /sys/class/misc/charge_control/usb_current
echo "700" > /sys/class/misc/charge_control/ac_current
[*] Mali L2 Cache Max Reads-
Default: 28KB
You can try 48.
-> You can try other values.
Example-
Code:
echo xx > /sys/module/mali/parameters/mali_l2_max_reads
[*] TCP Congestion Avoidance-
You can now change the TCP Congestion Avoidance Algorithm used in the Kernel as per the one which works best for you!
Personally, I prefer using westwood as I get better speeds with it. But you are free to try others too.
Default is cubic.
Other supported ones in my Kernel are westwood, veno, vegas, illinios.
You could read more about it here.
Example-
Code:
echo "westwood" > /proc/sys/net/ipv4/tcp_congestion_control
Choose the options and configs that work best for you!
Settings get resetted on reboot.
For permanent settings, add the commands to a text file and push them to /system/etc/init.d .
This will preserve the settings every time you reboot.
[*] INSTRUCTIONS (READ THIS CAREFULLY! AND FLASH! )
-> Download the zip from Downloads Section (rc-4 and above)
-> Extract it, you will find two files.
-> I9070_CWM_FLASHABLE_SIRI_KERNEL_rc-XX.zip (This zip is a CWM/TWRP Flashable zip)
-> I9070_SIRI_KERNEL_rc-XX.bin.md5 (This is flashable via dd method or frapetis app)
Method 1: (Flash via Recovery)
rc-4 Onwards-
-> Make sure you have CWM or TWRP Installed, if no, then install the recovery.
-> Place zip in sdcard
-> Install zip via CWM Recovery
-> Enjoy!
Method 2:
Versions Before rc-4.
-> Download Kernel (.bin.md5)
-> Place it in your Internal sdcard.
-> Open terminal emulator or ADB Shell.
-> Run EXACTLY the commands given below.
-> Wrong command will brick, so be careful.
Code:
$ su
# dd if=/sdcard/I9070_SIRI_Kernel-rc-3.bin.md5 of=/dev/block/mmcblk0p15
# reboot
Method 3:
YOU CAN ALSO USE THIS EXCELLENT APP TO FLASH YOUR KERNELS!
Enjoy tweaking your device!

DOWNLOADS
DOWNLOAD SIRI KERNEL - rc 4
(Download and extract the zip, and then check the README or read the above post for instructions on how to flash)
Click this button-
--------------------- OLD VERSIONS NOT RECCOMENDED -------------------------
DOWNLOAD SIRI KERNEL - rc 3
DOWNLOAD SIRI KERNEL - rc 2
Download Siri Kernel - rc 1
------------------------------------------------------------------------------
A NOTE-
Just a statement regarding kernel source: The Kernel Source is of course covered under GPL version 2. Free software does NOT mean no work or time was spent working on it. I have donated a large sum of my free time to this kernel. If you want to include my kernel in your project or use my source code, please mention it in your post, give proper credits.
Opensource does not mean 'Out-of-credit'
ROM cooks/kangers: Please do not bake my Kernel in your ROMs. If the user wishes, he/she can flash the ROM and then flash my Kernel seperately.
Sources
CREDITS-
shut_down (For Extensive testing!)
Cocafe, Diego (CWM Recovery, testing, Big thanks! )
Shaan (Testing and feedbacks!)
gokhanmoral , AndreiLux (For their inspiring work! )
simone201 (For replying to my queries)

okay just tested it...
kernel log: http://pastebin.com/qaivmJxm
cifs module wont load, dhd module fails to bring the interface up (check the log).
Code:
$ lsmod
scsi_wait_scan 557 0 - Live 0xbf082000
bthid 4940 0 - Live 0xbf01f000
param 11349 0 - Live 0xbf017000 (P)
j4fs 67164 1 - Live 0xbf000000 (P)
$ mount | grep mmc
/dev/block/mmcblk0p3 /system ext4 ro,relatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p2 /modemfs ext4 rw,nosuid,nodev,relatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p4 /cache ext4 rw,nosuid,nodev,relatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p7 /efs ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p5 /data ext4 rw,nosuid,nodev,relatime,barrier=1,data=ordered,noauto_da_alloc 0 0
/dev/block/mmcblk0p1 /mnt/.lfs j4fs rw,relatime 0 0
what else do you need?

diego-ch said:
okay just tested it...
kernel log: http://pastebin.com/qaivmJxm
cifs module wont load, dhd module fails to bring the interface up (check the log).
Code:
$ lsmod
scsi_wait_scan 557 0 - Live 0xbf082000
bthid 4940 0 - Live 0xbf01f000
param 11349 0 - Live 0xbf017000 (P)
j4fs 67164 1 - Live 0xbf000000 (P)
$ mount | grep mmc
/dev/block/mmcblk0p3 /system ext4 ro,relatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p2 /modemfs ext4 rw,nosuid,nodev,relatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p4 /cache ext4 rw,nosuid,nodev,relatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p7 /efs ext4 rw,nosuid,nodev,noatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p5 /data ext4 rw,nosuid,nodev,relatime,barrier=1,data=ordered,noauto_da_alloc 0 0
/dev/block/mmcblk0p1 /mnt/.lfs j4fs rw,relatime 0 0
what else do you need?
Click to expand...
Click to collapse
So wifi is broken.
CIFS I will build into the Kernel, Module is too big. Btw is that a ram console dump?
Sent from my GT-I9003 using XDA Premium HD app

Adi_Pat said:
So wifi is broken.
CIFS I will build into the Kernel, Module is too big. Btw is that a ram console dump?
Sent from my GT-I9003 using XDA Premium HD app
Click to expand...
Click to collapse
thats kmsg output
Sent from my GT-I9070 using xda app-developers app

Two great developers cooking something....waiting for the dish... keep going guys you rock

@Adi_Pat @diego-ch
Can you add some ingridients too cook from this sources also kernel for I8160? I would love to test one.

arroyo said:
@Adi_Pat @diego-ch
Can you add some ingridients too cook from this sources also kernel for I8160? I would love to test one.
Click to expand...
Click to collapse
That's the Ace 2 right? I am waiting for Samsung to drop Jellybean, pointless working on old kernel when we are going to get something better. I will merge both the sources then.
Sent from hell..!

Adi ..
I am some how not confident of samsung releasing the new JB in november.
I am no techie. But i have a question.. I was using Spice mi 410 and developers have ported cm10 on 2.6.35 kernel yes with some bugs but it still working smoothly ..
and several versions of ICS
Is it not possible to do the same on our device i know JB is kernel version 3.0
Sent from my GT-I9070 using xda app-developers app

Any update on this?

varun.chitre15 said:
Any update on this?
Click to expand...
Click to collapse
Thought of waiting for Samsung to drop JB.

Adi, i know you. Why don't you help me port CM.
Besides, even i am thinking of delaying CM.
The devs at Samsung know how to clusterfck the device. Waiting for JB now. I was going to start working on OC, but i see you have already begun.
I will fork your repo and look into it now.
Cheerz..

Shaaan said:
Adi, i know you. Why don't you help me port CM.
Besides, even i am thinking of delaying CM.
The devs at Samsung know how to clusterfck the device. Waiting for JB now. I was going to start working on OC, but i see you have already begun.
I will fork your repo and look into it now.
Cheerz..
Click to expand...
Click to collapse
I thought its pointless to waste time on GB (Linux 2.6.35) now. Samsung would surely release a better Kernel source (3.0 or maybe 3.1.10) . Plus I don't have the device with my so my focus is presently on other Projects at the moment(i9003). PM me your gtalk , we can continue out chat there
So this Project is on a hold.

Oh hey there Adi , seems like you're not just working on the R o.o
Sent from my GT-I9070P using xda app-developers app

CallMeVentus said:
Oh hey there Adi , seems like you're not just working on the R o.o
Sent from my GT-I9070P using xda app-developers app
Click to expand...
Click to collapse
Uh.. didn't get you dude.

Adi_Pat said:
Uh.. didn't get you dude.
Click to expand...
Click to collapse
Weren't you involved in the Galaxy R forums ?
Sent from my GT-I9070P using xda app-developers app

CallMeVentus said:
Weren't you involved in the Galaxy R forums ?
Sent from my GT-I9070P using xda app-developers app
Click to expand...
Click to collapse
Yeah I still am!
Sent from my GT-I9003 using xda premium

Erm..bump
Sent from my u8800

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][Jan 12]Experimental v12 [JB 4.1.2]

This kernel is self-used.
So something has not been added.
If you want,just tell me and problem you encounter.
Kernel Features:
General:
- Kernel version 3.0.y
- 390MB RAM
- Useful optimization flags
- jRCU [Joe Korty]
- Dynamic dirty page writebacks
- Timer slack controller
- Dynamic management of the minimal timer slack value during suspend/resume
- LowMemoryKiller management of not killable processes
- Android Logger Disabled(++Performance) (Check HOW TO on how-to enable)
- Frandom Read Me!
- Entropy tweaks.
- Cleaned off Debug stuff, which slows down the Kernel (FRAME POINTER, Log Buffer Size is 64KB).
- CWM 5
- LZ4 for Zram swap.
- Elf.3 included for better battery.
- DVFS(Dynamic Voltage and Frequency Scaling).What is DVFS? [Cocafe]
- Disable sched debug stuff
- Optimized SLUB memory allocator
- Optimized ARM RWSEM
- Low memory killer updated to Android 3.10
- Do not kill process
- ARM ThumbEE
- Build with neon
- Remove old version sha1 implementation
- Optimized AES and SHA1 routines for ARM cpu architecture
- Optimized string and memcopy libs
- Ram Console support
- L2 cache max reads writable
- Disable mali state tracking
I/O and Filesystem
SIOplus
CFQ
Deadline
ROW
V(R)
Zen
Noop
CPU
Pegasusq
Conservative
Ondemand
Performance
Interactive
Lazy
Wheatley
Sakuractive
Hotplug
SmartAssV2
Lionheart
Lulzactiveq
Nightmare
Dyninteractive
Download:
Experimental Kernel Stock:
ExperimentalSTOCK-12
Experimental Kernel CM10:
Experimental-CM10-12
Experimental Kernel ASOP:
ExperimentalASOP-12
MIUI v5 Kernel by akkufix:
MIUI v5 Kernel
Module Content::
Logger(Read How-to enable it)
CIFS(Required for SAMBA server)
and other non essential module
Credits:
Cocafe
Mujeni
Akkufix
alivanov79
stratosk
Christopher83
Source:
Github
Changelog:
12/01/2014
-clean and fixed source
-UKSM(disbaled by default)
-ABBamp Audio(thanks @cocafe)
-SLQB memory allocator
11/12/2013
-removed all experimental stuff
-removed DVFS
-fixes and tweaks
04/12/2013
-updated source to 3.0.101
-changed default lmk values
-KSM
-fix and tweaks
07/11/2013:
-fixed reboot problem
-remove compressed copy from zram in-memory
-backport zram from 3.7 kernel
-backport zsmalloc from 3.7 kernel
-lz4 compression for zram
-lz4 compressor module
-lz4 Cryptographic API
-included more Governor
-included more IO scheduler
14/10/2013:
- Change rcu to jRCU for reduced RCU memory usage and optimized for multi-core CPU
- SLQB slab allocator
- Memory compaction
- Built with -O3 optimization flag (both kernel and modules)
- Dynamic dirty page writebacks
- Dynamic management of the minimal timer slack value during suspend/resume
- Change default LMK minfree vlaues.
- Tweak VM params
- Updated governor
- Tweaked IO scheduler
04/09/2013
-Clean Source
-Kexec support
-Automatic zipalign and fstrim
-Not Killable Processes
08/08/2013
-DVFS
-zcache updated to 3.8
-ZRAM updated to 3.8
-replace xvmalloc with zsmalloc used by zcache and zram from 3.8 kernel
-tweak and fixes
31/07/2013
-added dyninteractive
-Tweak and fixed (rwsem,mutex,binder,etc)
-390MB RAM
-Removed DVFS
-XZ kernel compression
20/07/2013
-600mhz added back again
-added HotplugX and Lazy governor
-revert back to 385MB RAM(since lots of user are having random reboot problem)
18/07/2013
-fined tune DVFS...so no more lag with lower freq
-no more random reboot
-added Sakuractive governor
-added SIOplus IO
-increased RAM to 390MB
01/07/2013
-DVFS(Dynamic Voltage and Frequency Scaling)
-Fixes the freq bug(you can now set max and min.check out HOW-TO)
-Better Battery Life
-Hotplug governor cleanup
-388RAM(Much Stable)
-Tweaks
-Added reference 05exp init.d script
25/06/2013
Verison 7.0
-Updated kernel to 6.2.A.1.100
-Auto Hotplug
-CWM5
-Optimized crypto for ARM
-OOM Fixes
-Removed some governor
-Added some governor
-Bug and Fixes
12/06/2013
Version 6b
-390MB RAM
-added Lulzactivew,Lulzactiveq and Lazy Governor
-added zen and row IO
-minor fixes
Version 5
-Started from sratch
-Added 600Mhz
Experimental:
-ported and tweaked some Governor(Hyper,Dynainteractive,InteractiveX,Pegasusq,Hotplug,Interactive) for sola from latest Nexus kernel.
-Tweaks and fixes
07/06/2013
Version 4
-Added some new governor
-Remove some mali tweak
-Removed some governor
-Fixes
05/06/2013
Version 3
-Compiled using latest Linaro 4.8 with optimisation
-Frandom as module
-Logger compiled as module(free up some memory)
-other fix and tweak
04/06/2013
Version 2
-Fix Mali Tweak
03/06/2013:
Version 1
-Initial Version
HOW TO:
Here are some intructions/tips about how to play with the kernel.
Terminal is needed.
If you want to change the values,it needs su permission.
If you get 'Permisson denied',you need su permisson.
If the devices lost responses,hold power button 8s to reboot.
You can cd to the folder first,then do echos.
( CPU Freqs )
With DVFS,we cannot tweak min/max scale freqs via apps like SetCPU or nofrill.
but there are two ways you can change cpu freq:
by using this app
[APP][ROOT][4.0+] Performance Control - Open Source
Click to expand...
Click to collapse
or
by using terminal
cd /sys/power
Click to expand...
Click to collapse
For example: set 800Mhz as max limited
echo 800000 > cpufreq_max_limit
Click to expand...
Click to collapse
* When you switch on/off,power saving mode,this tweak will be overrided.
* If you want it to be permanet edit 05exp file in init.d.
No-fills CPU shows a wrong freqs
This is NOT issue. No-fills will show you Dynamic Min/Max scaling freqs,DVFS(dynamic voltage and frequency system) will adjust Min/Max freq according to system load.
Open SetCPU,it shows you real freqs.Or check sysfs directly.
Click to expand...
Click to collapse
ABBamp Audio
Please note that listening to too high volume music over 1 hour or more can damage your ears.
Too high volume can make your external speakers/headset overload or damage them.
First, why do i call it `AMP`?
Because most of our tweaks are about gain(volume)
Our codec is simple, It doesn't have any hardware EQ (although i want...)
ABBamp sysfs entries are in:
Quote:
/sys/kernel/abbamp
Click to expand...
Click to collapse
* Use RootExplorer to view this folder,there are lots files
Tweaks will take effects immediately!
Most tweaks will accept inputs like "on", "off" (no quotes)...
So, say "on" to enable this tweak, then this tweak will apply the value stored/inputed
View(cat) these files, most of them will give you useful infomation about this tweak.
They will show you the volume in dB of gain
`cd` to /sys/kernel/abbamp first then do echos, will be more convenient.
[AnaGain3] (Headset analog gain path):
Enable tweaks:
echo on > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
Disable tweaks:
echo off > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
Gain control: (min:0 ,max: 15) Lower value,higher volume (default: 0[+4dB])
echo left=?? > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
echo right=?? > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
Write both left and right channels:
echo gain=?? > /sys/kernel/abbamp/anagain3
Click to expand...
Click to collapse
Not Killable Processes
This feature allows to define processes and system processes white-lists filled with the preferred process names and to not be killed by lowmemorykiller, unless it is absolutely necessary.
[APP][ROOT][4.0+] Performance Control - Open Source
Logcat
I have made android logger(logcat) as module to free more RAM.
Create a new init.d script:
Quote:
#!/system/bin/sh
insmod /system/lib/modules/logger.ko
Click to expand...
Click to collapse
Then you can use logcat command.
EGL Driver
To use Mali hardware egl driver only:
Edit /system/lib/egl.cfg
Quote:
0 0 android
0 1 mali
Click to expand...
Click to collapse
To
Quote:
0 0 mali
Click to expand...
Click to collapse
Init.d script
Please install busybox in system first
I recommend you install busybox via apps
Create a new folder named 'init.d' in /system/etc
Set the permisson of init.d foler to 0777(rwxrwxrwx) (at least has read and exec permission)
Set the owner to 0.0 (root root)
Put some scripts (any name you like) in init.d folder with permisson 0777 (rwxrwxrwx) (at least has read and exec permission)
Scripts with right permisson will be runned when system boots.
zRAM/SWAP
zRAM is optimized for Android. It is not lazy anymore.
Using zRAM will take a little CPU, because it needs to compress/decompress memory.
Recommended compressing about 18% of RAM, about 100 mb.
Setup disksize first: (example: 96mb= 96×1024×1024)
echo 100663296 > /sys/block/zram0/disksize
Click to expand...
Click to collapse
* Larger size more RAM will be compressed.
* Too large size might make phone lag
To enable:
Code:
mkswap /dev/block/zram0
swapon /dev/block/zram0
To check how many does it use:
cat /sys/block/zram0/num_reads
cat /sys/block/zram0/num_writes
cat /proc/meminfo | grep swap
Click to expand...
Click to collapse
* We can get other info in its sysfs
[SWAP]
1. Format/resize external SDCard via computer first.
Enable:
mkswap /dev/block/mmcblk1p1
swapon /dev/block/mmcblk1p1
Click to expand...
Click to collapse
2. Using a FILE as swap RAM: (Create a continuity file first)
su
cd /cache
dd if=/dev/zero of=swapfile bs=1024 count=81920
mkswap swapfile
swapon swapfile
Click to expand...
Click to collapse
Then we will have an 80mb swap RAM.
Last_dmesg
Some Help about posting kernel bugs -last_kmsg:
After you have a random reboot do this to get last_kmsg.txt file:
- via Terminal Emulator apk form play store : do
this:
Open the app, type:
su
Click to expand...
Click to collapse
hit enter.
type(withoutall the spaces) :
cat(space)/proc/last_kmsg(space)>(space)/sdcard/last_kmsg.txt
Click to expand...
Click to collapse
and hit enter.Then go to your internal memory with any
file explorer and you will finde the last_kmsg file
and please post it here.
UKSM
UKSM is more advanced than KSM algorithm which is developed by Chinese.
UKSM is faster 20x than KSM, and it has been disabled by default.
Here is a document about HOW-TO use UKSM in its WebSite.
http://kerneldedup.org/en/projects/u...ge/usage0-1-2/
if you want stop uksm run:
echo 0 > /sys/kernel/mm/uksm/run
Click to expand...
Click to collapse
for (re)activating:
echo 1 > /sys/kernel/mm/uksm/run
Click to expand...
Click to collapse
* I have set cpu_governor mode to quiet by default in order to get smooth.
* If feel laggy, try to disable UKSM.
etch04 said:
FAQ
Click to expand...
Click to collapse
what version?
v3.0.08?
Flashed.. kernel is very smooth with excperience rom
no bads so far..
will provide feedback soon
Hows the battery life? Please report
and the kernel gives the ability to tweak our GPU? Like OC and stuff??
(Im not really into kernel and stuff. Sorry)
Can you please add interactive governor??
Cheers:thumbup:
Sent from my MT27i using xda app-developers app
dwaipayanray95 said:
Hows the battery life? Please report
and the kernel gives the ability to tweak our GPU? Like OC and stuff??
(Im not really into kernel and stuff. Sorry)
Click to expand...
Click to collapse
No you can not overclock your gpu but tweak some parameter like l2 cache which can improve performance a bit when used with right setting. I'll update the post soon on how to do it.
Awesome! Looking forward to it
and battery life? Better than Munjeni's?
rakz992 said:
Can you please add interactive governor??
Cheers:thumbup:
Sent from my MT27i using xda app-developers app
Click to expand...
Click to collapse
Interactive is included, I just forgot to include it on the post.
dwaipayanray95 said:
Awesome! Looking forward to it
and battery life? Better than Munjeni's?
Click to expand...
Click to collapse
More or less.. it guess there's not much difference or maybe it's the same.can't be sure about that.
etch04 said:
More or less.. it guess there's not much difference or maybe it's the same.can't be sure about that.
Click to expand...
Click to collapse
Okay thanks
WIll report soon!
Testing!!
worked
Sent from Mayudroid
could u please make your kernel with touch CWM?
because in 6.0.2.8 doesnt work mounting SD-card and Internal memory...
Everything is smooth.. No much battery drain.. Sched_mc_power_savings is missing in sys/devices/system/cpu... Fine job :thumbup:
Sent from my MT27i using xda app-developers app
if it can help you
Commits for gpu clock control interface (MALI400)
So far very good, for me the the best battery life on JB and very smooth and stable. No glitches or hiccups.
Keep it up. Very good job.
Pegasusq/Sio...
Eth4n said:
if it can help you
Commits for gpu clock control interface (MALI400)
Click to expand...
Click to collapse
I don't think it possible right now because it need platform specific dvfs interface.the link u posted is above is for exynos and it would not work with ux500.there is no working implementation of ux500 of which I know and it beyond me implement it.
I gonna try this kernel. BTW will you add Linaro optimizations and frandom? This kernel will be smoother with them
Sent by typing on my Xperia Sola with my fingers using xda premium

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

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

[Kernel][3.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