[EOL][LINARO][20190713] Pulsar Kernel for One X+ International - HTC One X+

Disclaimer
Use this kernel at your own risk.
Even though it seems pretty stable at the moment, there might still be some bugs waiting to introduce themselves.
I am in no way responsible for any harm that may come to your device during your use of this software.
Use Kernel Adiutor or EXKM to change kernel settings.​
Features
Merged Android security updates up to July 2018
Governors: interactive (default, updated), ondemand (2-phase capable), userspace, performance, powersave, conservative
I/O schedulers: zen (default), sio, bfq, noop, cfq, row, deadline
Intelliplug CPU hotplug (by @faux123)
TCP congestion algorithms: westwood (default), reno, bic, cubic, highspeed, hybla, htcp, vegas, veno, scalable, lp, yeah, illinois
Tegra low power core overdrive
Undervolting support
Zram & kernel samepage merging support
S2W/S2S (swipe on capacitive buttons) & DT2W support
F2FS, NTFS read/write
Disabled GENTLE_FAIR_SLEEPERS
Included SafetyNet patch (please see this post)
Mount namespace support (e.g. for Magisk Hide)
Compiled with Linaro GCC Toolchain 7.x
Optimized and tuned for Cortex A9
Lots of under-the-hood patches and fixes
Known Issues
Occasional reboots under heavy load
Occasional Bluetooth audio stutters on device wake (LineageOS 12.1)
Download
CarbonROM 5.1.1: Link
LineageOS 12.1: Link
CM 11.0 (last official nightly): Link
Installation
Extract the downloaded kernel ZIP and run flash.bat if you're on Windows or flash.sh if you're on Linux or macOS.
OR
Manually flash boot.img using fastboot, and replace all files in /system/lib/modules with the files inside the included modules folder.
Changelogs
20190713
- Recompile with Android logging system (logcat) enabled
- Upgrade to Linaro 7.4-snapshot-2019.01
Click to expand...
Click to collapse
r24 (2018/07/17)
- Merged Android kernel security patches from October 2017 to July 2018
- Added support for the mount namespace for Magisk Hide
- Disabled doubletap2wake and sweep2wake/sweep2sleep by default
r23 (2017/09/06)
- Merged Android security kernel patches for 2017/09/05
- Revert default cpu governor to interactive
- Update intelliactive cpu governor and intelliplug cpu hotplug to latest sources
- Optimized square root algorithm
- Low Power core overdrive: maximize the power of the Tegra 3 low power core
- Over a hundred fixes from Lineage 14.1 kernel for Nexus 7 2012 (list here)
r22 (2017/08/22)
- Use performance cpu governor by default to speed up boot
- Major update to interactive cpu governor
- Remove the other cpu governors (smartass, wheatley, etc) - they weren't used that much anyway
- Updates and fixes to cpu freq handling (from @franciscofranco's Nexus 7 2012 kernel)
- Add touchboost driver
r21 (2017/08/13)
- Add zen iosched
- Merged Android kernel security patches for 2017/08/05
r20 (2017/06/13)
- Re-enable SELinux in preparation for Marshmallow
- Enable xt_qtaguid module to make cellular data work again
- Make dt2w configurable via Kernel Adiutor & co.
- Disabled tegra mpdecision hotplug
r19 (2017/06/12)
- Build with HyperToolchain UBERTCxLinaro (GCC version 6.1.1)
- Fixes for all applicable CVEs as outlined in the Android Security Bulletin (2015 - 2017/06)
r18 (2017/06/10)
- Enabled all TCP congestion algorithms: westwood (default), reno, bic, cubic, highspeed, hybla, htcp, vegas, veno, scalable, lp, yeah, illinois
- Included SafetyNet patch
- Lots of updates from @Lloir's lineage-13.0 branch
r17 (2016/12/20)
- UBERTC 6.2.1 (I finally figured out how to compile UBERTC 6.x on Mac!!!)
- Lots, and I mean lots, of fixes to the kernel from @Andy.Lavr (Linux 3.1.12)
- add governors: badass, smartassH3, wheatley
r16 (2016/11/27)
- Just UBERTC 4.8.5 this time
- Remove fast charging code, it never worked anyway
- Patch for Dirty CoW vulnerability
- Disable SELinux by default
- Allow SELinux mode changing
r15 (2016/04/30)
- tried compiling with SaberMod 4.9 and UBERTC 6.0
- make dt2w work on the entire screen, for real
- Graphite!
r14 (2016/04/18)
- re-enable tegra_mpdecision
r13 (2016/04/10)
- enable support for FiiO DAC
- f2fs: enable security labels and consistency checking
- don't turn off flashlight on screen off
r12 (2016/04/02)
- add support for FiiO DAC (Cyanogen, Inc.)
- add 2A fastcharge
r11 (2016/03/28)
- add lulzactive, pegasusq, and touchdemand governors
r10 (2016/03/26)
- now dt2w works on the entire screen
- changes to default values for smartmax(_eps)
- re-add smartassv2 and lagfree
r9 (2016/03/24)
- successfully compile with UBER Toolchain 4.8.5
r8 (2016/03/19)
- patches to android/binder
- patches to baseband code
- add 'extra free kbytes' tunable to sysctl
- increase max volume (unknown if placebo)
r7 (2016/03/13)
- arm: make return_address available for ARM_UNWIND
- remove all traces of nVidia hotplug
- reduced dmesg log spam
- more compiler flags
r6 (2016/03/12)
- removed cpuquiet
- disabled mpdecision and nvidia hotplug
- added @faux123's intelliplug, set it as default
- added smartmax_eps governor
- enabled cgroups
- disabled gentle fair sleepers
r5 (2016/03/10)
- patches to low memory killer
- add tegra mpdecision
- remove smartassv2 and lagfree
r4 (2016/03/09)
- patches to s2w/dt2w
- add smartassv2 and lagfree (untested)
r3 (2016/03/08)
- added intelliactive governor
- patches to BFQ scheduler
r2 (2016/03/07)
- integrated a few modules into kernel
- use performance as default governor
r1 (2016/03/06)
- initial release
Click to expand...
Click to collapse
Credits
@Lloir
@XtheOne
@faux123
@show-p1984
@maxwen
CyanogenMod
everyone who tested! :fingers-crossed:
Kernel Information
Source: GitHub
Compiler: GitHub
Branch: master
Linux kernel version: 3.1.10
Defconfig: enrc2b_defconfig

Screenshots​
Sample kernel settings
{
"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"
}
Benchmarks
I know benchmarks mean nothing, but I ran five benchmarks on this phone using Pulsar. You know, for posterity
Kernel settings etc. used during benchmarking
Governor: smartmax (with intelliplug enabled)
Min/Max Freq: 51/1700 MHz
I/O Sched: sio (with 1280KB readahead)
Memory: KSM enabled, Aggressive LMK settings
Undervolt: (in order from 475-1700MHz) 700, 750, 825, 875, 925, 975, 1000, 1050, 1100, 1150 mV
Click to expand...
Click to collapse
Screenshots of scores
AnTuTu
3DMark
Geekbench 3
Vellamo
Note: The WebView Library installed on the device during benchmarking is NOT the one included in CM (old); rather, it's Google's version (new).
Quadrant

Frequently Asked Questions (FAQ)
My device won't boot after flashing this kernel / I have no reception.​
Make sure you flashed boot.img via fastboot AND copied the .ko files inside the zip onto the "/system/lib/modules" folder inside your device.
Remember, this kernel only works on the ROMs outlined in the downloads section.
My SIM card disconnects at random.​
http://forum.xda-developers.com/showpost.php?p=35224237&postcount=6
SetCPU/No-frills/etc won't work!​
Use Kernel Adiutor. (It's free.)
How to build on Linux?​
There are already lots of tutorials on this, just use Google.
How to build on Mac OS X?​
Setting up a working build environment on Mac proved difficult as there aren't that many tutorials available on the internet, and the ones that did exist didn't help me solve the weird errors I got when building. This stumped me for a good two weeks, but finally figured it out.
So here goes:
Get the XCode commandline tools.
If you already have XCode installed, good for you. You can skip this step.
If you don't have XCode, there's no need to waste hours of your time on downloading this 6GB app when all you need is 200MB of it. Open Terminal and enter
Code:
xcode-select --install
If that takes too long, you can also try downloading the XCode Command Line Developer Tools from here (log in with your Apple ID first).
Once you have that installed, proceed to the next step.
Install build dependencies using Homebrew
Homebrew is a very important tool for developers on Mac. If you don't have it yet, install it by entering this in Terminal.
Code:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
When that's done, enter this:
Code:
brew update
brew install findutils gnu-sed gnupg xz ccache android-platform-tools libmpc
brew install homebrew/dupes/ncurses
Once it's done, proceed.
Make a disk image
The default filesystem in OS X isn't case-sensitive, and the Linux kernel source doesn't like that. Enter this in Terminal:
Code:
hdiutil create -type SPARSE -fs "Case-sensitive Journaled HFS+" -size 15g -volname "enrc2b" -attach ~/Desktop/Android
You can change "15g" to any size you want, but at least 20 GB is recommended.
You can also change "enrc2b" to any volume name you want. Just make sure you remember it!
Download the kernel source and toolchain
Replace "enrc2b" below with your chosen name if you used something else.
Code:
cd /Volumes/enrc2b
git clone https://github.com/jareddantis/pulsar-kernel_enrc2b -b master kernel
git clone https://android.googlesource.com/platform/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.8 toolchain
git clone https://github.com/CyanogenMod/android_external_elfutils.git elfutils
If that takes too long, hit Ctrl+C to stop the Git processes as needed. Repeat this step, but use "git clone --depth 1" instead of "git clone".
Use ccache
ccache greatly speeds up subsequent compilations by caching compiled code files in a specified directory. Make that directory by
Code:
cd /Volumes/enrc2b
mkdir ccache
To enable ccache, go to the next step.
Prepare environment
Edit your Bash variables by
Code:
nano ~/.bash_profile
Insert these lines at the end of the file:
Code:
export LANG=C
export LC_CTYPE=C
export ARCH=arm
export SUBARCH=arm
export KBUILD_BUILD_USER="YourNameHere"
export KBUILD_BUILD_HOST="YourComputerCodenameHere"
export CROSS_COMPILE="ccache /Volumes/enrc2b/toolchain/bin/arm-eabi-"
export USE_CCACHE=1
export CCACHE_DIR=/Volumes/enrc2b/ccache
KBUILD_BUILD_USER and KBUILD_BUILD_HOST can be anything you want. Just don't forget the quotes.
Enable ccache by
Code:
source ~/.bash_profile
ccache -M 10G
Cache sizes of at least 5 GB are recommended, but don't forget to leave space for the kernel compilation itself!
Compile
Code:
cd /Volumes/enrc2b/kernel
make clean && make mrproper
make cm_enrc2b_defconfig
make menuconfig # Optional - only if you're changing kernel settings
make -j4 HOSTCFLAGS="-I/Volumes/enrc2b/elfutils/libelf"
Replace the "4" in "make -j4" with the number of CPU cores (physical and logical) that your Mac has.
Your kernel should now be compiling. It took about 8 minutes to finish on my 2014 base-model MacBook Air.
Prepare for flashing
Code:
cd /Volumes/enrc2b
mkdir flashing
cd flashing
Download mkbootimg and unmkbootimg from here. Unzip inside the "flashing" folder we just created.
Your just-compiled kernel will be located at kernel/arch/arm/boot/zImage, copy that here by
Code:
cp /Volumes/enrc2b/kernel/arch/arm/boot/zImage ./
Now you'll need a copy of the boot.img in the Lollipop ROM you're currently using. Either extract that from the ROM zip or get "boot.emmc.win" from your TWRP backup.
My boot image is called "boot.img". Assuming I've already copied boot.img inside the "flashing" folder, I do
Code:
unmkbootimg -i boot.img
Two new files, ramdisk.cpio.gz and kernel, will be created. Delete ramdisk.cpio.gz and do this to put together your freshly-built kernel:
Code:
mkbootimg --base 0 --pagesize 2048 --kernel_offset 0x10008000 --ramdisk_offset 0x11000000 --second_offset 0x10f00000 --tags_offset 0x10000100 [B]--kernel zImage[/B] --ramdisk ramdisk.cpio.gz [B]-o boot.img.new[/B]
Reboot your phone into fastboot, connect it via USB, and do this to test your kernel.
Code:
fastboot flash boot boot.img.new
fastboot reboot
If everything goes right, you should now be booting your very own kernel. :highfive: :good:
If not, you can just reboot back into fastboot and flash back the original boot.img...
Code:
fastboot flash boot boot.img
fastboot reboot
...and try to see where the kernel went wrong.
How to report bugs?​
If it's just the usual lag, don't report it here. The HOX+ is an old device running new software, we have to live with these quirks. Try using apps like Greenify and changing your kernel settings to keep your hardware resources in check. Regularly running fstrim on your partitions also helps.
If it's kernel-specific, like random reboots, make sure you can reproduce the problem.
Once you have reproduced the problem, immediately reboot into recovery and adb pull /proc/last_kmsg. Attach that here and I'll try to take a look at it when I have time.
I can't promise a fix, though - I'm only a high school student, not an expert C developer. :laugh:

Not sure why your using that kernel...
https://github.com/Lloir/htc_kernel_oxp/commits/cm-12.1
That's the one that was being used in 12.1

Lloir said:
Not sure why your using that kernel...
https://github.com/Lloir/htc_kernel_oxp/commits/cm-12.1
That's the one that was being used in 12.1
Click to expand...
Click to collapse
Cool! I must have missed that somehow. Will try compiling from that tonight. Thanks! ?
Sent from my One X+ using Tapatalk

Hello,
Great to hear somebody is working on a custom 5.1 kernel.
Are you open to suggestion?
Do you need beta testers?
I'm here.
I would like to have kernel frequency scaling enabled, in manner I can use SetCPU app to save battery.
I will wait for the new compilation, and then I can help you with the tests.
I've currently installed CarbonROM 5.1.1, so I'm ready to test!
Ciao,
Giovanni

croccodillo said:
Hello,
Great to hear somebody is working on a custom 5.1 kernel.
Are you open to suggestion?
Do you need beta testers?
I'm here.
I would like to have kernel frequency scaling enabled, in manner I can use SetCPU app to save battery.
I will wait for the new compilation, and then I can help you with the tests.
I've currently installed CarbonROM 5.1.1, so I'm ready to test!
Ciao,
Giovanni
Click to expand...
Click to collapse
Suggestions are always welcome, but as I know very little about C/C++, perhaps it'll take a while for suggestions to be completed and included in the kernel.
Anyway, yes, alpha/beta testers are also welcome
If by "kernel frequency scaling" you mean being able to set min/max cpu freq, it's already working in 0.2-a, just use Kernel Adiutor for changing settings. I'm not sure if SetCPU will work.
If you /do/ plan to test, however, could you please send me a copy of the boot.img in Carbon 5.1.1? My internet's quite slow and I'm not sure if the ramdisk in CM (which is what this kernel is using) is the same as the ramdisk in Carbon. Thanks!

Well,
Here is the Carbon boot.img:
Cabon ROM boot.img
Hope this is what you need.
Ciao,
Giovanni

croccodillo said:
Well,
Here is the Carbon boot.img:
Cabon ROM boot.img
Hope this is what you need.
Ciao,
Giovanni
Click to expand...
Click to collapse
Thanks! That was what I needed.
Can you try this kernel? pulsar-enrc2b-0.3beta-CARBONROM-TEST-20160308.zip
Just replace all the .ko files in /system/lib/modules with the .ko files inside the "modules" folder in the ZIP, then flash boot.img with fastboot. Remember to take a nandroid of /system and boot first :fingers-crossed:
Tell me if it boots up. :laugh:

OK, here we are.
With your 0.31 version, the phone boots up, seem fine, S2W works, but there's no SIM!
I cannot access the SIM, so no phone calls are possible.
Please find attache last_kmsg.txt file (no last_boot.txtx because the source file is always empty).
I also attached a screenshot, you can see in the status bar a strange icon on the left of battery one; what does it means?
However, all the rest seems to work, the phone seems fast and responsive, no lags, and S2W works like a charm.
Great job!
Just to let you know: even the boot.img shipped with the Carbon ROM I have problems with the sim, I have to insert the pin twice, and sometime, during the day, I have to reinsert the pin again, one or twice a day.
As far as I remember, there was a problem with SeLinux rights. But probably I'm worng.
By the way, WiFi works great.
Now, back to original ROM kernel (this is my daily driver).
Ciao,
Giovanni

croccodillo said:
OK, here we are.
With your 0.31 version, the phone boots up, seem fine, S2W works, but there's no SIM!
I cannot access the SIM, so no phone calls are possible.
Please find attache last_kmsg.txt file (no last_boot.txtx because the source file is always empty).
I also attached a screenshot, you can see in the status bar a strange icon on the left of battery one; what does it means?
However, all the rest seems to work, the phone seems fast and responsive, no lags, and S2W works like a charm.
Great job!
Just to let you know: even the boot.img shipped with the Carbon ROM I have problems with the sim, I have to insert the pin twice, and sometime, during the day, I have to reinsert the pin again, one or twice a day.
As far as I remember, there was a problem with SeLinux rights. But probably I'm worng.
By the way, WiFi works great.
Now, back to original ROM kernel (this is my daily driver).
Ciao,
Giovanni
Click to expand...
Click to collapse
Did you use "pulsar-enrc2b-0.3beta-CARBONROM-TEST-20160308.zip" or "pulsar-enrc2b-0.3.1beta-20160309.zip"? Because the two have different ramdisks (and therefore different SELinux contexts).
The last_kmsg you attached was from a previous boot, meaning it was from the time when you were using the original kernel (Linux version 3.1.10-gb1789b5 [email protected]). You have to reboot twice before the correct logs appear (Linux version 3.1.10-pulsar+ [email protected]), sorry
If you can, try the zip I linked to in post #9 OR this newer zip.
P.S. Yeah, I also have the issue where I have to reinsert the SIM, it's quite annoying. But recently the issue hasn't occurred, so I'm happy

Ops, my fault, I tried "pulsar-enrc2b-0.3.1beta-20160309.zip", completely forgotten about Carbon ROM different ramdisks...
I will try the right one, last version, tonight.
However, even the wrong one boots up and works quite fine!
Ciao,
Giovanni

Hello Devs I was stuck on Jeallybean rom Viper for a loooooong time, and i relog into xda and boom you are aworking on a new kernel for CM 12 but wich Rom are u using? im willing to try another rom cause im a lil upset with my slow single task phone now... dunno why but it seems to be hard to get more than a 3 apps running. cause everything goes slooow as hell.. Thanks in advance and keep up teh good work

Installed the new and right kernel (pulsar-enrc2b-CARBONROM_TEST-0.3.2beta-20160309.zip), the S2W is quite buggy, the rest seems to work.
I still have the problem with the SIM, I can't use it; I still have the "No sim" icon on the status bar, and if I try to make a call the dialer tells me to exit the "flight mode".
Attached the right last_kmsg.
Ciao,
Giovanni

+ Que PPC said:
Hello Devs I was stuck on Jeallybean rom Viper for a loooooong time, and i relog into xda and boom you are aworking on a new kernel for CM 12 but wich Rom are u using? im willing to try another rom cause im a lil upset with my slow single task phone now... dunno why but it seems to be hard to get more than a 3 apps running. cause everything goes slooow as hell.. Thanks in advance and keep up teh good work
Click to expand...
Click to collapse
Hi, I'm using the latest CM 12.1 (2015/11/27) for One X+ international.
I can get lots of apps running and switch between just fine (with a little lag every now and then, what can we expect from a 4-year-old device?).
Greenify and custom LMK settings help a lot here, too.
croccodillo said:
Installed the new and right kernel (pulsar-enrc2b-CARBONROM_TEST-0.3.2beta-20160309.zip), the S2W is quite buggy, the rest seems to work.
I still have the problem with the SIM, I can't use it; I still have the "No sim" icon on the status bar, and if I try to make a call the dialer tells me to exit the "flight mode".
Attached the right last_kmsg.
Ciao,
Giovanni
Click to expand...
Click to collapse
Thanks for the log, much appreciated.
Does the SIM issue occur on stock kernel? This is weird, SIM works perfectly fine on mine. Maybe I need to use the kernel source CarbonROM is using.

aureljared said:
Hi, I'm using the latest CM 12.1 (2015/11/27) for One X+ international.
I can get lots of apps running and switch between just fine (with a little lag every now and then, what can we expect from a 4-year-old device?).
Greenify and custom LMK settings help a lot here, too.
Click to expand...
Click to collapse
Thanks a lot man, will try first the solution using greenify... even tho reading and writing on XDA seeing news, and participating makes me back to the Flash hunger adiction jejeje
Keep it up bud you are doing right, and yes, what can we spect for such an old device? at least a good old custom rom newer... its just for fun

I'm proud to announce that a release candidate is now available.
v0.3.3 rc1 (2016/03/12)
Changelog
- removed cpuquiet
- disabled mpdecision and nvidia hotplug
- added @faux123's intelliplug, set it as default
- added smartmax_eps governor
- enabled cgroups
- disabled gentle fair sleepers
Click to expand...
Click to collapse
This is the first major release, and the device runs a little bit smoother (and cooler!) with it.
Hope you guys enjoy :good:
P.S. See benchmark scores in post #2

Hello,
Still here.
As you know, I'm not able to use my sim with your Kernel and CarbonROM, so I tried a different route: installed Cyanogenmod 12.1 as you, installed your kernel over it and guess what? I still have NO SIM!!!!
With the stock Cyanogenmod 12.1 kernel, instead, the sim works fine (I'm using it right now).
What's the matter?
It seems the problem is not related to CarbonROM, but there's something going on with your kernel and my mobile...
Any idea?
I don't think so, but could it be I have the wrong radio?
Bootloader screen:
*** UNLOCKED ***
ENRC2B_U PVT SHIP S-ON RL
HBOOT 1.72.0000
CPLD-None
MICROP-None
RADIO-3.1204.171.33
eMMC-bootmode: disabled
CPU-bootmode: disabled
HW Secure boot: enabled
MODEM PATH: OFF
Jun 21 2013, 17:36:36
Attached last_kmsg from my mobile, running Cyanogenmod 12.1 and your 3.3 kernel.
Ciao,
Giovanni

Hello,
Still here.
As you know, I'm not able to use my sim with your Kernel and CarbonROM, so I tried a different route: installed Cyanogenmod 12.1 as you, installed your kernel over it and guess what? I have NO SIM again!!!!
With the stock Cyanogenmod 12.1 kernel, instead, the sim works fine (I'm using it right now).
What's the matter?
It seems the problem is not related to CarbonROM, but there's something going on with your kernel and my mobile...
Any idea?
I don't think so, but could it be I have the wrong radio?
Bootloader screen:
*** UNLOCKED ***
ENRC2B_U PVT SHIP S-ON RL
HBOOT 1.72.0000
CPLD-None
MICROP-None
RADIO-3.1204.171.33
eMMC-bootmode: disabled
CPU-bootmode: disabled
HW Secure boot: enabled
MODEM PATH: OFF
Jun 21 2013, 17:36:36
Attached last_kmsg from my mobile, running Cyanogenmod 12.1 and your 3.3 kernel.
Ciao,
Giovanni

also no sim
hi aureljared,
first thx for your work. as like as croccodillo i also have no sim. im running cm12.1 from lloir of course. i've tried selinux in permissive and enforcing mode but with no luck. see logs...
:cyclops:​

Related

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

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.

[KERNEL] [6.0] almost-stock (aka ex big-bum)

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
DOWNLOAD
HERE
Google Drive mirror
I'm not responsable for data loss or any damage to your phone if you're using my kernel. You flash this at your own risk. Always make a backup!
(You need SuperSU 2.50 for this kernel to work!)​
M/6.0 kernel:
Features:
new name: almost-stock, since it's... almost stock, but not really.
built on the base of latest Android 6.0 release, merged with franciscofranco's L kernel and CM/CAF12.1
built with -mcpu=cortex-a15 for enabling maximum performance with our Krait CPU.
reduced wireless wakelocks
underclocked GPU idle (GPU min/max 20/450MHz)
default CPU governor: CAF interactive, updated from CM/CAF12.1 branch.
built with cpu-boost driver to handle touchboost, default touchboost is set to 500ms and 1.2GHz
Motorola memory patches for ARM
default hotplug: MPDecision with updated rq_stats from CM.
I/O default schedueler: row
the famous I2C @ 19.2MHz, plus some other chips dropped at 19.2MHz and voltages lowered for internal components (Cl3Kener)
compilled with Linaro GCC (5.2.0) - arter's own build.
removed useless debug
workqueue udates from linux 3.7, power saving workqueues set on by default
selinux enforced (You need SuperSU 2.50 for this to work!)
partialsuspend enabled
various updates and fixes for net, mmc, thermal, selinux, block, cpufreq, sched, rcu, block
I probably forgot something
Credits:
neobuddy89, dorimanx, hellscore, franciscofranco, flar2, Cl3Kener
Christopher83 for Linaro GCC binaries, tutorials on how to compile Linaro, his Linaro binaries and tutorials
other people who work on Linux kernel.
arter97 for his GCC 5.2.0
Kernels from where I cherry-pick: Chaos/Hybrid - neobuddy89, Uber - Cl3Kener
Other guys from where I might cherry pick in the future.
Sources:
Kernel: ttps://github.com/StefanescuCristian/hammerhead
Ramdisk: https://github.com/StefanescuCristian/ramdisk_hammerhead
Toolchain:
https://github.com/arter97/linaro-lto
The attached images are from the KK version.
Oh, and if you want to build this for yourself, check this out!
XDA:DevDB Information
[KERNEL] [6.0] almost-stock (aka ex big-bum), Kernel for the Google Nexus 5
Contributors
big_bum
Source Code: https://github.com/StefanescuCristian/hammerhead
Kernel Special Features: GCC5
Version Information
Status: No Longer Updated
Current Stable Version: 2
Stable Release Date: 2015-11-01
Created 2014-07-07
Last Updated 2015-11-01
Reserved
Old kernel info:
Which version do I need?
It's pretty simple and I think I structured the download sites pretty good. If you want another structure or you have ideas for improvements, then feel free to post them. Anyway:
For AOSP based ROMs (Mahdi, Paranoid, Liquid Smooth, etc) use the AOSP folder. If you didn't change the ROM to support f2fs or f2fs-all, you must use ext4 or mpd*.
For Cyanogenmod based ROMs (CM, Carbon, AOKP, etc) you must use the kernels from the CM folder (cm or cm-mpd) . You can flash a f2fs version on CM. Read post 2, the Q&A section.
*mpd stand for MPDecision (make poor decision). It's qualcomm's user-space implementation for plugging/unplugging the cores. Some people say it's bad, some people say it's good. I personally like it and use it
Reserved
Lollipop Kernel
Features:
backports from upstream for most of main components
exfat for mounting exfat formatted sticks via USB OTG
f2fs for mounting f2fs formatted sticks via USB OTG or if you have an f2fs formatted internal memory (use the same image for all combinations of f2fs formatted partitions).
for mounting OTG sticks formatted in NTFS/exFAT/f2fs/other filesystem I recommend this app. FAT formatted sticks will automount if you use CM (might work on AOSP too, I haven't tested it)
I also include cherry-picks from other N5 kernels (especially from Chaos/Hybrid - @neobuddy89, Uber - @Cl3Kener and Code_Blue - @eng.stk)
min default CPU freq: 300MHz
max default CPU freq: 2.26GHz
default CPU governor: impulse
available CPU governors: ondemand, bacon, performance, powersave, interactive
hotplug: msm_hotplug developed by myfluxi
cpu-boost driver from CM.
I/O readahead size: 512KB
I/O default schedueler: fiops
other available I/O scheduelers: noop, deadline, cfq, BFQ, tripndroid
GPU min/max 20/450MHz
GPU default governor: simple
other GPU available governors: ondemand, performance
color profiles. Based on franco, works with FKU or Nexus Display Control app.
savoca's KCAL
franco sound
CM sound patches
dynamic fsync
various memory improvements. This doesn't mean less consumed RAM, also free RAM is wasted RAM for linux. Also, read this: http://www.linuxatemyram.com/
msm limiter (limits screenoff freq to 1.2GHz)
KSM: Kernel Samepage Merging.
KSM merges memory pages from one app with another app, thus only loading one memory page, not two pages that are the same.
Let's say that app A has the page X loaded in memory. Let's say that app B loads pages X and Y in memory. KSM detects that and points app B to the memory address from page X loaded by app A. In the end we have this:
Without KSM:
A: X
B: X, Y
Total: X, X, Y
With KSM:
A: X
B: ^, Y
Total: X, Y
Click to expand...
Click to collapse
the famous I2C @ 19.2MHz, plus some other chips dropped at 19.2MHz
HTCP as default TCP congestion control. (I personally don't see any differences between different TCP Congestion Control algorithms)
other TCPCC available: reno, bic, cubic (I used this in DD-WRT), westwood (they say it's good for wireless/3G/4G devices), vegas, veno
compilled with latest Linaro GCC (4.9.3), and with SaberMod
removed useless debug
I probably forgot something
Q&A
- Is it stable/bug free?
- As stable/bug free as franco's kernel is.
- Does it score better in benchmarks?
- I think so. At least Antutu says so, in the integer and float benchmarks. Quadrant also says this. It's not a huge difference, and you can't see it with the naked eye. But I don't trust in benchmarks that much.
- How's the battery life?
- (From Reddit) "The same battery life you get with Franco, if not a little better. Optimization means better performance, better performance means less time executing the same code, less time online means more deep sleep. Idk how much better it is, but it's not worse, anyway."
How can I configure it?
1. Universal Kernel Manager (Synapse + Script). Flash kernel, flash the zip from the link, install Synapse. Read here for more info on frequency getting stuck at 1.2GHz. TL;DR: go and setup via Synapse how you want, then go to CPU Tab, set minimum freq to 300Mhz, apply, enjoy.
2. FKU
3. Kernel Tweaker
4. Trickster Mod, via scripts in init.d, etc.
Recommended & tested ROMs:
Optipop
SlimAOSP
Terminus
Blisspop
This doesn't mean that ROMs are not supported, jus that I haven't tested them. The ROMs from this list are working as they should with my kernel.
Rollback:
Rename /system/lib/hw/power.msm8974.so.bak to /system/lib/hw/power.msm8974.so
Rename /system/bin/thermal-engine-hh-bak to /system/bin/thermal-engine-hh
Reboot to the bootloader and flash stock Kernel by downloading the Nexus images and then fastboot flash boot boot.img
Start the phone
Reboot to bootloader again and flash what kernel you want, and then start the phone.
Special thanks for testing and help:
@_MirageX_ @dox81 [mention]@pianistaPL[/mention] [mention]@shadowdevil[/mention]
Special thanks for donations:
[mention]@Paddybecks87[/mention] and the guy from reddit (notable-_-shibboleth) who also uses my build of pf-kernel for Ubuntu. (If you see this and you have a XDA username, give me a PM to put you in the list here)
Sources:
Kernel: ttps://github.com/StefanescuCristian/hammerhead
Ramdisk: https://github.com/StefanescuCristian/ramdisk_hammerhead
Toolchains:
Linaro: https://github.com/Christopher83/arm-cortex_a15-linux-gnueabihf-linaro_4.9.git
SaberMod: https://github.com/AuxXxilium/sm-arm-cortex_a15-eabi-4.9
BbKT (Big bum Kernel Tweaker): https://github.com/StefanescuCristian/android-kernel-tweaker
fabi_92 said:
I use big bum as primary but with some secondary rom and some kernel doesn't work.
FIX:
-flash rom
-flash gapps
-flash big-bum
-flash zip EXT4 or F2FS
-done
Click to expand...
Click to collapse
Old kernel info:
I said last night that this kernel works on CM.
First of all, CM is CAF. Our kernel is not CAF. This means that some libraries are not compatible with our kernel and need to be changed to make it compatible. This is exactly what Calkulin made. He made a zip that contain non-CAF libs to boot stock AOSP kernels.
I took that zip, modified it and put our kernel in it. This is more like a hack, it's not the real CAF kernel!
Also, in the OP I said that this isn't CAF-compatible by default. This is what I was talking about. With a little hack, it can run on CM.
This has nothing to do with the kernel. It's all in the libs. I only made a simple/easy/convenient way to flash CM and this kernel together.
How to:
Scenario 1: You don't have CM installed, you want to install it.
1. Download CM(tested with 07.07 nightly) or CM-based ROM zip. (In theory it should work)
2. Flash CM/CM-based ROM, gapps. Read the ROM OP for more details.
3. Flash the latest kernel/zip from CM folder.
When updating the ROM, you must reflash the kernel zip file from CM folder.
When updating the kernel, you can flash the normal ext4 version (zip or img from AOSP folder), or the hacked CM one (the zip from CM folder).
Scenario 2: You have CM and you want to try this kernel.
1. Download and flash the kernel/zip from CM folder.
When updating the ROM, you must reflash the kernel zip file from CM folder.
When updating the kernel, you can flash the normal ext4 version (zip or img from AOSP folder), or the hacked CM one (the zip from CM folder).
QA:
-f2fs/f2fs-all version for CM?
-No.
First of all, CM formats partitions to ext4 when flashing. You must edit your updater-script for it to work. If you know this, then you know what I'm talking about in the next 2 paragraphs.
Second, you can make a flashable zip by yourself.
Third, it's easier to download the zip from the thread and flash it, then flash a f2fs/f2fs-all kernel. (AOSP folder, zip or img)
You just have to be carefull that if you're on f2fs-all, you must edit META-INF/com/google/android/updater-script from Calkulin's zip file: replace ext4 with f2fs. Repack, flash your zip, flash f2fs/f2fs-all kernel, enjoy.
-I have done what you said. I now run CM on f2fs/f2fs-all. What do I do in case of an update?
-Well, it depends.
For ROM update:
1. Flash CM ROM.
2. Flash the zip you made and flashed when you asked the previous question (third point)
3. Flash f2fs/f2fs-all kernel
For kernel update:
1. Flash the appropiate f2fs/f2fs-all kernel. (AOSP folder, zip or img)
Credits: Calkulin for his thread, zip, files and discovery.
That's cool man ! Thank you for sharing this with us !
Sent from my Nexus 5 using XDA Free mobile app
Nice one
Sent from my Nexus 5 using Tapatalk
Thanks for sharing your kernel with us. Specs and notes sounds great, looking forward to running this.
-Sent from my Almighty Nexus 5 Hammerhead using XDA Premium 4 mobile app
Best kernel in 'da hood !
WoW !
Downloading. :good:
No disrespect, but since this is based on Franco this should be in Android Development. The mods will more than likely move it there soon.
Sent from my Nexus 5 using XDA Premium 4 mobile app
Welcome and very nice OP
Best kernel name by some margin.
This thread must be moved to Android Development as there are no "original" features here. Read rules before posting bro
Enviado do meu Nexus 5 através de Tapatalk
No problem man. I'll report myself and tell a mod to move it.
EDIT: It's already reported.
Dude take it easy "bro"..why do people get so upset?!? It's a freaking website forum...nothing more..people already mentioned it before you in a much much nicer way...thanks for the work OP it's great
Sent from my Google/LGE Nexus 5 Hammerhead
I really didn't get upset.
I didn't know how else to move the thread, so I thought that reporting it is the way to go.
Nice I'm gonna test it out great work man
Btw can live without it but gotta ask is dt2w included?
Sent from my Nexus 5 using Tapatalk
big_bum said:
I really didn't get upset.
I didn't know how else to move the thread, so I thought that reporting it is the way to go.
Click to expand...
Click to collapse
@big_bum hey sorry man I wasn't talking to you...I was talking to TomorrowLand_Ace
Sent from my Google/LGE Nexus 5 Hammerhead
Nice
Sent from my Nexus 5 using XDA Premium 4 mobile app
Sounds awesome, trying out this kernel NOW! Thanks for sharing
Sent from my Nexus 5 using Tapatalk
idriff said:
Nice I'm gonna test it out great work man
Btw can live without it but gotta ask is dt2w included?
Sent from my Nexus 5 using Tapatalk
Click to expand...
Click to collapse
No. But if you want dt2w you can use Linaro. You'll loose bfq and franco sound patches.
Dt2w or s2w will never be great on this phone because of battery drain.
But we have a hardware pedometer in our phone, so theoretically all the apps that are tracking step numbers should not use any battery at all because they are not using the accelerometer. I guess we can't have it all.
Sent from my Nexus 5 using Tapatalk

[Kernel][12/12/14][LG][D855]Rin Kernel 1.2[LOLLIPOP]

RIN Kernel for D855/P/K
Close to stock with some sugar added ... delicous!
Hey guys and girls,
you may have seen my unified stock kernel thread already (or may not, but doesn't matter). This kernel is my attempt to build up on the fixed source and add some additional features for us mod lovers to thinker with and to personalize your device to your usage. For now, I'll keep it close to my stock source and just pull some additional features and fixes in, but not to much. That may change in the future (maybe even soon), but for now, I'll stick to that paradigm.
First of, DISCLAIMER, I'm not responsible for bricked devices, dead unicorns, rainbows with missing colors, world war, nose bleed, void warranty (you know that already, don't you? your warranty is void now and it's your fault ) or any other harm happening to your device, you or people around you!
What does it serve? (Features)
Built with sabermod 4.9 toolchain
IO Schedulers
BFQ
CFQ
DEADLINE
FIFO
FIOPS
NOOP
ROW (default)
SIO
TRIPNDROID
VR
ZEN
Governors
Adaptive
Conservative
DanceDance
Intelliminmax
Interactive (default)
Lagfree
Lionheart
OnDemand
Performance
Powersave
SmartassV2
Userspace
Wheatley
Smartmax
TCP Congestion Algorithms
BIC
Westwood+
Vegas
Veno
Yeah
HTCP
Cubic (default)
Reno
init.d support
root support
Voltage control
SoundControl
Intelliplug
OC to 2.7GHz and UC support
Cpu limiter
2-Way Call Recording support
Simple GPU Algorithm
Simple_ondemand GPU Governor fixed
exFat support
ntfs support (bugged)
F2FS support
Enhanced Oversharpening fix (set to 22)
DriveDroid support
KSM
android logger sysfs toggle (disabled by default)
Many under the hood fixes
Stability
More to come
How to apply it? (Installation)
IMPORTANT: Read through all the requirements, steps and warnings before you do anything, if any requirement doesn't match or you don't know what one or more of the steps below mean or do, ask before you do any of them, if you don't know how all the steps can be done, let it be, I warned you, if you don't do and something bad happens, I'll just laugh at you!!
Requirements? Yes!
D855/P/K
Custom Recovery
Stock or Stock based ROM (no AOSP)
How to flash the kernel?
Download zip
Place on internal or external SD
Reboot to recovery
Choose install zip
Search for the downloaded zip
Confirm flashing
Wipe cache
Reboot
Have fun
How to boot unbumped kernels?
Only needed for the img files prior version 1.0
Plugin your device to the PC
Open a terminal and execute
Code:
adb shell # open a shell over adb
su # change to superuser
dd if=/dev/block/platform/msm_sdcc.1/by-name/laf of=/storage/external_SD/stock-laf.img # backup the stock download mode to your external sd
exit # exit the superuser shell
exit # exit the adb shell
adb pull /storage/external_SD/stock-laf.img . # backup the download mode image from you external sd to the PC
adb shell
su
dd if=/dev/zero of=/dev/block/platform/msm_sdcc.1/by-name/laf # remove the stock download mode
BEWARE, THIS WILL REMOVE YOUR DOWNLOAD MODE!!! YOU WON'T BE ABLE TO FLASH KDZ FILES BEFORE YOU RESTORED IT!!!!
Turn off the device completely, plug in the USB-cable, if you pulled it out and start the device by holding vol up + power till you see some white text on the screen, fastboot should be written somewhere on the screen, afterwards execute the following command on the PC (while in the directory you've downloaded the kernel image to).
D855:
Code:
fastboot boot D855-rin-1.6.img # boot the kernel
F400:
Code:
fastboot boot F400-rin-1.6.img # boot the kernel
BEWARE, NEVER USE FLASH AT FASTBOOT ONLY BOOT, IT WILL TRIGGER SECURITY OF THE LOCKED BOOTLOADER AND YOU WON'T BE ABLE TO BOOT ANYMORE!!!!
You're done now and booted to the custom kernel!
How to make sure you're running the kernel?
To check if you properly booted into the kernel execute this in the command line (terminal emulater or through adb shell):
Code:
cat /proc/version
it should show
Code:
Linux version 3.4.0-rin-g58903a9-dirty ([email protected]) (gcc version 4.9.1 20140710 (prerelease) (crosstool-NG linaro-1.13.1+bzr2673 - Linaro GCC 2014.07 - Cortex-A15) ) #53 SMP PREEMPT Thu Aug 14 13:26:42 CEST 2014
Once more a warning READ IT!!:
BEWARE, when you reboot you'll boot to the stock kernel, you'll have to boot the custom kernel over fastboot every time, when you boot normally, you'll be on the stock kernel, this won't lead to issues, but you'll miss the benefits of this kernel, I know that's not optimal, but the best we can get with the locked bootloader.
How to restore Download mode?
Code:
adb shell # open a shell over adb
su # change to superuser
dd if=/storage/external_SD/stock-laf.img of=/dev/block/platform/msm_sdcc.1/by-name/laf # restore the stock download mode from the backup on your external sd
Changes? (Changelog)
12.12.2014/1.2
F400 support added
F2FS support
NTFS fixed
intellimm added
intelliplug readded
intelliactive and intellidemand removed
loads of upstream changes from V20C F400 Source
V20D ramdisk
boot partition clean up before flashing kernel in updater-script
28.11.2014/1.1
selinuxfs storage fix
Build in KSM module
26.11.2014/1.0
Initial Release
Full list of commits can be found here
Where to get it from? (Download)
google drive | AndroidFileHost | dev host
Let me test!! (Beta Testing Community)
Google+ LG G3 Beta Testing Community
Show me the so(u)rce(ry)! (Source Code)
https://github.com/tectas/android_kernel_lge_msm8974ac/tree/rin-lollipop
Donators (huge thanks, you're simply great )
@Toneman07
@Helloworld294
@shaarky
@Dreamxtreme
@guyd
@mosincredible
@tobitege
@AndroidUzer
Credits
XDA
Google
LG
@HolyAngel
@faux123
@KAsp3rd
@myfluxi
@trialsrider1
@Skin1980
@Lord Boeffla
@GuneetAtwal
@DooMLoRD
If you like my work, please show your appreciation by pressing the thanks button, if you want to do more, i've nothing against a little donation, but I'm as happy when you just thank me by pressing the button
XDA:DevDB Information
Rin Kernel, Kernel for the LG G3
Contributors
Tectas
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: 1.2
Stable Release Date: 2014-12-12
Created 2014-11-26
Last Updated 2015-01-09
Any questions? (FAQ)
How can I toggle the android logger?
File Explorer Method:
Go with a root explorer to /sys/kernel/logger_mode and open the logger_mode file.
Remove everything inside that file and put the number 1 to enable and 0 to disable the logger into it and save the file.
Terminal Method:
Enable the logger
Code:
echo 1 > /sys/kernel/logger_mode/logger_mode
Disable the logger
Code:
echo 0 > /sys/kernel/logger_mode/logger_mode
My internal sd is not working, what to do?
Open adb shell or a terminal emulator and type
Code:
su
restorecon -v -R /data/media
How to boot to recovery via button combo on F400 variants?
Power off.
Press power + volume down keys.
Wait for LG logo and then release the buttons.
Immediately press volume down + volume up buttons.
Release the keys once the hard reset menu is being displayed on your LG G3.
Thanks to @Eagledig for the method and @KingOfDope for pointing me to it.
Whats the difference between this one and 1.8.5 as that works on lol as well
Dreamxtreme said:
Whats the difference between this one and 1.8.5 as that works on lol as well
Click to expand...
Click to collapse
Because there where the reboot problems, I've started from scratch and just pulled the most important stuff in for now, governors, fixes, tcp algorithms, simple gpu algorithm, schedulers, disabled logger, ntfs, exfat, OC, UC, UV, SoundControl, 2-Way call recording, Drive Droid support and some additional enhancements.
It's not as feature rich as the old 1.8.5 was, I'm adding the features step by step again to this, but it's now stable for all, that's why I also started from scratch with the version number, it won't correlate from now on with the kitkat one.
Tectas said:
Because there where the reboot problems, I've started from scratch and just pulled the most important stuff in for now, governors, fixes, tcp algorithms, simple gpu algorithm, schedulers, disabled logger, ntfs, exfat, OC, UC, UV, SoundControl, 2-Way call recording, Drive Droid support and some additional enhancements.
It's not as feature rich as the old 1.8.5 was, I'm adding the features step by step again to this, but it's now stable for all, that's why I also started from scratch with the version number, it won't correlate from now on with the kitkat one.
Click to expand...
Click to collapse
Cool. What's missing just so I know I'm about to flash loli now
@Tectas maybe you can create an aroma installer to chose undervolting(over the whole line) and to set custom hotplug, governors, frequencies as default(init.d script). when it is packed(even more) with features
Dreamxtreme said:
Cool. What's missing just so I know I'm about to flash loli now
Click to expand...
Click to collapse
The intelli thermal , intelliplug, memutil enhancements, high priority workqueue, upstream backport for workqueue, AIO optimizations, sabermod optimized flags and some small additional stuff
suljo94 said:
@ tectas maybe you can create an aroma installer to chose undervolting(over the whole line and to set custom hotplug, governors, frequencies as default(init.d script)
Click to expand...
Click to collapse
Possible at some stuff, but I think it's more convenient with doing this after boot per app and to make it stick with set on boot afterwards, that way you only have to change it after a factory reset, with aroma you would have to set it at every flash.
Tectas said:
Possible at some stuff, but I think it's more convenient with doing this after boot per app and to make it stick with set on boot afterwards, that way you only have to change it after a factory reset, with aroma you would have to set it at every flash.
Click to expand...
Click to collapse
I was just ssaying it because my trickster sometimes forgets to set it at boot/flash (1/2 of the time)
Will the logcat still be available?
Logcat is always available, the output is just disabled by default. Go to /sys/kernel/logger_mode, open the file logger_mode, remove the stuff what's in it and write and safe a 1 into it (or the fast way, echo 1 > /sys/kernel/logger_mode/logger_mode executed in a terminal or through adb shell) and logcat output will be enabled again, to disable it, do the same with a 0 instead of the 1.
Sent from my LG-D855
It was the only way to be done properly imo! Great move. Fix one thing per time. Well ntfs support seems broken in otg. I tried 2 sticks and 1 hdd.
**I am known benchmark junkie too. The Antutu score was really low. 24.000 points. Stock kernel delivers 39-40k.
nikosblade said:
It was the only way to be done properly imo! Great move. Fix one thing per time. Well ntfs support seems broken in otg. I tried 2 sticks and 1 hdd.
**I am known benchmark junkie too. The Antutu score was really low. 24.000 points. Stock kernel delivers 39-40k.
Click to expand...
Click to collapse
which setting did you use while benchmarking, because i got 40700 with the temp thing holding be back(performannce settings with overclock)
This version 1.0 is Official no test??
jojobans said:
This version 1.0 is Official no test??
Click to expand...
Click to collapse
Yes it is... =)
nikosblade said:
It was the only way to be done properly imo! Great move. Fix one thing per time. Well ntfs support seems broken in otg. I tried 2 sticks and 1 hdd.
**I am known benchmark junkie too. The Antutu score was really low. 24.000 points. Stock kernel delivers 39-40k.
Click to expand...
Click to collapse
Did you maybe run the benchmark directly after boot or some time off usage?
Probably it was throttled as you benchmarked it.
Sent from my LG-D855
nikosblade said:
It was the only way to be done properly imo! Great move. Fix one thing per time. Well ntfs support seems broken in otg. I tried 2 sticks and 1 hdd.
**I am known benchmark junkie too. The Antutu score was really low. 24.000 points. Stock kernel delivers 39-40k.
Click to expand...
Click to collapse
Tectas said:
Did you maybe run the benchmark directly after boot or some time off usage?
Probably it was throttled as you benchmarked it.
Click to expand...
Click to collapse
Probably, 'cause I got 41,585 using the kernel, smartassv2 w/o OC... =)
Sorry for the noob question... What app would you recommend for controlling sound? (as I read "soundcontrol" in features...) Thanks!
pblasi said:
Sorry for the noob question... What app would you recommend for controlling sound? (as I read "soundcontrol" in features...) Thanks!
Click to expand...
Click to collapse
Fauxsound...? =)
Sent from my LG-D855 using Tapatalk
pblasi said:
Sorry for the noob question... What app would you recommend for controlling sound? (as I read "soundcontrol" in features...) Thanks!
Click to expand...
Click to collapse
it is just to increase the volume even more.
trickstermod(donation version)
fauxsound(paid app)

[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][LINARO][EOL]DorimanX kernel for LOS14.1

{
"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 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 need to reflash your current ROM to revert kernel.
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.
DISCLAIMER:
ONLY FOR LOS14.1 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, SIOPlus, BFQ, CFQ, Noop, ZEN, Deadline (Default: ZEN)
- TCP Algorithms: Cubic, Reno, BIC, Westwood, Highspeed, Hybla, HTCP, Vegas, Veno, Scalable, Lp, Yeah, Illinois (Default: Westwood)
- Built with optimised Linaro 4.9 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/Musicbug fix is already included in this kernel!
- BLN and BLNWW support
- Updated Linux Kernel version to 3.15.0 stable!
- Freezefix is already included in this kernel!
- Isorec support
- MDNIE mode and scenario tuning
- F2FS support
THINGS TO DO:
- Allow users to revert kernel back to stock with everything working
THINGS I WILL NOT ADD:
- 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)
- 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 (Linux Kernel maintainer)
Computoncio (This Kernel)
cybernetus (This Kernel)
stelistcristi (Contents of this post, updates)
chhapil (Kernel build support, updates)
Chet Kener (Linaro/UBER toolchain)
Lanchon (TRIM fix and Isorec for Dorimanx)
Zeitferne (FP Bug/Music Bug fix and freezefix)
Lysergic Acid (LOS14.1)
rINanDO (LOS14.1)
serenitys (LOS14.1)
Realex-fire (Marshmallow/Nougat support and kernel fixes)
Skyline (Material Stweaks and testing)
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:
- Users will lose a lot of functionality if they dirty flash ROM to restore kernel
- If you reboot your phone, you may experience a large battery percentage drop
- All dorimanx bugs
WHAT ROMS DO I SUPPORT?
You should only flash this kernel on top of:
- LineageOS 14.1
USEFUL LINKS
CPU Governor and I/O Scheduler Guide
DorimanX tuning guide
TCP Algorithm guide
XDA:DevDB Information
DorimanX kernel for LOS14.1 by Saber, Kernel for the Samsung Galaxy S II
Contributors
Saber, dorimanx, Realex-fire
Source Code: https://github.com/gsstudios/Dorimanx-SG2-I9100-Kernel
Kernel Special Features: See post #1
Version Information
Status: No Longer Updated
Created 2017-07-25
Last Updated 2017-09-19
Changelogs:
--UNRELEASED VERSIONS (KERNEL UNDER TEST) --
For live changelogs, see my github:
Kernel: Github Link
Initramfs (Ramdisk): Github Link
--RELEASED VERSIONS (GENERAL AVAILABILITY) --
Code:
[B]DorimanX 13.0 b005[/B]
- Pulled updates for tcp, net, uksm, binder and many more from DorimanX OP3T kernel, all thanks to @Realex-fire
- Minor build script improvements
- TCP fast open control added to Stweaks
- HYPER is now the default sleep governor
- Updated busybox from Dorimanx source - Again thanks to @Realex-fire
- Minor fixes to ROM init script
[B]DorimanX 13.0 b004[/B]
- Synced scheduler and block changes from linux 3.16
- Synced security/keys and selinux changes from linux 3.16
- Synced kernel/fork, lmk and other changes from dorimanx
- Temporarily disable playready DRM to fix package manager corruption issues
- Remove powerHAL introduced in lineageOS to remove governor setting conflicts
- Various script improvements thanks to @Realex-fire
[B]DorimanX 13.0 b003[/B]
- Reverted default governor back to HYPER
- Synced ext4 updates from mainline - Thanks to @Realex-fire
- Partition checking will only check for bad blocks now
- Lower cortexbrain auto read ahead values and add 3072KB option
- Stweaks settings will be reset after flashing this build!
[B]DorimanX 13.0 b002[/B]
- Updated exfat from Dorimanx sources
- Reverted the kernel's internal tick rate back to 250
- Changed default governor to Nightmare
- Stweaks profile updates
- Enable adb autostart and insecure adb for debugging purposes
[B]DorimanX 13.0 b001[/B]
- Initial LOS14.1 Support
- Re-added Adaptive LMK and UKMS - Better for RAM usage at the cost of some CPU time
- LZO is now being used as the default compression method for ZRAM - Much better compression, worse decompression. Better for our ZRAM size limitations.
- Synced recent zzmoove updates - New profile, stability updates, some code only for SD devices
- ZEN I/O scheduler updates from Dorimanx
Downloads
--STOP!!! IMPORTANT, PLEASE READ--
It is important that you make a backup before flashing this kernel. If you want to restore the original kernel found in your ROM, you need to restore from a backup or clean flash your ROM.
MAKE SURE YOU'RE DOWNLOADING THE RIGHT KERNEL. OTHERWISE YOU COULD BRICK YOUR DEVICE!
Flashing instructions:
1. Download latest kernel build
2. Reboot to recovery
3. Flash kernel zip
4. Reboot
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.
Isorec (Isolated Recovery)
You can use either TWRP or CWM. It is important to note that the default CWM recovery has kernel specific options within the menus, so if you require to use them, be sure to flash the isorec disabler.
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
Main download link:
https://www.androidfilehost.com/?w=files&flid=201577
Mirror download link:
https://github.com/gsstudios/Dorimanx-SG2-I9100-Kernel/releases
In order to tweak the kernel properly, you need to install stweaks from the apk linked here, or from the XDA downloads page
Troubleshooting
Q: Why flash your kernel? - For new users of DorimanX kernel
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 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: Which kernel version build should I flash?
A: Flash the latest stable version if you want the most stable experience. Beta builds will always have the latest features and should be fine to use as a daily driver. Stable builds have been thoroughly tested for issues, but are usually older than current builds. 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: Which app should I use to tweak the kernel?
You should only use stweaks to tune DorimanX kernel.
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: Wifi doesn't work after I flash this kernel
A: There are several possible causes to this issue, there could be 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: 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 before, there is probably something wrong with the installation. 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 recommend:
CPU Governor: HYPER/zzmoove/Darkness
I/O Scheduler: CFQ/BFQ/ZEN/Deadline/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 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
Q: Why not use XYZ toolchain?
Linaro toolchain is the only one I'm going to use. If you believe that XYZ toolchain is better, then you'd have to build my kernel yourself. I chose the toolchain that I like the most, and I've had positive experiences using Linaro.
Click to expand...
Click to collapse
First kernel build for LOS14.1 is up on AFH and github. Enjoy.
Firstly, sorry for the dupe threads. Internet was acting out and now I'll have to get the mods onto it
Also, expect bugs with this release. This is a really early build and I'm doing blind builds now.
Don't flash on any other ROM than LOS otherwise you will not receive support. This kernel is only designed for LOS.
No new features will be added because I don't use the S2 as daily driver, so I won't be able to test changes thoroughly.
Regards, Saber
Nice.
Hi @Saber
Thanks a lot for spending your spare time to work on this kernel.
I wish you the best!
Sent from my STAIRWAY using XDA-Developers Legacy app
Welcome back @Saber
EDIT: I am not able to get it work on latest LOS 14.1 build. May be something wrong on my side. Phone going back to galaxy s2 logo from dori kernel logo. This is happening in loop. Anyone???
Yeah this is cool. Maybe we can make S2 N-builds even better. :laugh:
Skyline said:
Welcome back @Saber
EDIT: I am not able to get it work on latest LOS 14.1 build. May be something wrong on my side. Phone going back to galaxy s2 logo from dori kernel logo. This is happening in loop. Anyone???
Click to expand...
Click to collapse
Can you please detail your flashing procedure? Did you try reflashing the kernel?
Saber said:
Can you please detail your flashing procedure? Did you try reflashing the kernel?
Click to expand...
Click to collapse
I get it to work after too many tries and now again I am not able to boot.
*Wiped everything other than ext sdcard
*flashed rom and gapps
*flashed kernel zip
Also tried without gapps. Weird thing is that whenever I flash gapps it gives me alot of force closes. I tried 2 gapps packages and AICP but same problem occurs(without flashing kernel) that's why I thought may be something wrong on my side
Edit: I am using I9100g display panel can it be reason for my problem?? Anyways I attached dmesg.
Nice
Nice Kernel,Works fine on los14.1 and I also have overclocked up to 1.6 MHz but would not like to add 2.0 MHz in future updates?
And is it possible to add support to the kernel dt2w ?
Sorry if I'm not writing correctly, I'm not an Englishman :laugh:
X_Svyatoslav_X said:
Nice Kernel,Works fine on los14.1 and I also have overclocked up to 1.6 MHz but would not like to add 2.0 MHz in future updates?
And is it possible to add support to the kernel dt2w ?
Sorry if I'm not writing correctly, I'm not an Englishman :laugh:
Click to expand...
Click to collapse
If you mean 2,0GHz I doubt it.
I tried F2FS and it seems cache is okay but data makes android.phone process crash all the time. Not sure if it is LOS or kernel's fault.
X_Svyatoslav_X said:
Nice Kernel,Works fine on los14.1 and I also have overclocked up to 1.6 MHz but would not like to add 2.0 MHz in future updates?
And is it possible to add support to the kernel dt2w ?
Sorry if I'm not writing correctly, I'm not an Englishman :laugh:
Click to expand...
Click to collapse
What?? 2.0 Ghz is too much and also not safe. Even overclocking more than 1.4 Ghz is not good for our old device. I think we should limit cpu clock to 1.4Ghz max on this kernel for safety @saber.
Syaani said:
I tried F2FS and it seems cache is okay but data makes android.phone process crash all the time. Not sure if it is LOS or kernel's fault.
Click to expand...
Click to collapse
This issue is actually kernel's fault as it also exists on my CM13 kernel. A reboot is a possible solution to solve this issue and it shouldn't reappear. I might pull some F2FS updates from the linux git to increase stability, however the only filesystem I recommend is ext4 for internal partitions.
Edit: I was thinking before about a kernel issue where after first flashing the kernel over stock LOS kernel, the phone process would crash where it can be solved by rebooting. Need more reports to see if its just F2FS or if its regardless of fs used.
X_Svyatoslav_X said:
Nice Kernel,Works fine on los14.1 and I also have overclocked up to 1.6 MHz but would not like to add 2.0 MHz in future updates?
And is it possible to add support to the kernel dt2w ?
Sorry if I'm not writing correctly, I'm not an Englishman :laugh:
Click to expand...
Click to collapse
2.0GHz? Not possible with our SOC. 1.6GHz is about the limits and only a lucky few are able to use this frequency. Any more and I'd suspect our tiny SOC go poof along with some bad electronic smoke.
dt2w is not optimised for our touch panel and as of a result, significant battery drainage will occur. It's the same story with sweep to wake, these features weren't even supposed to be possible with our device.
Skyline said:
I am using I9100g display panel can it be reason for my problem?? Anyways I attached dmesg.
Click to expand...
Click to collapse
I've had a quick skim over the dmesg and couldn't find anything too substantial to be the root cause of the issue (may need to go through with a fine comb). Maybe logcat? How about marshmallow? Does the same behaviour occur there?
Saber said:
I've had a quick skim over the dmesg and couldn't find anything too substantial to be the root cause of the issue (may need to go through with a fine comb). Maybe logcat? How about marshmallow? Does the same behaviour occur there?
Click to expand...
Click to collapse
If I comment last lines in init.rc then rom boots fine
EDIT: @Saber, How can I take logs during s2 bootlogo to dorimanx kernel logo? I tried to take logcat using command 'adb logcat > log.txt' on linux but device is not getting detected.
X_Svyatoslav_X said:
Nice Kernel,Works fine on los14.1 and I also have overclocked up to 1.6 MHz but would not like to add 2.0 MHz in future updates?
Click to expand...
Click to collapse
With 2.0 GHz the CPU will explode
X_Svyatoslav_X said:
Nice Kernel,Works fine on los14.1 and I also have overclocked up to 1.6 MHz but would not like to add 2.0 MHz in future updates?
And is it possible to add support to the kernel dt2w ?
Sorry if I'm not writing correctly, I'm not an Englishman :laugh:
Click to expand...
Click to collapse

Categories

Resources