Or Continue to Thread: [KERNEL] [Franco MPD] [Lollipo…
Find Your Device:
6th June 2014, 11:57 AM   |  #1  
big_bum's Avatar
OP Senior Member
Flag Bucharest
Thanks Meter: 919
 
810 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
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 ]