{
"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"
}
Phoenix Kernel
Phoenix -Kernel For Optimus L1 II (vee1)
E410-E411
Features
Based on the STOCK Source v10g from LG
CPU Voltage Control: use TricksterMod for the moment
Toolchain: Built with GCC 4.7 toolchain from SABERMOD
Linux: 3.4.13
CPU OC: up to 1.4GHz
GPU OC: up to 190 Mhz
Swap
F2FS Support
zRam Support: support for zRam memory compression
KSM: Kernel Same-page Merging enabled
Dynamic management of dirty page writeback
Undervolt
Dynamic Fsync: Faux123's Dynamic File Sync v1.2
Frontswap
Battery Life eXtender (BLX)
ARM optimizations
Fast Charge: chad0989 fast_charge driver, allowing to set the amperage of the charger or USB port your device is plugged-in to (default disabled)
Kernel mode NEON: NEON-accelerated XOR framework & support for NEON instructions in kernel mode
Lowered swappiness (60 -> 45)
Optimized AES and SHA1 routines for ARM cpu architecture
Optimized SLUB memory allocator
Optimized ARM RWSEM (read/write semaphore)
exFAT support
Fast Random generator (frandom) support
Optimizations: Built with -O2 and many optimization flags
Additional Governors:
- SmartassV2
Additional I/O Schedulers:
- SIO (SImple Ondemand)
- SIO PLUS (SImple Ondemand PLUS)
- VR
- Zen
- Fiops
- Bfq
Click to expand...
Click to collapse
The REQUIREMENTS
A unlocked bootloader
Custom Recovery CWM/PHILZ/TWRP
A brain with the ability to read
The will to recycle your warranty papers
The INSTRUCTIONS
Copy the zip to your sdcard
boot into recovery
flash the zip
reboot
enjoy
SOME INFO OF SOME KERNEL THINGS
SWAP
Swap is, in short, virtual RAM. With swap, a small portion of the hard drive is set aside and used like RAM. The computer will attempt to keep as much information as possible in RAM until the RAM is full. At that point, the computer will begin moving inactive blocks of memory (called pages) to the hard disk, freeing up RAM for active processes. If one of the pages on the hard disk needs to be accessed again, it will be moved back into RAM, and a different inactive page in RAM will be moved onto the hard disk ('swapped'). The trade off is disks and SD cards are considerably slower than physical RAM, so when something needs to be swapped, there is a noticeable performance hit.
Unlike traditional swap, Android's Memory Manager kills inactive processes to free up memory. Android signals to the process, then the process will usually write out a small bit of specific information about its state (for example, Google Maps may write out the map view coordinates; Browser might write the URL of the page being viewed) and then the process exits. When you next access that application, it is restarted: the application is loaded from storage, and retrieves the state information that it saved when it last closed. In some applications, this makes it seem as if the application never closed at all. This is not much different from traditional swap, except that Android apps are specially programed to write out very specific information, making Android's Memory Manager more efficient that swap.
OVERCLOCK
Overclocking is the process of making a computer or component operate faster than the specified clock frequency by the manufacturer by modifying system parameters. One of the most important techniques is running at a higher clock rate (more clock cycles per second; hence the name "overclocking")
Operating voltages may also be changed (increased), which can increase the speed at which operation remains stable.
Advantage:
You can get more performance from your chipset, you can see visible changes in runtime applications and more as time instant response.
Disadvantage:
* Overclocking is always risky if something is configured improperly and may also result in permanent damage of your hardware. As long as it is done safely you are good to go.
* You may see some increased power consumption.
* Extreme overclocking might kill your hardware.
UNDERVOLTING
The process where you provide less voltage to your cpu rather than the stock voltage.
Advantage:
* Reduced heat from your device.
* Good battery life.
Disadvantage:
* Extreme undervolting will make your device unstable and some times even end up with a boot loop.
Click to expand...
Click to collapse
The THANKS
Ceastel
srfarias
showp1984
markus-oberhumer
faux123
sashalevin
ardbiesheuvel
mrg666
pinkflozd
kleikamp
jankara
marcusk
sergey-senozhatsky
tiny4579
gregkh
CastagnaIT
DOWNLOAD
Do you like my Kernel? use this buttons for support me
Fanpage: like = future project
https://www.facebook.com/Phoenix-DEV-1719991991571980/
XDA:DevDB Information
Kernel Phoenix, Kernel for the LG Optimus L1 II
Contributors
chijure, chad0989, srfarias
bala_gamer
Source Code: https://github.com/chijure/android_kernel_lge_vee1
Kernel Special Features: OC CPU 1.4 Ghz, GPU 190 Mhz, UV, Fast Charge, Voltage Control, Swap, Zram, KSM, Dynamic Fsync, Frontswap, BLX, F2FS, Exfat, Frandom, Linux 3.4.4, SmartassV2, SIO, VR, SIO PLUS, FIOPS, BFQ, ZEN...
Version Information
Status: Stable
Stable Release Date: 2015-07-23
Current Stable Version: 07
Beta Release Date: 2015-07-23
Created 2015-06-06
Last Updated 2015-07-23
completely unstable when you try o/c,ruined my phone....did you try it before post it?
manosper said:
completely unstable when you try o/c,ruined my phone....did you try it before post it?
Click to expand...
Click to collapse
yes everything works perfectly
CHANGELOG
CHANGELOG
2015-06-01 Phoenix v1
Initial relase
USB force fast charging
Overclock 1.4 Ghz
Added SIO Schedulers
Enable Deadline
2015-06-08 Phoenix v2
Enable SWAP
Enable ZRAM
Enable Ksm
SLUB SLAB Optimization
linux 3.4.3
swappiness 60-->45
random.c: entropy tweaks
sched: disabled GFSleepers for ui performance
Add optimized AES and SHA1 routines
2015-06-10 Phoenix v3
Disabled useless CPU clock for better scalability
Optimized Adreno drivers
Add Dynamic management of dirty page writeback
Enabled SIO iosched
Fix OVERCLOCK ( no more restarts stable up to 1.3 GHz)
Adding UNDERVOLT
Dynamic sync control
Tweak Zcache
add frontswap and Tweaks
2015-06-19 Phoenix v4
Added ARM optimizations
Linux 3.4.4
CRT animation workaround for JB
default disable Sync Control
Add Voltage Control: add sysfs interface and enabled
Add cpufreq: add smartassv2
Added Battery Life eXtender (BLX)
Add V(R) I/O Scheduler
Add Zen IO scheduler
Add Simple IO scheduler plus
Add support for kernel mode NEON
2015-06-28 Phoenix v5
fs: Asynchronous I/O latency to a solid-state disk greatly increased
writeback: Fix occasional slow sync(1)
sync: make sync() satisfy many requests with one invocation
jbd2: optimize jbd2_journal_force_commit
writeback: fix race that cause writeback hung
add exFat support
decompressor: Add LZ4 decompressor module
lib: Add support for LZ4-compressed kernel
lib: Add support for LZ4-compressed kernel
lib: Add support for LZ4-compressed kernel
Add support for kernel mode NEON
Add Phoenix Defconfig
mach: Add adb reboot recovery
scripts: setlocalversion: Do not append last commit hash
add Frandom
Fix gcc 4.7
2015-07-06 Phoenix v6
lib/memcopy: use glibc version
lib/string: use glibc version
Optimized ARM RWSEM algorithm
scheduler: compute time-average nr_running per run-queue
proc: enhance time-average nr_running stats
scheduler: Re-compute time-average nr_running on read
Disable vermagic!
defconfig:Fix WIFI module
Fix USB Force Fast charge …
overall_stats: add overall stats for all available cores
overall_stats: make dual/quad core stats configurable via meunconfig
overall_stats: forward port to kernel 3.4+
Add BFQ
Add FIOPS
ARM: 7583/1: decompressor: Enable unaligned memory access for v6 and above
lib/lzo: Optimize code for CPUs with inefficient unaligned access
kernel: Move REPEAT_BYTE definition into linux/kernel.h
2015-07-23 Phoenix v7
Enable ZSMALLOC
ZRAM FIX BUILD
F2FS Support
Overclock GPU 190 Mhz
linux 3.4.13
Ploblems
the kernel is perfect :laugh: , more than 1,267 Ghz on the unit is giving restart random
so I can use up to 1200 GHz, without the device restart
Josenildo lopes said:
Ploblems
the kernel is perfect :laugh:, more than 1,267 Ghz on the unit is giving restart random
so I can use up to 1200 GHz, without the device restart
Click to expand...
Click to collapse
if I think still unstable remove those frequencies and leave in 1.267 Ghz
Why does it stutter so much beyond 1.2GHz? Changing the I/O from sio to deadline helped a bit, but using anything beyond 1.2GHz will make games stutter. 1.396GHz is slower than 1.0GHz, and the sound stops for a bit every 2-5 seconds
EDIT: Restarting fixed it. Everything is faster now.
EDIT2: Touchscreen stops responding on games when there's a framerate drop, so if something happens and a game suddenly drops to 10-5fps then I can't move.
EDIT3: The GoneMAD music player makes everything slower now and the audio stutters if you do anything while playing music, the My Boy! and Snes9x emulator are a lot slower, dodonpachi resurrection, ikaruga (3D) and dynamix are slower but cytus is faster. Going back to previous kernel.
and our incredible even o'que did, I'm still using this kernel, and play hard, and realized that my l1 this heating less, not to mention the best fps in games station,
that good, a kernel full of improvements, overclocked and not very warm, and that saves a lot of battery, get to play hours, good
I hope to continue updating the kernel, because it get better than ja ta :fingers-crossed:
_hhhh_ said:
Why does it stutter so much beyond 1.2GHz? Changing the I/O from sio to deadline helped a bit, but using anything beyond 1.2GHz will make games stutter. 1.396GHz is slower than 1.0GHz, and the sound stops for a bit every 2-5 seconds
EDIT: Restarting fixed it. Everything is faster now.
EDIT2: Touchscreen stops responding on games when there's a framerate drop, so if something happens and a game suddenly drops to 10-5fps then I can't move.
EDIT3: The GoneMAD music player makes everything slower now and the audio stutters if you do anything while playing music, the My Boy! and Snes9x emulator are a lot slower, dodonpachi resurrection, ikaruga (3D) and dynamix are slower but cytus is faster. Going back to previous kernel.
Click to expand...
Click to collapse
the truth is I also have the toolchain think those errors back to using gcc 4.4.3 has given me a great performance and pesea velicidad be an outdated gcc
Josenildo lopes said:
and our incredible even o'que did, I'm still using this kernel, and play hard, and realized that my l1 this heating less, not to mention the best fps in games station,
that good, a kernel full of improvements, overclocked and not very warm, and that saves a lot of battery, get to play hours, good
I hope to continue updating the kernel, because it get better than ja ta :fingers-crossed:
Click to expand...
Click to collapse
I will continue updating and adding more features to improve the performance of l1 now working to make hybrid between 3.10.x
How do I overvolt/undervolt my CPU? I tried with the Voltage Control Lite and TricksterMod apps but the voltage options are not there.
_hhhh_ said:
How do I overvolt/undervolt my CPU? I tried with the Voltage Control Lite and TricksterMod apps but the voltage options are not there.
Click to expand...
Click to collapse
this works by now remove the instability generated but soon we will see in future more stable updates
Sent from my XT1032 using XDA Premium mobile app
His GPU
I noticed that the clock it is in 133 Mhz, whereas before it was 145 Mhz, you down?
and if possible, what do you think of to overclock the GPU Too I, and put options to control the frequency with governors?
already that the GPU l1 and very old, and these options I say, perhaps an improved
Josenildo lopes said:
I noticed that the clock it is in 133 Mhz, whereas before it was 145 Mhz, you down?
and if possible, what do you think of to overclock the GPU Too I, and put options to control the frequency with governors?
already that the GPU l1 and very old, and these options I say, perhaps an improved
Click to expand...
Click to collapse
to overclock the GPU greatly improves performance and if I think adding but with frequencies scaling and Governors but first I want to finish the project of hybrid kernel
Sent from my XT1032 using XDA Premium mobile app
wow
ours got 11904 points in AnTuTu benchmarck, and incredible, I come up even close to the bike and which has 12766 points, that is amazing
My l1 earlier reached a maximum of 6000 points kkkk :laugh:
This Kernel works on all variants(Single/Dual/Tri)?
-Working on support of VeeKernel to support CM11-
Josenildo lopes said:
ours got 11904 points in AnTuTu benchmarck, and incredible, I come up even close to the bike and which has 12766 points, that is amazing
My l1 earlier reached a maximum of 6000 points kkkk [emoji23]
Click to expand...
Click to collapse
haha [emoji14] if you give a good score in Antutu Benchmark
Enviado desde mi XT1032 mediante Tapatalk
Caio99BR said:
This Kernel works on all variants(Single/Dual/Tri)?
-Working on support of VeeKernel to support CM11-
Click to expand...
Click to collapse
I think if use a defconfig generic
Enviado desde mi XT1032 mediante Tapatalk
chijure said:
I think if use a defconfig generic
Enviado desde mi XT1032 mediante Tapatalk
Click to expand...
Click to collapse
has some cm November of the L3 II works in the L1 II but does not work the touch and I can not get a logcat that is not activated
Enviado desde mi XT1032 mediante Tapatalk
chijure said:
has some cm November of the L3 II works in the L1 II but does not work the touch and I can not get a logcat that is not activated
Enviado desde mi XT1032 mediante Tapatalk
Click to expand...
Click to collapse
Related
LuPuS Kernel
{
"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"
}
This kernel is based on the LuPuS Kernel for Arc/S by wedgess. All the changes in the kernel are done by him. A big thanks to wedgess. I have made this with his permissions and support. The Ramdisk is modified by me using the Stock from the ftf files.
Disclaimer
Code:
[SIZE=4]
[FONT=monospace]
[COLOR=DarkOrchid]#include[/COLOR] [COLOR=Magenta]std.h[/COLOR]
[COLOR=Blue]/*
* Your warranty is now void.. LOL I guess you knew it already.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, you getting dumped or you getting fired because your phone*
* bootloops and alarm does not go off. Please do some research if you have any *
* concerns about features included in my kernel before using it! YOU and only*
* YOU are choosing to make these modifications.
*/
[COLOR=Magenta]#if[/COLOR]
You have a [COLOR=DarkGreen]question[/COLOR] post it in the [COLOR=DarkRed]thread[/COLOR],
Instead of [COLOR=DarkGreen]Pm'ing me[/COLOR], as other users may experience your [COLOR=DarkRed]problems[/COLOR]
[COLOR=Magenta]#endif[/COLOR][/COLOR]
[/FONT][/SIZE]
Included in kernel
Added Io-schedulers --
- Noop
- Anticipatory
- Deadline
- CFQ
- BFQ
- SIO
Added Governors --
- lagfree
- brazillianwax
- smoothass
- scary
- savagedzen
- smartass
- smartassv2
- interactivex
- minmax
- powersave
- performance
- conservative
- ondemand
- interactive
- userspace
+
Lulzactive - Thanks to Tegrak
Based on Interactive and Smartass. When workload is greater than or equal to 60%, the governor scales up
CPU to next higher step. When workload is less than 60%, governor scales down CPU to next lower step.
When screen is off, frequency is locked to global scaling minimum frequency
Virtuous
Virtuous is a modded smartassV2 which gives even more battery time then smartassV2
Intellidemand - Thanks to faux123
This is an intelligent ondemand that enters browsing mode to limit max frequency when GPU is idling,
and (exits browsing mode) behaves like ondemand when GPU is busy; to deliver performance for gaming and such.
Intellidemand does not jump to highest frequency when screen is off.
Lazy - Thanks to Ezekeel
The Idea here is to eliminate any instabilities caused by fast frequency switching by ondemand.
Lazy governor polls more often than ondemand, but changes frequency only after completing min_time_state
on a step overriding sampling interval.
Lazy also has a screenoff_maxfreq parameter which when enabled will cause the governor to always
select the maximum frequency while the screen is off.
-Ondemandx:
Basically an ondemand with suspend/wake profiles. This governor is supposed to be a battery friendly ondemand. When screen is off, max frequency is capped at 500 mhz. Even though ondemand is the default governor in many kernel and is considered safe/stable, the support for ondemand/ondemandX depends on CPU capability to do fast frequency switching which are very low latency frequency transitions. I have read somewhere that the performance of ondemand/ondemandx were significantly varying for different i/o schedulers. This is not true for most of the other governors. I personally feel ondemand/ondemandx goes best with SIO I/O scheduler.
-Lionheart:
Is a conservative-based governor. The tunables (such as the thresholds and sampling rate) were changed so the governor behaves more like the performance one, at the cost of battery as the scaling is very aggressive.
To 'experience' Lionheart using conservative, try these tweaks:
sampling_rate:10000 or 20000 or 50000, whichever you feel is safer. (transition latency of the CPU is something below 10ms/10,000uS hence using 10,000 might not be safe).
up_threshold:60
down_threshold:30
freq_step:5
Lionheart goes well with deadline i/o scheduler. When it comes to smoothness (not considering battery drain), a tuned conservative delivers more as compared to a tuned ondemand.
BadAss Governor:
Badass removes all of this "fast peaking" to the max frequency. Badass will also take the gpu load into consideration. If the gpu is moderately busy it will bypass the above check and clock the cpu with 1024Mhz. If the gpu is crushed under load, badass will lift the restrictions to the cpu.
Superbad -
A "superbad" super smooth rendition of a highly optimized "smartass" governor!
Darkside -
A "slightly more agressive smart" optimized governor!
What else-----
-SLQB - (SLAB allocator with Queue)-(both)
This memory allocator is designed for small number of CPUs system (such as desktop or smart phone devices). This allocator is design to be simple and it is optimized for using order-0 pages as much as possible (order-0 pages are the simplest therefore quickest type of memory in a Linux system to allocate).
- Added Cleancache
- Supports ext 2,3
- Updated zRam
- Lzo compression/decompression speed has doubled on average.
- Init.d support
- Fudgeswap
- And much more
Show your support for the kernel by adding this to your signature
A big thanks to -
wedgess - for the source and a lot of help
sandy7 - for downloading the cm9 roms and sending me the kernels(mini pro & active)
VitorMSA - for LWW Kernel
awriefwumbo - for Mini Kernel
Downloads and Changelog in post 2
Please Click Thanks, Its Better Then Saying It :good:
Please Thank wedgess in Post #3 :good:
Guys if you wanna donate to me then Please follow this method
login to your paypal account
in sending money enter email id [email protected]
enter the amount and transfer.
Accepting donations in India is Prohibited so you have to transfer in above way
Changelog
Code:
[B]v1[/B]
- All previous boot issues / issues fixed
- Improved Battery Life alot :)
- Thumbee support
- EXT 2/3 & 4 supported
- Init.d supported
- Init.d scripts added (run at boot)
- SLQB Memory allocator
- ARM7 optimizations
- Brought OC back down to 1.6 max (no need for it above 1.6 unless u want to kill your device)
- Kernel sources completely reworked started from scratch o Sony xx.587 sources
- Tiny RCU
- Updatedd patched and fixed LZO
- lowered vfs cache pressure
- Increased Wifi- Range and added support for channel 14
- 0 % Battery patch - Thanks @ Bazoocaze
- Better memory copy
- Better memory move
- Deep sleep issue fixed
- LMK Optimizations (LowMemoryKiller)
- VDD support (voltage conrol)
- Linaro Optimzations
- Compaction added
- KSM
- CIFS (improved support)
- NTFS
- Updated to newest SIO Io-Scheduler
- Google Snappy Compress & Decompress
- Added Vibrate To Recovery (Notification to enter CWM)
- Wifi module size drasticly reduced
** Possibly missing a few things **
DOWNLOADS
http://www.mediafire.com/?ai1h8vmg09kzp
Zram is not enabled by default- to enable it flash the zip
If for whatever reason you want to disable it after you have flashed the .zip, just go to ect/init.d and delete 00zram
Current version has been tested on the Mini Pro and LWW. Others are untested. Plz check and report.
Though I am sure they will work fine.
Another good one, LuPuS taking over :good:
Wowww really fast !! Thanks for your work singh .
Sent from my Xperia Mini
awriefwumbo said:
Wowww really fast !! Thanks for your work singh .
Sent from my Xperia Mini
Click to expand...
Click to collapse
was it faster than fxp kernel?how was it performance on gaming or others?
Hell Yeah!! LuPuS All The Way!! Good Work for Singh and Wedgess :thumbup: :good:
Sent from my Xperia Mini using xda premium
scorpion 13 said:
was it faster than fxp kernel?how was it performance on gaming or others?
Click to expand...
Click to collapse
No i mean he build the kernel so fast
Sent from my Xperia Mini
I tried it on cm9,very fast and good act on gaming and performance
Thank you
Sent from my ST15i using Tapatalk 2
At last, I got a rider to ride my CM9, FAST LIKE HELL, long live Lupus :beer::thumbup:
scorpion 13 said:
I tried it on cm9,very fast and good act on gaming and performance
Thank you
Sent from my ST15i using Tapatalk 2
Click to expand...
Click to collapse
what games did you tried?
maybe somebody tried nfs most wanted, vice city, gta3 ?
thinking to come back to cm9 :fingers-crossed:
I tried it yesterday. Gaming is faster, but in benchmark I had 5100 points. So I have came back to FXP, where I have 5500. But good work! There aren't many kernels for CM9. All are for CM10
Accelometer not working in temple run but works in other games.
It is kernel bug because that solved by flash Fxp kernel
Sent from my ST15i using Tapatalk 2
Vynikal said:
I tried it yesterday. Gaming is faster, but in benchmark I had 5100 points. So I have came back to FXP, where I have 5500. But good work! There aren't many kernels for CM9. All are for CM10
Click to expand...
Click to collapse
Benchmarks don't matter. What matters is actual performance you experience.
scorpion 13 said:
Accelometer not working in temple run but works in other games.
It is kernel bug because that solved by flash Fxp kernel
Sent from my ST15i using Tapatalk 2
Click to expand...
Click to collapse
Just checked the Temple Run on my both devices and its running perfectly fine with this kernel.
and if the accelerometer is working in other games it couldn't be a kernel bug at all.
singh_dd93 said:
Benchmarks don't matter. What matters is actual performance you experience.
Click to expand...
Click to collapse
Completely agree, dont see why people go by benchmarks if you run them 4times in a row u get different scores everytime anyway.
Only if people spent more time testing performance instead of running benchmarks
Sent from my GT-I9300 On Official JB
wedgess said:
Completely agree, dont see why people go by benchmarks if you run them 4times in a row u get different scores everytime anyway.
Only if people spent more time testing performance instead of running benchmarks
Sent from my GT-I9300 On Official JB
Click to expand...
Click to collapse
True.
Excelent work!!!! Thanks for making this possible to CM9.1 users like me.
Now I have one trouble. Which governor I should use?
VitorMSA said:
Excelent work!!!! Thanks for making this possible to CM9.1 users like me.
Now I have one trouble. Whice governor I should use?
Click to expand...
Click to collapse
I think it depends what you want. For me smartassv2 & SIO scheduler it's a good combination for battery & performance. Most people use that combination. Try it for a few days and you will see
here fxp 201 kernel http://code.google.com/p/afk-tkj/downloads/detail?name=201.boot.img&can=2&q=
awriefwumbo said:
here fxp 201 kernel http://code.google.com/p/afk-tkj/downloads/detail?name=201.boot.img&can=2&q=
Click to expand...
Click to collapse
Not needed. I has asked for kernels initially to take the ramdisk.
Driver007 said:
what games did you tried?
maybe somebody tried nfs most wanted, vice city, gta3 ?
thinking to come back to cm9 :fingers-crossed:
Click to expand...
Click to collapse
its so smooth , i play modern combat 3 and backstab
Ladies and Gentlemen,
It gives me great pleasure to introduce to you an unofficial port of the Z1
Pimped Kernel
This is a kernel for CM11 based ROMs and uses -caf. If your ROM isn't faily new and doesn't use -caf then don't expect this kernel to boot. It was built inside Carbon and I have tested in there, it should boot CM/FXF, SlimKat, LiquidSmooth, Carbon, Omni, etc. I don't know how well it will boot PA/PAC/etc that are further away from this codebase but you are welcome to try. As this is a first build so expect some FCs and reboots, and and not all features will work. Please read the OP to see what is on offer. Things that won't work are LCD/Touchscreen/DT2W, and others may be prone to bugs.
This has kernel is built with Linaro SaberMod Toolchain 4.7 and -O2 etc optimisations (not as many as the slimkat kernel). Performance seems good, and the ability to underclock/volt and turn off cores should give extra battery life.
Please don't use this unless you know how to get out of trouble/bootloops/non-boot/lost recovery/etc. I nor Androguide.fr take any responsibility for dead or undead Z-Ultras
Kernel features are controllable through Androguide.fr's Pimp My Z1 app, (thread here).
{
"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"
}
Download:
togari-BluePimp-4.4.4-dt2w-ext4-20140810_1122.zip
Very minor change to LEDs, and boot splash http://forum.xda-developers.com/devdb/project/dl/?id=7497
test v0.3 for new 4.4.4 AOSP/cm-11 ROMs
togari-BluePimp-108-dt2w-ext4-20140709_1741.zip
old 4.4.4 and 4.4.2/3 ROMs
30/6/2014 4.4.4 build with dt2w
Build 4 31-05-2014
Build 4 31-05-2014 dt2w
Features (C&P from OP):
Sound Control: Faux123's GPL Sound Control 3
Color Calibration Control: LCD_KCAL interface ported to the Z1 by @DooMLoRD, gives full control over the RGB channels of the display
GPU OC: 200MHz / 320MHz / 389MHz / 487.5MHz / 533MHz / 600MHz frequency scaling steps
CPU OC: up to 2.26GHz
CPU Voltage Control: use TricksterMod for the moment
DoubleTap2Wake: double-tap the screen to wake-up the device
Intelliplug: Faux123's latest intelliplug hotplugging driver with eco mode (v5.0)
[*]MPDecision: showp1984's open-source & customizable msm_mpdecision hotplugging driver
Dynamic Fsync: Faux123's Dynamic File Sync v1.5
PowerSuspend: Faux123's power_suspend driver (replacing early_suspend)
Snake Charmer: Faux123's msm_cpufreq_limit CPU frequency limiter driver
Fast Charge: Faux123's fast_charge driver, allowing to set the amperage of the charger or USB port your device is plugged-in to
CPU Boost: Faux123's CPU Input Boost module (will soon add controls for it in Pimp My Z1)
GPU Wake-on-touch: allows touch events to wake the GPU if it was previously in slumber
KSM: Kernel Same-page Merging enabled
F2FS Support: Samsung's F2FS nand-optimized file system support
exFAT Support: Samsung's open-source exFAT driver
zRam Support: support for zRam memory compression
CPUPower: Linaro's cpupower PM driver
Async Fsync: Asynchronous file sync
MSM_Sleeper: Support for setting the max CPU frequency when screen is off through sysfs
Kernel mode NEON: NEON-accelerated XOR framework & support for NEON instructions in kernel mode
Overall Stats: CPU overall stats on a per-core basis
Compression: XZ Compressed & LZ4 compression algorithm support
Sched MC: Multi-Core Power Savings support
Sched SMT: Multi-Thread Power Savings support
Arch_Power: arch-specific power sched features enabled
Workqueue: backported from kernel 3.7, allows CPU hotplug to keep idle workers (learn more)
Toolchain: Built with Linaro GCC 4.8
Optimizations: Built with -O2 and many optimization flags
Kexec-hardboot ?: attempted to port @Tassadar's kexec-hardboot patches from the nexus 5, needs testing and confirmation that it works
Additional Governors:
Intellidemand
Intelliactive
Pegasusq
Nightmare
Hyper
Alucard
InteractiveX2
SmartassV2
Lagfree
Wheatley
Lionheart
Badass
Additional I/O Schedulers:
SIO (SImple Ondemand)
FIOPS (Fair Input/Output Per Second)
BFQ (Budget Fair Queueing)
VR
Additional TCP Congestion Algorithms:
BIC
Westwood
HSTCP
Hybla
HTCP
Vegas
Veno
Scalable
LP
YeAH
Illinois
Click to expand...
Click to collapse
Change Log:
http://forum.xda-developers.com/showpost.php?p=50603486&postcount=2
Sources:
Androguide.fr kernel sources: PimpedKernel
My additions for the ZU (see BluePimp branch): BlueEther
Credits:
Thanks to Androguide.fr fro bringing all of the together
Thanks to faux123 for all his contributions to the android kernel community, many of which are implemented here
Thanks to showp1984 for his msm_mpdecision hotplug driver
Thanks to DooMLoRD for all the cherry-picked features from his DoomKernel
Thanks to krabapel2458 for the inital port from DoomKernel of features like GPU OC, some governors and more.
And of course, thanks to FreeXperia and Kali- in particular, for the device bring-up
Click to expand...
Click to collapse
Disclaimer:
# Neither I nor any contributors to this kernel can nor will be held
# responsible for any damage or any kind of problem related to its use.
# You are using this piece of software AT YOUR OWN RISK.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
Click to expand...
Click to collapse
Disclaimer #3, I'm not responsible for dead or undead Z-Ultras from using this ROM and kernel, OC at you own peril
XDA:DevDB Information
Unofficial Pimped Kernel, Kernel for the Sony Xperia Z Ultra
Contributors
blueether, Androguide.fr, DooMLord, faux123, krabapel2458, FXP/CM, Kali-, reaper61616 (dt2w)
Kernel Special Features: Sound Control, GPU OC, Intelliplug, PowerSuspend, Dynamic Fsync, exFAT, F2FS, KSM, Intellidemand, Intelliactive, SmartassV2, InteractiveX2, Lionheart, Wheatley, Badass, Lagfree, BFQ, SIO, FIOPS, Westwood, Hybla, HSTCP, HTCP, Veno, Illinois, LP, BIC...
Version Information
Status: Testing
Created 2014-04-25
Last Updated 2014-08-09
What's working and not
Kernel Bugs:
Camera FCs - maybe more of a CM issue than this kernel
Tested ROMs:
Carbon - (non public test build): Working
Carbon - Build 8: Working
SlimKat: Working
LiquidSmooth: Working
FXF CM11: Working
CM11: Working
AOSP: Not tested yet
AOKP: Not tested yet
AICP: Not tested yet
Lungo: Not tested yet
PAC-man: Not tested yet
PA: Working
Chameleon OS: Not tested yet
GPe: Won't boot
Quick run down using Pimp my Z1:
CPU
Min/Max works after a save (pressing 'Done' does nothing?)
[*]Per core Looks to work
[*]Interactive/performance/ondemand and conservative all seem to work as expected
TCP not tested
GPU
Min/Max (200/450) Looks to work
[*]Performance/msm_cpufreq/msm_adreno-tz/powersave/etc all seem to work as expected
cpubw_hwmon reboots the ZU
Power Managerment
Multi-Core Moderate hard to tell if working
[*]Multi-Core Aggresive Looks to work as expected
[*]Intelli plug and eco mode - Look to work well except Pimp my Z1 FCs when trying to change # of cores and gets stuck on 1
Power suspend not tested
LCD Colour
Voltage controle - looks to be working
I/O, Memory and Misc. not tested but options look to work
Sound Control
Speeker Gain works
not tested the others
Touchscreen
None are active - as expected
And i am subscribed to this
Keep it up mate xD
joluke said:
And i am subscribed to this
Keep it up mate xD
Click to expand...
Click to collapse
Build 2 Uploaded.
2014-04-24
Updated to Linux kernel version 3.4.86
Re-added GPU OC up to 600MHz and hopefully fixed the issues some people had with it
Added zRam support (thanks to DooMLoRD)
Added msm_sleeper (thanks to DooMLoRD), controls coming to Pimp My Z1 soon
Added memutils optimizations (thanks to DooMLoRD)
Merged a lot of slimbus/slim-ngd/slim_msm/qdsp6v2/wcd9xxx & other audio-related optimizations from franciscofranco's nexus 5 kernel
Merged some OOM, ocmem & other memory-management-related optimizations from franciscofranco's nexus 5 kernel
Merged a fix for msm_z180 memory leak from franciscofranco's kernel
Some other random cherry-picks
Use caution when OCing the CPU/GPU
blueether said:
Ladies and Gentlemen,
It gives me great pleasure to introduce to you an unofficial port of the Z1
Pimped Kernel
Click to expand...
Click to collapse
Thanks, we will test. Good modifications.
Kernel v2 boots and works with slim kat ,thanks bro [emoji106]
t0pstar said:
Kernel v2 boots and works with slim kat ,thanks bro [emoji106]
Only display settings from the pimp my app don't work (dt2w,s2w ...)
Click to expand...
Click to collapse
Does the camera work? Just had a FC than couldn't connect
DT2W/S2W/etc all use a different touch-screen driver than we use on the ZU
blueether said:
Does the camera work? Just had a FC than couldn't connect
Click to expand...
Click to collapse
When I open camera directly after boot it works fine ,
when not I have also FC
Im using camera kk app and it works fine. Just first time camera is not moving (it stops on first "seen" frame), but it is on every kernel (maybe rom's, maybe app's bug) and after killing it in recent apps and starting again everything works fine
Strange for me is that this kernel has more governors etc, and i always thought that coz it we should have less ram, and there is more than ie unofficial slimkat kernel
Edot: Is there any chance for f2fs version in the future? Its a lot better than ext4, so it can make our ZUs fly even better than now
Sent using C6833 - Carbon KitKat/Pimped Z1 Kernel
ch3mn3y said:
Im using camera kk app and it works fine. Just first time camera is not moving (it stops on first "seen" frame), but it is on every kernel (maybe rom's, maybe app's bug) and after killing it in recent apps and starting again everything works fine
Strange for me is that this kernel has more governors etc, and i always thought that coz it we should have less ram, and there is more than ie unofficial slimkat kernel
Edot: Is there any chance for f2fs version in the future? Its a lot better than ext4, so it can make our ZUs fly even better than now
Sent using C6833 - Carbon KitKat/Pimped Z1 Kernel
Click to expand...
Click to collapse
after a bit of flashing and testing the no outgoing calls is a bug in the test build of Carbon not this kernel so all is good on this front.
This kernel boots the last couple of Carbon builds, back to at least the 19/4 so that's another plus.
I'd not really had the camera issue that many people had had in the last few weeks on the CM based ROMs so it's sort of new for me.
You made it!!! Congrats and THANKS! Perhaps it's time I go back to a non-stock ROM now, just to try this kernel...
I found other problem (at least for me) with pimp my z1. I cant set 2nd core governor, coz it always return to intelliactive last saved? (im not sure as sometimes it stays on last saved sometimes on earlier), now, as i know how it works, its not the problem to set governor I want, but its strange bug. I would use trickster but there I cant set different governors for every core (As i found out set governor is only for first core)
EDIT: Maybe someone answers: What is Pen Mode in this app? If it is what I think we dont need it as our phone support mostly everything as a pen. The same for gloves i think
Has anyone tried this Kernel on CM11, if so any problems?
Sent from my Xperia Z Ultra using Tapatalk
Next few things:
-
1. After reboot very often CPU governors are changed.
2. Additionaly to setting governors: They are setting itself. Before I set nightmare/nightmare/powersave/powersave and after going back to menu and againd CPU Control it was nightmare/<last saved?>/powersave/powersave. Now after reboot it was nightmare/nightmare/nightmare/nightmare (with per-core on) and after menu->CPU Control nightmare/intelliactive/powersave/powersave (intelliactive wasnt last saved or anything)
3. Sometimes after reboot Pimp my Z1 returns GPU settings to default ones
4. Power Managments, I/O tweaks, Memory managments too - Misc on the other hand are always remembered correctly
Yes I have "set on boot" on. Strage coz mostly (4/6 for now) everything is remembered correctly ie now after next "test" reboot
ch3mn3y said:
Next few things:
-
1. After reboot very often CPU governors are changed.
2. Additionaly to setting governors: They are setting itself. Before I set nightmare/nightmare/powersave/powersave and after going back to menu and againd CPU Control it was nightmare/<last saved?>/powersave/powersave. Now after reboot it was nightmare/nightmare/nightmare/nightmare (with per-core on) and after menu->CPU Control nightmare/intelliactive/powersave/powersave (intelliactive wasnt last saved or anything)
3. Sometimes after reboot Pimp my Z1 returns GPU settings to default ones
4. Power Managments, I/O tweaks, Memory managments too - Misc on the other hand are always remembered correctly
Yes I have "set on boot" on. Strage coz mostly (4/6 for now) everything is remembered correctly ie now after next "test" reboot
Click to expand...
Click to collapse
I'm wonder if it is more the app than the kernel?
I have managed to peg the first core at fill tilt once and another time to have all 4 core online all the time. The second issue can be solved by turning all the options off in Power Management, it's a known race condition by the looks.
~5% battery drain over night, but it looks like google services are causing wakelocks again on my ZU
Its hard to say coz there is bo more apps which can let to use most od options kernel has (ie trickstermod let set governor for all, i/o too for both memories). But i would think its app+phone compatibilty issue not kernel, but not sure about it
Sent using C6833 - Carbon KitKat/Pimped Z1 Kernel
Just flashed this kernel with the latest carbon rom and working great very fast will test for the next few days and see how the battery life is - thanks for the great kernel
Sent from my SM-T320 using XDA Premium HD app
blueether said:
~5% battery drain over night, but it looks like google services are causing wakelocks again on my ZU
Click to expand...
Click to collapse
After first night it was worse for me - 13%. It coukd be coz kernel was just flashed ot coz my set up, but its too much
But this second core governor annoying.me too. I found out that if i set it few times it stay till sometime after reboot (just after reboot and getting su rights, governors are right(. Anyone has similar problem? Can moving app to system/app helps?
Sent using TF300T - CyanogenMod 11.0/GEASS (F2FS)
ask
it work with this rom
http://forum.xda-developers.com/showthread.php?t=2606414&page=71
mimoun103 said:
it work with this rom
http://forum.xda-developers.com/showthread.php?t=2606414&page=71
Click to expand...
Click to collapse
No it wont, this is for AOSP/CM11.
The Port of DooMLorD's kernel is much the same feature wise and will work with monx's rom
{
"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"
}
"I Don't Always Run Custom Kernels. But When I Do, I Run Vindicator"
-Worlds Most Interesting Man
Pushbullet Tag: vindicator
Vindicator OTA Updater App: https://play.google.com/store/apps/details?id=com.mcswainsoftware.vindicator.ota
if there are any bugs, contact developer Jacob
You can also follow me on G+ if you would like:
[email protected]
Intro:
This is the first kernel I've ever developed. I just started developing on android a few months ago so I'm brand new to this. I don't consider myself a developer, I'm just good at figuring things out, all credit goes to the real hard workers coming up with original ideas like Franco, Imo, Flar and Faux. Initially this was built as a kernel to compile with my ROM I'm working on but I decided I would let others get a chance to use it as well. I hope you like it and I won't be offended if you hate it. All ideas are welcome and I'll try to help as best I can. If you wish to use this kernel in a rom , feel free! Although I would love it if you let me know just for my own curiosity.
For those looking for a similar experience, but much closer to stock, I suggest giving Zen Kernel a try!
Goal:Keep kernel as lean as possible while adding certain, desirable features and optimizing for maximum performance and battery life. The default settings should be optimal for a balance of battery and performance without a need to tweak.
Disclaimer:If your phone blows up, its not my fault. If your phone somehow gains perpetual battery life, I'll take full responsibility.
Features:-Zen Kernel Base
-Android 5.1
-BFS Cpu Scheduler (Ported By @bbedward)
-Latest Linux 3.10.x
-Compiled With Uber ToolChain 6.0
-Compiled With Ofast, Strict-Aliasing, Graphite, A15 Tweaks, And Loop Nest Optimizations
-Various Other Build Optimizations
-Optional GPU OC To 700Mhz.
-GPU Initial Freq. Is 110Mhz Instead Of 240Mhz Saving Power.
-Additional GPU Steps
-CAF Power Saving Patches
-CPUIdle Driver Updated To Linux 4.0
-Slub Allocator Updated To Linux 3.18
-GPU UnderVolted
-Workqueue Updated To Linux 3.18
-Init Updated From Upstream
-Power Efficient Workqueues
-Low Power Ram Mode Enabled
-Kernel Same Page Merging
-ZenDecision Quad Core Driver
-Hotplug Affinity Enhancements
-Kexec Hardboot/MultiRom(See FAQ For Help)
-UKM Built In And Modified. Just Install Synapse App.
-Savocas Color/Gamma Control
-Lowered Regulator And Screen Voltages
-Lowered Screen Clock Speed
-Lowered Retention Voltages
-Moto QuickWakeup
-Faux's Simple GPU Governor
-Frandom (Efficient Random Number Generator)
-Hardware Floating Point Processing
-ZRam
-ZSMalloc
-I2C Min Freq. Reduced
-Cruft Free
-Slimmed Down(Increased Size Is Due To Optimizations & UKM Not Bloat)
-Tons Of Debugging Removed
-Many Misc. Optimizations
-35mhz Min Freq, 3.09ghz Max
-Several WakeLocks Removed, Such As Sensor_Ind and hsic.
-MPDecision Disabled By Default
-MSM HotPlug
-Mako Hotplug
-Adjustable Thermal With Lean Kernel Mods
-IntelliActive Governor Added
-FIOPS, ROW & BFQ IO Schedulers Added
-Tons Of IO Fixes/Performance Boosts
-No Force Encrypt. Changed To Encryptable.
-Crypto Optimizations For Enhanced IO Throughput When Encrypted
-Voltage Control
-Westwood TCP Algorithm
-PIE & HHF Network Schedulers(reduced latency)
-Tons Of CAF Commits
-Merged In Most Of Franco's Code
-Merged In Parts Of Faux123's Code
-Merged Significant Portions Of Lean Kernel Code
-Optimized RWSEM
-Many Parts Pulled From Upstream
-Merged In All CAF And Franco Interactive Commits Into Interactive
-Francos Conservative Governor
-CPU Boost Completely Removed(Replaced With Franco's)
-Wake Gestures
-F2FS Support
-LK Config
-Vibration Control
-Asynchronous FSync
-Init.D Support
-Potentially Something I Forgot...
Downloads:
[AFH] Kernel: https://www.androidfilehost.com/?w=files&flid=25836
Downloads also through app and pushbullet
Amazing Donors!:
JackPollard
Maybelle
Credits:
Imoseyon
bbedward
Flar2
Franco
Faux123
Linaro
Code Aurora Foundation
Cl3Kener
Engstk
Yank555
Mistertac (Best Tester Ever)
RIPng(DespairFactor)
Neobuddy89
apb_axel
Google
Motorola
If I Missed You Lemme Know!
XDA:DevDB Information
Vindicator Kernel, Kernel for the Nexus 6
Contributors
Xileforce
Source Code: https://github.com/XileForce/Vindicator
Kernel Special Features: I'm special.
Version Information
Status: Stable
Current Stable Version: 2.3
Created 2015-02-06
Last Updated 2015-05-3
Changelog:
1.0:
-Merged Latest Lean Kernel Code
-Merged Latest Franco Code
-Franco's Thermal Management Replaces Thermald
-Zram ported from Linux 3.19 upstream Using LZ4
-VM Memory Tweaks. (Vfs cache, swappiness,etc)
-I2C min frequency reduced from 50mhz to 19.2mhz
-Retention voltages dropper further
-Removed most Tracers
-Reduced Several Regulator Voltages
-Various CAF Patches
-Disable IO Stats
-Disable More Debugging
-Disable Gentle Fair Sleeper(better performance)
-ZSMalloc ported from Linux 3.19 upstream
-ZPool Ported from Linux 3.19 upstream
-Cut DMA latency in half
-Optimize SFCK Compression
-Reduce Swappiness
-Optimize Dirty Ratios
-Disable HSIC_Host wakelock by default
-Reduce Wlan wakelocks further
-Increase Bark/Pet Time
-Possibly More I Missed.
1.1:
-Savocas New Color/Gamma Control
-Lowered All Regulator Voltages Across The Board
-Lowered Screen Voltages And Screen Clock Speed(no detrimental effects noticed yet)
-Add Under clocked and Over clocked step for L2Cache
-Add 110mhz And 430Mhz GPU Slots
-Fix Simple On Demand Governor
-Additional Build Optimizations
-Integer Square Root Optimizations(3x faster)
-Lower GPU Bus Frequency @ 700mhz(battery and stability)
-Potentially Reduce BlueSleep Wakelock(testing report back please)
-Remove IO Debug
1.2:
-Merged Latest LeanKernel
-Added Option To Disable BlueSleep Wakelock Via Terminal
-Reduced BlueSleep By Default
-Readahead Optimizations
-More Voltage Reductions
-Power Suspend Updated To 1.7
-OC SlimBus
-Revert L2 OC
-Latest Franco Merged In
-Update To Linux 3.10.69
-Fix Ramdisk Issues
-Raise InteractiveX Default Screen Off To 730Mhz
-Lowered Power Draw Further At 35mhz
1.3:
-Added Motorola Quick Wakeup
-UKM Built In. Use Synapse App
-Added Aggressive Build Optimizations
-Merged In New Lean Kernel
-Greatly Reduced GPU Power Draw
-Added Bricked Hotplug
-Added MSM Limiter
-FSync Toggle
-Optimized LZ4 A Bit
-Some CAF Patches
-Increased Available Entropy
1.4:
-Merged In Latest Franco Code
-Removed Bricked Hotplug
-Defaulted Power Aware Scheduling On(Adjust In LkConfig)
-Added Power Efficient Workqueue(Better Battery Life)
-Optimized Timer Code
-Added Westwood TCP Alg.(Best One IMO)
-Updated UKM To Latest
-Updated MSM Limiter
-Numerous CAF/Linaro Patches
-Screen Power Draw Reduced Further
-USB Fast Charge
-Various Code Optimization Patches
-Added Toggles For Arch Power And Gentle Fair Sleepers
-Network Speed Tweak
-Don't Force Sync On Suspend
1.5:
-Kexec-hardboot/multirom support(Huge thanks to team member @jamcswain for porting that!) See FAQ For Help.
-Merged Lean 1.17
-Update To Linux 3.10.71
-Optimize Low Memory Killer For ZRam
-About 50 CAF Patches For Numerous Things(Thanks Neobuddy)
-WiFi Patches
-Crypto,IO,Memory Optimizations
-Entropy Optimizations
-DT2W Fixes
-Screen,GPU Patches
1.6:
-Android 5.1 (Massive Thanks To Imoseyon for merging it in)
-Latest Lean Merged
-Latest Franco Merged
-Mako Hotplug Updates
-Intelliplug V4
-Misc Fixes
-Default Power Aware Scheduler Off Again (Change In lkconfig)
1.7:
-Merged Latest Lean
-Merged Latest Franco
-Ramdisk Fixes For Roms(All Imoseyon)
-IO Boosts
-Updated Linaro ToolChain
-Boot Time Speedup(Jamcswains idea)
-InteractiveX Tweaked(Franco's Idea)
-Numerous CAF Patches
-Mako Hotplug Updates
1.8:
-Merged Latest Lean
-Merged Latest Franco
-Switched Toolchain To Custom Compiled Linaro
-Speed Up Boot Further
-Tons Of CAF Patches
-Audio Fixes/Patches
-800Mhz GPU Step
-MSM Limter Removed
-Added Moto Predictive Touch Driver(Better Responsiveness)
-Updated FB Notifiers
-Disabled MPDecision By Default. Mako Is Default Now
-FIOPS Is Default IO Scheduler Now
-Added Moto Low Memory Killer Optimizations
-CPUfreq and Ext4 Optimizations
-More Debugging Disabled
-Various Other Optimizations And Updates
-Update To Linux 3.10.72
-Probably Stuff I Forgot
1.9:
-Merged Latest Lean Kernel
-Fix USB OTG
-Fix Wake Gestures
-Default To QuadCore Mode For Mako
-Ensure 35Mhz Is Min Freq. on Boot(Fixes Weird Issue)
-Modified UKM/Synapse To Control Wakelocks (Misc Tab)
-Merged Latest Hydra Kernel Changes/Patches
-Fix Battery Drain On BlueTooth
-Frequency Mitigation Preventer V2 (In LKConfig)
-Stability Fixes
1.9.1:
-In Call Audio Fix
1.9.2:
-Updated With Official Multirom/Kexec Hardboot Patch
2.0:
-Merged Latest Franco And Lean Code
-Linux 3.10.73
-Several Memory Leaks Fixed
-Reboot/Bootloops Fixed
-!00's Of Patches
-SELinux Permissive By Default
-Compiled With SaberMod 5.0
-Screen Frequency Reverted To Stock
-Tweaked Interactive Touchboost Parameters Further
-Replaced IntelliPlug With MSM Mpdecision
-Added Back MSM Limiter
-FB Notifiers now Enabled By Default. Toggle Added To Synapse
-Merged In Some Hydra Kernel Ramdisk Fixes
-GPU OC Reduced Back To 700Mhz
-Add Power Aware Scheduling to Synapse (CPU Settings Page)
-Fix Synapse To Display CPU Bin On Front Page
-Revert FastBoot Mods For Now (Buggy)
-KCal Fixes
-MSM_HSIC WakeLock Now Enabled By Default With Divisor Of 5 (Change In Synapse Or LKConfig)
-Mako Hotplug Load Threshold Set Back To 80
-Misc Optimizations
2.1:
-Completely Rebuilt From Scratch Upon Zen Kernel With Input From bbedward
-Some features may be missing atm and may get added back in down the line.
-BFS Cpu scheduler. IMO a significant upgrade over CFS, the standard one used by almost every kernel. Should give better battery life and performance. THIS IS ONE OF THE BIGGEST CHANGES A KERNEL CAN MAKE
-Cleaned up the source and fixed issues.
-EXT4 and F2FS updated with upstream commits.
-Per CPU VMA Caching From Upstream
-BFQ and ROW IO Schedulers
-Touchboost Adjustments For More Butter
-Fauxs Simple GPU Governor
-Lowered the default voltage on 1.497ghz 10mv by default
-Compiled With Ofast Instead of Os (Ofast Is the heighest gcc optimization level, one step above O3. Os optimizes for size, rather than speed.)
-Compressed with optimized XZ rather than LZ4 to keep size down
-Latest lean and Franco merged in.
-Adaptive Low Memory Killer enabled
-So much stuff....and I honestly have no idea on how to write a changelog for a rebase...its an entirely new kernel...
2.2:
-Compiled With UberTC 6.0 (Figured We Would See How It Compares To SM 6)
-Compiled With Graphite Optimizations
-Compiled With Loop Nest Optimizations(An Extremely Aggressive Optimization)
-Compiled With loop-unroll-and-jam(A companion optimization to loop nest also aggressive)
-Small GPU Tweaks
-Greatly increased encrypted IO Performance
-Arm Specific Optimization Patches
-Added Heavy Hitter Filter(Another Network Optimization That May Also Reduce CPU Usage)
-Added Proportional Integral Controller Enhanced(Yet another network optimization algorithm designed to reduce latency and increase efficiency when doing latency sensitive things such as streaming)
-Optimize boot/compressed for Krait
-Addition Branch Optimizations and Inter Procedural Optimizations
-Support CM12.1 Ramdisk
-Optimize ROW and Deadline
-Add Bluesleep Wakelock Toggle
-Reduce Wlan_Ctrl Wakelock
-Default Wlan_rx wakelock divisor to 5
-Default msm_hsic divisor to 6
-Fix lkconfig frequency stuff
-Default below 40% frequency changing OFF
-Cleanup frequency mitigation stuff in lkconfig.
-Add Westwood
-Use amended interruptible threads (reduces cpu load)
-Disable add random on IO
-Reset cpu dma latency to stock...idk what it does so i shouldnt touch it...
-Revert Ram OC (IDK if it even worked)
-Add smb135x wakelock toggle
-A GPU Patch
-Raise default touchboost to 500ms.
-Optimize memcpy and memmove
-Significantly Optimize Console Framebuffer
-Enable non-cacheable streaming enhancement
-Add GPU Compile Optimizations
-Disable a lot more debugging
-Boot with 2.649ghz max freq for stability
-Add OC up to 3.033ghz. Highly unstable IMO but its an option for the brave.
-Cleanup Ramdisk
-Raise voltage a bit on 2.88 for stability.
-Disable useless resource counters to save processing power and battery.
2.3:
-Update CPUIdile Driver and CPUIdle Governors almost completely to linux 4.0(Several Years Worth Of Commits)
-Updated CPUFreq Driver Nearly To Linux 4.0
-Update Suspend/Sleep Driver Mostly To Linux 4.0
-Update SLUB Allocator To Linux 3.18
-Update Block(IO Stuff) From Upstream A Bit.
-Upstream Scheduler Patches
-3.09Ghz CPU Step Added (Likely Quite Unstable) Some People Like That Stuff
-Amperage On 3.03Ghz bumped up a tad for stability.
-Linux 3.10.75
-Frandom random number generator added(Extremely Fast Random Number Generator)
-Power Efficiency Patches From Code Aurora
-Fixed Crash When Switching CPU Govs.
-BFS Updates!
-Update Ondemand to Linux 3.18
-Default OnDemand To Simms22's Preferences
-Merged Latest Franco Code
-Merged Latest Lean Code
-Merged Latest Zen Code
-Franco's Conservative governor updated
-Some Interactive updates
-Color control updates
-ARM Specific Updates
-F2FS Updates
-GPU Driver Updates
-Memory Leak Fixes
-Stability Fixes
-Updated ToolChain
2.4:
-Updated To Linux 3.10.77
-Merged Latest Lean Kernel
-Merged Latest Zen Kernel
-Update Workqueue To ~ Linux 3.18
-Enable Ram To Enter Low Power Mode
-Update mm.h And Memblock from upstream
-Default IO Scheduler To BFQ. Its Been Tested To Be Best For Interactivity
-Upstream Init A Bit
-A Few Patches To SMP
-Upstream Cgroups And Memcg Significantly
-Disable RunQueue Stats. Pointless Bloat and CPU Overhead only needed for mpdecision
-Added Power Efficient WorkQueues Patch From Upstream(This Gives better battery life at the cost of a likely unnoticeable performance hit. Enabled by default. Toggle in synapse CPU settings page)
-Hotplug Efficiency Patch(Optimizes Hotplugging To Handle The Transfer Of Processes From One Core To Another Much Better)
-ZenDecision Added
-Added A Toggle For Mako(Currently Only Works To Disable Mako. Ill Work On It Further In 2.5 Credit to bbedward for this
-GPU Tweaks To Make It Smoother
-UnderAmped(Reduce Current For Every Frequency Up To 2.7ghz. Should Save Power. Experimental)
-Added KSM Tweaked For Android(Disabled By Default, Scans Few Pages, and does so very rarely. I didn't notice a battery hit with it on. Optimizes ram use)
-Franco Kernel Updater Profile Updates
-Ramdisk Modifications(May Fix Some Rom Issues)
-Fix For Ondemand Crashing(Hopefully)
-Misc Tweaks & Patches
-Hotplug Affinity Fixes
-Various Power Saving Patches
-Optimize Copy_Page For Modern Arm Processors
-Do Jiffies Conversions At Compile Time Rather Than Runtime(Saves The Cpu Work)
-Optimize For Our L1/L2 Cache Size
-Allow Options To Be Passed To Memory Barrier Instructions
-2 Patches To Improve File System Performance
-HRTimer Optimizations
-Make Binder Mutex Realtime To Reduce Chance Of SurfaceFlinger Being Blocked
-Keep Track Of ASID Allocations And Try To Reuse Them In Certain Cases To Improve Performance
-Don't Compile CPUIdle Ladder Governor. It doesn't get used anyways.
-Allow Rescuer Thread To Do More Work
-Reduce Runqueue Lock Contention
-don't use compound_head() in virt_to_head_page() this showed around a 1.8% performance improvement in some cases
-Small MultiCore Scheduling Improvement
-Definitely Some Stuff I Forgot
FAQ's
1. How Do I Enable Mako Hotplug?
To enable mako hotplug use your favorite kernel control app like faux or trickster. As of 1.8 it is the default hotplug. In trickster you have to turn off both mpdecision and intelliplug. In faux you need to simply select User Control in the Hotplug Section. The hotplug can be configured using Franko Kernel Updater App.
2. Does This Work With CM12 Theme Engine?
Yes, this works with CM12 Theme Engine and should work on all ROMs properly.
3. How Can I Force All 4 Cores Online All The Time?
First you must enable mako hotplug. Then you need to use Franco's kernel updater app or another app that allows you to tweak mako hotplug settings. In fku app select CPU manager then hotplug control. Change load threshold to 0. Additionally if you just want to make it use 4 cores more often. Lower this number below 80 as desired. This should also be possible to tweak via terminal however I've never used that method.
4. Does This Have D2W, S2W, etc?
Yes, those are part of LK which means they are include in this kernel.
5. Help! I think its making me bootloop!:
This may only apply to specific ROMs and I'm unsure ofnwhy it would change anything but users have reported this to fix the issue. If you are trying a fresh install of a ROM boot on stock kernel first, reboot, then install this kernel.
6. You Broke My Phone! Fix It!:
It will be quite hard for me to figure out what is going on if you don't provide details and a log of what happened. To get a log use any file manager with root support and navigate to sys/fs/pstore I then need the console one.
7. What Kernel Tweaking App Should I Use? What About For Tweaking Screen???:
I now Use synapse as my goto app for kernel tweaking since version 1.3. To control the screen I use the app made by Savoca who created the color control we use http://downloads.codefi.re/savoca/kcal
8. Why Add Zram? We Already Have 3gb Of Ram!
Zram was added in build 1.0 as an experiment of sorts to see how much is was actually being used. V 1.0 introduced a bunch of tweaks to the kernel that essentially make it use more ram in order to give better battery life and performance. Zram was put in place to offset this in a way.
9. Wut Is A LZ4?
LZ4 is a compression algorithm used by the kernel. LZ4 is currently the fastest supported option in the Linux kernel and had to be ported from upstream. It is significantly faster than XZ compression which is what we used prior. The downside is it results in slightly larger file sizes due to a lower compression ratio. However with modern hardware this should be moot. The gains should theoretically be noticed as a general performance bump. Boots should be faster. IO should be marginally faster. Anything that's compressing or decompressing stuff, such as ZRam and encrypted devices will utilize this in a big way. Because its compressing and decompressing so much faster it can also be assumed it is saving battery via less CPU cycles.
10. What Is Strict Aliasing And Why Should I Care?:
One of the big things Linaro does with improving Android's performance is fixing violations of what's known as "the strict aliasing rule." A pointer is said to alias another pointer when they both refer to the same location of memory. This is OK and not an uncommon thing to do. The strict aliasing rule is that pointers of different types should never refer to the same location of memory (aka alias each other). Strict aliasing allows a compiler to make some assumptions when compiling and optimizing code that it otherwise couldn't. It's actually one of the biggest optimizations you can do and it is fairly hard to add which is why most people don't. Here's a nice read up on it http://cellperformance.beyond3d.com/articles/2006/06/understanding-strict-aliasing.html#benefits
11. Come on man. 35mhz is pointless bro!:
A common misconception is that if two frequencies run at the same voltage. They use equal power. In fact this couldn't be less true. The equation for power draw has four variables. Two of which are frequency and voltage. Essentially it is the frequency multiplied by the square of the voltage. Then you would take that and multiply it by a few other things such as capacitance. However that is irrelevant for our purposes as it will not effect the relative results. This means that 35mhz running at 500mv will use about 3x less power than 98mhz at 500mv. Now we say well what about compared to 300mhz? I can stably run that at around 650mv. Maybe slightly less. This equates to about 15x less power usage at 35mhz. Well now that we know that. Who cares? Its not like 35mhz will even get used. Its too low! I beg to differ. I would almost guarantee that if you are not running mpdecision 35 MHz will be within the top 3 most used frequencies. Most likely the top used below sleep. And every time it uses that over 300mhz you are saving 15x the power. Additionally 35mhz also runs at a cache frequency of 35mhz as opposed to 300mhz cache frequency and runs a lower bus speed/voltage saving additional power. The same goes for 98mhz. Hope this helps clear things up.
12. How Do I Disable BlueSleep Wakelock?
Open terminal emulator app. Type su then hit enter then type echo 0 > /sys/module/wakeup/parameters/enable_bluesleep_ws all on one line. It won't say anything but if you turn on Bluetooth and check your wakelocks you shouldn't see the wakelock there anymore. This needs to be set on each boot currently. If you experience Bluetooth connectivity issues don't disable this. To enable it again either reboot or run the same command with a 1 instead of a 0.
13. How Do I Use MultiRom???:
To use multi ROM first you must download the MultiRom App from this location http://tasemnice.eu/bordel/MultiROMMgr-v1.180.apk the play store version doesn't work with shamu yet. Then you will need to open it, go to settings and tap the version number until you are a developer. Then click override manifest URL and for manifest URL enter http://tasemnice.eu/multirom-test/manifest.json the. Go back to the main page. You should now have MultiRom and recovery boxes checked. Click install, reboot etc. To install a ROM. Download a ROM you like, go to twrp, click advanced,MultiRom,add ROM. Select internal storage and the Your zip file. Flash it but don't reboot! After that go back and select "list ROMs" select the ROM u just flashed still and click flash zip and select your gapps,supersu etc. After that simple reboot and select your new ROM on boot use the MultiRom app to manage your ROMs.
More will be added as they come up and I think of them.
Configuration Guide:
The following can be done using your favorite kernel tweaking app. I use synapse.
Clock Speed:
To begin I prefer to leave my max clock speed at the stock 2.649ghz. Set min CPU as low as it can go. As of current release this is 35. For the adventurous you can try 2.88ghz. Often I bump the voltage 12mVolts on 2.88 to be safe.
To find your CPU binning run this command in terminal emulator OR look at the first page in synapse near the bottom:
su (enter)
cat /proc/cpu/msm_acpu_pvs (enter)
(Put a space between cat and /proc)
note that the number may be displayed at the beginning of the next line.
It will then display a number from 0-15. 15 being the best. Don't stress over it too much if you score low, its not the end of the world. It just means you need marginally more voltage to run each frequency.
GPU:
As of Alpha 1.3 the GPU can now be over clocked to 700mhz. This is completely optional. To verify your over clock change the GPU governor to performance and see if it spikes to 700 every so often. If it does it worked! If it doesn't you may need to set the frequency to something else then back to 700 again. It remains to be seen what kind of benefits the GPU over clock will give but it is there for those who want it. The recommended GPU governor is the stock msm adreno one. If you encounter lag in games you can try changing it to performance temporarily while playing that game. Simple on demand is a more performance oriented governor.
Governor:
Most people will probably want to just leave this set to interactive. Its a really good governor that is being actively devolped by CAF, Google, and Franco. It also hooks into Francos CPU Boosting interface. Its "smarter" than OnDemand and generally considered to offer better battery life. If you want even more smoothness some consider OnDemand to provide a bit better performance, however you may get slightly worse battery life. This is because OnDemand ramps up to max frequency when there's is load put on the CPU and then slowly works its way down. Interactive scales through the frequencies on the way up and down which saves battery life but prevents it from jumping to max speed as fast if it is needed. Simms22 recommends using the OnDemand governor with "upthreshold" set to 98 and the sampling rate set to 15000. That is the default setting of the Trinity Kernel. Mistertac made the great suggestion of turning the max screen off frequency down to 600mhz if using the interactiveX governor. This will prevent any misbehaving apps from keeping CPU ramped up while screen is off and give better idle drain. The actual number you would have to type in would be 652800 for the screen off frequency. The Conservative Governor is greatly modified by franco, Its no longer a super slow governor as it once was. It also hooks into his cpu boost control interface meaning you get cpu boost when using it. Conservative prefers the lower frequencies, however so if you find yourself having lag, you may want to switch to another.
PowerSuspend:
The only working options in V1.6 of the PowerSuspend driver are lcd_panel and Userspace which can be found in the miscellaneous section of FauxClock. I suggest leaving it at the default choice of LCD_PANEL. In FauxClock if you navigate to the cpu idle/stats area you will be presented with more options. You should see a list of C-states. For example C0: wfi and C1: retention. These are essentially low power states that the cpu can enter to save power. The higher the C number the deeper the sleep. Last I heard, the optimal configuration was to enable C0, C1, and C3. Paired with lowered Retention voltages, this should give you a very low idle drain.
Hotplugging:
Next go to hot plugging section and disable MPDecision(make poor decision) and enable intelliplug or, enable Mako Hotplug(Franco's) by either selecting user control as your hotplug, or disabling both mpdecision and intelliplug. Tweaking for them is split up below.
IntelliPlug:
FauxClock allows you to further configure intelliplug. If you want more battery set it to Conservative (4) mode which will hotplug the CPU more conservatively and save you battery, essentially this means it will use less cores if it can. For most people, leaving it on Balanced (4) mode will be fine. If you want further battery savings you can set it to EcoPerformance (2) or even EcoConservative (2) which will only use a max of 2 cores. IntelliPlug is able to use a single core unlike Mako Hotplug.
Mako Hotplug:
As far as I know the only way to tweak Mako Hotplug is either through the terminal app, synapse or through Francos app. In Francos app select cpu manager, then Hotplug Control. The main one you will need is load threshold. The default is 80. The higher this number, the more load the cpu needs to be under before it will plug the 3rd and 4th cores. 80 is actually pretty good value for most people and it will use the extra 2 cores when it really needs them. If you want to force all 4 cores on for whatever reason, you can achieve this by setting the load threshold to 0. This will effectively disable hotplugging. Of course you can always find a middle ground as well.
Via Terminal:
The sysfs interface for mako hotplug is...
/sys/devices/virtual/misc/mako_hotplug_control
To adjust... Use echo commands...
Ex:
echo 0 > /sys/devices/virtual/misc/mako_hotplug_control/load_threshold
The above command would set the load threshold to 0.
Thanks Rignfool!
Voltage Control:
Next go to voltage control. I'm a Bin 5 and I can use a 48mVolt undervolt without becoming unstable. Rember! Never set voltages to apply on boot until you have tested them for a few hours first! Most people can probably get away with a 36mVolt undervolt and nearly everyone should use at least a -24mVolt UV. Also remember that if you are running an over clock you may not want to undervolt that frequency. If you find yourself running into freezes or random reboots remove the undervolt!
Thermal:
This kernel comes with the latest IntelliThermal Driver from Faux123, which is a highly configurable thermal driver, as well as Franco's Thermal Driver which is the stock option. It is recommended you use IntelliThermal over Franco's if you wish to customize the values. Change this option under the Thermal Manager section of FauxClock. The optimal settings that I have found are 70 degrees for frequency throttle, and then somewhere between 70 and 80 for core throttle temp, depending on how safe you want to be. Stock is 80 degrees. Leave all cores checked for both frequency throttling and core throttling. I also leave on GPU Thermal Control, but if you encounter periodic lag in games you may wish to disable it. I also leave Core Thermal Control on as well, though I'm not entirely sure what it does lol. Also FYI, the sliders beneath those two options are showing you the current status of them, they are not sliders you can move.....trust me...I tried for like 5 minutes before I realized and felt like a moron....
I/O Settings:
For I/O scheduler select FIOPS. FIOPS is superior to the other schedulers in nearly every way. It is a scheduler designed for flash storage which is what our phones use. My testing has shown that 1536 is the best readahead buffer. Less or more is detrimental.
ZRam:
ZRam is something designed to optimize the ram of a device. What typically happens when a device runs out of space in ram is it is forced to use something called swap. Swap is normally a partition of a hard drive or ssd depending on what is available where the ram can copy some of it's contents to free up space. The problem is even the fastest SSDs are many many times slower than ram. Android by default doesn't have swap, however it does use a low memory killer which essentially goes through and clears out apps that are in ram to free space. ZRam makes a compressed partition inside the ram itself which then acts as a swap partition. Basically when ram begins to fill up. It compresses data and sticks it in a sealed off area of the ram. This let's it stuff way more stuff into ram than normal. To enable ZRam I use fauxclock. Trickster for whatever reason does not work. In FauxClock go to memory settings, then set the Zram size to 300mb and click apply disk size. Then turn it on and set on boot. You have now essentially boosted the available ram via compression!
VM Settings:
There are numerous tweaks you can do to the VM. For this I use FauxClock but IK Kernel Aduitor can do this as well. In FauxClock navigate to memory manager. The first thing to tweak is an option called swappiness. This control is used to define how aggressive the kernel will swap memory pages. Higher values will increase agressiveness. I defaulted this to 10 however the default is 60. This will use more ram but give better performance. Next is VFS Cache Pressure. This controls the tendency of the kernel to reclaim the memory which is used for caching of directory and inode objects. The default used to be 200. Its now defaulted to 10 meaning more ram usage but more performance. Next up is dirty ratio and dirty background ratio. Some things pass through ram and stay there for a bit until they get flushed to the flash storage. These controls essentially dictate how long it should wait before flushing to the flash storage. The longer you can delay it the better performance and battery you achieve, at the cost of ram. Setting these higher will increase ram usage but increase performance. I recommend a background ratio of 30 and a dirty ratio of 50, however feel free to tweak them as you desire.
Color Control:
Next you may want to adjust Screen RGB, value, saturation, hue and contrast. WrinkleFree over in the Lean Kernel thread did extensive testing with a professional grade $1000 screen calibration tool. You can use this app http://downloads.codefi.re/savoca/kcal to control the screen.
For the most truly color accurate screen at D6500K:
Red - 248
Green - 246
Blue - 255
If you prefer a slightly cooler screen and the tuning the iPhone uses which is D7400K:
Red - 237
Green - 235
Blue - 255
More info can be found about color calibration here: http://forum.xda-developers.com/showpost.php?p=57265483&postcount=620
As for saturation. I like to turn it up a bit and make the colors pop a bit more so I leave it around 65. But quite honestly saturation,value,contrast,and hue are going to come down to tweaking it and finding what you like most. Have fun!
These settings are meant to be used as a starting point. Depending on your cpu binning and desires you will probably want to tweak these slightly to fit your needs. I'll add more as new features get added, I learn more, and I think of stuff to add Hope it helps someone!
Sweet! Good work man.
Thanks for sharing.
It does support the CM Theme Engine, right ?
x0nar said:
Thanks for sharing.
It does support the CM Theme Engine, right ?
Click to expand...
Click to collapse
Yessir using it as we speak
Seems buttery enough. Will let you know the battery life on Bliss 2.0
x0nar said:
Seems buttery enough. Will let you know the battery life on Bliss 2.0
Click to expand...
Click to collapse
Good to hear so far. Don't forget to lower your min frequency . Also I recommend either Conservative or Interactive governors ATM as they hook into the new CPU boost. I'll be posting a full configuration guide probably tomorrow. Hope you like it.
New kernel , SUPER
Fauert said:
New kernel , SUPER
Click to expand...
Click to collapse
Hope you like it! No doubt I'll be hearing many bug reports when I wake up tomorrow
I've been testing this kernel on a few different Roms without any issues at all really so everyone should be happy with it.
If anyone gets any reboots though do try and get logs [emoji106]
Xileforce said:
Good to hear so far. Don't forget to lower your min frequency . Also I recommend either Conservative or Interactive governors ATM as they hook into the new CPU boost. I'll be posting a full configuration guide probably tomorrow. Hope you like it.
Click to expand...
Click to collapse
Looking forward to your guide.
Nice kernel. Jist one thing, may be is a feature i dnt know but only 2 cores online when i tried tu push all cores on, just stay with 2 or 1 core on. I changed the hotplug but still the same
Sent from my Nexus 6 using XDA Free mobile app
Bestplayer55 said:
Nice kernel. Jist one thing, may be is a feature i dnt know but only 2 cores online when i tried tu push all cores on, just stay with 2 or 1 core on. I changed the hotplug but still the same
Sent from my Nexus 6 using XDA Free mobile app
Click to expand...
Click to collapse
Are you trying to do this for a Benchmark?
Using the Faux app you can first set it to Intelliplug , then Performance (4) Cores and that should get you there.
If not, try setting it that way and reboot. I've noticed with this phone that I've had to reboot a lot for my changes to actually take correctly.
Cpu2 and cpu3 are stuck in performance...
And does anyone know where in sysfs to adjust mako hotplug?
rignfool said:
Cpu2 and cpu3 are stuck in performance...
And does anyone know where in sysfs to adjust mako hotplug?
Click to expand...
Click to collapse
Gotcha.. Well once Mr Xile wakes up I'm sure he'll have something for you, not sure myself.
Mistertac said:
Gotcha.. Well once Mr Xile wakes up I'm sure he'll have something for you, not sure myself.
Click to expand...
Click to collapse
I found it... And I learned a new Linux command in the process...
Haven't done a full battery test yet, but I seem to be getting the best I've seen so far.
Bestplayer55 said:
Nice kernel. Jist one thing, may be is a feature i dnt know but only 2 cores online when i tried tu push all cores on, just stay with 2 or 1 core on. I changed the hotplug but still the same
Sent from my Nexus 6 using XDA Free mobile app
Click to expand...
Click to collapse
Currently if you disable all hotplugs or if you use fauxclock to set it to usercontrol that enables Franco's mako hotplug. Thats why in an app such as faux you cannot easily force two cores online. However if you use Franco's updster app you can go to CPU manager then hotplug control and if you lower the load threshold it will hotplug more frequently. Setting this to 0 will force all cores online. Additionally as mistertac said. Using b intelliplug on either performance(4) mode or balanced(4) will use all 4 cores pretty frequently as well.
Introduction
This is a kernel for XT1572/XT1575 built from stock sources (marshmallow-6.0.0-release branch) with cherry picks from other kernels and some ports/mods done by me. It started as a personal build tailored to my preferences but just thought I'd share in case somebody might find it useful. My main goal is building the smoothest kernel I can get so performance is top priority.
This kernel is for stock ROM MPH24.49-18*
Disclaimer
Although I have experience with Linux kernels on desktops and servers this is my first Android kernel. I've been running this kernel on my XT1572 for a few days and seems pretty stable but that doesn't mean it's risk free. In fact I wouldn't dare to install it if you don't have a proper backup and some basic skills to deal with unexpected situations.
Features
Aroma Installer
CPU profile scripts (see this)
Color control (KCAL)
Frandom
Updated to kernel version 3.10.101
Overclocking (a53: 1536MHz a57:2016MHz)
Underclocking (302MHz)
Additional CPU governors (ElementalX, Intelliactive, Lionheart, BioShock, BluActive, Wheatley, InteractiveX/Interactive, Impulse, Zzmoove)
Additional I/O schedulers (SIO, FIOPS, Zen, BFQ, SIOPLUS)
Bricked Hotplug
Updated ZRAM driver
Updated Lowmemorykill driver
Basic init.d support
KSM and UKSM
Voltage readings
Fsync on/off
Touchboost on/off
Vibration control
KEXEC Hardboot (MultiROM support)
Patched cdrom code (DriveDroid support)
DoubleTap2Wake/Sweep2Wake/Sweep2Sleep (EXPERIMENTAL)
Power efficient workqueues
Support for additional FS: NTFS, NFS, CIFS
Additional Xpad drivers (read this)
Device as USB trackpad/keyboard driver (read this)
WiFi module optimizations
Many minor optimizations
Optimization flags
UBER Toolchain 4.9
Installation instructions
Download ZIP and flash from TWRP/Flashify. Read the following notes carefully before flashing.
Important notes:
This kernel is still experimental, make a proper backup first
You need to be rooted
DO NOT play with DT2W/S2W before reading the release notes and the update
In case you want to tune some parameters (ie: CPU frecuencies) I recommend you install EX Kernel Manager, Kernel Adiutor or Kernel Adiutor-Mod.
If you're using Kernel Adiutor to control vibration or TCP congestion read this.
Questions? Read the FAQ before posting.
Download
Latest version is v0.14 (see release notes)
https://www.androidfilehost.com/?w=files&flid=49225
Donations
Although quite a deal of the important work has been done by the developers mentioned in the Credits section I spend many hours working on this. If you feel like helping me out I'd appreciate some tiny donations to cover some minor expenses.
Thanks to all of you who have donated, it's very much appreciated.
Profiles
One of the FAQ in most kernel related threads is "What are the best settings for .....?". This is the 10 million question since the usage pattern can be very different for each user. However, I understand less experienced users will appreciate some hints in this department, so that's why I'm posting some basic settings you can use as a starting point.
It's your job to further tune them to suit your needs. You should be able to modify these settings with whatever Kernel Control App you like the best, although not all settings are available in every app, in such a case tune those you can. The list is not complete (just the most importante settings) and is loosely based on Kernel Adiutor arrangement.
Please, keep in mind these are subjective values (based of personal preferences or popularity) and some people might like other settings for whatever reasons.
Performance Profile: Very smooth and responsive but average battery life
CPU
LITTLE Cluster
CPU Governor: bluactive
CPU Max Frequency: 1536MHz
CPU Min Frequency: 302MHzBIG Cluster
CPU Governor: bluactive
CPU Max Frequency: 2016MHz
CPU Min Frequency: 302MHz
NOTE: If you get N/A or weird values when trying to change settings on BIG cores it means both have been hotunplugged. To work around this select "performance" governor, make your desired changes and then select you previous governor.CPU Boost
Input Boost Frequency Core 1: 960MHz
Hotplug
MSM MPDecision
Minimum CPU online: 2
Maximum CPU online: 6
Max Cores Screen Off: 2
Idle Frequency: 384MHz
Thermal
Core Control: Off
VDD Restriction: Off
Temperature Throttle: On
GPU
Max Frequency: 600MHz
Min Frequency: 180MHz
Govenor: cpufreq
I/O
Scheduler: noop
Read-ahead: 1024KB
Balanced Profile: Above average battery life with good performance on most situations
CPU
LITTLE Cluster
CPU Governor: interactive
CPU Max Frequency: 1440MHz
CPU Min Frequency: 302MHzBIG Cluster
CPU Governor: interactive
CPU Max Frequency: 1632MHz
CPU Min Frequency: 302MHz
NOTE: If you get N/A or weird values when trying to change settings on BIG cores it means both have been hotunplugged. To work around this select "performance" governor, make your desired changes and then select you previous governor.CPU Boost
Input Boost Frequency Core 1: 960MHz
Hotplug
MSM MPDecision
Minimum CPU online: 2
Maximum CPU online: 5
Max Cores Screen Off: 2
Idle Frequency: 768MHz
Thermal
Core Control: Off
VDD Restriction: Off
Temperature Throttle: On
GPU
Max Frequency: 600MHz
Min Frequency: 180MHz
Govenor: msm-adreno-tz
I/O
Scheduler: noop
Read-ahead: 1024KB
Battery Profile: Good battery life at the expense of somewhat limited performance
CPU
LITTLE Cluster
CPU Governor: ondemand
CPU Max Frequency: 1440MHz
CPU Min Frequency: 302MHzBIG Cluster
CPU Governor: ondemand
CPU Max Frequency: 1632MHz
CPU Min Frequency: 302MHz
NOTE: If you get N/A or weird values when trying to change settings on BIG cores it means both have been hotunplugged. To work around this select "performance" governor, make your desired changes and then select you previous governor.CPU Boost
Input Boost Frequency Core 1: 960MHz
Hotplug
MSM MPDecision
Minimum CPU online: 1
Maximum CPU online: 3
Max Cores Screen Off: 2
Idle Frequency: 960MHz
Thermal
Core Control: Off
VDD Restriction: Off
Temperature Throttle: On
GPU
Max Frequency: 450MHz
Min Frequency: 180MHz
Govenor: simple_ondemand
I/O
Scheduler: noop
Read-ahead: 1024KB
Thanks To/Credits
vadimtk
flar2
franciscofranco
nimrodsv
anarkia1976
savoca
myfluxi
AudioGod
osm0sis
nychitman1
jollaman999
imoseyon
showp1984
HashBang173
neobuddy89
rehpyc
Alcolawl
soniCron
Spasticdroid
XDA:DevDB Information
Frankenclark, Kernel for the Moto X Style (Pure)
Contributors
dirtyhank
Source Code: https://github.com/dirty-hank/frankenclark/
Kernel Special Features:
Version Information
Status: Beta
Current Beta Version: 0.14
Created 2016-01-10
Last Updated 2016-10-11
Changelog
v0.14 (2016-08-29)
Proper KCAL control (thanks to @Spasticdroid)
Updated xpad driver for compatibility with gamepads/controllers (thanks to @Spasticdroid)
Driver to use device as USB trackpad and keyboard (thanks to @Spasticdroid)
Misc minor updates (see github)
100Hz version uses stock compiler flags
v0.13 (2016-06-21)
Update to Linux Kernel 3.10.102
Misc minor updates (see github)
New start-up CPU governor profiles: bluactive, maddog and silverfish
v0.12 (2016-05-15)
Disable DT2W/S2W while phone call is in progress
New CPU governors: impulse, zzmoove
New and updated CPU profile scripts
Runtime CPU profile switcher script (see release notes)
Minor changes to Aroma installer
v0.11.1 (2016-05-01)
Aroma Installer update (see release notes)
v0.11 (2016-04-27)
Aroma Installer
Better camera focus
Less CPU usage from DT2W/S2W
Minor updates and bugfixes
v0.10 (2016-04-03)
Updated lowmemorykiller driver
BFQ and SIOPLUS I/O schedulers
Updated ZRAM driver (on by default)
User togglable WLAN wakelocks
Basic init.d support (see release notes)
Misc minor updates
v0.9 (2016-03-20)
Update to Linux Kernel 3.10.101
Bug fixes
Changes from Google update to N5X and N6P (see release notes)
v0.8 (2016-03-06)
Update to Linux Kernel 3.10.99
Power efficient workqueues
NTFS support
NFS and CIFS support (you'll probably need additional user space binaries)
v0.7.1 (2016-02-28)
Workaround for the dimmed screen upon unlock bug when DT2W/S2W is enabled
v0.7 (2016-02-21)
Hotplug thresholds tuned to keep BIG cores offline more often
KEXEC Hardboot (MultiROM support)
Patched cdrom code (full DriveDroid support)
DoubleTap2Wake/Sweep2Wake/Sweep2Sleep (HIGHLY EXPERIMENTAL, Read this)
v0.6 (2016-02-07)
Vibration control (non-haptic)
Relaxed CPU macros for better power usage
File hosting now on AndroidFileHost
v0.5.2 (2016-02-03)
Fixed USB and WiFi Tethering
Minor tweaks
v0.5.1 (2016-02-01)
Changes to installer
v0.5 (2016-01-31)
Update to Linux Kernel 3.10.95
InteractiveX governor (as patches to the interactive gov)
Bricked Hotplug
KSM and UKSM (disabled by default, use Kernel Adiutor to enable)
Many minor optimizations
WiFi module optimizations
Modules recompilation
Disabled core_ctl (due to broken module after some internal changes to kernel)
Voltage readings (any attempt to modify values is silently ignored)
v0.4.1 (2016-01-24)
Prevent msm_performance from messing with the user selected min/max CPU frequencies
v0.4 (2016-01-23)
New CPU governors (ElementalX, Intelliactive, Lionheart, BioShock, BluActive, Wheatley)
New I/O scheduler (Zen)
Default I/O scheduler set to noop with a read ahead of 1024kb
Fixed bug CVE-2016-0728
Minor optimizations
Introduce ZIP installer (Anykernel2)
v0.3 (2016-01-18)
Color control (KCAL)
frandom support
New optimization flags
ZRAM disabled by default
v0.2 (2016-01-14)
Updated to Linux kernel 3.10.94
Underclocking (302MHz)
v0.1 (2016-01-10)
First public version
FAQ
I get random reboots, what is happening?
This kernel overclocks both clusters by default (a53: 1536MHz a57:2016MHz) and although this is very safe for most devices some CPUs are in the lowest spot of the binning spectrum and can't handle O/C very well. In such a case use a kernel control app (see the OP for references) to limit the maximum CPU frequencies, play with them until you find stable values for your device.
What are the best settings for battery life/performance/whatever?
That's hard to tell as every user is different. You can find some basic profiles in the OP you can use as a starting point. Notice the differences between then and build you own.
Why do some BIG cluster settings display N/A?
Why can't I change some settings on the BIG cluster?
If you get N/A or weird values when trying to change settings on BIG cores it means both are offline ("hotunplugged"). To work around this select "performance" governor, make your desired changes and then select you previous governor. You can also disable hotplug, make the changes, and enable hotplug again.
DoubleTap2Wake doesn't work sometimes. How can I get it to work all the time?
When device goes into suspend mode first tap is often missed (I suspect this is caused by Moto Sensor Hub). If you tap three times and get the timing right you'll probably make it work most of the time. As an alternative, Sweep2Wake works almost all the time
DT2W/S2W is acting weird or disabling itself
Make sure Moto Display is disabled. Open the Moto app, click on the stars in the top right corner, select Display and set to Off
Can I use this kernel in ROM X/Y/Z?
This is for stock ROM MPH24.49-18 only. It'll probably work on any stock based ROM but not guaranteed.
I use stock ROM but WiFi is not working
Due to some internal changes all modules had to be recompiled (WiFi included). In order to expose the new modules without modifying the system partition I had to implement a hack that requires root. Make sure you're properly rooted.
What's the deal with ZRAM?
ZRAM is a technique to increase memory available to the apps at the expense of CPU time. Memory space from apps not being used is compressed into a memory swap area and uncompressed on the fly whenever needed. As you can imagine this compress/uncompress process burns CPU cycles, potentially leading to worse battery life, lag and higher temperatures. Since this device comes with 3GB I can only think of one scenario where ZRAM can be beneficial: heavy multitaskers who care more about apps not reloading than battery life. For the rest of users enabling ZRAM doesn't make much sense in my opinion, and that's why it's disabled by default.
UPDATE: v0.10 includes an updated ZRAM driver that improves performance significantly. So much so that the benefits seem to outweigh the costs and it's been enabled by default.
What's the deal with KSM/UKSM?
Since many apps use the same libraries/resources it's very likely that at any given time there are multiple copies of the same data on different memory locations. KSM/UKSM tries to take advantage of that fact by scanning memory pages periodically and consolidating that multiple copies into a single shared copy. Much as like ZRAM it can have a good effect on heavy multitasking performance but at the expense of CPU cycles, and thus it's only recommended in the same scenario as ZRAM. Disabled by default
Ok, so do I enable ZRAM/KSM/both/neither?
I honestly think most users will be better off not using neither. If you feel like you need extra RAM I'd try KSM first, then ZRAM. Using both at the same time is overkill unless you are an ultra multitasker, in which case you should probably get a 4GB device anyway
How do I get WiFi on 6.0.1?
It's a modem version mismatch issue, you need to downgrade the modem. See this post.
Love to see more options! Thanks for sharing!!
Yeah this will be very good
Only One think that would be awesome try to implement the double tap to wake
Awesome! More custom kernels are always welcome are there many governors to choose from?
krohme said:
Awesome! More custom kernels are always welcome are there many governors to choose from?
Click to expand...
Click to collapse
Right now only the stock governors are available but I plan on adding a few
Can't we install it through twrp???
guraki said:
Can't we install it through twrp???
Click to expand...
Click to collapse
Yes, TWRP supports boot image flashing
I lost root after the kernel install....
---------- Post added at 03:22 PM ---------- Previous post was at 02:39 PM ----------
Seems to work fine!!! Any battery life expectations?
guraki said:
I lost root after the kernel install....
---------- Post added at 03:22 PM ---------- Previous post was at 02:39 PM ----------
Seems to work fine!!! Any battery life expectations?
Click to expand...
Click to collapse
As I said on the OP my main goal is performance/smoothness, so I haven't specifically sought better battery life. That being said I'm getting about the same battery life as stock with better performance, that works for me.
Nevertheless, I'm very interested on how it works for other configurations and usage patterns.
@dirtyhank could you please add hotplugging to the kernel? Preferably one that allows you to select how many cores to run as well as which ones, as in run the two A57s and turn off the four A53s. Currently I'm running two A53s at 1.2Ghz and the remaining four cores are always off.
The screenshot is from Lolipop, and it is the only reason why I havent upgraded to MM. Turning off cores definitely makes a difference on battery life.
Also, if possible, adding a lower speed to the min speed. Will gladly test anything you thow my way. Thanks in advance.
Is there any chance for a CM13 version and a DT2W fork from elementalx?
sir-harlekin said:
Is there any chance for a CM13 version and a DT2W fork from elementalx?
Click to expand...
Click to collapse
DT2W maybe, CM13 unlikely.
very nice thank you! slowly slowly we getting more and more things. Just making sure this is only for stock based rom/s Thanks!!
cerobles1 said:
@dirtyhank could you please add hotplugging to the kernel? Preferably one that allows you to select how many cores to run as well as which ones, as in run the two A57s and turn off the four A53s. Currently I'm running two A53s at 1.2Ghz and the remaining four cores are always off.
The screenshot is from Lolipop, and it is the only reason why I havent upgraded to MM. Turning off cores definitely makes a difference on battery life.
Also, if possible, adding a lower speed to the min speed. Will gladly test anything you thow my way. Thanks in advance.
Click to expand...
Click to collapse
What kernel are you using on LP?
patt2k said:
very nice thank you! slowly slowly we getting more and more things. Just making sure this is only for stock based rom/s Thanks!!
Click to expand...
Click to collapse
Yep, stock ROM, I'll edit the OP
dirtyhank said:
Yep, stock ROM, I'll edit the OP
Click to expand...
Click to collapse
Awesome gonna flash this soon
I hope a port for CM based roms might be possible in the future! Thanks for sharing your work and replying so quickly!
dirtyhank said:
Yep, stock ROM, I'll edit the OP
Click to expand...
Click to collapse
Getting bootloop on TruePure rom 2.4. Anything I can try to avoid bootloops?
Hello, XDA! Me and @Da-BOSS would like to publish the Ultimate Kernel - Zeus :victory: .
Without too much hassle, let's see what this Kernel brings to our beloved Note 9.
{
"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"
}
Behold the wall of features
Android Q kernel is based from Google sources Android-Q branch with applied on top of it Samsung's kernel sources.
Since there is no more ELS repository for Android Q kernels.. I made a branch on the same repository on Github called [ZeusELS] which is purely a completely stock kernel with linux upstreamed always to the latest :angel: that's if anyone wanted to develop a new kernel from scratch also.. ZeusELS is based from Google sources Android-Q branch with applied on top of it Samsung's kernel sources too ! :fingers-crossed:
Download links are always at the end of this post
ZeusROM Features for Android Q
[*] It is just simply a replicate of DevBaseROM from @_alexndr but with more debloats and Zeus Kernel ready inside... just flash it and it is ready
Kernel Features for Android Q
Imported N960FXXS4DTA5 kernel sources
Used updated ramdisk N960FXXS4DTA5
The kernel is now compiled with GCC 10.0.1 along with LTO [Link Time Optimization] using the latest updates available for [isl,mpc,mpfr,zlib,etc..] GCC is self compiled with all kind of flags optimizations applied for maximum performance benefits and increase code quality
Using GCC LTO with all fixes and optimizations which leads to faster kernel operations and less kernel code bloating which will lead to less kernel size in which allows me to make room and use O3 kernel optimizations which will increase kernel size a little bit for results in significantly improved hackbench performance, which is a sign that overall performance in the kernel is improved. It works especially well in conjunction with LTO.
Implemented/Using [W.B.T.] Write Back Throttling driver which increases IO performance and smoothness of the kernel operating generally.. what it does is...
[Enable throttling of buffered writeback to make it a lot
more smooth, and has way less impact on other system activity.
Background writeback should be, by definition, background
activity. The fact that we flush huge bundles of it at the time
means that it potentially has heavy impacts on foreground workloads,
which isn't ideal. We can't easily limit the sizes of writes that
we do, since that would impact file system layout in the presence
of delayed allocation. So just throttle back buffered writeback,
unless someone is waiting for it.]
Implemented hybrid poll mode With this hybrid scheme, we can achieve big latency reductions while still using the same (or less) amount of CPU.
Implemented various patches from 4.10/4.14/4.19 imported
Simple LMK! first in the history of Samsung smartphones with all updates and patches applied
Undervolted everything on the SOC from RAM,CPU,Camera,CPU Bus,etc..
Reduced SELinux expensive calls for audit and disabled entirely
Updated SchedUtil to the latest patches & updates
Updated SchedUtilX to the latest patches & updates
Implemented IOwait and Use it + Make IOwait boost more energy efficient
Re-adjusted Samsung values on nearly everything volts,battery,ram,etc..
Using the S10/N10 Values to our beloved Note9 for Exynos hotplugging drivers
Using CPU Assist driver and updated its values
Disabled all kind of Debuggings, loggings, tracings aggressively kernel size is under 30MB!
Boost DevFreq whenever a new frame kicks
Added PowerSuspend Driver which will help on battery saving extensively and integrated it to display driver
Using HTC's Fsync named [Asynchronous Fsync] and made it working as default for Note 9
Implemented Sched Yields to force sleep whenever it kicks in
Moved MMC driver to SCHED_FIFO thread to reduce the impact of
load on IO performance.
Applied O3 compiling flags to Crypto drivers for increase performance
Tuned Up ALMK [Adaptive LowMemoryKiller] values and use it by default
Adapted and Implemented Force Reclaim driver from Lenovo and use it by default
Killed Samsung's poor RBIN memory management
Implemented CMA from Qualcomms devices and Use it as a replacment of Samsung's RBIN here what does it do..
[CMA pages are designed to be used as fallback for movable allocations
and cannot be used for non-movable allocations. If CMA pages are
utilized poorly, non-movable allocations may end up getting starved if
all regular movable pages are allocated and the only pages left are
CMA. Always using CMA pages first creates unacceptable performance
problems. As a midway alternative, use CMA pages for certain
userspace allocations. The userspace pages can be migrated or dropped
quickly which giving decent utilization.]
Introduce and Implement and Use GCMA [Guaranteed Contiguous Memory Allocator] read below what it does..
[While demand for physically contiguous memory allocation is still alive, especially in embedded system, existing solutions are insufficient. The most adapted solution is reservation technique. Though it serves allocation well, it could severely degrade memory utilization. There are hardware solutions like Scatter/Gather DMA and IOMMU. However,
cost of these additional hardware is too excessive for low-end devices. CMA is a software solution of Linux that aims to
solve not only allocation but also memory utilization problem. However, in real environment, CMA could incur unpredictably slow latency and could often fail to allocate contiguous memory due to its complex design. We introduce a new solution for the above problem, GCMA (Guaranteed Contiguous Memory Allocator). It guarantees not only memory space efficiency but also fast latency and success by using reservation technique and letting only immediately discardable to use the area efficiently. It shows 15 to 130 times faster and more predictable allocation latency without system performance degradation compared to CMA.]
Implement binderfs for Andorid IPC
Wakelock Blocker is used by default and it already blocks the needed wakelocks by default
Added DropCache feature which will help with memory management on the long run
Tuned Adaptive LMK to work Asynchronously
Implemented ZRAM Deduplication feature which will..save amount of memory usage by zram. Read below the benefits...
[Android is one of the biggest users to use zram as swap and it's
really important to save amount of memory usage. There is a paper
that reports that duplication ratio of Android's memory content is
rather high. And, there is a similar work on zswap that also
reports that experiments has shown that around 10-15% of pages
stored in zswp are duplicates and deduplicate them provides some
benefits.]
Implemented ZSWAP same-filled pages handling feature look below what does it do..
[Zswap is a cache which compresses the pages that are being swapped out
and stores them into a dynamically allocated RAM-based memory pool. This patch adds a check to identify
same-filled page before compression of the page. If the page is a
same-filled page, set zswap_entry.length to zero, save the same-filled
value and skip the compression of the page and alloction of memory in
zpool. Improvemnt in preformance varies between 19% ~ 32% increased performance in store time & 49% ~ 85% increased performance in loading time]
Implement B-tree function and Made ZSWAP to Use it by default which will lead to the following IO bogo operations: * original: 73778.8 * btree: 393999
WireGuad using the latest version always
Added MoroSound!
Brought a collection of Paranoid Android & Xiaomi patches to our beloved Note9 devices
Tuned UFS net boost table
Speed up scatterlist to roughly a 2x performance gain & Speed up cache entry creation for mbcache2
Implemented some fucntions & drivers from 4.14 Kernel and use it on Note 9 [which have 4.9 Kernel]
Using Jump Lable on the kernel read below what does it do..
[This option enables a transparent branch optimization that makes certain almost-always-true or almost-always-false branch conditions even cheaper to execute within the kernel.
Certain performance-sensitive kernel code, such as trace points, scheduler functionality, networking code and KVM have such branches and include support for this optimization technique.
If it is detected that the compiler has support for "asm goto", the kernel will compile such branches with just a nop instruction. When the condition flag is toggled to true, the nop will be converted to a jump instruction to execute the conditional block of instructions.
This technique lowers overhead and stress on the branch prediction of the processor and generally makes the kernel faster.]
Using Jump Lable Relative References on the kernel read below what does it do..
[Reduce the size taken up by absolute references in jump label
entries themselves and the associated relocation records in the
.init segment, add support for emitting them as relative references
instead.This reduces the size of the __jump_table by 33%, and
gets rid of the RELA section entirely.]
Improve ION cache accounting
Added Fingerprint Boost Driver
Low Memroy Killer features... LMK Fast RUN, OOM Reaper, Process reclaim
Updated ZRAM & ZSWAP with LZ4,ZSTD,LZO compression algorithm
Implemented Devfreq Boost driver and updated it... look below what it does
"This driver boosts enumerated devfreq devices upon input, and allows for
boosting specific devfreq devices on other custom events. The boost
frequencies for this driver should be set so that frame drops are
near-zero at the boosted frequencies and power consumption is minimized
at said frequencies. The goal of this driver is to provide an interface
to achieve optimal device performance by requesting boosts on key
events, such as when a frame is ready to rendered to the display."
Introduced a centralized Energy Model (EM) management framework which aggregates the power values provided by drivers into a table for each performance domain in the system.
Using always the latest GCC 10 Build with LTO self compiled
Added battery Store mode [used to limit charging] advanced use only & Unstable power detection driver and made it optional through HKTweaks app (Google it)
Added battery charging control!! [The first on XDA & outside XDA]
Kernel size decreased from 39MB to 28~29MB from the debloating the kernel! [Truth to be told the Lightest Kernel on XDA & Outside XDA]
WireGuad using the latest version always
Added MoroSound! because many requested it
Optimized GPU futher by speeding up rendering frames to the display driver
Disabled security options that reported it might slow down kernel operation upto 30% [Thanks @arter97!]
Tuned UFS net boost table
Fixed CPUSet driver & updated block core for faster operations
Optimized block driver that should help shaving off a few cycles of the I/O hot path
Improve event-poll driver which make wakelocks less likely to happen
Improved/Optimized hrtimer, alarmtimer, timers drivers
Added Spinlocks, Qspinlocks, RWLocks, QRwlock, Atomic drivers & updated it
Optimized Dcache & ARM driver to improve cache-line alignments performance
Optimized CGroup to have a dedicated kmem_cache pool and avoid costly dynamic memory allocations.
Dynamtic Shedtune driver implemented and updated it with the latest patches
Clean up garbage/unused codes from CPU governers
Optimized IO up to 34% improvement in the I/O latency.
Removed a lot of garbage code and cleaned it up
Updated lib lz4 modules from 2013 to 2018/2019 including all updates which makes it possible to enable applications to use fast and/or high compression depending on the use case
State notifier driver enabled
Linux Up streaming kernel updated to the latest always
Applied PSI driver on RAM , CPU , IO Drivers... see what it does...
[When systems are overcommitted and resources become contended, it's hard to tell exactly the impact this has on workload productivity, or how close the system is to lockups and OOM kills. In particular, when machines work
multiple jobs concurrently, the impact of overcommit in terms of latency and throughput on the individual job can be enormous.
In order to maximize hardware utilization without sacrificing individual job health or risk complete machine lockups, this patch implements a way to quantify resource pressure in the system.]
Compiled it with GCC 10 with the latest updates applied & custom optimizations is used
Implemented FRANDOM
Fade Ramp Control
SELinux Permissive/Enforced
Boeffla WakeLock Blocker
Added Unstable Power Detection through HKTweaks app (Google it)
CPU Max Freq for LITTLE - Max Freq 2002MHz Min Freq - 455Mhz
CPU Max Freq for BIG - Max Freq 2946MHz Min Freq - 650Mhz
Sky's the limit.. OC'ed CPU Quad Core to 2.31Ghz & Dual Core to 2.65Ghz! [Default on stock kernel is 1.8GHz Quad & 2.3GHz Dual]
Implemented Power saving work-ques and made it optional for those who don't like power saving
Updated F2FS to the latest updates taken from Android-Q Google sources! needs ROM modifications to get F2FS working on /data partition
HMP is synced with Googles latest scheduler changes
Kernel Features for Android Pie
Imported N960FXXU4CSK1 kernel sources
Used updated ramdisk N960FXXU4CSK1
Implemented Devfreq Boost driver and updated it... look below what it does
"This driver boosts enumerated devfreq devices upon input, and allows for
boosting specific devfreq devices on other custom events. The boost
frequencies for this driver should be set so that frame drops are
near-zero at the boosted frequencies and power consumption is minimized
at said frequencies. The goal of this driver is to provide an interface
to achieve optimal device performance by requesting boosts on key
events, such as when a frame is ready to rendered to the display."
Taken SDCard drivers from Note10.
Introduced a centralized Energy Model (EM) management framework which aggregates the power values provided by drivers into a table for each performance domain in the system.
Possible fix for 1950Mhz to be forced to 2GHz
Added & enabled BBR tcp optimizations and networking operations optimizations... using fq_codel+bbr
[Observed a significant increase in BBR throughput (measured using netperf), in a basic wifi setup.]
Implemented further more CPU optimization for power consumption from Nvidia!! to Enhance power efficiency and adapted it to our Note9 device
Using always the latest GCC 10 Build with LTO self compiled
Optimized UKSM function and KSM along with it
Add ROW scheduling algorithm & ROW driver... mechanism of it is...
[The ROW scheduling algorithm will be used in mobile devices as default
block layer IO scheduling algorithm. ROW stands for "READ Over WRITE"
which is the main requests dispatch policy of this algorithm.
The ROW IO scheduler was developed with the mobile devices needs in
mind. In mobile devices we favor user experience upon everything else,
thus we want to give READ IO requests as much priority as possible.
The main idea of the ROW scheduling policy is:
If there are READ requests in pipe - dispatch them but don't starve
the WRITE requests too much.]
Added battery Store mode [used to limit charging] advanced use only & Unstable power detection driver and made it optional through HKTweaks app (Google it)
Added battery charging control!! [The first on XDA & outside XDA]
Made automated driver for read-ahead size decision when inserting any OTG/USB external storage on the device to optimize file processing performance.
Kernel size decreased from 39MB to 34.9MB from the debloating the kernel! [Truth to be told the Lightest Kernel on XDA & Outside XDA]
WireGuad using the latest version always
GFS - Gentle Fair Sleepers options provided to have more battery life
Added MoroSound! because many requested it
Initial support for Nethunter users
Optimized GPU futher by speeding up rendering frames to the display driver
Disabled some security options that reported it might slow down kernel operation upto 30% [Thanks @arter97!]
Added/Implemented UKSM
Brought a collection of Paranoid Android & Xiaomi patches to our beloved Note9 devices
Tuned UFS net boost table
Fixed CPUSet driver & updated block core for faster operations
Optimized block driver that should help shaving off a few cycles of the I/O hot path
Added SIMD & VSDO Technology
Added Power suspend driver and integrated it to display driver
Improve event-poll driver which make wakelocks less likely to happen
Improved/Optimized hrtimer, alarmtimer, timers drivers
Added Spinlocks, Qspinlocks, RWLocks, QRwlock, Atomic drivers & updated it
Added Dynamic Fsync driver and made it available with normal Fsync driver
Introduce CPUSet Assist driver for optimized multitasking
Optimized Dcache & ARM driver to improve cache-line alignments performance
Optimized CGroup to have a dedicated kmem_cache pool and avoid costly dynamic memory allocations.
Added Sweep2wake, Doubletap2wake and Sweep2sleep for Samsung Galaxy Note 9
CPU Input driver implemented and updated
Micro-optimizations for Ion driver, Binder, PCI Exynos drivers, hotplug driver,F-ECM driver.
CPU-Boost driver implemented and updated to the latest version including all kind of patches and updates from Sony,Xiaomi, and Nvidia
Dynamtic Shedtune driver implemented and updated it with the latest patches
Clean up garbage/unused codes from CPU governers
Optimized IO up to 34% improvement in the I/O latency.
Using Galaxy S10 + Note 10 HMP extracted drivers combined and implemented it to our be loved Note 9!
Introduced [Host Performance Booster] HPB driver from Pixel 3! & Adapted it to our Note9!! Please read below what HPB can do...
[HPB is essentially caching of the NAND chip’s FTL (flash translation layer) L2P (logical to physical) mapping tables into the hosts (SoCs) main memory. This allows the host driver to look up the target L2P entry directly without betting on UFS’s limited SRAM to have a cache-hit, reducing latency and greatly increasing random read performance. The authors of the feature showcase an improvement of 59-67% in random I/O read performance due to the new feature. It’s worth to mention that traditional Android I/O benchmarks won’t be able to show this as as those tend to test read speeds with the files they’ve just created.]
(Source of this info ---> Here)
Added Ainur audio driver for those who want to use DTS Audio mods
Applied PSI driver on RAM , CPU , IO Drivers... see what it does...
[When systems are overcommitted and resources become contended, it's hard to tell exactly the impact this has on workload productivity, or how close the system is to lockups and OOM kills. In particular, when machines work
multiple jobs concurrently, the impact of overcommit in terms of latency and throughput on the individual job can be enormous.
In order to maximize hardware utilization without sacrificing individual job health or risk complete machine lockups, this patch implements a way to quantify resource pressure in the system.]
Implemented AnyKernel Installer for the kernel so now Kernel will be flashed as a zip file! no more lockscreen/Samsung account issues (Make sure to clean install ROM if you have Samsung account issues)! [Big Thanks to @klabit87 for his awesome help! & @djb77 for his permission to use some of his scripts]
Updated Ramdisk to the latest build
Updated Kernel build base to the lastest available
Removed a lot of garbage code and cleaned it up
Updated lib lz4 modules from 2013 to 2018/2019 including all updates which makes it possible to enable applications to use fast and/or high compression depending on the use case
State notifier driver enabled
Linux Up streaming kernel updated to the latest always
Added IO governor & Updated to the newest version/patches:-
-Anxiety
-Maple
-SIO
-FIOPS
-Marrow
-Tripandroid
Implemented IO Switcher Driver (Taken from Oreo kernel) which will save more battery by switching IO Governor to 'Noop' when Screen Off and switch back to CFQ when is On for maximum battery and optimization + without need any user intervention... it does this automatically.
Fixed USB issues
Compiled it with GCC 10 with the latest updates applied & custom optimizations is used
Implemented FRANDOM
Fade Ramp Control
Compatible with DriveDroid
WireGuard Support
SELinux Permissive/Enforced
Boeffla WakeLock Blocker
Added Unstable Power Detection through HKTweaks app (Google it)
Using CPUAssist & StuneAssist
Implemented SchedUtilX CPU Gov and made it as default
Implemented Blu_schedutil CPU Gov
CPU Max Freq for LITTLE - Max Freq 2002MHz Min Freq - 455Mhz
CPU Max Freq for BIG - Max Freq 2946MHz Min Freq - 650Mhz
Sky's the limit.. OC'ed CPU Quad Core to 2.31Ghz & Dual Core to 2.5Ghz! [Default on stock kernel is 1.8GHz Quad & 2.3GHz Dual]
Implemented Power saving work-ques and made it optional for those who don't like power saving
Updated F2FS to the latest updates taken from Oreo!
CPU Input driver implemented and updated
Battery polling & NFS wakelock control
State notifier driver
SimpleLMK [Oreo feature for the moment]
GPU OC [Oreo feature for the moment]
And a lot more, that you need to find .
FDE.AI & L Speed & Nuked Script it's been tested for Zeus kernel & ROM and me as a Kernel Developer I officially support it. It is been tested for everything.. stability , performance and improved battery life
Everyone give full support to those developers @Paget96 , @FeraVolt :fingers-crossed:
====================================================================================================
ZeusROM Q Version
For N960F/FD users:-
GoogleDrive Download Link:-
Download Link Here
Mega Download Link:-
Download Link Here
MD5:- a1d7cc2991435c74cf843b0ff468e70c
For N960N users:-
GoogleDrive Download Link:-
Download Link Here
Mega Download Link:-
Download Link Here
MD5:- aa656b105dfcf00a8e76e33e11b7beb4
====================================================================================================
Kernel Q Version
Here
Kernel Pie Version
Here
Telegram Link
mod edit - link removed
I recommend using Hktweaks app through this link.. it fully supports Zeus kernel
Here
Credits:-
Samsung Open Source Release Center for the Source code
Google for AOSP Common Kernel Source
@osm0sis for Android Image Kitchen
@klabit87 for his scripts :highfive:
@farovitus for ELS
@djb77 for scripts
@Anastasis Vasileiadis for his help to provide the needed changes for NetHunter to work
@Arteush for providing a proper scripts to get it working with all TWRP (Especially his own ones)
@Eamon for compile script
And every one that made Android a beautiful world! :fingers-crossed:
XDA:DevDB Information
Zeus Kernel, Kernel for the Samsung Galaxy Note 9
Contributors
azZA_09, Da-BOSS, All users on telegram group
Source Code: https://github.com/THEBOSS619
Kernel Special Features: F2FS, Custom CPU BUS, Debloated Code, Power Suspend Driver, CPU OC, CPU Bus Mods, Driver Mods, Pocket Judge Idle, GCC Mods, IO Switcher, UFS Mods, DynFsync, Host Performance Boost[HBP], HMP mods, Ainur Audio, SIMD & VSDO
Version Information
Status: Stable
Created 2019-08-28
Last Updated 2020-04-14
In order to Install the Kernel:
- Flash the Kernel in TWRP
- Flash Magisk
Recovery to be used - https://forum.xda-developers.com/galaxy-note-9/development/recovery-twrp-galaxy-note-9-t3929901
Thanks a lot @Arteush and @yarpiin for your hard work!
Magisk to be used - https://forum.xda-developers.com/apps/magisk/official-magisk-v7-universal-systemless-t3473445 - (Beta Version)
When you want to report a bug, provide logcat, ROM, Kernel Version and a way to replicate the bug.
For logcat, use https://github.com/Tortel/SysLog
How To Convert To F2FS Without Losing Data
Notice -You MUST have TWRP F2FS compatible recovery
1 - Backup your [Data] partition and your [Internal Storage](if possible)
2 - Warning backing up [Data] partition doesn't include your internal storage files like (Images,Musics,Video,etc..)
3 - Once finished, Convert /Data & /Cache Partition to F2FS
4 - Go to TWRP settings.. and tick [] at [Use rm-rf instead of formatting]
5 - Restore your backup.
6 - Done!
Sorry for the duplicates, use this thread till the other ones are deleted!
Thank you for your big contribution... the kernel wouldn't reach this level without you & your patience & most importantly your motivation & passion to keep pushing the kernel to the edge
Thank you from all my heart O
Thanks for your precious efforts my friend.
I am using latest kernel with latest ambasadii. Working like a charm.
How to keep the cpu freqiencf locked ?
I have no words to describe this!!! Kernel is super fast, super smooth and the apps are opening in lighting speed! I can't believe what im seeing here. THANK YOU, THANK YOU!
Sent from my [device_name] using XDA-Developers Legacy app
---------- Post added at 10:45 AM ---------- Previous post was at 10:01 AM ----------
samsung account failed to sign me in. maybe check this out.
Sent from my [device_name] using XDA-Developers Legacy app
karapoutsoglou said:
I have no words to describe this!!! Kernel is super fast, super smooth and the apps are opening in lighting speed! I can't believe what im seeing here. THANK YOU, THANK YOU!
Sent from my [device_name] using XDA-Developers Legacy app
---------- Post added at 10:45 AM ---------- Previous post was at 10:01 AM ----------
samsung account failed to sign me in. maybe check this out.
Click to expand...
Click to collapse
What baseband. CSG5 or CSG2
azZA_09 said:
-Go into TWRP recovery
-After that, Install Magisk
Click to expand...
Click to collapse
Could you provide correct links for:
- the F2FS supporting version of TWRP suitable for N960F
- the Magisk installer that can be installed using this TWRP
TIA.
jult said:
Could you provide correct links for:
- the F2FS supporting version of TWRP suitable for N960F
- the Magisk installer that can be installed using this TWRP
TIA.
Click to expand...
Click to collapse
Join telegram group and you will find everything you need the group is created for a reason... to provide support & to have everything you need for info :angel:
azZA_09 said:
What baseband. CSG5 or CSG2
Click to expand...
Click to collapse
CSG2
Sent from my [device_name] using XDA-Developers Legacy app
karapoutsoglou said:
CSG2
Click to expand...
Click to collapse
Update to csg5 and everything will work
jult said:
Could you provide correct links for:
- the F2FS supporting version of TWRP suitable for N960F
- the Magisk installer that can be installed using this TWRP
TIA.
Click to expand...
Click to collapse
Sure thing. Later today.
How do I switch to enforcing from permissive?
Thanks
Sent from my SM-N960F using Tapatalk
ALLDAT said:
How do I switch to enforcing from permissive?
Thanks
Click to expand...
Click to collapse
Kernel auditor, mtweaks or magisk selinux changer module. Your choice.
azZA_09 said:
Kernel auditor, mtweaks or magisk selinux changer module. Your choice.
Click to expand...
Click to collapse
Do you know where I can change that in ex kernel manager?
Sent from my SM-N960F using Tapatalk
ALLDAT said:
Do you know where I can change that in ex kernel manager?
Click to expand...
Click to collapse
I don't think you can do it
azZA_09 said:
I don't think you can do it
Click to expand...
Click to collapse
Thanks
Sent from my SM-N960F using Tapatalk
azZA_09 said:
Update to csg5 and everything will work
Click to expand...
Click to collapse
There is a CSG5 Baseband and a CSG5 Bootloader?