This custom kernel is base on diego-ch's TWRP kernel.
I call it CoCore.
( Responsibility )
I'M IN NO WAY RESPONSIBLE OF ANY DAMAGE CAUSED BY USING THIS CUSTOM KERNEL.
( Compatibility )
This kernel works well on i9070.
I am sorry that it causes high cpu load on i9070P!
( What is needed )
* An I9070 (Andorid 2.3.6)
* Some Android experience
* Know some knowledge of how to use Android Terminal
* More patience
( Features )
TWRP Recovery 2.2.1
28 CPU Governers
8 I/O Schedulers
IO Unlocked (increased a bit speed)
Init.d Script
Custom Bootanimation
Deeper Sleep Mode
zRAM, SWAP Supported
NTFS(Read Only)
CIFS
ARM ThumbEE
ARM VFP with neon
Optimized RWSEM Algorithm
Mali GPU Tweakes/Controls
LZO Kernel Compression ( for faster boot )
Removed Useless Drivers ( for faster boot )
SLUB Memory Allocator
Automatic readahead cache size
Audio Boost*
Linaro GCC Toolchain
And many miscellaneous tweaks, it's hard to make a list for them.
Maybe i also forgot them.
A ton of new features in my updates,please Check the updated version.( See below )
( Detailed explanation )
CPU Governers Supported:
Code:
Performance, OnDemand(default), Lionheart, Powersave, Userspace,
Conservation, OndemandX, SmartassV2, Interactive, Scary, Sakuractive,
PegasusQ, Intellidemand, Lazy, Wheatley, HotPlug,
SmartAss, LagFree, BrazilianWax, InteractiveX, MinMax, SavagedZen,
Aggressive, AggressiveX, Gallimaufry, GallimaufryX, AbyssPlug, Skywalker
* To get stable scores, please use Performance to run benchmarks.
* For daily using, i recommend PegasusQ.
* Please test the governors by yourself.
* And the PegasusQ will hotplug the second cpu when screen turns off,that might cause music skip when system load is heavy.
* If unsure,please use ondemand(default)
IO Schedulers Supported:
Code:
NOOP, Deadline, CFQ, BFQ(default), SIO, VR, anticipatory, ZEN
* To get more information about governers/io schedulers, here:
http://forum.xda-developers.com/showthread.php?t=1369817
* For daily using, i recommend SIO/BFQ/ZEN
* Please choose a best io scheduler by yourself.
Init.d Script:
* Please make sure there is a latest busybox in your system.I found that init.d didn't work properly on some devices which have old version busybox.
* The init.d folder (/system/etc/init.d) must have 0755 permissions.
* If the scripts dont have execution permissions,it wont be execute automatically.
Custom Bootanimation:
* Please put the bootanimation.zip in /system/media with right permissions(0644).
* If there isn't any custom bootanimation, kernel will load Samsung official bootanimation.
DeepSleep Mode:
* Default mode is State4, i changed it to State5. Increased standby life time.
* If you use a hotplug governor,it might be unstable when you use the deepest sleep mode.
* Some users reported that ondemand works well with deepest sleep mode.
* If you mind the standby time of the phone,please give it a try.
* You can get information about CPU sleep states:
Code:
cat /d/cpuidle/stats
* To change the allowed deepest sleep mode: (e.g. Allow State6)
Code:
#echo 6 > /d/cpuidle/deepest_state
zRAM & SWAP:
* zRAM must be enabled by script/command.
Code:
mkswap /dev/block/zram0
swapon /dev/block/zram0
* SWAP must use with a SWAP partition in sdcard.
Code:
mkswap /dev/block/mmcblk1p2
swapon /dev/block/mmcblk1p2
* Because we have a large memory, the zRAM/SWAP is low activity.
* Some users said that zRAM/SWAP wont help the performance of games,they might drop more battery.
NTFS:
* Need a binary called "ntfs-3g" to read/write ntfs sdcard. Built-in NTFS feature only can read.
* Stock Android 2.3 cannot mount NTFS sdcard automatically.
Mali GPU:
* Allowed larger memory.
* Allowed larger OS memory for buffer. ( 6m -> 10m )
* L2 cache max reads tweakable
* Enabled some features in Makefile.
* Disable a big debugging checking
Audio Tweaks:
* Enabled directly rendering
* Enabled 32k_clk ( a feature of AB8500 )
* Volume Boost! ( v3.6-3.8rc,optional in v4.0 )
* Dynamic Range Enhanced! ( v3.6-3.8rc,optional in v4.0 )
( Installation )
Method 1
1. Flash the kernel which has TWRP via Odin. You can flash diego-ch's TWRP kernel, or flash "GT-I9070-Kernel-CoCore.tar.md5" in attachments.
Here diego-ch's TWRP kernel: http://forum.xda-developers.com/showthread.php?t=1873119
( flash custom kernel will increase binary counter!! )
2. Run Odin, Put the md5 files in PDA, Pit files doesn't need.
3. Only check "Auto Reboot" and "F.Reset Time"
4. Click Start to flash, wait for phone reboot.
5. Boot into TWRP, Tap Install, Select i9070_kernel_CoCore_TWRP.zip, Flash it.
And, if you have TWRP kernel already, flash the zip via TWRP directly.
Method 2 (Experienced users only)
This method will not increased binary counter, but ROOT permission is needed.
1. Get kernel.bin.md5 from i9070_kernel_CoCore_TWRP.zip
2. Put kernel.bin.md5 in sdcard
3. Run your favourite terminal app, type these codes
Code:
$su
#dd if=/sdcard/kernel.bin.md5 of=/dev/block/mmcblk0p15
4. Reboot
If you typed a wrong patition number, perhaps it will brick your phone!!!
Think twice before you hit Enter.
( Updates )
01/03/2013 Update: CoCore v4.1
Hmm,This is BETA version.
Block: Added ZEN io scheduler (Bases on noop,deadline and sio)
CPUFreq: Added Skywalker governor (FreqTable tweaked)
Mali: Increased the default l2 max reads 28kb -> 48kb
Mali: Disabled a big debugging tracking
RCU: jRCU -> TreeRCU (For better CPU/RAM throughput!)
NWFPE: Enabled ex-nwfpe
Please remove the mali l2 init.d script tweaks,guys
CoCore-mini 1.4 is at #842 post.
12/23/2012 Update: CoCore v4.0
Mali: Driver updated, re-tweak the parameters
ASoC/ab8500: Driver updated
NET/conf: Enable HSTCP(high-speed tcp),Westwood+,Veno,Hybla,YeAh configs. Cubic(stock) conf is default.
Block: Set BFQ as default io scheduler
Block: Automatic readahead cache size limit (depend on the size of your sdcard)
Block: Re-tweak SIO/VR/Deadline for flash nand devices
MM: SLQB -> SLUB
SCHED: Remove fair_sleepers, revert the parameters back to stock
MISC: Remove a ton of juck!!!, Highest complie optimization level, boot faster(compare to old versions,8800ms~9100ms now)
PS.
The cifs.ko and smbfs.ko have been put out ramdisk.They will be installed to /system/lib/modules (for faster boot)
And i forgot the changes,see my source on my github.There is a changelog.
To change the net configs:
Create a new init.d script:
Change the 'highspeed' to other confs.
Use `sysctl -a | grep cubic` to know what conf you can change to.
`ping` is the simple way to test whether the conf you use fix you or not.
For me,i am using highspeed now. If unsure,keep default(Cubic)
Code:
#!/system/bin/sh
sysctl -w net.ipv4.tcp_congestion_control=highspeed;
I have set the mali l2 cache back to 28kb by default.
To set it to 48kb(max).Use an init.d script.
Code:
#!/system/bin/sh
echo 0x00000030 > /sys/module/mali/parameters/mali_l2_max_reads;
The game fps should be improved a bit,
The values you `echo` must be HEX
BUT,if it doesnt or feels lagged,remove this script.
For me,48kb works well.
The volume++ version is volume boosted. (Someone requires this)
The lagged sound will be increased,too!
12/09/2012 Update: CoCore v3.9Beta8
This is BETA VERSION!!
CpuFreq: Added AbyssPlug (Base on OnDemand+Hotplug)
Mali: Increased the priority of OSMEM (5 -> 1) (See the dmesg)
Mali: Unlocked mali_l2_max _reads in sysfs (You can tweak this parameter now) (Dont set over 48)
(If you find a good value,please share with us!)
Mali: Misc tweaks
Kernel/hz: Fix the defconfig issue (Thanks! @hafidzduddin)
Net/SCH: Reverted back to stock (To experiment the latency of enabling mobile data)
Makefile: More optimization flags
PS.
The Mali parameters are in /sys/module/mali/parameters/
Use scripts/terminal to set them.
12/07/2012 Update: CoCore v3.9Beta3
This is BETA VERSION!
J4FS: J4FS driver works! Bugfree now!
CpuIdle: Revert the ApDeepSleep to stock,and added ApSleep++ custom state
(ApSleep++ and ApDeepSleep only works with non-hotplug governors,e.g: ondemand)
(New sleep state is disabled by default.You can enable them by yourself,if you prefer longer battery.)
CpuFreq: Added Aggressive, AggressiveX, Gallimaufry and GallimaufryX (These are optimazed version of Conservation/OnDemand)
CpuFreq: Fix a hotplug bug of PegasusQ
FS/SYNC: Removed Dynamic Fsync Control,added Ezekeel FSync Control
ASoc/ux500: Raise the pcm buffer size to MAX
NET/Scheduler: Re-tweaked, to experiment the latency of mobile data
Unknown: Fix the touchscreen sudden lost response (According to my using these days,it has been happended again!)
PS.
The FSYNC is enabled by default.Disabling FSYNC can improve IO performance.
In AnTuTu IO Test: Enabled: 350-400 Disable: 540-560
But disabling FSYNC can cause losing data!! It is at your own risk!!
Check the TIPS part to get how to disable it.
12/02/2012 Update: CoCore v3.9Beta1
This is BETA version, at #344 post.
12/02/2012 Update: CoCore v3.8.6rc
ASoC/ab8500: Use another gain mode in order to fix the terrible audio issue.
Sched: Reduce the latency of CFS Scheduler
PS.
The dyn_fsync will casue screen lag when you turn off the screen and there is a heavy io load.
If there isnt any heavy io load,it goes normally.
If you hate this,see the Tips part (#2 post) to get HOW TO disable dyn_fsync.
12/01/2012 Update: CoCore v3.8rc
CpuFreq: Tweaked the freq table of PegasusQ
Blcok: Updated BFQv1 -> BFQr2-1,Fixed the latency of BFQ issue. (BFQv5 is incompatible with Linux 2.6.35)
Sched: Tuned the patamerters of CFS scheduler (Use ThunderBolt's)
Sched_features: Enable Fair_Sleepers,Disable HRTICK
Mali: L2 cache max reads -> 48kb,Fix the mem leak issue.
NET: Set WestWood+ as default CONFIG
fs/sync: Added Dynamic FSync Control
(Improve IO performance greatly.When the screen is on,fsync is off.When the screen is off,fsync is on.)
ASoc/ab8500: Fixed the FMRadio volume balance issue. (Thanks @shut_down)
MISC: Removed a TON of JUNK!!!,And added a workaround to flash kernel quickly.
PS.
The benchmark screenshot is in the #304 post.
How to disable DYN_FSYNC? Check the TIPS part. (#2 post)
What is the flash kernel workaround?
In TWRP,use the Terminal fucntion,SELECT the folderr which has a kernel named "kernel.bin.md5",Start the Terminal,
And just type "fkernel"(No quotes),it will flash the kernel.bin.md5 automatically.
And i found that V(R) is a good io scheduler too.
The BFS CPU Scheduler is incompatible with our kernel.I am about to introduce this in the JellyBean kernel.
11/25/2012 Update: CoCore v3.7
RamDisk/TWRP: Added a temporary workaround to mount emmc(internal memory)
Block: SIO io scheduler updated. (2012 version) (Thanks @hafidzduddin)
CpuFreq: Fixed the name issues of governors (SetCPU cannot tune the parameters of governors, now fixed)
CpuFreq: Added LagFree, BrazilianWax, InteractiveX, MinMax and SavagedZen governors
(New governors havent been tested fully!If unsure, PegasusQ is recommended.)
I have tweaked the freq tables of most governors.
Mali: L2 cache max reads: 48kb -> 44kb , FPS increases (1-8fps) in simple scenes.
(Reserved 4kb for buffering, perhaps it will fix the sudden lag in games)
Sched: Fix SAMSUNG source code errors
Sched: Added AutoGroup Scheduler v4
Net/Sched: Re-changed the scheduler of net
android/logger: Reduced the logger size
ASoc/ab8500: Headset Volume adjusted, Dynamic Range enhanced! (i recommend using PowerAMP/RockBox)
PM(PowerManagement): Added a new feature, Operating Performance Point (OPP) Layer library
MISC: Disabled something useless(for faster boot),
Added GenLock API, MM&DMA hacked,
Added a new feature DM_CACHE,
more GCC optimizations in MakeFile
PS.
Dont use high volume to listen to music over 1 hour, it it not good for your ears.
Just reduce some volume.And i havent gained the speaker volume, dont worry.
The TWRP has some grapics issues when entering the emmc folder(it happends soemtimes, not always),
if it happended just tap back button and enter again.
(Some guys required this becaues them havent an external sdcard! )
And about the SetCPU issues. If you cannot tweak the parameters of some governors,
go to /sys/devices/system/cpu/cpufreq/(governor_name)/, you can tweak them here.
Make a script to tweak them quickly.
I think there is no point in updating to 2.6.35.14, because it updates a lot of useless drivers.
11/18/2012 Update: CoCore v3.6
Block: Added anticipatory io scheduler
CpuFreq: Added HotPlug and SmartAss governors
CpuFreq: Tweaked SmartAss and SmartAssV2 freqtable in order to match our device
Kernel: Adjusted many parameters
Lernel: Built with optimized compiler options
Sched: Added Fair_Sleepers feature,
disabled Gentle_Fair_Sleepers feature,
enabled HRTICK feature
MM: Increased Min readahead 16k -> 32k
JHash: Added JHash v3 speed tweak
Mali: Use another timestamp mode
ab8500/asoc: Headset volume gain boosted! (Sounds perfectly.My ears will be satisfied with i9070+Edifier H850. )
11/11/2012 Update: CoCore v3.5
Kernel: Revert LZO compression ( LZO is the fastest, but it makes kernel largest )
Kernel: Removed some bad tweaks
Kernel: Compile with Linaro GCC 4.4.5 ( The final version of Linaro GCC 4.4 series )
Ramdisk: For power saving, cifs.ko and smbfs.ko will not be loaded by default
Block: SIO, V(R) and Deadline io scheduler tweaked ( Better IO throughput )
FS: EXT2, EXT3 and EXT4 speed up
JHash: Updated to JHash v3
Sched: Enabled HRTICK
RCU: Added and use JRCU
TCP: Change TCP_Config to VENO ( Faster on wireless network ), and enabled HSTCP ( High-speed TCP )
NET: Net schedulers tweaked, in order to work with VENO config
NET: Introduce u64_stats_sync infrastructure
MM: Added vzalloc() and vzalloc_node() helpers
MM: Added and use SLQB memory allocator
MM: Added fudgeswap
SYNC: Added synchronization framework
BCM4330(WLAN): Enabled PM_FAST mode in standby
CGroup: Enabled FREEZER feature
PS. And many misc tweaks.
And i added some modules in /lib.
I tweaked mali parameters again (MEM -> 48MB OSMEM -> 8MB).
Because i find that when the memory is too big, it feels lag.
According to my test, in simple scence, fps increases (1-2fps); in complex scence, fps reduces (1-2fps).
But UI is faster in low frequencies! ( i often use signle core at 800Mhz )
10/28/2012 Update: CoCore v3.1
Mali: Fixed the fps issue.
RCU: Use Tiny-PREEMPT RCU (To reduce memory footprint, and feel more smooth)
Kernel: Removed some bad tweaks.
10/28/2012 Update: CoCore v3.0
Bug Fixed: Rolled back to old ramdisk (TWRP 2.2.1) in order to fix wifi hotspot issue.
MM: Increased sdcard max read ahead to 2048kb. (It's nice to work with my class-4 sdcard)
FS: Added AUFS,AutoFS4 support.
FS: Improved a bit perfromance of ext4.
RCU: Added Tiny-PREEMPT RCU.
RCU: Boosted. (Prefered real-time response)
CFS: Boosted.
Log: Reduced the log buffer size.
TCP: Enabled some features, optimized.
Net: Removed some schedulers.
Kernel: Removed some bad tweaks.
CGroup: Boosted.
CGroup: Added timer slack subsystem feature.
CpuIdle: ApDeepSleep(State6) worked! (Experimental,enable by yourself. Default is State5.)
LIB/CRC32: Added optimized CRC32 algorithm.
And lots of misc tweaks.
10/23/2012 Experimental Update
CpuIdle: State6( ApDeepSleep ) works!! Added "ARM_OFF" to State5!!
10/21/2012 Small Update
Update: TWRP 2.3.1.1 ( Thanks! @diego-ch )
Mali: Increase OS memory for buffer ( 8M -> 16M )
init.d: Make it as service
LIB: Add memcopy macoros and functions
ARM: Add optimized AES and SHA1 routines
ARM: Add optimized SHA1 implementations ( boot faster )
ARM: Enable ICache feature
ARM: Enable BPredict feature
ARM: VFP hard+neon float flag
ARM: JIT network Compiler ( experimental )
CPUIDLE: Add a custom sleep state ( state6,experimental )
Kernel: Use LZMA compresstion ( boot faster )
Kernel: Add XZ compresstion support
CFS: Tweaked
Revert: Gentle_Fair_Sleepers ( for smooth UI )
Compatible with JetMOD now
( Old versions downloads )
*** These have j4fs bug! ***
CoCore v3.1 http://d-h.st/1Q5
CoCore v3.5 http://d-h.st/qKY
CoCore v3.6 http://d-h.st/wvi
CoCore v3.7 http://d-h.st/48k
CoCore v3.8rc http://d-h.st/Eui
CoCore v3.8.6rc http://d-h.st/XEf
( Thanks )
Thanks to everyone who helped me.
Special Thanks:
@diego-ch
@varun.chitre15
@hafidzduddin
@shut_down
@hackbob
@Adi_Pat
@JackStow
The source code is available on my github now.
If there are any issues, please report.
And if you like my work, Press THANKS Button Please. It encourages me.
( Tips )
1. For performance, please remove libGLES_android.so in /system/lib/egl to disable weak CPU rendering.
2. Flash your kernel quickly via Ternimal.
Creat a new file (named `ddkernel`) with RootExplorer.
Write these codes:
Code:
#!/system/bin/sh
source=`busybox realpath kernel.bin.md5`;
echo "DD: Flashing $source";
busybox dd if=kernel.bin.md5 of=/dev/block/mmcblk0p15;
Save , and set right permissions (0777), put it in /system/xbin
Now, you can `cd` to the folder where stores `kernel.bin.md5`, and use `ddkernel` command to flash kernel.
3. Mount your NTFS sdcard
Firstly, you need a binary called "ntfs-3g". Put this binary in /system/xbin
Open your terminal app.
Code:
mkdir sdcard-ntfs
ntfs-3g /dev/block/mmcblk1p1 /sdcard-ntfs
4. My sysctl.conf
Code:
vm.dirty_expire_centisecs=3000
vm.dirty_writeback_centisecs=500
vm.dirty_background_ratio=40
vm.dirty_ratio=80
vm.vfs_cache_pressure=1
vm.highmem_is_dirtyable=1
To use this file,you must have installed busybox,and put this file in /system/etc
Go to /system/etc/init.d/,create a new file(Any name you like),write this(Remember to set right permissions(rwxrwxrwx) of new file):
Code:
#!/system/bin/sh
busybox sysctl -p;
Now your sysctl.conf will be loaded automatically in every boot.
5. How to disable Dynamic FSync Control? (CoCore v3.8-v3.8.6 ONLY)
In your /system/etc/init.d/,create a new file
Code:
#!/system/bin/sh
echo 0 > /sys/kernel/dyn_fsync/Dyn_fsync_active;
Now,this function will be disabled in every boot.
6. How to Control the FSYNC? (CoCore v3.9+)
In your /system/etc/init.d/,create a new file(any name you like)
Code:
#!/system/bin/sh
# Disable FSYNC
echo 0 > /sys/class/misc/fsynccontrol/fsync_enabled;
# Enable FSYNC
#echo 1 > /sys/class/misc/fsynccontrol/fsync_enabled;
Or you can control the FSYNC via terminal realtime.
Good work!
Just I have a request
Can you try this on JetMOD and tell me if Power menu options of Reboot, and Reboot recovery works?
I am planning to ship this kernel in next update of JetMOD
varun.chitre15 said:
Good work!
Just I have a request
Can you try this on JetMOD and tell me if Power menu options of Reboot, and Reboot recovery works?
I am planning to ship this kernel in next update of JetMOD
Click to expand...
Click to collapse
ok, i will try today.
Sent from my GT-I9070 using xda premium
Looks nice. Got the I9070 today. Will test it out soon.
Btw, which users are working on CM ? I would like to contribute. I have already forked hackbob's source. Will look into it sometime later.
Edit : Removed. Double post.
Shaaan said:
Looks nice. Got the I9070 today. Will test it out soon.
Btw, which users are working on CM ? I would like to contribute. I have already forked hackbob's source. Will look into it sometime later.
Click to expand...
Click to collapse
If i got it right, @diego-ch @hackbob @Adi_Pat are working on CM.
cocafe said:
If i got it right, @diego-ch @hackbob @Adi_Pat are working on CM.
Click to expand...
Click to collapse
Thanks.
Is there any known method to reset the binary counter ? Does triangle away work ?
Shaaan said:
Thanks.
Is there any known method to reset the binary counter ? Does triangle away work ?
Click to expand...
Click to collapse
No, there isn't. Triangle Away only works on ICS/JB
When get JB source code, we can have a try.
Sent from my GT-I9070 using xda premium
tnx allot dude, i`m sad that i am at the office and can`t test your kernel :|
I have made CWM. Should i include it in the boot image and flash ?
I dont see any zip which includes the .img format..
after flashing it by TWRP, it stuck on boot logo :S
i was using jetmob rom before, and need to restore the backup.. i'v tries twice, and same boot logo stuck..
JackStow said:
after flashing it by TWRP, it stuck on boot logo :S
i was using jetmob rom before, and need to restore the backup.. i'v tries twice, and same boot logo stuck..
Click to expand...
Click to collapse
Yes this is incompatible for JetMOD.
Wait for next update of JetMOD
Shaaan said:
I have made CWM. Should i include it in the boot image and flash ?
I dont see any zip which includes the .img format..
Click to expand...
Click to collapse
Great, You have made CWM for i9070?
i9070 kernel format is zImage, not boot.img.
You can fork the kernel repo of diego, replace the recovery files, and complie kernel.
Put it in dev thread.
We will test it.
Sent from my GT-I9070 using xda premium
JackStow said:
after flashing it by TWRP, it stuck on boot logo :S
i was using jetmob rom before, and need to restore the backup.. i'v tries twice, and same boot logo stuck..
Click to expand...
Click to collapse
Try to delete/rename the init.d folder in /system/etc.
Some scripts of JetMOD stuck booting.
Please report me if it works.
Sent from my GT-I9070 using xda premium
i have flashed your kernel and i am happy to see that drop of fps is gone, the rest is working splendit as well, tnx again
installing these kernel?
hi cocafe.
your custom bootanimation work?
in my kernel custom bootanimation loops never stop.
i use diego-ch ramdisk
im a user of galaxy ace 2
What is that CPU/b2r2 rendering?
Is that audio tweak included without flashing " optional scripts? If I do not want to enable "Deepest Sleep" and "Mount" from optional scripts zip, is it enough to delete them from the zip?
hafidzduddin said:
hi cocafe.
your custom bootanimation work?
in my kernel custom bootanimation loops never stop.
i use diego-ch ramdisk
im a user of galaxy ace 2
Click to expand...
Click to collapse
Yes, several weeks ago, i fixed that loop bug.
You can check the ramdisk of my kernel. There is a small workaround in post_boot.sh.
Here the method:
in init.ux500.post_boot.sh, write these code
# fix custom bootanimation loop
sleep 4;
bootani=`ps | grep bootanimation | cut -b 10-16`;
kill $bootani;
Sent from my GT-I9070 using xda premium
Note that while you can download the most current kernel from the links below, this thread is no longer being updated. Go to Devs-base for the active user thread. Watch this for details.
Here's a custom kernel for you all to try out. It should work with the Evervolv nightlies. Not tested with other ROM's.
{
"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"
}
NOTICE: This kernel can be overclocked over the standard Touchpad voltage regulator settings. It may or may not be stable for your particular Touchpad. I am not responsible in any way for anything that occurs as a result of your use of this kernel. You agree that by flashing this kernel, you are doing so with a full understanding that you assume full liability for any and all issues that may arise from doing so.
Click to expand...
Click to collapse
This kernel must be flashed from recovery (DO NOT USE TP TOOLKIT!) No need to clear caches, format system, or any other preparation. Flash and boot. You can set the kernel parameters from the EVToolkit, but I highly recommend Kernel Adiutor for more detailed and granular control of settings. If you don't like it, recover by reflashing your base EV ROM.
Here's a few facts:
CPU Overclockable to 1890KHz
Level 2 frequency boost to 1890KHz
Stepped 2D & 3D GPU OC up to 267 MHz and 320 Mhz, respectively
Additional governors and schedulers
Use Kernel Adiutor for tuneable parameters in the kernel
READ HERE FOR INFORMATION ABOUT GOVERNORS AND SCHEDULERS: Guide Link
NOTE!: The kernel has stability up to 1836 KHz, so if you decide to try the higher frequencies or change the cpu voltages, be sure and UNSET THE 'APPLY AT BOOT' option in your kernel tuner app. If your tablet can't handle the higher frequencies or voltages, it will either freeze or reboot. If it freezes, you will have to do a hard boot (hold power and HOME key simultaneously until it reboots). It should revert back to the default frequency of 1512 KHz max, 384 KHz min., but if it doesn't, Kernel Adiutor (KA) has a delay in setting the options. Get into KA as soon as you can after it reboots and set the CPU options to a stable setting.
Download links. No system/full wipes or cache clearing required.
Primary
GPL Compliance: Kernel Source
CHANGELOG
Code:
-> 16JUN17
- Adapted from APQ8064: Improve GPU response when waking from sleep
-> 14JUN17
- Ported from board-8960: Increase MM ION heap to 60MB
- defconfig: Enable arm neon optimized crypto
-> 12JUN17
- Fix defconfig DERPs in merge
- tcp: add sociopath congestion control
- Hack __pm_wakeup_event to reduce wakelocks
-> 07JUN17
- Merge upstream
-> 05JUN17
- rwsem: Optimized ARM RWSEM algorithm
- net: Controlled Delay AQM (CODEL)
-> 30MAY17
- Merge upstream
- Reduce zramdisksize to 268MB
-> 25MAY17
- int_sqrt: 3x faster integer sqrt
-> 16MAY17
- Merge upstream
- defconfig: Enable QUICK_WAKEUP and FRANDOM
- lowmemorykiller: numerous patches to improve performance
including adaptive LMK
-> 10MAY17
- block: Add driver to change the I/O scheduler when the screen turns off
-> 03MAY17
- Add more processes to power efficient workqueue
- workqueue: Provide destroy_delayed_work_on_stack()
- workqueue: use schedule_timeout_interruptible() instead of open code
- Remove WQ_POWER_EFFICIENT from kblockd
- Add frandom and quickwakeup drivers
- cpufreq: Notify governors when cpus are hot-[un]plugged
- cpu: Abort suspend when hotplug is already in progress
-> 01MAY17
- Reduce boot splash size
-> 30APR17
- add several more processes to the power efficient workqueue
- SKZ-ify the boot splash
-> 25APR17
- sched: cpu_power: enable ARCH_POWER
- splice: introduce FMODE_SPLICE_READ and FMODE_SPLICE_WRITE
- binfmt_elf.c: use get_random_int() to fix entropy depleting
- CHROMIUM: mm: Fix calculation of dirtyable memory
- writeback: increase bdi_min_ratio to 5
- power: msm_battery: increase battery check interval from 5 to 15 seconds
- scsi: Remove scsi_wait_scan
- kernel: Reduce latency
-> 24APR17
- Revert undervolt the lower frequencies a bit more
-> 15APR17
- Undervolt the lower frequencies a bit more
- hrtimer: enhance power efficiency
- cpu: enhance power efficiency
- sched: Trying to reduce power usage
- changes for relaxed functions
-> 07APR17
- Misc. code improvements
-> 05APR17
- Build for 4g
-> 03APR17
- Undervolt
-> 27MAR17
- Adjust overclock and voltage settings
-> 27FEB17
- Revert tenderloin: disable CONFIG_MSM_CPU_FREQ_SET_MIN_MAX
-> 22FEB17
- Add darkness governor
-> 14FEB17
- merge upstream. LZ4 and zram restored
-> 09FEB17
- Revert all ev lz4 and zram commits
-> 08FEB17
- Remove medusa governor (for now)
- cpufreq: Optimize cpufreq_frequency_table_verify()
- msm: kgsl: fix sync file error handling
-> 27JAN17
- Fix medusa governor freezes by locking cpu_up/down
-> 26JAN17
- Revert clean up medusa governor min frequency code
- Revert merge upstream
-> 25JAN17
- Merge upstream
- Clean up medusa governor min frequency code and set some tuneables
-> 23JAN17
- fix medusa governor freezes
- fix SECTION_MISMATCH errors during compile
-> 20JAN17
- Add new original medusa governor
- Add lionheart governor
-> 11JAN17
- Revert 'Move wireless regulator timeout to power efficient workqueue' & 'Fix PCC disablement' and rebase
- Merge upstream
- Update smartmax governor
-> 05JAN17
- Move wireless regulator timeout to power efficient workqueue
- Add Link Time Optimization support
- Fix PCC disablement
- Distinguish skz kernel localversion from ev stock
-> 04JAN17
- Add optimized SHA256 arm crypto routines (improves encryption performance by up to 20%)
- Add voltage interface
-> 03JAN17
- Merge upstream
- Compile with O3 optimizations
- Restructure 3d_pdata to improve graphic performance
-> 02JAN17
- Set boot frequency to 1728 KHz
- Enable gpu 2d frequency to 267 MHz
-> 28DEC16
- Merge upstream
- Add invisiblek's [I]enable CONFIG_UID_CPUTIME [/I]commit
- Match smartmax and smartmax_EPS get_cpu_idle_time function code
-> 19DEC16
- Add tripndroid scheduler
- Clean up governor code
- Regen defconfig
-> [U]15DEC16[/U]
- Remove maple io-scheduler
- Add dynamic interactive and alucard governors
-> [U]13DEC16[/U]
- REALLY remove divide-by-zero errors in kernel
- Add maple io-scheduler
-> [U]11DEC16[/U]
- Merge upstream
- Remove divide-by-zero errors in kernel
- Tune hyper governor
-> [U]09DEC16[/U]
- Tuned Smartmax_EPS governor for improved Touchpad performance
- Added dancedance governor (very smooth and fast with good battery performance. I love it!)
- Added hyper governor (based on conservative with some smartass features)
-> [U]05DEC16 Initial upload[/U]
- CPU Overclock to 1836 MHz
- L2 OC to 1836 MHz
- 2D GPU OC to 228 MHz
- 3D GPU OC to 320 MHz
- Add Smartmax_EPS governor
Will it work on android evervolv 7.1 ?
You didn'texplain what tweak did you do except overclock. What are the benefit except higher freq ?
Steelskinz said:
Will it work on android evervolv 7.1 ?
-SNIP-
Click to expand...
Click to collapse
Yes.
Thanks Shumash. If you wish to return to stock EV kernel you do a full wipe and reflash the ROM?
Nomad1600 said:
Thanks Shumash. If you wish to return to stock EV kernel you do a full wipe and reflash the ROM?
Click to expand...
Click to collapse
No need to do a wipe since only the kernel will change. There is another way to do it if you know your way around, i.e.,
Before flashing the SKZ kernel, copy the uImage.Evervolv file in /boot to a location on your 'sdcard'.
Flash the SKZ kernel
If you decide to restore the original EV kernel, delete the uImage.Evervolv file in /boot
Copy the saved copy of uImage.Evervolv on the 'sdcard' to /boot.
Reboot and stock kernel will be restored (any settings you made while in the SKZ kernel will be lost).
New Tricks, Old tablet
shumash said:
No need to do a wipe since only the kernel will change. There is another way to do it if you know your way around, i.e.,
Before flashing the SKZ kernel, copy the uImage.Evervolv file in /boot to a location on your 'sdcard'.
Flash the SKZ kernel
If you decide to restore the original EV kernel, delete the uImage.Evervolv file in /boot
Copy the saved copy of uImage.Evervolv on the 'sdcard' to /boot.
Reboot and stock kernel will be restored (any settings you made while in the SKZ kernel will be lost).
Click to expand...
Click to collapse
Nice thanks Shumash :highfive: I'm going to try this out
Update:
Checkout the performance boost with the SKZ kernel @ 1836! Looking good Shumash:good:
View attachment 3961347
Note: Tested with Antutu Benchmark here:
[SKZ Update] 09 DEC 2016
Update available.
CHANGELOG
Code:
-> 09DEC16
- Tuned Smartmax_EPS governor for improved Touchpad performance
- Add dancedance governor (very smooth and fast, good battery performance. I love it!)
- Add hyper governor (based on conservative with some smartass features)
Are there any details on which versions of android this will work with, e.g., if we want to use it with android 4.4.4?
Razor512 said:
Are there any details on which versions of android this will work with, e.g., if we want to use it with android 4.4.4?
Click to expand...
Click to collapse
Nope. That's why it's stated for EV. You just need to try it out and see. Keep in mind that other ROM's name the uImage as cyanogenmod or AOKP, etc., and this kernel won't work unless renamed to match the kernel it replaces. Report back for others
Has anyone tried the 12/9 kernel over the 12/9 nightly? I got boot error. Rom worked fine before I tried the kernel. I just reflashed from and it works fine.
Crashes with Antutu Benchmark when OC'd
jerryatherton said:
Has anyone tried the 12/9 kernel over the 12/9 nightly? I got boot error. Rom worked fine before I tried the kernel. I just reflashed from and it works fine.
Click to expand...
Click to collapse
I was able to boot fine but when I OC to 1836 and tried the dancedance governor I rebooted in antutu benchmark(twice now). Been trying to fetch some logs with the Evervolv bug reporter but it doesn't seem to be working for me. Tested again, stock speeds, default governor and I was able to complete Antutu Benchmark.
Shumash be advised that the 12/9 nightly has moved up to Android 7.1.1, not sure if that's an issue.
http://www.evervolv.com/devices/tenderloin
RolandDeschain79 said:
I was able to boot fine but when I OC to 1836 and tried the dancedance governor I rebooted in antutu benchmark(twice now). Been trying to fetch some logs with the Evervolv bug reporter but it doesn't seem to be working for me. Tested again, stock speeds, default governor and I was able to complete Antutu Benchmark.
Shumash be advised that the 12/9 nightly has moved up to Android 7.1.1, not sure if that's an issue.
http://www.evervolv.com/devices/tenderloin
Click to expand...
Click to collapse
Works fine for me (including 7.1.1), but I'll try and see if I can duplicate the Antutu issue. Did you try dancedance at a lower clock?
Results, 7.1.1 (home rolled on 12/10), 1836 MHz, dancedance governor, fiops scheduler, 320 gpu.
shumash said:
Results, 7.1.1 (home rolled on 12/10), 1836 MHz, dancedance governor, fiops scheduler, 320 gpu.
Click to expand...
Click to collapse
1836 caused a reboot, but the one below didn't. Currently testing hyper...
[SKZ Update] 11 DEC 2016
Update available.
CHANGELOG
Code:
-> 11DEC16
- Merge upstream
- Remove most divide-by-zero errors in kernel
Enjoy.
DELETED. See updated update below
Only 1836 causes crashing
shumash said:
Works fine for me (including 7.1.1), but I'll try and see if I can duplicate the Antutu issue. Did you try dancedance at a lower clock?
Click to expand...
Click to collapse
w1ll1m said:
1836 caused a reboot, but the one below didn't. Currently testing hyper...
Click to expand...
Click to collapse
Yes lower clocks were OK but the max overclock was the problem for me too. Going to test out the newest version of the kernel with the latest nightly and I'll report back thanks:highfive:
[SKZ Update] 11 DEC 2016
shumash said:
Update available.
CHANGELOG
Code:
-> [U]11DEC16[/U]
- Merge upstream
- Remove divide-by-zero errors in kernel
- Tune hyper governor
Enjoy.
Click to expand...
Click to collapse
Updated again. Re-download the latest
Testing
shumash said:
Updated again. Re-download the latest
Click to expand...
Click to collapse
I redownloaded my kernel zip and the latest Evervolv 12,11 nightly but I'm still experiencing crashing with Antutut benchmark when the CPU is set to 1836. It always crashes in the same place after the video tests @ Image processing blur load screen. However when I set the CPU to 1782 it finishes the test every time and gets a great score.
Note: using the default governor while testing
RolandDeschain79 said:
I redownloaded my kernel zip and the latest Evervolv 12,11 nightly but I'm still experiencing crashing with Antutut benchmark when the CPU is set to 1836. It always crashes in the same place after the video tests @ Image processing blur load screen. However when I set the CPU to 1782 it finishes the test every time and gets a great score.
Note: using the default governor while testing
View attachment 3966730
Click to expand...
Click to collapse
As you are aware, some 'pads can OC, some can't. Mine can (with the default governor, 19793).
Mine could also oc to 2.1ghz back in jellybean but my phone could not reach it own max oc, it mostly depend of if you got a good SoC batch but they required more cheaper one for metting the demand or a bad one which was intended for getting use has lower end. That mostly the case with PC CPU but since all mobile device was underclocked by default, it did not make any difference for end user because of the heat and energy consumption of full clock or overclock.
Great to see the Tenderloin still alive with at less a single custom roms but seeing a custom kernel on rolland's video on my youtube feed made me fell like "wtf, i need to get updated on that device devellopement, it's really happening ! ". Thank shumash, my tenderloin might not be my main tablet anymore (buyed an Surface Pro 3 and found a Nexus 7 2012 in the dump) but's still a very good device for light stuff or has a second screen in bed for a guide in a game. You are amazing like always.