Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

[KERNEL] [Franco MPD] [Lollipop] [F2FS] [D2TW / S2W / S2S] big-bum V6

OP big_bum

Announcement from big_bum: I thought a lot about posting this here, but I finally decided to share my custom kernel with you.
6th June 2014, 11:57 AM   |  #1  
big_bum's Avatar
OP Senior Member
Flag Bucharest
Thanks Meter: 919
 
809 posts
Join Date:Joined: Sep 2012
Donate to Me
More
DOWNLOAD
HERE or HERE if you prefer a simpler expanded tree for the FTP.
I also have a mirror HERE.
Test folder: ftp://big-bum.uni.cx/.not_so_private or https://dl.dropboxusercontent.com/u/...ate/index.html
Pushbullet channel: here

I'm not being held 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!


I'm working on a modified version of Kernel Tweaker (called BbKT) with support for all the tunables found in my kernel. You can download the latest version from here. It's a WIP so things are missing from it.

Features:
  • almost all franco's kernel features
  • 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: CM's interactive
  • available CPU governors: ondemand, bacon, performance, powersave
  • hotplug: MPD. Qualcomm implementaion of hotplugging, with tunings to improve battery life
  • cpu-boost driver from CM.
  • I/O readahead size: 512KB
  • I/O default schedueler: fiops
  • other available I/O scheduelers: noop, deadline, cfq, BFQ
  • GPU min/max 27/450MHz
  • GPU default governor: simple
  • other GPU available governors: ondemand, performance
  • color profiles. Based on franco, works with FKU or Nexus Display Control app.
  • franco sound
  • CM sound patches (high perf mode enabled by default)
  • 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.

    Quote:

    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

  • 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), highspeed, hybla, vegas, veno, scalable, lp, yeah, illinois.
  • compilled with latest Linaro GCC (4.9.3)
  • 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.


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.

Credits:
@franciscofranco for his kernel sources, ideas, work and dedication
Also, you should really buy FKU even if you're not using any of his kernels. It's a great tuning app and by buying it you show him some respect for his work. I personally bought it and I don't regret that.
@LaboDJ for his kernel sources, optimizations, ideas and his work
@Christopher83 for Linaro GCC binaries, tutorials on how to compile Linaro, his Linaro binaries and tutorials
other people who work on Linux kernel.
Kernels from where I cherry-pick: Chaos/Hybrid - @neobuddy89, Uber - @Cl3Kener and Code_Blue - @eng.stk
Other guys from where I might cherry pick in the future.


Special thanks for testing and help:
@_MirageX_ @dox81 @pianistaPL @shadowdevil

Special thanks for donations:
@Paddybecks87 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:


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] [Franco MPD] [Lollipop] [F2FS] [D2TW / S2W / S2S] big-bum V6, Kernel for the Google Nexus 5

Contributors
big_bum
Source Code: https://github.com/StefanescuCristian/hammerhead

Kernel Special Features: -Ofast, KSM, BFQ, MPDecision

Version Information
Status: Stable
Current Stable Version: 6
Stable Release Date: 2015-01-20
Current Beta Version: 7
Beta Release Date: 2015-01-26

Created 2014-07-07
Last Updated 2015-01-28
Attached Thumbnails
Click image for larger version

Name:	2014-06-03 16.58.03.png
Views:	13095
Size:	200.7 KB
ID:	2783483   Click image for larger version

Name:	2014-06-03 16.58.15.png
Views:	12437
Size:	201.7 KB
ID:	2783484   Click image for larger version

Name:	TZCqH2z.jpg
Views:	2930
Size:	15.9 KB
ID:	3086204  
Last edited by big_bum; 13th October 2014 at 09:59 PM.
The Following 84 Users Say Thank You to big_bum For This Useful Post: [ View ]
6th June 2014, 11:57 AM   |  #2  
big_bum's Avatar
OP Senior Member
Flag Bucharest
Thanks Meter: 919
 
809 posts
Join Date:Joined: Sep 2012
Donate to Me
More
Reserved
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.
Last edited by big_bum; 28th December 2014 at 01:41 PM.
The Following 5 Users Say Thank You to big_bum For This Useful Post: [ View ]
6th June 2014, 11:57 AM   |  #3  
big_bum's Avatar
OP Senior Member
Flag Bucharest
Thanks Meter: 919
 
809 posts
Join Date:Joined: Sep 2012
Donate to Me
More
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
Last edited by big_bum; 21st November 2014 at 10:31 PM.
The Following 3 Users Say Thank You to big_bum For This Useful Post: [ View ]
6th June 2014, 12:03 PM   |  #4  
Laurentyu1995's Avatar
Senior Member
Flag Oradea
Thanks Meter: 476
 
1,136 posts
Join Date:Joined: Apr 2012
More
That's cool man ! Thank you for sharing this with us !

Sent from my Nexus 5 using XDA Free mobile app
The Following User Says Thank You to Laurentyu1995 For This Useful Post: [ View ]
6th June 2014, 12:49 PM   |  #5  
Member
Mumbai
Thanks Meter: 7
 
62 posts
Join Date:Joined: Nov 2013
Nice one

Sent from my Nexus 5 using Tapatalk
The Following User Says Thank You to DoxMAZz For This Useful Post: [ View ]
6th June 2014, 04:00 PM   |  #6  
info[]box1's Avatar
Senior Member
Flag -5 Eastern
Thanks Meter: 503
 
2,689 posts
Join Date:Joined: May 2009
More
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
6th June 2014, 05:10 PM   |  #7  
razorsbk's Avatar
Member
Flag Bucharest
Thanks Meter: 8
 
88 posts
Join Date:Joined: Jul 2010
Donate to Me
More
Best kernel in 'da hood !

WoW !
Attached Thumbnails
Click image for larger version

Name:	memegen.jpg
Views:	2034
Size:	47.3 KB
ID:	2783923  
The Following 2 Users Say Thank You to razorsbk For This Useful Post: [ View ]
6th June 2014, 05:15 PM   |  #8  
Senior Member
Thanks Meter: 69
 
155 posts
Join Date:Joined: Apr 2014
Donate to Me
Downloading.
The Following User Says Thank You to Akr706 For This Useful Post: [ View ]
6th June 2014, 05:47 PM   |  #9  
DREWHAMM974's Avatar
Senior Member
Flag Athens, Alabama
Thanks Meter: 582
 
709 posts
Join Date:Joined: Dec 2012
Donate to Me
More
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
The Following User Says Thank You to DREWHAMM974 For This Useful Post: [ View ]
6th June 2014, 06:08 PM   |  #10  
Spectrum75's Avatar
Senior Member
Flag Heraklion
Thanks Meter: 304
 
249 posts
Join Date:Joined: Dec 2013
More
Welcome and very nice OP

The Following User Says Thank You to Spectrum75 For This Useful Post: [ View ]
Post Reply Subscribe to Thread

Tags
f2fs, franco, hybrid, kernel, linaro
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes