[KERNEL] MiRaGe - for Nexus 4 stock ROM 10/25/15 - Nexus 4 Original Android Development

MiRaGe is a lean and efficient kernel for the stock Nexus 4 ROM with the optimizations and updates that are not included in Google's stock kernel. MiRaGe kernel fits squarely in the stock Nexus 4 ROM; all of the modules are integrated in the kernel just like the stock kernel and it should work with all AOSP ROMs that work with the stock kernel and boot image. However, only the current stock ROM is tested. If you decide to use MiRaGe, just flash and forget it since I have avoided adding more sysfs parameters. It is not my goal to enable all possible tweaking options and add every possible feature to the kernel such as multitude of governors, io schedulers, sweep2wake, fastcharge, etc. This kernel is not intended as a tweaker's kernel. You can, of course, tweak it as much as you want since that is your phone and kernel. But please try removing your tweaks before posting any problems. I always test the latest builds with the current stock ROM before posting here.
I am sharing exactly what I have developed for myself and posting here so that I can return at least a small part of what I have received from the open source community. I thought the amount of time I have spent for MiRaGe could be useful for others as well. In short, take it if you want it, leave it if you don't. But comments, suggestions are always welcome when they make sense.
Source Code:
Source code is based on Google's msm kernel source (currently android-msm-mako-3.4-lollipop-mr1.1) and a summary of my changes are below. You can find the full details of my changes and the complete source code in my repo.
Changes:
- synced with mainline Linux 3.4.110
- cleaned up kernel configuration and removed many unnecessary options
- removed kernel debugging options
- built with the Linaro toolchain (gcc 4.9.4 - 15.06) using standard krait and -O2 optimization
- removed AOUT and OABI support
- disabled both user-space msm_mpdecision and kernel-space msm_mpdecision
- removed msm_run_queue_stats, dcvs, and stock msm_mpdecision in the kernel
- added autosmp, a simple and efficient (by me) multi-core cpu hotplug driver
- disabled the user-space thermald and switched to kernel-based msm_thermal
- replaced CFQ with the latest BFQ as the default IO scheduler
- backported random and prandom updates from Linux 3.13 (no entropy depletion anymore)
- backported workqueue from Linux 3.8 to include many important improvements
- backported rwsem from Linux 3.11 to include lock stealing improvements
- backported mutex and rcu locking from Linux 3.10 and 3.8, respectively
- backported slub memory allocator updates from Linux 3.8
- backported cpufreq driver, ondemand, and conservative governors from Linux 3.12
- updated interactive CPU governor from AOSP and CAF
- disabled userspace CPU governor,
- enabled callback-free CPUs (RCU_NOCB_CPU)
- backported TCP Small Queues and CODEL net scheduler from Linux mainline and set as default
- updated kernel scheduler, msm-hotplug, msm-idle, msm-pm code from CAF and Linux mainline
- applied patch [v4] binfmt_elf.c: use get_random_int() to help with entropy depleting
- enabled autogroup scheduler and applied patch per-uid task group for Android
- added optimized ARM RWSEM algorithm
- added optimized ARM SHA1/AES routines
- enabled CPU-supported unaligned accesses
- disabled gentle fair sleepers in scheduler
- updated Qualcomm HW RNG driver from CAF
- enabled BPF JIT compiler for packet filters
- applied glibc patch to improve the performance of memcpy and memmove
- applied word-at-a-time ARM API patches
- enabled CPU overclocking up to 1.728 GHz with user-space vdd control
- optimized vdd curves, L2 and bus speeds for better performance and efficiency
- removed unneeded a2xx and a4xx components from kgsl driver
- modified the prima wifi driver to disable debug code
- removed PMEM completely, MiRaGe is pure ION
- add support for kernel mode NEON and NEON acceleration
- add NEON optimized SHA1, SHA256, and SHA512 crypto code
- add LoUIS API for cache maintenance ops to improve cpu hotplug latency
- added and enabled power_efficient workqueue
- added and enabled msm memutils
- added screen gamma, user space cpu voltage control, and dt2w
- backported devfreq driver from CAF and switched kgsl 3d governor to simple_ondemand
- backported many other fixes/updates/optimizations from CAF and Linux mainline, see the repo for details
- init.d supported if /etc/init.d and busybox are available
- a diff file of changes to ramdisk is here
Downloads:
Boot image for stock ROM:
LMY standard kernel Built: 10/25/15 MD5sum: a315cc446499d60cb4b3a61ea7bfa8f8
LMY overclock kernel Built: 10/25/15 MD5sum: 7c72a66830f511b025968db2bb743429
Anykernel updater for custom ROM:
Revert back to stock kernel to restore the original ramdisk and flash anykernel package of MiRaGe after that. This is not needed in the next anykernel update.
LMY standard kernel Built: 10/25/15 MD5sum: 85b4136ac0ada793da7b80763193095a
LMY overclock kernel Built: 10/25/15 MD5sum: 2924fb6a963b40087c296a7b1abfc1d3
KTU standard kernel Built: 10/31/14 MD5sum: dca7d06933eb43c8da3ba7941bb6ac88
KTU overclock kernel Built: 10/31/14 MD5sum: dca7d06933eb43c8da3ba7941bb6ac88
The only difference between the standard and overclock builds is the ~100mV undervolt in the overclock build. Both kernels have maximum CPU_freq = 1.728 GHz, default CPU_freq = 1.512 GHz, overclocking, and user space cpu voltage control enabled. Since the CPU gets hot quickly in Nexus 4, I only recommend overclocking with the overclock build that has built-in undervolt. If the phone doesn't boot with overclock kernel, it means that your CPU is not able to handle the undervolt settings. In that case, you can just reboot into recovery and flash the standard kernel. No-frills CPU Control is recommended to set the max overclock frequency. Each CPU has different overclock/undervolt ability. Don't get disappointed if the OC build doesn't work for you.
Installation:
You can do one of the followings
- Flash the zip files in recovery, there is no need to wipe cache or dalvik-cache
- Flash the boot image in the zip file using either Flash Image GUI or fastboot
- Here is the original boot image for LMY48I build, in case needed for going back to stock. Either flash in the recovery or open the zip file to extract the boot image.
Credits:
- Special thanks to Linux, Google, CAF, Linaro developers in general.
- @tvall, @bedalus, @xboxfanj, @ihancioglu, @xenyz for collaboration
- @stratosk for the screen gamma interface and dt2w
- @defconoi for collaboration (see Unleashed Kernel Series)
- @mathkid95 for the any-kernel updater package
- @joeykrim for FlashImageGUI
- @Christopher83 for the optimized Linaro toolchain builds
- Other credits are given in the repo for each commit

Recommendations:
I am frequently receiving requests to add sound patches in the kernel. I agree that the sound is not very good but there are solutions. I am using the Viper4AndroidFX as a replacement sound processor. I recommend giving it a try. You need to go to the sound options and select ViPER4AndroidFX to use this sound processor or freeze MusicFX (I use Link2SD for this). There is plenty of information at the above link. With this available, I am not planning to add any sound patches.
Another frequent question is about choosing CPU governor and IO scheduler. In the earlier builds, interactive governor had the best balance of performance and battery life among other CPU governors and it is still available. In the latest builds, ondemand governor was backported from Linux 3.12 and replaced interactive as the default. The latest patches in the mainline Linux, especially stratosk's patch that optimized the load calculations made the new ondemand governor the better option regarding both power and performance. Regarding IO scheduler, BFQ scheduler has the best overall real-use performance and it is actively maintained/improved. You can use Nofrills CPU Control to change the governor and scheduler. But I would leave the defaults as BFQ scheduler and ondemand governor.
Since all of the cpu power control functions are contained in the kernel with MiRaGe, the userspace PowerHAL library will be giving the following messages in the logcat.
Code:
E/PowerHAL( 511): touch_boost: failed to send: No such file or directory
E/PowerHAL( 511): touch_boost: failed to send: No such file or directory
E/PowerHAL( 511): touch_boost: failed to send: No such file or directory
These are harmless but if you want to eliminate them, just make a backup and delete/rename /system/lib/hw/power.msm8960.so and power.mako.so. The single purpose of touch_boost is to enhance the system response to the user interaction. But using a service in the user space to send a touch boost signal to the kernel via slow sysfs file system is the wrong way of trying to achieve lower latency. In addition, every touch input doesn't need a CPU frequency boost which wastes battery power. The best way of achieving the low-latency system response to user interaction is improving the efficiency of existing CPU governor which raises the CPU frequency and hotplug driver which enables off-line cpu cores when needed. In MiRaGe, CPU freq is only controlled by the CPU governor based solely on the CPU load and the latency is low since efficiency is improved by reducing such unnecessary bloat. Additionally, highly-efficient autosmp hotplug driver works in-sync with the CPU governor to enable off-line cpu cores when the the CPU frequency reaches a high threshold and still more compute power is needed. Therefore, touch boost bloat is removed.
With some of the custom ROMs, root is lost after flashing MiRaGe because of using the init scripts in the ramdisk for starting the su daemon. SuperSU is the recommended solution. I might switch to any-kernel-updater to address this problem but as written in the OP, MiRaGe is primarily for the stock ROM. Also, having the full boot image in the zip file is more reliable than expanding/processing/repacking the boot image.
MiRaGe supports init.d if it is setup. To setup init.d do the followings either within ES File Explorer or terminal .
- install busybox (I use busybox on rails)
- create /system/etc/init.d and chmod to 755 (rwxr-xr-x)
- create your init scripts in the /system/etc/init.d directory. Name them 01yourscriptname (e.g. 01mysettings) and chmod 755. Make sure they are UNIX format (not in DOS/Windows).
example:
Code:
#!/system/bin/sh
echo 1 > /sys/devices/virtual/input/lge_touch/dt_wake_enabled
- reboot
Here is how to add multiROM support
How to build:
If you are going to distribute your builds, please don't build your binaries with the same name (i.e. MiRaGe) and distribute in this thread. I would recommend you to start an alternative thread. Otherwise the problem reports will be too confusing for everyone.
First requirement is an ARM toolchain for cross compiling, i.e. using an X86 computer to generate ARM binary. I use Linaro tool chain for cross compiling like many others since Linaro specifically develops tool chains that produce optimized binary for ARM architecture.
Linaro toolchains can be downloaded from Linaro binary page. Christopher83 has built the latest Linaro-14.08 toolchain based on gcc-4.8.4 which is stable/reliable and I recommend starting the development with this toolchain.
The binary Linaro toolchain for Linux package needs to be expanded in a certain directory, probably inside the home directory. The source code for kernel is available in my Github repo, You can either download the kernel source as a compressed package or you can git-clone it with the following command (you will need git installed in your Linux computer)
Code:
git clone https://github.com/mrg666/android_kernel_mako.git
The kernel source can again be in a specific home directory.
After the source and toolchain are prepared, copy the configuration file for shooter, arch/arm/configs/mako_config, as .config to the root of the kernel source and use the following command to build the kernel
Code:
make ARCH=arm CROSS_COMPILE=~/untarred-toolchain-dir/bin/arm-linux-gnueabihf- zImage -j8
Replace j8 in the above command according to the number of cpus you have on your computer.
Also set CROSS_COMPILE based on the directory you have expanded the binary toolchain package in your home directory.
I always use the latest version of Xubuntu x64 (with custom built kernel) on my Linux workstation that has a AMD FX-8320 (overclocked to 4.2 GHz), 8 GB RAM, 500 GB HD. The compile time is about 2 minutes for me using all 8 cores. I have been using Ubuntu since version 10.04 to build Gingerbread, Jellybean, and Linux kernel and updated the OS to each and every new version, all of them worked just fine. There is no magic version of Ubuntu. The build problems arise from the package requirements not the OS version.
The flash package is easy. Just use any-kernel updater package in the OP as a template and replace zImage in /kernel directory with your build. If you want to create a boot image, see this post
Now that you have source and can build the kernel, you can add all the features you want to your own kernel

Woww greatt, thanks mirage

many thanks Mirage!
Does JSS come with caf video driver or it can be flashed on non-cm roms without problems?
Inviato dal mio Nexus 4 con Tapatalk

Good to see new kernel which goal is simplicity, not many of them are here. ill try it when clean instal comes to repertoar. just one question, you didnt mention -O3 and gcc 4.8.2, so i asume you didnt use them? Thanks.
Poslano sa mog Nexus 4 koristeći Tapatalk

I haven't updated the video driver from CAF ... yet. I will do after the 4.4 update if Google hasn't done yet.
Kernel is compiled with gcc 4.7.4 using -O2 optimization. gcc 4.8 was not giving me reliable builds yet. I will switch when 4.8 becomes stable. I have tried O3 optimization in the past and I didn't see any benefit of it. Plus, O3 optimization caused reliability issues especially with the latest gcc compilers.
MiRaGe should be compatible all AOSP-based ROMs, as long as the same user-space libraries are used with the stock 4.3 ROM. I can't claim universal compatibility since even stock JSS and JWR builds need different kernels.

Would you consider making a ZIP?
I found your kernel to be quite interesting, but I don't really like flashing via IMG file.

C.T.Richter said:
Would you consider making a ZIP?
I found your kernel to be quite interesting, but I don't really like flashing via IMG file.
Click to expand...
Click to collapse
you can download one of 1000 kernels around here and replace the kernel.img ... and wholà you have a zip version.

anarkia1976 said:
you can download one of 1000 kernels around here and replace the kernel.img ... and wholà you have a zip version.
Click to expand...
Click to collapse
Can't agree with you more but the problem with so many people on xda is that they rarely even open up a zip file to see how it operates. Guarantee most of the people will shy away simply because of the lack of a zip. Again I agree its not that hard to do but lets be honest here most have problems searching so taking a boot.img and putting it in a zip probably aint happening

I have just uploaded the alternative flashable zip files. I will remove the image files since they are in the zip files now.

Just flashed on slim and lost root... Just a heads up
Sent from my Nexus 4 using XDA Premium 4 mobile app

anarkia1976 said:
you can download one of 1000 kernels around here
Click to expand...
Click to collapse
LOL that's right!

QUIETLYloud said:
Just flashed on slim and lost root... Just a heads up
Sent from my Nexus 4 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
That can't happen due to flashing the zip files in the OP since there is nothing in the zip file that touches /system, it is not even mounted.

Gonna give it a go on Vanir. I'll report back of my root gets effected. Happened a lot with 4.3 when it first came out
Sent from my Nexus 4 using Tapatalk

DontPushButtons said:
Gonna give it a go on Vanir. I'll report back of my root gets effected. Happened a lot with 4.3 when it first came out
Sent from my Nexus 4 using Tapatalk
Click to expand...
Click to collapse
I am using CWM 6.0.4.4. It is constantly suggesting to restore my root although it is not lost. If this is what is mentioned here, just ignore it; root is not lost. SuperSU, su keep working. Actually, I am losing my patience with CWMT lately. Maybe it is time to switch to TWRP.

mrg666 said:
I am using CWM 6.0.4.4. It is constantly suggesting to restore my root although it is not lost. If this is what is mentioned here, just ignore it. Root is not lost. SuperSU, su keeps working. Actually, I am loosing my patience with CWMT lately. Maybe it is time to switch to TWRP.
Click to expand...
Click to collapse
I'd say it's long overdue to switch to twrp lol. Ever since I switched to twrp back on my rezound, I have NEVER looked back to cwm. Not to say cwm isnt/wasn't great.. But you know how it is lol.
Sent from my Nexus 4 using Tapatalk

DontPushButtons said:
I'd say it's long overdue to switch to twrp lol. Ever since I switched to twrp back on my rezound, I have NEVER looked back to cwm. Not to say cwm isnt/wasn't great.. But you know how it is lol.
Sent from my Nexus 4 using Tapatalk
Click to expand...
Click to collapse
I just don't like the "overdesigned" interface of TWRP. It is too fancy for my taste. But as long as it works when needed, it would be fine with me. I don't boot into recovery so frequently anyway since I flash the kernel in fastboot or Flash Image GUI.

Oddly enough, I lost root. I'm currently running the latest version of Paranoid Saberdroid.

C.T.Richter said:
Oddly enough, I lost root. I'm currently running the latest version of Paranoid Saberdroid.
Click to expand...
Click to collapse
Is it just what the recovery says? I use the stock JWR ROM and root is preserved when I flash although CWMT falsely complains about it.
Edit: I just tested with TWRP as well. Root is still preserved.

mrg666 said:
Is it just what the recovery says? I use the stock JWR ROM and root is preserved when I flash although CWMT falsely complains about it.
Edit: I just tested with TWRP as well. Root is still preserved.
Click to expand...
Click to collapse
Using TWRP there is no error message, it just says it was installed successfully.
I just tried it on a clean install, and the same thing happened.

Related

[Kernel] [.38.8] intersectRaven's Kernel (AVS/CAVS)01/08/2011 22:00

This is my own personally compiled kernel based on the latest kernel from Cyanogen's Github repository with Kmobs' undervolt modifications, CodeAurora's AVS code, pershoot and rotohammer's audio gain mod and several compiler optimizations based on initial idea from psyq.
Only major releases will be advertised here.
All changes since 05/05 can be found at my Euroskank host:
http://intersectraven.euroskank.com/kernels/
*Thanks to RyanMacG for the free hosting!
Old uploads with minor changes can be found at my MediaFire folder or my Bitpad folder:
http://www.bitpad.co.uk/intersectraven
http://www.mediafire.com/intersectRaven
Major features:
- based on latest Cyanogen Mod kernel source from his GitHub repository
- numerous compiler optimizations with a custom compiler by redstar3894
- all CPU power governors for user dependent tweaking of power saving method
- Hybrid AVS (Adaptive Voltage Scaling combined with Static Voltage Scaling) support for maximum possible power savings dependent on CPU requirements and a customizable version (CAVS) for people who like to tweak how far their N1s can go
- universal update.zip template made by Koush
Instructions:
1.) Reboot to recovery and flash the update.zip directly.
OR
Instructions for zImage and bcm4329.ko driver extracted from the update.zip(from command line):
1.) adb remount
2.) adb push bcm4329.ko /system/lib/modules
3.) adb reboot bootloader
4.) fastboot flash zimage zImage
5.) fastboot reboot
OR
Use ADB GUI by minooch found here:
http://forum.xda-developers.com/showthread.php?t=666964
*please note the instructions...push the wifi driver BEFORE rebooting for flashing zImage...if your wifi is turned on when you reboot before you pushed the wifi driver for the kernel, there is a chance that you will go into a bootloop due to the incompatible wifi driver!
Changelog:
20120108_2143:
- just merged pershoot's commits
20111203_11XX:
- enabled MSM EHCI
20111114_23XX:
- integrated CM's commits (mainly bluetooth and WiFi fixes)
20111111_19XX:
- compiled using updated Mjolnir/Linaro compiler hybrid (having problems with our Mjolnir GCC)
- enabled SYN_COOKIES as requested
- some tweaks to the VFS settings
- switched network scheduler to SFB
- switched TCP congestion to Veno from YeaH (seems it's better for devices with a greater chance of random drops of packets)
20111010_11XX:
- disable CleanCache for YAFFS (too complex to change)
- more proper reapplication of changes from 3.0
20111009_22XX:
- enabled CleanCache for YAFFS, EXT3 and EXT4 (experimental)
20111008_23XX:
- ported BogoMIPS calibration from 3.0
- added CleanCache from 3.0
- switched to SIO from BFQ
- block IO batching from 3.0
- activate_pages batching from 3.0
20110904_07XX:
- added SmartAssV2 CPU governor
20110828_13XX:
- fix AVS to actually work (see previous latest post for apology... )
*this should restore the instability on some devices that can't handle AVS
20110828_00XX:
- prevent excessive suspend attempts
- optimized sha1 implementation
20110813_15XX:
- increased NAND buffer to 8k similar to codeaurora's version
- enabled 8-bit transfers for when the MMC card supports it
20110724_20XX:
- SmartAss improvement from the test kernels
- AVS code improvement also from the test kernels (hopefully improved the stability)
- RCU optimizations
- updated Mjolnir compiler
20110713_10XX:
- re-hauled SmartAss governor:
* interactive threads instead of workqueues to improve responsiveness when ramping-up frequencies
* reduced stepping frequency to use lower frequencies more
20110707_08XX:
- fixed the Voice Search problem
20110706_09XX:
- code cleanup
- additional tweaks
20110628_09XX:
- ARM improvements to memcpy and memmove operations from Wildfire (arco's kernel source)
- cherry-picked serial number commit from CM kernel
20110608_21XX:
- rebased everything together with removal of worthless commits
- added 2 new governors from SavagedZen kernel (SavagedZen & InteractiveX)
- updated code of Smartass governor to the one in SavagedZen since it seems more updated than the one I found
20110527_21XX:
- new method for addressing slow writes on USB from CodeAurora (although it's still slow using native USB mount and I didn't test using another mounter)
- some SIRC potential bug fixes
- input event handling modification from Google
20110523_08XX:
- compiled using updated Mjolnir
20110522_11XX:
- upgraded to v2.6.38.7
20110521_15XX:
- interrupt masking
- smd_tty buffer limit implementation
20110519_22XX:
- fix for potential bug and power leak improvement in DSP driver
- GPIO tweaks
20110516_19XX:
- increased DMA zone to 14MB (may speed some things or may not)
- timer workarounds have been removed as they're unneccessary on Scorpion
- prevent reading from write-only registers (just silly)
- used relaxed access functions for some functions
- remove extra interrupts sent from the SMD channel
20110515_21XX:
- added another commit from android unmerged which implements a watchdog to catch lockups during device resume
- fix for wakelocks which addresses the problem where while being connected to a computer, any attempt to power up will result in display immediately shutting off with touchscreen buttons still on
- uses an updated Mjolnir compiler
20110514_17XX:
- rebased everything
- removed some commits which were useless on the N1
- more zen branches merged
- WiFi-Fast patch has been integrated in all kernels since it seems to have no effect on battery (no more separate WiFi-Fast release)
20110511_22XX:
- reverted a change made to PMEM driver since the commit it was reliant to was reverted (sorry! didn't notice this...I wasn't too critical of my earlier cherry-picks... )
Link to a file which contains all kernels:
http://hotfile.com/dl/117478444/390f688/intersectR_-_20110511_22XX.zip.html
20110510_18XX:
- updated to 2.6.38.6
- committed some more video driver commits from CodeAurora
Link to a file which contains all kernels:
http://hotfile.com/dl/117350839/0a9a504/intersectR_-_20110510_18XX.zip.html
20110509_14XX:
- merged some commits from Android repositories that were still unmerged yet may prove useful for Ashmem and RPC
Link to a file which contains all kernels:
http://hotfile.com/dl/117209820/5b7fe7b/intersectR_-_20110509_14XX.zip.html
20110507_21XX:
- even more improvements from CodeAurora
Link to a file which contains all kernels:
http://hotfile.com/dl/117048553/0831385/intersectR_-_20110507_21XX.zip.html
20110506_15XX-16XX:
- enabled cache error reporting as this is indicative of how tolerant your N1 is to AVS undervolting
- smartass governor (from Temasek)
*this was mistakenly included in the previous release
- a minor kernel scheduling statistic commit
Link to a file which contains all kernels:
http://hotfile.com/dl/116922979/5fb2ec0/intersectR_-_20110506_15XX-16XX.zip.html
20110505_16XX-17XX:
- updated Mjolnir compiler
Link to a file which contains all kernels:
http://hotfile.com/dl/116827854/5839b43/intersectR_-_20110505_16XX-17XX.zip.html
20110505_08XX-09XX:
- AVS and CAVS now both allow changing of voltages on-the-fly. The only difference now is that AVS is undervolted by default while CAVS is undervolted to the same voltages that CM uses in his SVS kernel
- uses eviollet's on-the-fly voltage modification system instead of the previous one I had which is a lot more flexible
Link to a file which contains all kernels:
http://hotfile.com/dl/116798881/0d5b5bf/intersectR_-_20110505_08XX-09XX.zip.html
20110503_09XX:
- updated to version 2.6.38.5
Link to a file which contains all kernels:
http://hotfile.com/dl/116600585/b76a4b6/intersectR_-_20110503_09XX.zip.html
20110502_10XX:
- synced with pershoot's latest modifications which mirror CM's latest addition with regards to USB accessory function (not too important I think since it seems to be for future ADB use)
- uses an updated Mjolnir compiler (20110429)
Link to a file which contains all kernels:
http://hotfile.com/dl/116528049/1865aa6/intersectR_-_20110502_10XX.zip.html
20110424_11XX:
- reverted WiFi driver to same version CM uses for mainline kernel to fix channel 11 issues with the newest one
20110422_12XX:
- updated to 2.6.38.4
- compiler updated
20110421_15XX-16XX:
- first files to be hosted by Bitpad (http://www.bitpad.co.uk/intersectraven/)
*Thanks to MajorProbes
- just a minor release since I only updated the compiler
20110416_20XX:
- several compiler optimizations enabled (loop unrolling, peeling, etc.)
- zen-kernel cherry-picks for memory and fs optimization
20110415_23XX:
- updated to 2.6.38.3
- compiled using latest Mjolnir with an experimental merge by redstar
20110409_23XX:
- integrated a bluetooth fix and MMC quirks improvement from official Google repositories
20110407_13XX-14XX:
- integrate CM commits on futex optimization and removal of dodgy optimizations
20110403_12XX:
- fix for USB transfer speed (should now hold at 1MB/s without dropping)
20110401_22XX-23XX:
- first 2.6.38.2 release based on pershoot's 2.6.38
- added the usual mix (AVS, SLQB, CodeAurora patches, etc.)
- compiled using Mjolnir GCC 4.6.1
- changed FPU optimization to NEON
20110328_08XX-09XX:
- updated to 2.6.37.6
20110328_07XX:
- compiled using Mjolnir GCC4.6.0
- enabled Link Time Optimization and Graphite Optimization (use Google for definitions)
20110326_08XX:
- updated BFQ to v2-r1
20110324_18XX:
- updated to 2.6.37.5
20110320_17XX:
- merged Nick Piggin's RCU patches which were originally for 2.6.38 (one of the things Linux was excited about according to Phoronix)
20110319_09XX:
- merged latest CM kernel commits which enables the ff:
- enabled RCU boost
- enabled touchscreen filter (reduce CPU load made by touchscreen)
20110315_22XX:
- updated to 2.6.37.4
20110312_23XX:
- round 2 of CM's wonk fix attempt integrated
- toolchain update
*for links, go to my MediaFire folder as specified above
20110311_1623:
- integrated cyan's wonk fix attempt
- VPN "fix" (I don't like this one since it's just a backport of the old PPP interfaces)
*for links, go to my MediaFire folder as specified above
20110308_2246:
- updated to .37.3
- based on CM's latest kernel source
- with SLQB and BFQ v2
- regular and customizable AVS
- some CodeAurora patches
*for links, go to my MediaFire folder as specified above
20110213_1506:
- corrected minimum voltage value to 800mV
CFS-HAVS-CM7-NOBOOST -> http://www.mediafire.com/?m32mi1744ksb55m
20110213_1035:
- test release for new AVS-CUSTOMIZEABLE build which allows for runtime customization of AVS minimum and maximum limiters for more flexible AVS voltages depending on your CPU tolerance (/sys/module/avs/parameters/avs_adjust)
- AVS debugging outputs can also be toggled in runtime (/sys/module/avs/parameters/avs_debug -> set to 0 to not display, 1 to display)
CFS-HAVS-CM7-NOBOOST -> http://www.mediafire.com/?bt7mmtlmg407ne1
*format for avs_adjust is:
frequency,minimum voltage,maximum voltage
e.g.
echo 245000,925,975 > avs_adjust
**AVS debugging output will be enabled by default when you modify the limits
Finally created a github to store all of my kernel modifications:
http://github.com/intersectRaven/
To follow me for updates on Twitter:
http://www.twitter.com/intersectRaven
[Kernel] [.35.10, .37] intersectRaven's Kernel (HAVS-AXI-FM-720p-Zen)1/9/2011 10:13
Reserved for intersectRaven - Added 2post to allow OP to have more place for futur update
Finally a thread!
been using your kernels for some time now, good work!
---------------------------------------------------------------
Updates: I thought I'll use this space to provide some info since its right next to the OP
BFS:
BFS is the Brain **** Scheduler. It was designed to be forward looking only,
make the most of lower spec machines, and not scale to massive hardware. ie
it is a desktop orientated scheduler, with extremely low latencies for
excellent interactivity by design rather than "calculated", with rigid
fairness, nice priority distribution and extreme scalability within normal
load levels.
http://ck.kolivas.org/patches/bfs/bfs-faq.txt
CFS
Completely Fair Scheduler is the name of a task scheduler which was merged into the 2.6.23 release of the Linux kernel. It handles CPU resource allocation for executing processes, and aims to maximize overall CPU utilization while maximizing interactive performance.
http://en.wikipedia.org/wiki/Completely_Fair_Scheduler
Comparison of BFS vs CFS: http://www.cs.unm.edu/~eschulte/data/bfs-v-cfs_groves-knockel-schulte.pdf
Conclusion
The results indicate that CFS outperformed BFS with minimizing turnaround time but that BFS
outperformed CFS for minimizing latency. This indicates that BFS is better for interactive tasks
that block on I/O or user input and that CFS is better for batch processing that is CPU bound.
Click to expand...
Click to collapse
can i use this kernel along with the desire camera app?
britoso said:
Finally a thread!
been using your kernels for some time now, good work!
Click to expand...
Click to collapse
Had my dog press the enter key to prevent me from chickening out.
jblazea50 said:
can i use this kernel along with the desire camera app?
Click to expand...
Click to collapse
I haven't tested it so I don't know if it needs something from the kernel to work.
@intersectRaven - in the http://forum.xda-developers.com/showthread.php?p=6003800#post6003800Audio Mod thread rotohammer incorporated settings that increased both the bluetooth and in-call/earpiece volume. is your audio fix for a headset/bluetooth headset and/or does it incorporate higher values for in-call volume as well? thanks!
cortez.i said:
@intersectRaven - in the http://forum.xda-developers.com/showthread.php?p=6003800#post6003800Audio Mod thread rotohammer incorporated settings that increased both the bluetooth and in-call/earpiece volume. is your audio fix for a headset/bluetooth headset and/or does it incorporate higher values for in-call volume as well? thanks!
Click to expand...
Click to collapse
Hmmm...thanks for pointing that out. I'll probably release a new version later which will have this. (loading my Nexus Compilation Environment VM now...)
*Edit: I recompiled with the .min and .max settings he specified but reading further back it seems he changed some other things so I can't be sure if just this will provide the volume increase desired.
cortez.i said:
@intersectRaven - in the http://forum.xda-developers.com/showthread.php?p=6003800#post6003800Audio Mod thread rotohammer incorporated settings that increased both the bluetooth and in-call/earpiece volume. is your audio fix for a headset/bluetooth headset and/or does it incorporate higher values for in-call volume as well? thanks!
Click to expand...
Click to collapse
Hmmm...thanks for pointing that out. I'll probably release a new version later which will have this. (loading my Nexus Compilation Environment VM now...)
*Edit: I recompiled with the .min and .max settings he specified but reading further back it seems he changed some other things so I can't be sure if just this will provide the volume increase desired.
intersectRaven said:
I haven't tested it so I don't know if it needs something from the kernel to work.
Click to expand...
Click to collapse
It works. I thought you incorporated the audio fix yesterday too!
britoso said:
It works. I thought you incorporated the audio fix yesterday too!
Click to expand...
Click to collapse
I just compiled one with higher settings based on rotohammer's research. I think I'll stick with the default ones in my previous version though so its okay to skip this latest one.
For those who wanted to try out the modified values:
http://www.mediafire.com/?dqynw1inh3y <= 2.6.32
http://www.mediafire.com/?mmjwxzjlmmw <= 2.6.33
I'm working on a mod that will allow us to change the min_vol and max_vol from a file. Kernel SOP dictates this not advised, but I don't have time to learn how to implement a procfs hook.
I also used the voltages specified by kmobs so there should be no difference with the voltages. .32 is from the android kernel source while .33 is from cyanogen's. .32 is the stable kernel while .33 is still in its experimental stage.
Thanks a lot I've been looking for something like this!
intersectRaven, any chance to release Overclock kernel ?
1267Mhz on the nexus one will be great. hahahaha
rheza02 said:
intersectRaven, any chance to release Overclock kernel ?
1267Mhz on the nexus one will be great. hahahaha
Click to expand...
Click to collapse
haha...I'll think about it...I don't have the courage to try an OCed version though so you'll have to test it yourself if ever!
intersectRaven said:
I just compiled one with higher settings based on rotohammer's research. I think I'll stick with the default ones in my previous version though so its okay to skip this latest one.
For those who wanted to try out the modified values:
http://www.mediafire.com/?dqynw1inh3y <= 2.6.32
http://www.mediafire.com/?mmjwxzjlmmw <= 2.6.33
Click to expand...
Click to collapse
i'm currently using MoDaCo Alpha 19, which reports using a 2.6.33.1 kernel. so i would use the 2.6.33 version, correct? just to confirm, are your volume values the same as used by rotohammer? also, where is the zImage stored on my device, that is if it's actually saved at all (yes, i am a newbie, lol). thanks!
cortez.i said:
i'm currently using MoDaCo Alpha 19, which reports using a 2.6.33.1 kernel. so i would use the 2.6.33 version, correct? just to confirm, are your volume values the same as used by rotohammer? also, where is the zImage stored on my device, that is if it's actually saved at all (yes, i am a newbie, lol). thanks!
Click to expand...
Click to collapse
yes u would use the .33 if ever...the links u quoted does use rotohammer's values...and lastly, the zimage is flashed onto the image/kernel area in your device's boot partition...oh and no shame being a noob...we were all noobs once...
This kernel crash on my nexus one with desire camera when I try to see a video.
Anyone can confirm this?
www1 said:
This kernel crash on my nexus one with desire camera when I try to see a video.
Anyone can confirm this?
Click to expand...
Click to collapse
I just recorded a video with the desire camera app and played it back fine.

[KERNEL][UNOFFICIAL][LINARO/UBER]DorimanX KK 4.4.4

{
"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"
}
Unofficial DorimanX builds by Saber (formerly gsstudios)​(The resurrection of kitkat kernels)​
Development has been discontinued due to commitment to lollipop roms​
The Background:
DorimanX development has stopped for a while now. I've been a long term dorimanx user, but I felt that a lot of features need to be implemented into the kernel. As of a result, I decided to make my own personal builds! Please note that I'm no way as good as the master himself, Dorimanx, but I try to implement features to the best of my abilities. Also, I'm not going to be a proper maintainer of dorimanx kernel, this is just what I've done in my spare time.
If you have problems or if anything goes wrong, you can flash latest build by Cybernetus
You can download from his official website:
http://dorimanx.cybernetus.com/
The Mission:
To continue giving support for the much loved kernel. New features and additions will be added to improve flexibility and speed to the already amazing kernel. My goal is to improve DorimanX kernel as much as I can, without sacrificing stability.
NO LOLLIPOP SUPPORT HERE. JUST 4.4.X KITKAT ONLY!
DISCLAIMER:
ONLY FOR AOSP BASED ROMS
I'm not responsible for bricked devices or wrong version flashing
You are using this kernel at your own responsibility​
——— !!!!!!!! YOU HAVE BEEN WARNED !!!!!!!! ———
FEATURES:
This kernel includes the following additional features over stock dorimanX kernel:
- CPU Governors: HYPER, Ondemand, pegasusQ, Intellidemand, neoX, darkness, nightmare, zzmoove, sleepy, conservative (Default: HYPER)
- IO Schedulers: ROW, Tripndroid, FIOPS, SIO, BFQ, CFQ, Noop, ZEN, Deadline (Default: ZEN)
- TCP Algorithms: Cubic, Reno, BIC, Westwood, Highspeed, Hybla, HTCP, Vegas, Veno, Scalable, Lp, Yeah, Illinois (Default: Westwood)
- Updated SuperSU
- Built with Latest Optimized Linaro 4.9 Toolchain (Smooth, fast and fluid) - Main toolchain
- Built with Latest UBER 6.1 Toolchain (Smooth, fast and fluid) - Secondary toolchain
- Built-in Stweaks profiles updated (All profiles suit needs for most people now)
- Trim support (Be careful if you have brickbug affected chip!)
- Updated FPBug fix is already included in this kernel!
- Updated Linux Kernel version to 3.15.0 stable!
- Freezefix is already included in this kernel!
- Isorec support
THINGS TO DO:
- Why don't you tell me what to do
THINGS I WILL NOT ADD:
Code:
- LZ4 Compression (Our Boot partition is way too small to support this)
- Useless CPU governors such as Userspace
- Colour tuning support (Unless someone helps me with this)
- Recovery version (WIll only consider doing this if working on LP kernel)
- Higher thermal limits (We all know what happens if we do this)
- Higher overclocking/Lower underclocking capabilities (So you want less stability and more SODs?)
- Synapse support (Stweaks is the only app that can fully support this kernel)
- Linux Kernel version updates (My skills need to improve first before taking on something this big)
CREDITS:
Dorimanx (the real master of the kernel)
Gokhanmoral (Siyah Kernel)
Voku1987(This Kernel)
Alucard_24(This Kernel)
STANTRC(This Kernel)
Entropy512 (CyanogenMod)
Tungstwenty (On screen gestures addon)
Torvalds (Kernel 3.6.Y maintainer)
Computoncio (This Kernel)
cybernetus (This Kernel)
stelistcristi (Contents of this post)
chhapil (For helping me with all of the issues, thanks man)
Chet Kener (For UBER toolchain)
Christopher83 (For Linaro custom toolchain)
Lanchon (For TRIM fix and Isorec for Dorimanx)
Zeitferne (For FP Bug/Music Bug fix and freezefix)
Realex-fire (Linux Kernel Updates and other ramdisk fixes)
DOWNLOAD:
Refer to third post
CHANGELOG:
Refer to second post
KERNEL SOURCE:
Source code of the kernel can be found here:
https://github.com/gsstudios/Dorimanx-SG2-I9100-Kernel
https://github.com/gsstudios/initramfs3
ISSUES:
- All dorimanx bugs
USEFUL LINKS
- CPU Governor and I/O Scheduler Guide
- DorimanX tuning guide
TCP Algorithm guide
HAVING PROBLEMS?
Read post 4 before posting questions!
And please if you can, also log an issue here: https://github.com/gsstudios/Dorimanx-SG2-I9100-Kernel/issues
GOT QUESTIONS?
Click here for Q&A Thread
HOW TO FLASH?
Check the troubleshooting guide
​
XDA:DevDB Information
DorimanX Unofficial 4.4.x, Kernel for the Samsung Galaxy S II
Contributors
gsstudios
Source Code: https://github.com/gsstudios/Dorimanx-SG2-I9100-Kernel
Kernel Special Features: See post #1
Version Information
Status: No Longer Updated
Current Stable Version: 10.50v009
Stable Release Date: 2017-01-14
Current Beta Version: 10.50v004
Beta Release Date: 2016-02-06
Created 2015-06-03
Last Updated 2017-01-13
Changelogs:
--UNRELEASED VERSIONS (KERNEL UNDER TEST) --
Code:
No more build from me :)
--RELEASED VERSIONS (GENERAL AVAILABILITY) --
Code:
[B]DorimanX 10.50 v009 (STABLE)[/B]
- Additional security updates from LineageOS kernel source
- Force Deadline to be used as the default scheduler while not in OS
- Updated stweaks descriptions from previous commits
- Re-enabled Software CRCs. DorimanX kernel does experience corruption issues so it is better to keep this enabled.
[B]DorimanX 10.50 v008 (STABLE)[/B]
- Security updates from LineageOS (formerly Cyanogenmod) kernel source
- Change default I/O scheduler to ZEN - CFQ better for hard disks, ZEN is good for flash storage
- Remove UKSM - The kernel needs to be more in-line with the linux kernel
- Remove toggle for Software CRCs and disable by default - Tested safe by other devs so why not?
- Remove power saving workqueues control - Had little to no effect
- Remove Powersave and Performance governors - I don't keep garbage :)
[B]DorimanX 10.50 v007 (STABLE)[/B]
- Fixed TRIM on /data partition - Looks like I forgot to remove discard option, hence TRIM wasn't working properly in all previous builds. My bad :(
- Stweaks profiles will be reset
- Synced many updates from MM kernel
- zzmoove will now use alucard hotplug as the default hotplug
- UKSM support with tuning support in stweaks
- Software CRCs re-enabled and toggle added to stweaks
- General stability fixes and performance improvements
- Cleanup to initramfs
- UBER 6.1 support
- Updated UBER and Linaro toolchain
[B]DorimanX 10.50 v006 (STABLE)[/B]
[COLOR="Red"]I found that I have missed some changes in the previous build, so this build aims include them[/COLOR]
- Synced most updates from LP kernel
- UBER 6.0 support. UBER 5.3 builds discontinued.
- Reverted VM tweaks
- Updated Stweaks descriptions, synced reorganized hotplug tab
- General performance improvements and fixes
- CFQ is the default I/O scheduler for all profiles
- Added missing optimizations from LP kernel
- LMK profiles now properly enforced
- zzmoove will now use intelliplug as the default hotplug method
[B]DorimanX 10.50 v005 (STABLE)[/B]
- This is just a little treat to all the people who still use my KK kernel :) I'm releasing this because I'm not truely satistfied with the experience on KK.
- Added MDNIE changing support
- Removed VFS cache tuning
- Updated HYPER, SIO updated to SIOPlus, plus many more changes from LP kernel.
- General performance improvements and fixes
- Synced most updates from LP kernel
[B]DorimanX 10.50 v004 (BETA)[/B]
[COLOR="Red"]- This is a kernel end of life build mainly built to fix some kernel issues that still exist after the last official kernel release. No additional features will be added to these releases.[/COLOR]
- Freezefix has been implemented from LP branch. Evidence shows that earlier versions of android are also affected by the 150mhz bug. This will solve some rare random freezing and will provide additional stability. I didn't add this in earlier builds because I thought there was no need to for an already stable kernel :)
[B]DorimanX 10.50 v003 (BETA)[/B]
[COLOR="Red"]- This is a kernel end of life build mainly built to fix some kernel issues that still exist after the last official kernel release. No additional features will be added to these releases.
[/COLOR]- Low latency audio fix will be applied on boot. DorimanX doesn't support low latency audio which causes games using recent unity versions to sound horrible. Thanks to @dualjoe. If you want to re-enable low latency audio, reflash rom and use different kernel!
- NON-TRIM builds and UBER 4.9 builds will not be released!
[B]DorimanX 10.50 v002 (BETA) - LAST NON-TRIM AND UBER 4.9 BUILD[/B]
- sched: Set MC (multi-core) sched domain's busy_factor attribute to 1. This will increase CPU performance.
- fixed compilations warnings thanks to @chhapil
- Changed swappiness drop down to slider. Allow users to select a more precise percentage.
- Limit boot booster frequency to a max of 1.4Ghz. Anything higher will cause many devices not to boot :) Plus there are very few CPUs out there that can run higher than this config.
- Added lowmem_reserved_ratio tuning to stweaks thanks to @dorimanX. A higher ratio will give you more free RAM if you see that your free RAM is always loaded and device LAG, but it's also uses more battery to gain more free RAM with loaded system. Please don't use the relaxed setting as you will run out of RAM very easily.
- Isorec recovery support. Many thanks to lanchon who has been working with me for the past few days. If you require to dualboot, don't use isorec recovery. I have linked the isorec disabler for people who want dualboot/dorimanx recovery. Also, TWRP can't mount USB storage so you won't be able to transfer files between PC, go back to CWM to fix this. We have isorec on DorimanX :) However this is still a WIP.
- zzmoove will now use alucard as the default hotplugging driver.
- Add toggle for power efficient workqueues. Enable to save power, disable for performance. Fixed parameter permissions. If you disable this, Cortexbrain will automatically switch on this during sleep state to save battery. Avoid using Kernel Adiutor to set this value as stweaks can do this properly.
- Set profiles with "medium" OOM values to "default"
- Synced some VM and memory tweaks from LP branch
- Minor fixes to some stweaks descriptions
[B]DorimanX 10.50 v001 (BETA)[/B]
- GCC 5.x support. Starting from this build, we will see UBER 5.3 experimental builds for those who want the best performance they can get. Thanks @chhapil
- Toolchain GCC Version is also included now in zip file name so we don't get confused
- Synced missing futex updates from Linux 3.15 stable
- UBER toolchain updated to 2016-01-11 build
- This build will be built with Linaro and UBER (From now on, I will be naming builds with the selected toolchain)
- tick: Fix a bug which impacts CPU frequency scaling
[B]DorimanX 10.45 v040 (BETA)[/B]
- Upstreamed kernel version to 3.15.0 stable! Lots and lots of fixes for various parts of the kernel, once again, thanks to realex-fire for contributing! ;)
[B]DorimanX 10.45 v039 (STABLE)[/B]
- Various updates to net, ipv6 and futex
- Change the VM_MAX_READAHEAD value to 512KB for best throughput
[B]DorimanX 10.45 v038 (STABLE)[/B]
- Updates to net, ipv4 and TCP Cubic
- Linaro 4.9 toolchain from Christopher83 is being used on all future builds starting from this build
- Last build using UBER toolchain
[B]DorimanX 10.45 v037 (STABLE) - Linaro[/B]
- This build is built with latest Linaro 4.9 from Christopher83
- Comes with all changes from original v037 release
[B]DorimanX 10.45 v037 (STABLE)[/B]
- Updated UBER toolchain to 20151031 build
[B]DorimanX 10.45 v036 - SCREEN TWEAK BUILD[/B]
[COLOR="Red"]NOTE: This build might give launcher FC's for some odd reason, doesn't happen with non-tweak build[/COLOR]
- All updates from v036 is included in this build
- MOVHYSTI/vitalij value changed to 0 (Super sensitive, suitable for gamers and people who want really responsive screen)
[B]DorimanX 10.45 v036 (STABLE)[/B]
- Reverted I/O scheduler updates
- Tuned I/O scheduler fifo batch and other tweaks
[B]DorimanX 10.45 v035 (STABLE)[/B]
- Updated UBER toolchain to 20151025 build
- Fixed derp in Samsung WL Bug patch (Doesn't make a difference since our phone is not affected anyway. Looks like I will have to recreate the patch files again :) )
[B]DorimanX 10.45 v034 (STABLE)[/B]
- Removed interactive and lionheart CPU governor (Should fix all, if not most, SOD issues)
- Fixed zzmoove fast scaling variable number range (should be from 0 to 5, not 0 to 8)
[B]DorimanX 10.45 v033 (BETA) - Changed to BETA because of issues with SODs[/B]
- Added lionheart CPU governor from chhapil's source
[B]DorimanX 10.45 v032 (BETA) - Changed to BETA because of issues with SODs[/B]
- Fixed all zzmoove tunables in stweaks. I'm not adding more tunables for zzmoove since it will cause stability issues.
- proper zzmoove profile switching has been added (previous solution was more of a workaround).
- Allow tunable mode for zzmoove (It's just no profile set, this is required if you want to manually adjust zzmoove values)
[B]DorimanX 10.45 v031 (BETA) - Changed to BETA because of issues with SODs[/B]
- Added back interactive CPU governor from slimsaber source
[B]DorimanX 10.45 v030 (STABLE)[/B]
- Reverted updates to zzmoove tunables (fixes broken zzmoove tuning of some variables in stweaks)
[B]DorimanX 10.45 v029 (STABLE)[/B]
- Changed toolchain back to UBER 4.9 and updated to latest version
[B]DorimanX 10.45 v028 (STABLE)[/B]
- Revert Custom profiles 1, 2 and 3 and related fixes
- Revert GPU changes
- Updated default profile
- Revert Partitions and Root tab
- Updated UBER 4.8 toolchain to latest
[B]DorimanX 10.45 v027 (STABLE)[/B]
- We're moving back to UBER 4.8 toolchain (should be more battery friendly than linaro)
[B]DorimanX 10.45 v026 (STABLE)[/B]
- Updated zzmoove to 1.0 beta 8
[B]DorimanX 10.45 v025 (STABLE)[/B]
- Restore Linaro 4.9 toolchain
[B]DorimanX 10.45 v024 (STABLE)[/B]
- Reverted WiFi driver
- Reverted Linaro toolchain to 4.8 for the time being
[B]DorimanX 10.45 v023 (BETA)[/B]
- More work on Wifi-driver to get Ad-hoc networks working (Still not working yet)
- Many minor changes to stweaks descriptions and updates to default profile again
- Updated kernel update check function (Doesn't work yet, I think it's because there is 2 'v' in the kernel version and build version, in other words it is a WIP!)
- We're moving back to Linaro 4.9 (Less bugs, more performance!)
[B]DorimanX 10.45 v022 (BETA)[/B]
- Updated to latest UBER toolchain
- Switched to UBER 4.9 toolchain instead of 4.8
- Revert: "allowed IO Read Ahead up to 4096KB"
- Allow mod of vfs cache pressure - This is used by cortex background service, don't modify if you don't know what you are doing
[B]DorimanX 10.45 v021 (BETA)[/B]
- Wifi drivers updated to 1.141.44 thanks to @stelistcristi
- Now this kernel surpasses stelistcristi's builds
[B]DorimanX 10.45 V020 (STABLE)[/B] - Tweak your GPU beyond belief :)
- More overclocking and underclocking of GPU! (All steps can have higher or lower frequencies and voltages)
- Revert boot boost limits
- Fixed file permissions
[B]DorimanX 10.45 V019 (STABLE)[/B]
- Added back powersave governor
- Rearranged root actions in ROOT tab to prevent accidental installation/deletion of root
- zzmoove tunables fixed
[B]DorimanX 10.45 V018 (BETA)[/B]
- Revert AES updates (this fixes the installation issues)
[B]DorimanX 10.45 V017 (BUGGED) - REMOVED[/B]
[COLOR="Red"]- Please note that there are some installation issues with this build for some users. The kernel itself is fine, I will have to investigate what is the root cause. [/COLOR]
- zzmoove profile support
- moved zzmoove tunables into awake section (why was it in sleep???)
[B]DorimanX 10.45 V016 (BUGGED) - REMOVED[/B]
- arm/aes update NEON AES module to latest OpenSSL version
- Added zzmoove 1.0beta7a to replace zzmanX! No profile switching for now.
[B]DorimanX 10.45 V015 (STABLE)[/B]
- Separated CRON tasks into own tab in stweaks
- Separated partitions fixes into own tab in stweaks
- Separated root actions into own tab in stweaks
[B]DorimanX 10.45 V014 (BETA)[/B]
- Updated profiles once again (this should help with battery drainage)
- Fixes to wifi module (thanks to ruleh)
- Re-add performance governor to stweaks
- Allow users to debug stweaks again
- Fixes to custom profile reset (in recovery)
[B]DorimanX 10.45 V013 (STABLE)[/B]
- Reverted busybox version (This should fix all of the app incompatibilities and errors)
- Updated BFQ to v7r8 (Bug fixes, speed improvements, etc.)
[B]DorimanX 10.45 V012 (BUGGED)[/B]
- Added 3 user profiles to stweaks
- Added descriptions to all profiles
- Apps that require busybox may not work properly in this build
[B]DorimanX 10.45 V011 (BUGGED)[/B]
- I/O Schedulers updated
- Busybox updated to 1.23.2
- Apps that require busybox may not work properly in this build
[B]DorimanX 10.45 V010 (STABLE)[/B]
- Updated FPU Bug fix thanks to [user=4913978]@oberon0[/user]0
- Stweaks TCP algorithm cleanup and allowed IO Read Ahead up to 4096KB (Better than the weird option of 2548KB)
[B]DorimanX 10.45 V009 -TRIM (STABLE)[/B]
- Trim now fixed thanks to [user=4354573]@chhapil[/user]
[B]DorimanX 10.45 V008[/B]
- [COLOR="Red"]TRIM is apparently broken in my builds. I will have to fix this in the next build. Thanks chhapil for telling me![/COLOR]
- TCP Algorithm settings fixed now
- Westwood now set as the default algorithm
[B]DorimanX 10.45 V007[/B]
- Added options in stweaks to choose tcp algorithm (NOTE: The next time stweaks opens, it will ask to discard or apply settings, select DISCARD. In other words, Cubic is set in app everytime the app is reopened)
- TRIM is broken on this release
[COLOR="Red"][B]DorimanX 10.45 V006[/B]
- TRIM is broken on this release
- TRIM is still enabled and will be for all future builds - Use this at your own RISK![/COLOR]
- TCP algorithms finally fixed!!!! You can change TCP algorithms with apps like trickstermod
[COLOR="Red"][B]DorimanX 10.45 V005[/B]
- TRIM Enabled - Use this at your own RISK![/COLOR]
- TRIM is broken on this release
- Reuploaded with extra safety measures for trim
[B]DorimanX 10.45 V004 (STABLE)[/B]
- Built with Latest UBER toolchain 4.8
- VR and FIFO I/O schedulers removed (As per DorimanX G2 changes)
- All built in profiles have been tuned! Make sure to reset stweaks settings if you can.
- Max boot frequency limited down to 1.2Ghz
- Multiple changes to stweaks (Update tab, etc)
[B]DorimanX 10.45 V003[/B]
- Tripndroid and FIOPS can be set now
- Default profile has been tweaked for better stability and performance
[B]DorimanX 10.45 v001[/B]
- Added Tripndroid scheduler. Fiops scheduler was also readded. Can't be set in stweaks yet.
- SuperSU 2.46
- Forgot what else I added XP
Downloads
I test most of these builds to make sure they are stable. There may be some cases where I might not test out a build before releasing it. Kernels marked with '(STABLE)' are safe for everyday use, but only take this as a indication.
--IMPORTANT, PLEASE READ--
CAUTION: All builds marked with 'TRIM' at the end has TRIM enabled. If you have brickbug affected emmc chip, avoid downloading it if you don't know what you are doing! For more information about the trim brickbug, visit Lanchon's guide here: http://forum.xda-developers.com/gal...ives/rom-brickbug-aftermath-speeding-t2843238
All builds without 'TRIM' (marked as 'NON-TRIM') have trim disabled. These kernels are safe on brickbug affected chips.
MAKE SURE YOU'RE DOWNLOADING THE RIGHT KERNEL. OTHERWISE YOU COULD BRICK YOUR DEVICE!
For TRIM users:
To use TRIM, you can download an app on the app store called trimmer or use terminal commands as directed in the troubleshooting guide.
And finally, I always see the question on whether to use TRIM or NON-TRIM builds. I recommend using TRIM builds on all devices, even if you have brickbug affected chip. This is because TRIM builds are safe from brickbug as they have been correctly patched up and so it has been used by many users. However, when in doubt, use NON-TRIM builds.
Isorec (Isolated Recovery)
Starting from build v002, I have introduced isorec into dorimanX kernel. CWM works perfectly, whereas TWRP can't mount USB storage. More work will need to be done to get TWRP fully working.
Download for isorec recoveries:
https://www.androidfilehost.com/?w=files&flid=47550
If you have a dualboot setup or if you want to set up dualboot, you should stay on StanTRC recovery. If you want to return to StanTRC recovery, flash the isorec disabler:
https://www.androidfilehost.com/?fid=24369303960682947
Forgot to download backup/older kernel/isorec disabler after flashing TWRP?
Go to download mode and flash a kernel .tar file OR wait until OS boots and copy required files to your phone
Which build should I use?
Linaro 4.9: Use this build for best stability. Battery life is not as good as UBER 4.9. This build should only be used as a fallback if all other builds fail to meet expectations or when the other builds give problems.
UBER 6.1: Use this build for best performance. Performance difference is small and battery life is slightly worse than Linaro 4.9. This build should only be used by advanced or more experienced users (beta testers).
Main download link:
https://www.androidfilehost.com/?w=files&flid=43488
Mirror download link:
https://github.com/gsstudios/Dorimanx-SG2-I9100-Kernel/releases
​
Beta builds and stable builds will only be uploaded on AFH and github.
Troubleshooting
(Probably one of the most detailed troubleshooting guides for kernels on XDA)
For general help, please use the Q&A thread
Take me to the Q&A Thread
Q: Why flash your kernel? - For new users of DorimanX kernel
This applies to dorimanx kernel in general. Dorimanx kernel is an aftermarket kernel (or custom kernel) that is designed to allow users to tweak their phone at the kernel or near-hardware level side of things. In other words, users get more fine-grained control over their phone, this includes overclocking, underclocking, changing behavior of CPU/GPU etc. Adjusting such settings isn't for the faint-hearted since there is soooo many things to understand, but you aren't required to understand all of the settings. Ultimately, if you want to improve your phone experience, try dorimanx kernel!
Q:How do I flash your kernel?
A: You flash kernels like flashing roms, except you don't have to factory reset your phone. If you can't flash the kernel for some reason, you can either flash philz recovery then flash the kernel OR you can just make your own kernel .tar file and flash via ODIN by following this guide: http://forum.xda-developers.com/galaxy-s2/development-derivatives/convert-kernel-zip-to-tar-t2994381
Q: Can I use isorec recovery on DorimanX kernel?
A: Yes you can. All important information was covered in the OP already!
Q: Why should I flash your builds when the last 'real' unofficial build was v008?
A: If you don't want to enjoy awesome features that improve the experience of dorimanx kernel, then it doesn't worry me. Real or not, I don't build kernels to have bad battery life, bad stability and etc. This is my personal build of dorimanx kernel!
Q: Which kernel version build should I flash?
A: Flash the latest stable version if you want the most stable experience. Builds that have not been marked with 'Stable' are mostly stable, or haven't been tested enough to earn a stable tag. Either way, it's up to you which one you want to flash. Read the changelog for any important changes that might have occurred in a particular build.
Q: Wifi doesn't work after I flash this kernel
A: There are two main causes to this issue, either there is a problem with your:
- Partitions OR
- Permissions OR
- Gapps OR
- ROM OR
- Compatibility with your wifi hardware
Don't use a pit with modded preload! It will just cause issues with ROMs and Kernels. Use stock pit or use a pit with unmodded preload. Sometimes, the gapps package you flash somehow breaks compatibility with the kernel. You can fix this by flashing a different gapps (making sure to clean cache and dalvik). If you have permissions problem, you can fix this by repartitioning your internal sd card or by reflashing back to stock rom. Sometimes, the ROM doesn't fully support the wireless drivers in the kernel, this can be solved by flashing a different ROM or different kernel. But if your wifi hardware is not compatible (a way to tell this is when you have tried everything and failed), there is nothing you can do but reflash the rom or flash a different kernel.
Q: My sd cards don't mount after I flash dorimanX kernel!
A: Please check the format (or file system) of your sd cards. DorimanX kernel doesn't support ext4 formatted sd cards and hence you can't see them. You will need to format the sd cards to fat32 or other format.
Q: I came from a different custom kernel that used Stweaks, now the app has issues
A: Every time you come from a different custom kernel with stweaks support, make sure to wipe cache and dalvik cache after install dorimanx kernel
Q: My battery life sucks after flashing this kernel!
A: Download and install Betterbatterystats and see what is the culprit to your problem. If it is kernel related, have you made sure you have wipe cache and dalvik and reset stweaks settings? If yes, it would be nice if you posted a logcat.
Q: How do I get a logcat for the kernel?
A: In stweaks, go to BUG-REPORT and tap on KERNEL-BUG.
Q: Why do I get bootloops with this kernel?
A: If you were on a working version on dorimanx kitkat before, there is probably something wrong with the installation. If you are on a ROM that is not kitkat, you flash the wrong kernel! You need to flash the right kernel for your android version. Sometimes, bootloops can occur due to corruption of the kernel zip file (usually from bad download) or from corrupted partitions.
Q: What do all of the settings mean? They are all confusing!
A: Please note that DorimanX kernel isn't for users who have just rooted their device. Before jumping into the custom kernel world, try playing around with other kernels first. Once you think you have some experience, read the stweaks beginners guide I made and then attempt to tweak the kernel using stweaks.
Q: How do I trim my partitions?
BEWARE: Make sure you have read all of the precautions before attempting to trim your partitions!
A: install the trimmer app from the playstore. App link . Check for all 3 partitions, and tap on run. grant root access. the 3 fstrim operations should be successful ("partition was trimmed" means success).
alternatively, instead of using trimmer you can run one of these commands (these are better because they also trim /preload):
# on the phone in the terminal app:
su -c "fstrim -v /system; fstrim -v /data; fstrim -v /cache; fstrim -v /preload"
# on your PC if you are connected to the phone via adb:
adb shell su -c "fstrim -v /system; fstrim -v /data; fstrim -v /cache; fstrim -v /preload"
reboot.
Click to expand...
Click to collapse
Q: My device is (hard) bricked after flashing your kernel!
A: Have you read all of the precautions before installing the kernel? You made the decision to flash the kernel and now you've stuffed up your phone.
Q: I get constant FCs after flashing your kernel!
A: Have you wiped your cache partition, dalvik cache and reset stweaks settings? If you've done all of these already, a logcat would be nice
Q: How do I use dual boot?
A: There are many guides on how to dual boot roms using dorimanx kernel. Just use the search function on XDA or GOOGLE it!
Q: What's a good combination for CPU governor and I/O scheduler?
A: Have a look at the default settings, they are optimised for our phone
However, here are some settings I personally like:
1. Governor: HYPER/Ondemand I/O scheduler:SIO/SIO
2. Governor: PegasusQ/Nightmare I/O scheduler: SIO/SIO
3. Governor: NeoX/Ondemand I/O scheduler: SIO/SIO
4. Governor: Nightmare/Nightmare I/O scheduler: SIO/SIO
Q: Why does the screen turn blank after the dorimanx logo appears during the boot process?
A: If your kernel doesn't bootloop, but the screen remains blank, there is a good chance that the ROM that you've used uses an older version of GPU drivers (Mali). This kernel only support ROMs with Maliv3 support. If you flash this kernel on MaliV2 or MaliV1 only roms, you will get a blank screen after flashing. To fix this, flash to the kernel the corresponds to your mali driver version and you should get your display back.
Q: What is a TCP algorithm?
A: Congestion control strategies (or algorithms) are used by TCP, the data transmission protocol used by many Internet applications. The main goal of a TCP algorithm is to avoid sending more data than the network is capable of transmitting, that is, to avoid causing network congestion.
Q: What is a toolchain?
In software, a toolchain is the set of programming tools that are used to create a product (typically another computer program or system of programs). The tools may be used in a chain, so that the output of each tool becomes the input for the next, but the term is used widely to refer to any set of linked development tools.
A simple software development toolchain consists of a compiler and linker to transform the source code into an executable program, libraries to provide interfaces to the operating system, and a debugger. A complex product such as a video game needs tools for preparing sound effects, music, textures, 3-dimensional models, and animations, and further tools for combining these resources into the finished product.
Click to expand...
Click to collapse
Q: What is UBER?
A: After years of using different custom toolchains like Linaro and SaberMod, I found there were things I liked about both of them but also things that didn't sit quite as well with me. SaberMod always seemed to have UI lag (especially in scrolling) but opened apps well and Linaro always seemed to be buttery smooth but had terrible app opening speed. Linaro battery was also worse for me than SaberMod. After going back and forth between toolchains I finally had this epiphany! Why not just take all of the best parts of all toolchains and merge them into one? So I began bringing up my own toolchain from gnu.org. At first I patched in all of the AOSP toolchain pactches (much like how SaberMod did it originally however it is important that you realize that No! I did not copy and paste SaberMod into my source I'm simply stating that I used their idea of merging aosp into gnu.org) to my source. Then I went through and added all of the linaro patches that I could to the source. I also made sure that I had the very latest of every toolchain component. I then made very minimal changes to the aosp toolchain build folder to allow for building with these newer toolchain components and UBERTC was born!!! (Note: both Linaro and SaberMod both made lots of modifications to the toolchain build folder, UBERTC is the closest to the aosp build process)
Click to expand...
Click to collapse
Q: What is Linaro?
Linaro is the place where engineers from the world's leading technology companies define the future of Linux on ARM. The company is a not-for-profit engineering organization with over 120 engineers working on consolidating and optimizing open source software for the ARM architecture, including the GCC toolchain, the Linux kernel, ARM power management, graphics and multimedia interfaces.
Click to expand...
Click to collapse
thanks
will give a try as usual
Green light, all is go. There are issues where new scheduler or algorithm can't be set yet, but no major issues
gsstudio, dorimanx kernel was my kernel for kk for a very long time until LP appear. But for now I just can't go back again for KK...it's way behind LP in performance and speed. I left a private message for you, if you have time answer me. Thanks gsstudio. Cheers.:good:
gsstudios said:
Green light, all is go. There are issues where new scheduler or algorithm can't be set yet, but no major issues
Click to expand...
Click to collapse
Nice work! Keep it up!
Very hopeful here bro, reallly really looking forward to a dori like lp kernel its realllly really needed, get good soon
Tripndroid and FIOPS should be fixed now. Was missing a few strings to add
Will fix problem with tcp algorithm later.
What do you guys think about the default io scheduler? Should I change it to zen (like in dorimanx g2), tripndroid or something else? I've been testing tripndroid for a while now, very smooth and fast.
If you wanted to know the specific changes to the default profile, I changed threshold values so they are slightly higher (screen on up threshold 60-->70 and screen off up threshold 60 --> 75). LMK for screen on changed to medium, io schedulers changed to SIO. I might remove zzmanx and put zzmoove so that it is up to date. Possible add an option to change profiles if possible.
I have successfully built dorimanX with Uber toolchain. Lots of new improvements and adjustments made to the kernel. Look at post 3 for changelogs: Link
Keep up the good work
I love your work gsstudios! I pm you. Are you needing any help? Has the pool is clear, Lollipop support is the way now. Of course there's people that likes KK, but imho kk has many probs in RAM management. Are you going to work full in KK and then convert it to lollipop? It's that the way?
Have some questions:
1. Does this have the Fuse Bug Fix? Well... since no one updates latest Dori and such...
2. Is the "Speedup Key Resume" feature on Apolo added here as well? This makes S2W more responsive, so I like it...
3. Is Swap feature enabled? I'm trying to Swap from /preload but Apolo and Gustavo doesn't have one. Forgot wether Dori has it...
4. Will you add the screen-color-changing feature from Gustavo to here as well?Or is it already in here?
Thanks for the continuing the development, man... :good:
:good:
I simply just wanted to post a "thanks you", instead of just hitting the thanks button, which I 've done many times, for keeping alive and updating the best (for me) kernel ever developed for S2.
V005 works great with trim enabled.:thumbup:
And UBER makes it even smoother lets see how the battery will go...
Sent from my GT-I9100 using XDA Free mobile app
souler456 said:
Have some questions:
1. Does this have the Fuse Bug Fix? Well... since no one updates latest Dori and such...
2. Is the "Speedup Key Resume" feature on Apolo added here as well? This makes S2W more responsive, so I like it...
3. Is Swap feature enabled? I'm trying to Swap from /preload but Apolo and Gustavo doesn't have one. Forgot wether Dori has it...
4. Will you add the screen-color-changing feature from Gustavo to here as well?Or is it already in here?
Thanks for the continuing the development, man... :good:
:good:
Click to expand...
Click to collapse
Fusebug and screen color changing is big thing I want them too. But I did not notice anything about speedup key resume on apolo. It's just like old builds
Latest DorimanX v10.44 v008 has fusebug fix.
TCP algorithms finally fixed. Can be changed in apps like trickstermod.
Edit: You can now select TCP algorithm in others tab.

[kernel] [lp] [most-roms] [all-qcom] idleKernel, a leanKernel fork (7.1.0)

I am closing this thread as I no longer have valid download links available, I can't maintain this project anymore, and I'd like to make sure everyone understands that any links uploaded by other users cannot be confirmed to be unmodified. Proceed at your own risk!
This thread is for the N9005, N900A, N900P, N900V, N900R4, N900K, N900L, N900S, SC-01F, and SCL22 variants of the Galaxy Note 3.
You can find the other thread for N900W8 and N900T variants here.
idleKernel is a fork from Imoseyon's leanKernel starting at his v6.3 Touchwiz release.
It adds a few more features, escaping somewhat from the minimalist approach while still staying battery friendly.
It hopes to support many ROMs. You can request support for your ROM through private message or on this thread.
You can also find Imoseyon's leanKernel here, which still has ongoing development.
DOWNLOAD
Current version: 7.1.0 (2016-03-27)
Note that there are both SELinux Enforcing and SELinux Permissive versions.
If you are using a custom ROM or f2fs, you will need the permissive version.
All Note 5 ports are forced permissive, and have no enforcing version due to invalid SEPolicy.
TouchWiz 5.0 kernels cannot have their SELinux mode changed by any means, they are compiled as either enforcing or permissive.
idleKernel is also used in the Kali NetHunter project! For full idleKernel functionality in Kali NetHunter, flash one of the images here before flashing NetHunter.
Please be careful to download the right version for your actual phone model, not your ROM.
N9005: hlte-eur
N900A: hlte-att
N900W8: hlte-can
N900P: hlte-spr
N900R4: hlte-usc
N900T: hlte-tmo
N900V: hlte-vzw
N900K: hlte-ktt or hlte-kor
N900L: hlte-lgt or hlte-kor
N900S: hlte-skt or hlte-kor
SC-01F: hlte-dcm
SCL22: hlte-kdi
DOWNLOAD LINKS REMOVED
RAN INTO AN ISSUE OR BUG?
In order for me to help you, you have to at minimum reply with:
The link to the exact kernel zip/tar you downloaded
Your device model (N9005, etc)
A link to the XDA thread of the ROM you're having trouble with
Optional: A logcat during the duration of when the bug is happening
Optional: A `cat /proc/kmsg > /sdcard/kmsg.log` (su required) during the duration of when the bug is happening
You may be able to fix the bug by updating to the latest bootloader and modem for your device.
See: (Direct Download) Latest Bootloaders & Modems
FEATURES INCLUDED FROM LEANKERNEL
overclockable to 2.72GHz, but limited to 2.2GHz during boot
interactiveX V4 (screen_off_maxfreq), renamed back to interactive for compatibility
/sbin/lkconfig script (via terminal emulator, superuser required)
user adjustable panel temperature: -60 to 0, 0 is kernel default (via lkconfig & sysfs)
user adjustable panel colors: 0 to 4, 2 is kernel default (via lkconfig & sysfs)
fix for purple hue/push at low brightness (via panel temperature or panel colors)
cpufreq modified to play better with thermal-engine
compiled with stable Linaro GCC Cortex-A15 4.9 toolchain
built-in supersu and init.d support
DriveDroid compatibility for USB mass storage emulation
interactive governor updated to latest android source (but ondemand left default)
outdated Samsung code updated to later CodeAurora source (cpufreq, mdss, gpu, msm-bus, etc.)
cpufreq issues fixed
exFAT support
ram console enabled for /proc/last_kmsg for kernel crash debugging
FauxSound 3.0
default USB charge speed @ 1200mA
based on N900TUVUFOB6 (February 23, 2015)
IDLEKERNEL FEATURES
rebased on N900TUVUFOL1 (December 5, 2015) and SC01FOMUGOI4 (September 9, 2015)
updated to latest 3.4 Linux (currently 3.4.111)
tailored individually to support all variants of TouchWiz 5.0, CyanogenMod 12.1 & 13.0, SlimRom 5.1 & 6.0, and Note 5 Ports
ramdisk and kernel compressed with xz-crc
FauxSound updated to 3.6
CodeAurora fixes up until December 8, 2015
new IO schedulers available: sio, fiops (default)
new TCP congestion control available: westwood
cubic (default) TCP congestion algorithm updated to Linux 4.3 sources
f2fs full /system /data /cache support (except in enforcing mode TouchWiz)
f2fs updated to latest kernel.org Samsung sources
ext4 updated to latest kernel.org sources
performance governor included for benchmarking & games
adreno idler updated to latest arter97 sources (now with 27 MHz idle)
forced fast charge support by Yank555.lu
full sysfs & in rom vibration control with extended range
compiled with -O2 optimizations
some kernel errors and logging functions fixed
lkconfig rewritten and extended, renamed to ikconfig
support for KCAL advanced color control by savoca
USB mass storage toggle for external SDcard, open Terminal Emulator and type: ums on.
USB 3.0 is turned on if you add 3 to commands: mtp on 3, ptp on 3, ums on 3.
SuperSU uses system install method even on marshmallow, adjustable via ikconfig (set on first boot)
USB HID keyboard and MIDI gadget support (added in 6.7.1!)
INSTALLATION
You can flash idleKernel from Odin 3.x in AP slot using tar.md5 files.
You can also flash from TWRP 2.8.x.x using zip files.
CONFIGURATION OPTIONS
Open Android Terminal Emulator or adb shell, become superuser by typing su, press enter, and type /sbin/ikconfig (on most ROMs you can just type ik), press enter again.
Code:
[email protected]:/ $ su
[email protected]:/ # /sbin/ikconfig
idleKernel configurator (based on lkconfig by Imoseyon)
---
0) display current settings
1) panel temperature
2) panel color
3) cpu max frequency
4) cpu governor
5) gpu governor
6) tcp congestion control
7) io scheduler
8) mmc crc
9) supersu install method
10) check top 10 wake locks (ie. wakeup sources)
please enter a number (or press enter to exit): 0
current settings
----------------
1) panel temperature: 0
2) panel color: 2
3) cpu max frequency:
screen on: 2265600
screen off: 1267200
4) cpu governor: interactive
5) gpu governor: msm-adreno-tz
6) tcp congestion control: cubic
7) io scheduler:
internal memory: noop deadline row [sio] fiops
external sdcard: noop deadline row [sio] fiops
8) mmc crc: disabled
9) supersu install method: system
I recommend the app Kernel Adiutor for control over idleKernel if you are inexperienced in terminal usage, it's very well written and easy to use.
If you want to use the FauxSound controls, please consider buying FauxSound from the Play Store. It's the same developer that wrote the kernel side components to it.
If you want to use KCAL advanced color control, you will need to download the Color Control app from here.
USB 3.0 & MASS STORAGE
idleKernel 6.6.2+ comes with a terminal command called usb, with shortcuts mtp, ptp, and ums.
These commands don't work from adb as running them usually closes the adb session cancelling the command part way through.
They are meant to be run from Terminal Emulator as superuser. If it shows not found, go into Terminal Emulator options and uncheck "Verify PATH entries". There is a bug in Terminal Emulator that causes /sbin to be removed from path sometimes when using su. You could also prefix the commands with /sbin/.
Code:
[email protected]:/ # usb
Usage: usb [mtp|ptp|ums|status] [on|off]
Enables or disables MTP, PTP, and UMS USB modes.
mtp on/off turns on/off MTP mode
ptp on/off turns on/off PTP mode
ums on/off turns on/off UMS mode
default sets USB mode to default
-3, 3 activates USB 3.0, use with on
-i, info, status displays active USB mode
-h, help displays this information
-v, version displays version info
For more help & to report bugs contact <[email protected]>
[email protected]:/ # ums on 3
Disabling USB transfer protocols...
Unmounting SDcard from /storage/extSdCard...
SDcard unmounted successfully.
Activating USB 3.0 SuperSpeed mode...
Setting up dwc3 storage gadget lun...
Mounting /dev/block/mmcblk1 to lun...
Activating USB Mass Storage transfer mode...
Done. PLEASE USE EJECT MEDIA ON PC BEFORE TURNING OFF UMS!
[email protected]:/ # mtp on 3
Disabling dwc3 storage gadget lun...
Disabling USB transfer protocols...
Mount SDcard in Android? (y/n): y
Mounting SDcard to /storage/extSdCard...
Waiting for SDcard to be ready....
SDcard mounted successfully.
Activating MTP USB transfer mode...
Done.
[email protected]:/ # usb default
Disabling USB transfer protocols...
Deactivating USB 3.0 SuperSpeed mode...
Setting USB mode to default...
Done.
TEAM WIN RECOVERY PROJECT
You will probably notice that in the downloads area there is also a TWRP 2.8.7.0 download option.
It uses idleKernel instead of the kernel prebuilts from Omni.
MTP and USB Mass Storage R/W now works in recovery mode, allowing you to plug phone in and easily transfer zips and backups/restores to and from your phone and sdcard. It also fixes some file system bugs that caused ext4 broken backups that couldn't restore to f2fs partitions, and other small bugs like brightness adjustment not working.
On top of that it allows me to support TWRP for variants that aren't officially supported, such as the Japanese and Korean variants.
You can also use ikconfig in TWRP from adb, allowing you to fix settings like unstable CPU overclocks from recovery.
It also has a really cool boot splash and gold theme, that's cool too right?
GOING TO F2FS FILE SYSTEM
See step-by-step guide here:
http://forum.xda-developers.com/gal...ekernel-leankernel-fork-t3241582/post64014959
KNOWN ISSUES
Screen sometimes turns on while charging from PC. (wake event sent from PC?)
Some ROMs refuse to flash in TWRP idleKernel edition. (tell ROM maintainer to fix flash model assert or remove assert yourself)
Streaming audio may occasionally stutter when screen is off. (increase screen off max frequency using ikconfig)
exFAT and f2fs formatted SDcards don't work in CM13. (not a kernel issue, wait for CM team to fix it)
Aroma Installer doesn't work in TWRP idleKernel edition. (it's not compiled with LP driver support? flash original TWRP to use Aroma)
If you are affected by a new issue, please follow ALL of the instructions above and post in the thread or pm it to me.
ROM DEVELOPERS
You have my permission to include idleKernel in your ROM. By doing so, I recommend that you give me the permission to try to work with users on your ROM thread to fix bugs that may possibly be kernel related. On important idleKernel updates, I may visit your thread and notify users of the changes and give them a link back to this thread.
You may also recompile idleKernel with your own changes, and give it a different name if desired. Credit to me is not necessary, but you must keep a branch with the complete source code on a publicly visible site like GitHub, and link to that from your thread. I have a guide in the post underneath this on how to do that.
If you wish to change the default settings of ikconfig when distributing the kernel in your ROM, the easiest way would be to mount /data in your recovery flash script, check for existence of /data/data/idlekernel, if it doesn't exist, create it and write values to a file for every setting you wish to change. Valid files are:
Code:
/data/data/idlekernel/paneltemp - values: -60 to 0 (default 0)
/data/data/idlekernel/panelcolor - values: 0 to 4 (default 2)
/data/data/idlekernel/scaling_max_freq - values in Hz: 652800, 883200, 1267200, 1574400, 2265600 (default), 2496000, 2726400
/data/data/idlekernel/screen_off_maxfreq - values in Hz: 652800, 883200, 1267200 (default), 1574400, 2265600
/data/data/idlekernel/cpu_governor - values: ondemand, interactive (default), performance
/data/data/idlekernel/gpu_governor - values: msm-adreno-tz (default), powersave, performance, simple_ondemand
/data/data/idlekernel/tcp_congestion_control - values: cubic (default), westwood, reno
/data/data/idlekernel/io_scheduler_internal - values: noop, deadline, row, sio (default), fiops
/data/data/idlekernel/io_scheduler_external - values: noop, deadline, row, sio (default), fiops
/data/data/idlekernel/use_spi_crc - values: Y, N (default)
/data/data/idlekernel/supersu - values: SYSTEMLESS=detect/true/false (default)
XDA:DevDB Information
idleKernel, Kernel for the Samsung Galaxy Note 3
Contributors
jcadduono, Imoseyon, arter97, faux123
Source Code: https://github.com/jcadduono/idleKernel-note3
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: 7.1.0
Stable Release Date: 2016-03-27
Created 2015-11-05
Last Updated 2018-07-12
Reserved
EVER WANTED TO MAKE YOUR OWN KERNEL FORK?
jcadduono's GitHub forking crash course
1. Make an account on GitHub!
2. Use the fork button @ https://github.com/jcadduono/idleKernel-note3 or any other repository
3. In your terminal emulator, cd to the location you want your repository.
4. git clone https://github.com/YOUR_USERNAME/idleKernel-note3.git
(optionally add folder name after that command to change it to something other than idleKernel-note3)
5. cd idleKernel-note3
6. git remote add jc https://github.com/jcadduono/idleKernel-note3.git
(this will allow you to send commits to me, cherry-pick commits from me, or pull new commits from me!)
7. git fetch jc
(do this whenever you want updated commits from me to be available to you for cherry-picking or merging)
8. Be sure to set your git author information too, for proper commit info!
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
git config --global push.default simple
(that last one just removes a warning message whenever you push commits to github)
9. Whenever you want to pull all the latest and greatest commits from me all at once, run:
git fetch jc
git merge jc
I don't recommend doing that though, because if our branches diverge too much our commits might become incompatible or you might not want some of my changes.
The best way to do it would be to:
git fetch jc
git log jc/X
Replace X with ik-touchwiz/ik-cm12.1/ik-slim5.1, that will show you all of my commits.
For every new commit you want, cherry-pick one at a time to make sure each goes successfully.
git cherry-pick <hash from git log jc/X>
10. Now whenever you make changes to your fork, and you are satisfied with them, you can do:
git add .
(that adds every changed file to the next git commit)
or
git add <file>
then
git diff HEAD
(this is optional, but I recommend looking over everything you changed to make sure it makes sense and you can find extra whitespace or typos!)
11. Once you are satisfied with the changes you've made, you can commit them to the branch history.
git commit -m "made some great change that you detail here"
12. To put your new commits up on GitHub, all you have to do is:
git push
13. If you want to send that commit to me as well, you can do:
git push jc
TIPS
Made a mistake and committed it already? You can time travel through git history using the rebase command!
git rebase -i HEAD~X
Replace X with how far back in commit history you want to edit, trust me time travel is a bad idea.
Just change pick to drop and Ctrl+X Y enter, git will make that commit disappear forever like it never happened.
You can also use various other words like reword to change the message of a commit, etc.
In order for GitHub to accept rebases, you have to add -f to git push, but only if you are changing history you've already pushed to GitHub.
If you've already pushed a commit to GitHub and want to undo it, you can do:
git log
git revert xxxxxx
Replace xxxxxx with the hash of the commit you want undone.
If you haven't pushed to GitHub yet, using git rebase is fine for undoing or rewording commits.
Any time you want to see all the changes from one of my commits, you can use
git show xxxxxxxx
Replace xxxxxxxx with the hash from git log jc/X or even your own git log.
It pipes a nice scrollable colored diff through `less`
If you want to stop it from asking for your GitHub username when you push, in idleKernel-note3 directory do:
nano .git/config
Find a line that looks like:
url = https://github.com/......
Add before github.com so it looks like this:
url = https://[email protected]/...
Now press Ctrl+X Y enter to save.
Tnx
Sent from my SM-N9005 using Tapatalk
Thanks....6.50 works perfectly on my OJ6 rom for the moment....congrats to you and @Imoseyon for his wonderful base......
Awesome.
Just awesome work!
Thanks boss!
Edit: I guess kernel name comes from looooong straight battery lines while phone is in deep sleep!
Please how do I patch this kernel for dual booting it has refused to patch
Sent from my SM-N920C using Tapatalk
waplegend said:
Please how do I patch this kernel for dual booting it has refused to patch
Sent from my SM-N920C using Tapatalk
Click to expand...
Click to collapse
You need to talk to maintainer of dual boot patcher, tell him that his patcher isn't working with kernel style xz compression. xz uses --check=crc32 --lzma2=dict=2MiB when compressing.
piats said:
Edit: I guess kernel name comes from looooong straight battery lines while phone is in deep sleep!
Click to expand...
Click to collapse
exactly!
jcadduono said:
You need to talk to maintainer of dual boot patcher, tell him that his patcher isn't working with kernel style xz compression. xz uses --check=crc32 --lzma2=dict=2MiB when compressing.
Click to expand...
Click to collapse
Alright thanks
Sent from my SM-N920C using Tapatalk
Can u make it compatible with note 5 port rom ?
peped94 said:
Can u make it compatible with note 5 port rom ?
Click to expand...
Click to collapse
Sure. Can you link me to the ROM?
6.5.1 is up, have at her! I'm going to get some shut eye so I will be awake tonight to take my puppy to puppy school.
PS. xda can she be the project logo?
jcadduono said:
Sure. Can you link me to the ROM?
6.5.1 is up, have at her! I'm going to get some shut eye so I will be awake tonight to take my puppy to puppy school.
PS. xda can she be the project logo?
Click to expand...
Click to collapse
Here is the link http://forum.xda-developers.com/galaxy-note-3/development/rom-darklord-s6-port-alpha-t3083087. It is based on android 5.1.1
I was waiting for lean kernel update to run it on 5.1.1 TW from darklord note5 port , I read this and I thought here is solution . Can you make it happened ? 5.1.1 support TW variant . I am using the same rom that peped94 pointed to .
budalica said:
I was waiting for lean kernel update to run it on 5.1.1 TW from darklord note5 port , I read this and I thought here is solution . Can you make it happened ? 5.1.1 support TW variant .
Click to expand...
Click to collapse
Not entirely sure, I'll have a look at the ramdisk tomorrow. I don't see kernel sources provided so I'm hoping all he's done is changed some things in the ramdisk. If I do support it, it will likely only be for N9005 and not the other variants. What happens when you try to run https://idlekernel.com/touchwiz-lol....5.1_2015_11_05/idleKernel-hlte-eur-6.5.1.zip on it?
jcadduono said:
Not entirely sure, I'll have a look at the ramdisk tomorrow. I don't see kernel sources provided so I'm hoping all he's done is changed some things in the ramdisk. If I do support it, it will likely only be for N9005 and not the other variants. What happens when you try to run https://idlekernel.com/touchwiz-lollipop/v6.5.1_2015_11_05/idleKernel-hlte-eur-6.5.1.zip on it?
Click to expand...
Click to collapse
I tried lean kernel and couple others but it does not boot anymore . I have not tried idle kernel yet . I have International n9005 snapdragon running darklord note5 port 5.1.1 touchwiz . I might try to flash it tonight after work . Now I can't I need my phone . NIce dog . Looks like fun dog .
Good job bro!
Thanks again.
I'm testing 6.5.1 work perfect with audax v31(OJ1)
It's smooth fast and supreme battery life
Inviato dal mio SM-N9005 utilizzando Tapatalk
jcadduono said:
This thread is for the N9005, N900A, N900P, N900V, and N900R4 variants of the Galaxy Note 3.
You can find the other thread for N900W8 and N900T variants here.
idleKernel is a fork from leanKernel starting at Imoseyon's v6.3 release.
It adds a few more features, escaping somewhat from the minimalist approach while still staying battery friendly.
It hopes to support many ROMs. You can request support for your ROM through private message or on this thread.
DOWNLOAD
Current version: 6.5.1
Note that there are both SELinux Enforcing and SELinux Permissive versions.
If you are using a custom ROM or f2fs, you will need the permissive version.
TouchWiz 5.0: https://idlekernel.com/touchwiz-lollipop
CyanogenMod 12.1: https://idlekernel.com/cm12.1
SlimRom 5.1: https://idlekernel.com/slim5.1
FEATURES INCLUDED FROM LEANKERNEL
overclockable to 2.72GHz, but limited to 2.2GHz during boot
updated to latest 3.4 Linux (currently 3.4.110)
interactiveX V4 (screen_off_maxfreq)
/sbin/lkconfig script (via terminal emulator, superuser required)
user adjustable panel temperature: -60 to 0, 0 is kernel default (via lkconfig & sysfs)
user adjustable panel colors: 0 to 4, 2 is kernel default (via lkconfig & sysfs)
fix for purple hue/push at low brightness (via panel temperature or panel colors)
cpufreq modified to play better with thermal-engine
latest Linaro gcc 4.9 toolchain
built-in supersu and init.d support
interactive governor updated to latest android source (but ondemand left default)
outdated Samsung code updated to later CodeAurora source (cpufreq, mdss, gpu, msm-bus, etc.)
cpufreq issues fixed
exfat support
ram console enabled for /proc/last_kmsg for kernel crash debugging
FauxSound 3.0
default USB charge speed @ 1200mA
based on N900TUVUFOB6 (February 23, 2015)
IDLEKERNEL FEATURES
rebased on N900W8VLU2DOH1 (August 26, 2015)
tailored individually to support all variants of TouchWiz 5.0, CyanogenMod 12.1, and SlimRom 5.1
ramdisk and kernel compressed with xz-crc
FauxSound updated to 3.6
CodeAurora fixes up until November 5, 2015
new IO schedulers available: sio (default), fiops
new TCP congestion control available: westwood
cubic (default) TCP congestion algorithm updated to Linux 4.3 sources
f2fs full /system /data /cache support (in permissive)
f2fs updated to latest kernel.org Samsung sources
ext4 updated to latest kernel.org sources
performance governor included for benchmarking & games
adreno idler updated to latest arter97 sources (now with 27 MHz idle)
forced fast charge support by Yank555.lu
full sysfs & in rom vibration control with extended range
compiled with -O2 optimizations
some kernel errors and logging functions fixed
lkconfig rewritten and extended, renamed to ikconfig
INSTALLATION
You can flash idleKernel from Odin 3.x in AP slot using tar.md5 files.
You can also flash from TWRP 2.8.x.x using zip files.
CONFIGURATION OPTIONS
Open Android Terminal Emulator or adb shell, become superuser by typing su, press enter, and type /sbin/ikconfig (on most ROMs you can just type ik), press enter again.
Code:
[email protected]:/ $ su
[email protected]:/ # /sbin/ikconfig
idleKernel configurator (based on lkconfig by Imoseyon)
---
0) display current settings
1) panel temperature
2) panel color
3) cpu max frequency
4) cpu governor
5) gpu governor
6) tcp congestion control
7) io scheduler
8) mmc crc
9) check top 10 wake locks (ie. wakeup sources)
please enter a number (or press enter to exit): 0
current settings
----------------
1) panel temperature: 0
2) panel color: 2
3) cpu max frequency:
screen on: 2265600
screen off: 883200
4) cpu governor: interactiveX
5) gpu governor: msm-adreno-tz
6) tcp congestion control: cubic
7) io scheduler:
internal memory: noop deadline row [sio] fiops
external sdcard: noop deadline row [sio] fiops
8) mmc crc: disabled
I recommend the app Kernel Adiutor for control over idleKernel if you are inexperienced in terminal usage, it's very well written and easy to use.
If you want to use the FauxSound controls, please consider buying FauxSound from the Play Store. It's the same developer that wrote the kernel side components to it.
KNOWN ISSUES
Some people have reported their LEDs aren't working?
Screen at 100% brightness after boot (don't report, just turn screen off/on to fix)
If you are affected by a known issue, please get a logcat and kmsg export and post in the thread or pm it to me.
I also need to know your bootloader & ROM version, and which kernel image you flashed.
XDA:DevDB Information
idleKernel, Kernel for the Samsung Galaxy Note 3
Contributors
jcadduono, Imoseyon, arter97, faux123
Source Code: https://github.com/jcadduono/idleKernel-note3
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: 6.5.1
Stable Release Date: 2015-11-05
Created 2015-11-05
Last Updated 2015-11-05
Click to expand...
Click to collapse
korean -N900K N900L N900S;Can you make kernel? thanks!!!
google play store download error code 942
after installing this kernal i get the error code 942 when downloading from play store
on aryamod v7.2 rom
before installing this kernal i did clear cache/dalvik cache , kernal cleaner flashed.
then install the new kernal. then clear cache/dalvik again.
i hav already tried the following : in app settings clear cache / delete data for google play and play service store service. rebooted and clear dalvik/ cache again
problem ongoing. please help
limpme said:
google play store download error code 942
after installing this kernal i get the error code 942 when downloading from play store
on aryamod v7.2 rom
before installing this kernal i did clear cache/dalvik cache , kernal cleaner flashed.
then install the new kernal. then clear cache/dalvik again.
i hav already tried the following : in app settings clear cache / delete data for google play and play service store service. rebooted and clear dalvik/ cache again
problem ongoing. please help
Click to expand...
Click to collapse
No helpful information to go on, what kernel are you using (link to me the exact one you downloaded)? What is your bootloader version?
If you aren't using one from the selinux_permissive folder, 942 could maybe happen from sepolicy killing play store activity.
I will need a logcat of you opening play store and getting that error. You can follow these instructions here.
fbzong said:
korean -N900K N900L N900S;Can you make kernel? thanks!!!
Click to expand...
Click to collapse
I will download the firmware and take a look at it...should have a test version up later today.
Can you please also unquote the entire OP.
Edit: There are no OSRC releases for these phones...I am going in blind. I can probably only do N900S though.
I need someone with an N900S, or an N900L, or an N900K to test for me. I need you on either slim 5.1, touchwiz 5.0, or cm 12.1. cm preferred.
ALSO NEEDED:
If you have an N900L or N900K with Touchwiz, and are rooted, I can support your phones if you do the following in terminal emulator or adb:
su
dd if=/dev/block/platform/msm_sdcc.1/by-name/boot of=/sdcard/boot.img
Please be careful doing this command, because dd + typos are dangerous!
Upload boot.img from your sdcard and give me the link to download it, this will give me your stock ramdisk so that I can copy its necessary variant files into idleKernel's build environment, allowing me to compile idleKernel for N900L or N900K. I already have N900S, as it was available on Samsung's servers.
In the meantime, https://idlekernel.com/test/touchwiz-lollipop
If you have an N900S with Touchwiz please test and report back if it works or what happens.
any chance of adding intelliplug to this kernel?

[KERNEL] [8.1.0/9.0] Endurance Kernel V2.0.27 / V1.2.33 [Linux 4.9.190] [CSG5 / ASB1]

Endurance Kernel • Galaxy Note 9​
Endurance Kernel was designed by me with the goal of providing a much more responsive user experience whilst simultaneously conserving the devices battery as much as possible. This kernel is a port of Endurance Kernel, recreated for the Galaxy Note 9. The kernel is largely adjustable in the paid app EX Kernel Manager (EXKM) by flar2 or in the free app MTweaks by Morogoku. Please note, I don't actually own a Note 9!
DISCLAIMER - I am not responsible for any harm that may come to your device as a result of flashing this kernel. I am however happy to provide support if required.
Downloads
1.x.x indicates the kernel should be used with an Oreo based firmware. 2.x.x indicates the kernel should be used with a Pie based firmware.
Latest GitHub Release
MEGA Repository
Key Features
Latest ELS (almost) always merged in
Implemented AndreiLux’s custom scheduling, EAS backports, 16ms PELT half-life, and migration hysteresis filter
Hotplugging enabled
Boeffla wakelock blocker supported (default list tweaked for improved deep sleep)
Support GPU overclocking up to 598MHz on all builds
Adapted notification LED fade support from NX Kernel from the Galaxy S8
Enabled fsync on / off support (on is default and recommended)
DoubleTap2Wake, Sweep2Wake, Sweep2Sleep & RGB colour control
CFQ (stock and kernel default), deadline, noop, FIOPS, SIO, Zen, Maple and BFQ support
Westwood (kernel default), bic (stock), cubic, reno, htcp, lia, veno and olia TCP congestion algorithms enabled
9.0 AOSP support
Several kernel optimizations from Notorious Kernel
WireGuard Support
DriveDroid Support
SELinux set to enforcing
F2FS support
Unofficially supported adjustable SELinux status through the 'Magisk SELinux Manager' module or # setenforce 1 or 0
Disabled irrelevant or unused Samsung security and features
Disabled almost all logging, debugging and tracing
Various patches to improve performance and battery
No bull****!
Detailed Overview
The PELT half-life has been reduced from 32ms (stock) to 16ms which greatly improves device responsiveness, alongside the use of updated custom scheduling, both thanks to Andrei Frumusanu’s amazing work on the kernel. For a more up to date reference on the performance of the Exynos 9810, look at Andrei's investigation comparing the Exynos Note 9 to the Snapdragon Note 9.
This kernel supports overclocking. In order to use overclocking, simply flash the OC zip from the Android File Host folder.
The overclock build will now use big cluster (M3) quad / triple frequencies up to 2106MHz, dual frequencies up to 2416MHz and single frequencies up to 2964MHz. The small cluster has now also been overclocked to 2002MHz. The overclock build also modifies Andrei's conservative frequencies in order to utilise the higher frequencies more. There is no guarantee that your battery will perform well with overclocking, nor your device will be safe running above stock frequencies. Use at your own risk.
Notification LED fade support has also been added and enabled by default. The fade can be turned on and off and have fade in and out speed adjusted in EXKM or MTweaks. Additionally, in both EXKM and MTweaks such as fsync on / off support, DoubleTap2Wake, Sweep2Wake, Sweep2Sleep & RGB colour control.
This kernel unofficially supports (but I typically strongly advise against the use of) a permissive SELinux status through the 'Magisk SELinux Manager' module.
GSI / AOSP Kernel
The kernel supports 9.0 AOSP GSIs. These builds are entire ports of Endurance Kernel that have been adapted for AOSP, hence any changes that are made to the base kernel will almost always also be included in the AOSP kernels.
If SafetyNet is failing, this can be worked around to allow SafetyNet to pass. You will need the 'MagiskHideProps' module installed. After rebooting, using a Terminal Emulator app enter the following commands in the order listed without quotation marks.
Type 'su'
Type 'props'
Type '1' to edit the device fingerprint
Type 'f'
Type '13' to select Samsung
Type '24'
Reboot
Due to the sheer diversity of AOSP GSIs, it is important to ensure you are concise when reporting an issue. Before you report an issue ensure you explicitly state the variant of the kernel you are using, as well as the ROM, firmware and vendor once you have ensured the ROM is compatible with the kernel. If these requirements are not met, you may receive support for the wrong platform or no response at all. It is preferred that you ask in the relevant telegram group prior to publishing on the XDA thread if possible.
Telegram Groups
If you're joining the Telegram group for support, please read the FAQ first!
Endurance Kernel Discussion / Support Group - https://t.me/endurancekernel
Endurance Kernel News Channel - https://t.me/endurancekernelnews
Credits
A huge thank you to everyone involved in the production of this kernel. Particularly a few names I would like to mention.
ianmacd - For creating A Pretty Good Kernel and doing all the hard work for me, as well as being a fantastic mentor who has assisted me through every stage of this kernel. My words understate my appreciation for your efforts.
AndreiLux - For pushing the device to its limits in many regards and paving the pathway from which many other devs, myself included rely on, and for assisting me in the production of the kernel.
farovitus - For his vast efforts included in the development of Notorious Kernel and for providing inspiration of changes and commits to include in the kernel as well as making another great kernel before the production of Endurance Kernel. Also thanks for maintaining ELS and keeping it simple for me!
flar2- For his fantastic EXKM app, and all his work from ElementalX included in APGK such as wake / sleep gestures and RGB colour control.
djb77 - For inspiring a few additions to the ramdisk and for being another fellow Aussie.
Freeza - For allowing the use of his installation script and for aiding in the issues faced in the early stages of kernel development.
Chrisaw - For being an exceptionally thorough and generous beta tester and for basically doing the hard troubleshooting for me. I can't say thanks enough for the time and effort you put into the kernel.​
Huge thanks to everyone else who was involved in development of the kernel, and helped me during the stages of instability in the early phases of this kernel. You know who you are!
And of course, everyone involved in mainline Linux development!
Additonally
Lord Boeffla for Boeffla Wakelock Blocker
franciscofranco for fsync on / off support
Ktoonsez for initially introducing Notification LED fade support.
Noxxxious for making it easier to adapt Notification LED fade to the S9!
osm0sis for Android Image Kitchen
If I included your work and forgot you, let me know and I’ll add you to the credits list!
Source - https://github.com/eamo5/crownlte-endurance
Click here to donate! I used to not accept donations but while I'm undertaking my degree, a small donation could go a long way.
OneUI Current Build Changelog
V2.0.27
Linux 4.9.190
CSG5 kernel source and ramdisk
Converted GPU workqueues to kthreads (thanks farovitus)
Previous Changelogs
V2.0.26
Linux 4.9.186
CSFC source and ramdisk
Removed various unneeded drivers
Disabled swap on AOSP
AOSP 2.0 build works again
V2.0.25
Linux 4.9.185
V2.0.24
Linux 4.9.184
AOSP 2.0 based kernel appears to be broken for now, I will try to address this ASAP
V2.0.23
Linux 4.9.183
Addressed some regressions from the previous build
I forgot to update the kernel version lol
V2.0.22
Linux 4.9.182
CSF9 kernel source and ramdisk
Several improvements to ashmem, binder, SELinux dynamic memory allocation, IRQs & qos from Sultanxda
V2.0.21
Linux 4.9.180
V2.0.20
Linux 4.9.179
Cross compiled with GCC 9.1
Fixed instability in 4.9.178
V2.0.19
Linux 4.9.177
CSDJ ramdisk (kernel source is identical to CSDE)
V2.0.18
Linux 4.9.176
Cleaned up defconfig
V2.0.17-1
CSDE kernel source and ramdisk
Unset CONFIG_DEBUG_KERNEL (and it's dependencies)
Optimised F2FS configuration
V2.0.17
Linux 4.9.175
Fixed F2FS
V2.0.16
Linux 4.9.174
F2FS support
V2.0.15
Linux 4.9.173
V2.0.14
Linux 4.9.172
Updated Gator driver to v6.9
V2.0.13
Linux 4.9.171
Unset CONFIG_AUDIT (reduce SELinux overhead)
Updated Gator driver to 6.8
V2.0.12
Linux 4.9.170
V2.0.11
Linux 4.9.169
V2.0.10
Linux 4.9.168
V2.0.9
Linux 4.9.166
Fixed 4.9.165 performance regression
V2.0.8
Linux 4.9.165
Reduced kernel size
Unset CONFIG_ION_EXYNOS_STAT_LOG
V2.0.7
CSC1 kernel sources
Linux 4.9.164
V2.0.6-1
Fixed lockscreen issue on CSC1 ROMs
V2.0.6
Linux 4.9.163
CSB3 kernel sources
V2.0.5
Linux 4.9.162
Unset approximately 15 CONFIG_TRACE & CONFIG_EXYNOS_SNAPSHOT related options
Linux 4.9.161
Set CONFIG_STRIP_ASM_SYMS
Unset CONFIG_BT_DEBUGFS
Unset CONFIG_USB_DEBUG_DETAILED_LOG
Unset CONFIG_DEBUG_ATOMIC_SLEEP
Unset CONFIG_SEC_BOOTSTAT
Unset CONFIG_SEC_UPLOAD
Unset CONFIG_SEC_DEBUG_PPMPU
Fixed an issue with the r8152 ethernet driver & updated the driver.
V2.0.3
Linux 4.9.160
Unset CONFIG_EXYNOS_CORESIGHT (and everything it unsets)
Unset CONFIG_DEBUG_LIST
Unset CONFIG_DEBUG_EXCEPTION_STACK
Unset CONFIG_TIMER_STATS
Unset CONFIG_DEBUG_NOTIFIERS_PRINT_ELAPSED_TIME
Suppressed additional minor logging
V2.0.2
Linux 4.9.159
Unset CONFIG_KSM
Unset CONFIG_SDFAT_DEBUG
Unset CONFIG_SCHED_DEBUG
V2.0.1-1
CSB3 ramdisk (fixes lockscreen loop on CSB3)
Kernel now requires CSB3 ROM
V2.0.1
Linux 4.9.158
V2.0
Linux 4.9.156
Minor tweaks to scheduling
V2.0 RC 4
Linux 4.9.155
V2.0 RC 3
Rebased on ELS 4.9.154
Tweaked conservative scheduling a bit more for a slightly better user experience.
V2.0 RC 2
Tweaked conservative scheduling for an improved user experience
V2.0 RC 1
Support Android 9.0 OneUI
Linux 4.9.59
CSA2 kernel sources
Can boot with and without Magisk
Full OC implementation
DriveDroid support
Conservative scheduling
Oreo and GSI Current Build Changelog
V1.2.33
Linux 4.9.190
Previous Changelogs
V1.2.32
Linux 4.9.186
Removed various unneeded drivers
V1.2.31
Linux 4.9.185
Reverted Simple LMK on AOSP builds as it doesn't appear to be making reclaims correctly atm.
V1.2.30
Linux 4.9.184
Introduced the latest stable Simple LMK from Sultanxda in AOSP kernels
V1.2.29
Linux 4.9.183
Addressed some regressions from the previous build
I forgot to update the kernel version lol
V1.2.28
Linux 4.9.182
Several improvements to ashmem, binder, SELinux dynamic memory allocation, IRQs & qos from Sultanxda
V1.2.27
Linux 4.9.180
V1.2.26
Linux 4.9.179
Cross compiled with GCC 9.1
Fixed instability in 4.9.178
V1.2.25
Linux 4.9.177
V1.2.24
Linux 4.9.176
Cleaned up defconfig
V1.2.23
Linux 4.9.175
Fixed F2FS
V1.2.22
Linux 4.9.174
F2FS support
V1.2.21
Linux 4.9.173
V1.2.20
Linux 4.9.172
Updated Gator driver to v6.9
V1.2.19
Linux 4.9.171
Unset CONFIG_AUDIT (reduce SELinux overhead)
Updated Gator driver to 6.8
V1.2.18
Linux 4.9.170
V1.2.17
Linux 4.9.169
V1.2.16
Linux 4.9.168
V1.2.15
Linux 4.9.166
Fixed 4.9.165 performance regression
V1.2.14
Linux 4.9.165
Unset CONFIG_ION_EXYNOS_STAT_LOG
V1.2.13
Linux 4.9.164
V1.2.12
Linux 4.9.163
V1.2.11
Linux 4.9.162
Unset approximately 15 CONFIG_TRACE & CONFIG_EXYNOS_SNAPSHOT related options
V1.2.10
Linux 4.9.161
Set CONFIG_STRIP_ASM_SYMS
Unset CONFIG_BT_DEBUGFS
Unset CONFIG_USB_DEBUG_DETAILED_LOG
Unset CONFIG_DEBUG_ATOMIC_SLEEP
Unset CONFIG_SEC_BOOTSTAT
Unset CONFIG_SEC_UPLOAD
Unset CONFIG_SEC_DEBUG_PPMPU
V1.2.9
Linux 4.9.160
Optimised scheduling
Unset CONFIG_MODULES
Unset CONFIG_EXYNOS_CORESIGHT (and everything it unsets)
Unset CONFIG_DEBUG_LIST
Unset CONFIG_DEBUG_EXCEPTION_STACK
Unset CONFIG_TIMER_STATS
Unset CONFIG_DEBUG_NOTIFIERS_PRINT_ELAPSED_TIME
Suppressed additional minor logging
V1.2.8
Linux 4.9.159
Unset CONFIG_SDFAT_DEBUG
Unset CONFIG_SCHED_DEBUG
V1.2.7
Linux 4.9.158
ARL4 Kernel Source
V1.2.6
Linux 4.9.156
V1.2.5
Linux 4.9.155
V1.2.4
Linux 4.9.154
DriveDroid support
Fixed Android System warning on boot on GSI and AOSP kernels
V1.2.3
Linux 4.9.153
Fixed several weird bugs related to booting including requiring Magisk to boot!
V1.2.2
Linux 4.9.152
V1.2.1
Linux 4.9.151
V1.2.0
Linux 4.9.150
Realigned defconfig closer with ELS to hopefully fix some issues
V1.1.9
Linux 4.9.149
Updated WireGuard importer
FAQ
A FAQ section will be established as kernel development progresses. If you have any explicit unanswered questions, feel free to ask away. If you must contact me due to an issue, please report your device variant, ROM, firmware, vendor and previous kernel.
1. I can’t unlock / boot my phone! What do I do?
If you're stuck in a lockscreen loop, make sure you're on a firmware with a matching ramdisk to the kernel. Do not mix a CSC1 kernel ramdisk with a CSA2 ROM for example. Anytime the ramdisk is changed, it will be listed in the changelog. Are you on the correct firmware and vendor? If not, you can always flash this zip or revert back to previous versions through the Android File Host folder. Can anyone else successfully flash the kernel? If yes, verify the MD5 sum by referencing and ensuring a matching MD5 sum between the local file and the Android File Host file. Did I just push an update? If yes, contact me on Telegram in the Endurance Kernel group for a faster response, and XDA for an eventual response. Does your ROM require a permissive SELinux status to boot? If yes, use the 'Magisk SELinux Manager' module to adjust your SELinux status. If none of this can solve your problem, contact me through the Endurance Kernel group.​
2. Why doesn't my camera work after flashing the kernel?
Verify that you are on the correct firmware, vendor and a ROM that supports the current kernels sources. If you are still encountering issues after verifying this is correct, then let me know! If you do not wish to update, you can maintain a version of the kernel that does support your ROM by reading the changelog and downloading the previous versions from the Android File Host folder​
3. Why doesn't my Bluetooth work after flashing the kernel?
Are you on a ROM that does not patch libsecure_storage, such as DevBase? If your Bluetooth is broken, the answer is probably. Instead you can use ianmacd's Magisk module 'libsecure_storage companion for rooted Samsung devices' or you can manually flash a zip to patch it yourself, without the need for Magisk.​
4. Why doesn't my WiFi work after flashing the kernel?
Make sure you have forgotten and rejoined all WiFi networks after installing the kernel if the device won't connect to the network. If the devices WiFi won't turn on at all, make sure you do not have ianmacd's 'libsecure_storage companion for rooted Samsung (Oreo) devices' installed. If you're still encountering issues, please contact me in the Telegram group or on XDA.​
5. Should I use the permissive or enforcing SELinux status?
The decision is yours. There is plenty of documentation available online outlining their differences. I strongly recommend enforcing, hence why permissive is not officially supported. Permissive is far less secure, and hence I do not condone the use of permissive. If you are using permissive, you should either have to due to a dependency or have another specific reason for doing so. eg. ROM requires disabled signature check. For most users, unless directed otherwise, use the default enforcing build.​
6. When will you update the kernel?
Once ELS is updated and the kernel is ready! This is just a side hobby and I do have a life outside of kernel development. Be patient, the update will arrive within a few days if not ASAP.​
7. Will you add CPU / GPU undervolting?
No, EAS (Energy Aware Scheduling) has mostly made CPU undervolting mostly irrelevant. Google EAS if you would like it find out more information as to why it is the case. I've included a detailed YouTube video outlining the scheduling mechanisms of EAS here. Currently, any GPU voltage control for Exynos 9810 devices does not work, hence I will not be including it in my kernel.​
8. Do I need to install Magisk?
Magisk is entirely optional with this kernel.​
9. Why does this kernel offer no additional governors?
Because most of them are unstable and cause the device to crash, as well as EAS' integration with schedutil and EHMP.​
10. Why does this kernel makes my device crash / battery poor / performance poor?
Because this kernel is still in beta. Since I can't personally verify anything with the kernel, it's possible there may be issues. If this is the case, report it on the XDA thread or Telegram group.​
11. Why is my WiFi performance worse when using this kernel?
This may be the case for some people. This kernel uses the Westwood+ TCP algorithm for enhanced WiFi speeds on certain networks. However there may be scenarios on poor signal networks, this TCP algorithm may cause packet loss at a greater rate than is default. This should hopefully not be an issue for anyone, however if it is, try using bic as default and contact me.​
12. Why is my battery still terrible?
Are you in an area with poor signal reception? Unfortunately that is one thing a custom kernel cannot compensate for due to the device modem having restricted access and also legal issues. That leaves us with optimizations that can only be done to the SOC of the device. How you use your device can also greatly lead to variation in battery stats. If you are in need of further battery, 'underclocking' is available and is explained in OP. If you want the best battery life, I advise you try out that build.​
13. Why does SafetyNet fail on the AOSP kernels?
This is a minor issue I don't believe I can address on my end. This can be worked around however to allow SafetyNet to pass. You will need the 'MagiskHideProps' module installed. After rebooting, using a Terminal Emulator app enter the following commands in the order listed without quotation marks.
Type 'su'
Type 'props'
Type '1' to edit the device fingerprint
Type 'f'
Type '13' to select Samsung
Type '23' or '24'
Reboot
14. How can I use F2FS?
To use F2FS, you must erase your data and format your data partition (and optionally cache partition) to F2FS using the N9 TWRP available here, even if you are on S9. From there you should be able to reboot your device and restore your data through a backup.​
15. Where can I donate?
I used to not accept donations but while I'm undertaking my degree, a small donation could go a long way. You can donate through my PayPal link here.​
Bluetooth connections does not stick. Latest oreo.
Edit: Install libsecure from magisk and the issue fixed.
burakgon said:
Can't connect to wifi. Bluetooth connections does not stick. Latest oreo.
Click to expand...
Click to collapse
Hmmmm the kernel is using the latest ramdisk. This wasn't an issue in any of my beta tests. What device model are you on? Anyone else?
Eamo5 said:
Hmmmm the kernel is using the latest ramdisk. This wasn't an issue in any of my beta tests. What device model are you on? Anyone else?
Click to expand...
Click to collapse
After connecting a different network, I could reconnect my old wifi. But after reboot bluetooth connections does not stick. Check with s pen.
burakgon said:
After connecting a different network, I could reconnect my old wifi. But after reboot bluetooth connections does not stick. Check with s pen.
Click to expand...
Click to collapse
You might need to use the libsecure_storage companion Magisk module to fix Bluetooth pairing on some ROMs.
Amazing!!! Bring Exynos back to the glory again... Golden Age is coming again for Exynos I knew there's alot of sh*t happening on kernel level with Exynos.... I'm glad you got it all sorted (nearly)
But... I will wait till you add or support GPU & CPU undervolt , CPU Overclocking as undervolting CPU will further increase battery life it is obvious
Thank you! For providing this kernel!! I will keep watching it till at least have an undervolting CPU & GPU support (I'm not asking for any ETA'S) Thank you again!
#Exynos is back
Nice to see this here! Kudos
Good job man, this kernel working very good and Good battery life.. on my N9 TW keep going bro
Da-BOSS said:
Amazing!!! Bring Exynos back to the glory again... Golden Age is coming again for Exynos I knew there's alot of sh*t happening on kernel level with Exynos.... I'm glad you got it all sorted (nearly)
But... I will wait till you add or support GPU & CPU undervolt , CPU Overclocking as undervolting CPU will further increase battery life it is obvious
Thank you! For providing this kernel!! I will keep watching it till at least have an undervolting CPU & GPU support (I'm not asking for any ETA'S) Thank you again!
#Exynos is back
Click to expand...
Click to collapse
The conservative scaling of frequencies should already return some battery life, but slightly worsen the scores of some synthetic benchmarks. This is counterbalanced by the introduction of 16ms PELT which will in return improve real world performance.
The OC build will be much more performance centred.
The UC build should reduce peak power drain, but most battery savings will occur in the standard build. As stated in the FAQ, undervolting is mostly irrelevant with EAS.
Trying to work out the script ATM with a talented Note 9 tester. Hopefully should be introduced soon
Eamo5 said:
The conservative scaling of frequencies should already return some battery life, but slightly worsen the scores of some synthetic benchmarks. This is counterbalanced by the introduction of 16ms PELT which will in return improve real world performance.
The OC build will be much more performance centred.
The UC build should reduce peak power drain, but most battery savings will occur in the standard build. As stated in the FAQ, undervolting is mostly irrelevant with EAS.
Trying to work out the script ATM with a talented Note 9 tester. Hopefully should be introduced soon
Click to expand...
Click to collapse
I'm really happy to hear that :victory: this is like a new year gift to my ears !:victory:
But I'm really sorry for not being specific... I know what you mean for the CPU undervolting is irrelevant I have readed the FAQ ....
But what about the GPU? Is undervolting is irrelevant for the GPU too? it is an achievement when maximizing GPU OC with undervolting since the GPU is the weakest part on the Exynos... a significant OC pump frequency with tweaking voltage will bring some performance pump on heavy graphics performance :fingers-crossed: see what I mean?
Waiting for your reply.... as your opinion matters to me alot
Again Thank you.. Thank you!
Da-BOSS said:
I'm really happy to hear that :victory: this is like a new year gift to my ears !:victory:
But I'm really sorry for not being specific... I know what you mean for the CPU undervolting is irrelevant I have readed the FAQ ....
But what about the GPU? Is undervolting is irrelevant for the GPU too? it is an achievement when maximizing GPU OC with undervolting since the GPU is the weakest part on the Exynos... a significant OC pump frequency with tweaking voltage will bring some performance pump on heavy graphics performance :fingers-crossed: see what I mean?
Waiting for your reply.... as your opinion matters to me alot
Again Thank you.. Thank you!
Click to expand...
Click to collapse
GPU Voltage control was originally ported over to the Exynos 9810 but the voltage control was seemingly broken. When GPU voltage control is working, I'll introduce it again. Underclocking the GPU and allowing to run at a lower minimum frequency is something I may eventually investigate and measure if there are any benefits.
Eamo5 said:
GPU Voltage control was originally ported over to the Exynos 9810 but the voltage control was seemingly broken. When GPU voltage control is working, I'll introduce it again. Underclocking the GPU and allowing to run at a lower minimum frequency is something I may eventually investigate and measure if there are any benefits.
Click to expand...
Click to collapse
Thank you :fingers-crossed::good:
Running this kernel for 24 hours. Battery life & smoothness improved. No problem yet. Stock latest oreo S2ARL3 Thank you.
Endurance Kernel V1.1.8
Happy New Years!
Linux 4.9.148
Fixed GPU minimum frequency on TW build
Download links updated in OP!
Eamo5 said:
Endurance Kernel V1.1.8
Happy New Years!
Linux 4.9.148
Fixed GPU minimum frequency on TW build
Download links updated in OP!
Click to expand...
Click to collapse
thank you sir.
to you and yours aswell
Eamo5 said:
Endurance Kernel V1.1.8
Happy New Years!
Linux 4.9.148
Fixed GPU minimum frequency on TW build
Download links updated in OP!
Click to expand...
Click to collapse
Nice! Happy New year to all XDA! Cheers :highfive:
Will see version for pie soon?

(EOL) [Kernel][04.10.21][Q:1.6.3][R:2.6.0] JimboK - Kernel for SM-8250 (S20 and Note 20 Snapdragon)

Hello!
I want to introduce my first custom kernel for the SM8250 family of Snapdragons. This is based of latest Samsung OneUI 2.5 Sources and I cherry-picked commits to make improvements to the stock base. I'm not a developer, but i really like to port stuff over .
I will try to have this Kernel updated as soon as new source tarballs are drop by Samsung. If you want to request for specific features, let me know and i'll do my best to bring them over.
Special Features:
Changelog is in post #2
How to Install:
First, make sure you are in any OneUI 2.5 (BTH* or BTI*) ROM and have TWRP on the device. Make sure you take a backup of your current boot partition in twrp, now install either the boot.img (extract from the tar file) or use ODIN to flash in Dowload mode. Please make sure to read Post #3 regarding issues with the current OS Patch Level. Images from 1.5.0 onwards are pre-rooted but you will probably need to update magisk either manually or by flashing latest magisk.zip file.
Keep in mind the following table to determine your phone model:
x1q = S20 - G981X
y2q = S20+ - G986X
z3q = S20U - G988X
r8q = S20 FE - G781B
c1q = Note 20 - N981X
c2q = Note 20U - N986X
IMPORTANT NOTE: It seems some users need to flash a vbmeta image file provided by Google in order to boot and user the Custom Kernel. If you find yourself in a situation were you are not able to boot, please flash the attached vbmeta img along with the Kernel and if still bootlooping share the last_kmsg to determine what's driving the issue.
Download:
Disclaimer: I am not responsible if you use this and brick your device or if your device blows up, implodes, flames start shooting from it or it kills your neighbor's dog. Flash at your own risk. I am not responsible.... It was the other guy... I swear....
You can use THIS link to get the latest builds. These and other downloads can also be found in the Telegram Group.
Sources for Q? https://github.com/Jimbo77/JimboK_common_sm8250
Sources for R? https://github.com/Jimbo77/Jimbok_common_sm8250-R
Join the Telegram Group for additional discussions and downloads - HERE
Special thanks to:
Afaneh
Ianmcd
0smosis
flar2
Lord Boeffla
jesec
elliwigy
pappasmurf
For their work and dedication to development!
Changelog or features or whatever
04.10.21 - JimboK-R-2.6.0
Upstreamed to .185
04.05.21 - JimboK-R-2.5.0[/B]
Sync code to add missing changes in upstreamed branch
Reworked the DEVFREQ_BOOST driver
Tweaked SchedHorizon default freqs
Tweaked DEVFREQ_BOOST defaults in defconfig
03.31.21 - JimboK-R-2.4.0[/B]
Upstreamed to Stable Linux 4.19.184
Built with cortex-a55 specific optimizations
removed facebook process from 'kill-in-the-background' mod. This was affecting the user experience (for those that use Facebook a lot, like my wife lol)
02.24.21 - JimboK-R-2.3.0[/B]
Upstreamed to Stable Linux 4.19.176
Switched from G988U source as base to N986N source drop for OneUI 3.1
Removed a lot of unused configs from defconfig. This resulted in a reduction of Kernel size and will have an impact on the overall performance and resource utilization.
Reworked the DEVFREQ and CPU_INPUT_BOOST drivers
Added and Enabled schedhorizon governor
Imported the option to edit the CPU Frequency table
Performance Governor is default for LITTLE Cluster now
02.03.21 - JimboK-R-2.1.0[/B]
Upstreamed to Stable Linux 4.19.172
Moved to KOR dts to improve on stability for custom DTBO's
Added Flicker-Free or DC Dimming. There are two versions of the Kernel and this will be the only version with Flicker Free. After this, there will not be added since i don't like how it messes the Screen Colors/Performance.
Disabled Bootstats
Enabled MPTCP
01.25.21 - JimboK-R-2.0.0[/B]
Upstreamed to Stable Linux 4.19.169
Disabled several not needed debug Samsung Configs
CPU ASSIST Feature
Disabled ZRAM and SWAP
DTS (dtb and dtbo) updates for all variants to their latest source drops
General CLANG and LLVM optimizations
01.01.21 - JimboK-R-1.8.0
Reworked both DEVFREQ and CPU_INPUT Boost functionalities
finetuned for SM8250 (Samsung) specific frequencies/values
added and enabled Simple Low Memory Killer (SLMK)
added: CIFS, NTFS and ISO9660 FS in-kernel Support
added Wireguard Support
Several 'under the hood' improvements to task/memory management.
12.28.20 - JimboK-R-1.7.0
Added BBR2 TCP Config and made Default
Several updates to NET protocols and BBR2
Added PROC_MAGISK_HIDE_MOUNT
Added a script to fix Shealth, Smart View and set ZRAM parameters.
12.25.20 - JimboK-R-1.6.0
Added Dynamic Fsync
Tweaks for Memory Management
Updated LZ4 compressor
Enabled ZSTD Compressor for ZRAM - Default now
12.21.20 - JimboK-R-1.5.1
Fixed Wifi Calling
12.20.20 - JimboK-R-1.5.0
Fsync On/Off Support
Readahead 0
Slimbus OC
Toggle to enable/disable CRC
Turned off several debug options within the tree
added EAS related commits
12.16.20 - JimboK-R-1.4.0
Added Kcal Color Control Driver
Added KLAPSE Driver
Disabled Gentle Fair Sleepers
Added Boeffla Wakelock Blocker
Disabled AVB Flag for better protector in terms of SafetyNet
Misc fixes and addons to dtb
12.15.20 - JimboK-R-1.3.0
Skipped, no public Release xD
12.13.20 - JimboK-R-1.2.0
Added IO-SCHED drivers like: ZEN, FIOPS, MAPLE etc...
Added DevFreq Boost Driver and tuned based off OP8
Added Adreno Boost Driver
12.12.20 - JimboK-R-1.0.0
Initial Android R (OneUI 3.0) bring up
Source is based off the G988U source drop. This includes all other variant files, i have added support to all previous phones from day one now
Disabled Samsung Security useless stuff (DM Verity for example)
11.01.20 - JimboK-1.6.3
Added a fix to hide Magisk Mount for Isolated Processes. This is a critical leak in MagiskHide that can be exploited by apps trying to determine if the device is rooted. I had an issue with two payment apps that after applying this fix, they work. Not sure if they were finding magisk with this method lol. Read more here https://darvincitech.wordpress.com/2019/11/04/detecting-magisk-hide/
Finally removed the warning upon boot. EdXposed compatibility was not affected by the removal of it.
10.27.20 - JimboK-1.5.0
Rebased to S20 FE source as baseline for all models. This is to ensure support for the S20 FE is added and to keep the most up date source from Samsung
Streamlined even further the 'common' defconfig and updated all other variant defconfigs to make it easier to build individual Kernels.
Removed GPU OC - This is to test drive if performance takes a small hit but battery is gained. I have this as *temp change* consider it a 'test' phase so i will need your feedback on it to see whether if we keep it or not. Also, the OC was causing issues to boot in N20 units and some weird hiccups in the System-UI for my S20U.
Added BBR2 TCP CONG protocol. By far, the best TCP CONG to speed up the network connections overall. Read out more here: http://dl.ifip.org/db/conf/networking/networking2018/2B1-1570416152.pdf
BBR2 is now default TCP CONG for the Kernel. I recommend ya'll to make the switch
Several Upstreams to NET/TCP in order to improve Network Connectivity and Speed.
Kernel comes pre-rooted now (via ramdisk). In the event of a magisk update you will only need to update through Magisk Manager. This is for the sake of simplicity
10.16.20 - JimboK-1.4.0
Removed several DEBUG options from defconfig that should not be present in a Production Kernel
Disabled ZSWAP and VBSWAP (this will create conflict with ZRAM) and ZRAM has proven to be more effective and create less wear than ZSWAP
Disabled LZO, updated LZ4 compression algorithms
Enabled ZSTD Compression, it is recommended to enable this for ZRAM moving forward
Disabled KPERFORM in defconfig
Enabled .gz compression for Kernel. Kernel is now almost 1/3 in size of what it used to be
Added and Enabled HID: NINTENDO SWITCH controllers support
10.13.20 - JimboK-1.3.0
Unified Sources a bit more. Removed the individual defconfigs to have one single plus each variant
for X1Q and Y2Q moved dts sources from CHN OPEN to KOR to keep it in line with main (Z3Q) sources and also for CXQ sources. BTI3 (latest software release) is now used for those models.
Enabled a few drivers inside of Kernel: CDC, NTFS, CIFS and some native gaming devices as well
Disabled DM_VERITY checks. This will help with the booting times
JimboK-1.2.0 and before:
Build with latest LLVM Clang 11
Disabled Samsung Security useless stuff (DM Verity for example)
GPU OC up to 895mhz
Adreno Boost
Boeffla Wakelock Blocker Driver
Disabled ZRAM and moved to ZSWAP and VBSWAP
KCAL Color Control Driver (Up to date)
KLAPSE Driver (check out https://forum.xda-developers.com/an...apse-kernel-level-livedisplay-module-t3907025)
Added IO-SCHED drivers like: ZEN, FIOPS, MAPLE etc...
Latest Wireguard Driver
BBR TCP Congestion algorithm by Default
built-in Kernel Westwood and other modules
SLIMBUS OC to improve the Audio Mods
Several Debug Options removed from driver and all over the Kernel itself
QCACLD-3.0 Support
Dynamic Sync Control
Fsync On/Off Toggle
Several EAS commits for balancing power+efficiency
OS PATCH LEVEL set as 2099-12 (Read post #3 - Mandatory)
OS PATCH LEVEL PROBLEM
This is a modified version of @evdenis post HERE
My Kernel uses an OS Patch Level of 2099-12 to maximize its compatibility among all releases by Samsung across all the supported phones. That's it. No other reason as to why choose that date, now, when you continue using my Kernel update after update there will be no issue, but if you change the kernel to any other (specially stock) chances are that Kernel is using the current month OS PATCH LEVEL which will cause two things:
You will not be able to pass beyond your lockscreen. No matter what you try, it won't let you unlock upon reboot
Your Samsung Account will warn you to log off and log back in but you will not be able to do so
The problem is not in sources. It's due to os_patch_level mismatch with you current kernel. As mentioned JimboK Kernel does not uses common security patch date to be in sync with the official samsung firmwares. You can check the default os_patch_level in build.mkbootimg.* files. However, this date can be higher than other kernels use. When you flash a kernel with an earlier patch date on top of the previous one with a higher date, android activates rollback protection mechanism and you face the problems stated earlier. It's impossible to use a "universal" os_patch_level because different users use different custom kernels and different firmwares. JimboK Kernel uses a highest date by default in order to suite most of users.
How can you solve the problem? 6 ways:
You can restore my kernel and the problems will be gone
You can flash the attached zip file. backtothefuture-2099-12.zip, it will make your new Kernel Patch OS Level 2099-12 thus avoiding the issues above. - read more about the zip HERE. You will have to flash this with any new kernel if you ever use mine (unless you do a full wipe as mentioned at the end of this list).
You can check the os_patch_level date of your new kernel here https://cruelkernel.org/tools/bootimg/ and patch the kernel image image to the same date. If your previous kernel is mine (JIMBOK), patch your new Kernel to 2099-12 date.
You can reboot to TWRP, navigate to data/system and delete 3 files those names starts with 'lock'. Reboot. Login, set a new pin. To fix samsung account login, reinstall the app
You can rebuild JimboK Kernel with os_patch_level that suites you. To do it, you need to change the OS PATCH LEVEL to the desire date when using mkbootimg.
You can do the full wipe during the new Kernel flashing
Update 10.20.20
Updated the zip file to add support for W models.
Update 10.19.20
Updated the zip file to remove Exy devices and focus solely in N20 and S20 Snap line.
Finally kernel for s20 thanks a lot.
Works great!
I've got bootloop with my S20U G9880 after flashing this kernel even with a full wipe
Working
It works on my G9810 Thanks!!!
stszf9124 said:
I've got bootloop with my S20U G9880 after flashing this kernel even with a full wipe
Click to expand...
Click to collapse
Strange I have G988N which is just about the same and I don't have that issue. Did you come from a rooted device? Were you in a custom ROM before?
Can you tell me a bit more of your setup?
Are there any other G9880 users with the same issue?
I have s20+ 5g g986u
Unlocked bl
Flashing twrp
Flashed the kernel
Flashed vmbeta disabler
Flashed magisk
Boot
All ok
Thank you
thank you
my device is running custom Rom and stock kernel, the firmware is BTH6 , last night I installed the latest version of TWRP and format data and flashed the multiple disabler, the device booted , but it got this issue after the kernel was installed even with a full wipe again
has battery life been improved?
can i flash this and then magisk to get root?
Smartphones13 said:
can i flash this and then magisk to get root?
Click to expand...
Click to collapse
Yes, you can do that.
Viet.molet said:
has battery life been improved?
Click to expand...
Click to collapse
I flashed this and did a minor debloat and gained roughly 30 minutes of screen on time.
I also noticed the animation from recents to home screen is slightly snappier.
Could be placebo but I like it.
@jimbo77 what kind of benefits do I get by flashing your Kernel?
chieco said:
@jimbo77 what kind of benefits do I get by flashing your Kernel?
Click to expand...
Click to collapse
Disabled some Samsung Security, you will be able to run edxposed if you are into that. Also a few changes and add-ons, read the op for some of the features added to the Kernel
Works on sm-g9810?
jucin said:
Works on sm-g9810?
Click to expand...
Click to collapse
It should. Although I haven't personally tried since I own a G988N
jimbo77 said:
Yes, you can do that.
Click to expand...
Click to collapse
Hey man, how's it going? Did you do anything special to get kcal working on the kernel? Mental made a kernel for the Note 20 Ultra but said he could not get Kcal working.
Also, even better, would you consider making a common kernel for the Note 20 Ultra Snapdragon? I'd definitely send a donation your way.

Categories

Resources