[KERNEL] Bricked-Kernel Hammerhead | Sweep2wake | KnockKnock/Dt2w

Search This thread

CrackerTeg

Senior Member
Jul 29, 2011
2,272
1,250
I am Z. Learn it, love it.
something else going on there. I'd consider 5% overnight a big drain with this kernel - and slim for the rom

Nothing going on. On faux and franco, I'll get at most 5% drain overnight. No big wakelocks beside the alarm clock. Running validus with all kernels. For whatever reason, this kernel doesn't want to play nice. Not sure why.

---------- Post added at 06:47 PM ---------- Previous post was at 06:45 PM ----------

Check for wakelocks and use Greenify app. Also, I disabled NFC and manually set my screen brightness rather than relying on auto-brightness. I also don't game a lot if that is a factor in your relative poor battery life. Mostly browse, social networks, occasionally benchmarking and video. Oh and lots of music playback in my car.

Practically everything is greenified. I don't use nfc so mine is disabled as well. I have your same usage except I don't play music through it.
 

varunthapliyal999

Senior Member
Aug 8, 2010
729
231
Dehradun
Hey I'm on Mahdi rom and elementalx kernel and I wanted to try this kernel. DoI just dirty flash the rom then flash this kernel or is there another procedure? I used the default setting on elementalx for the ramdisk option.
Sorry tried searching for the answer but couldn't find an answer. :)

Sent from my Nexus 5 using Tapatalk
 

b_rangel29

Senior Member
Jan 20, 2014
282
69
Houston
Hey I'm on Mahdi rom and elementalx kernel and I wanted to try this kernel. DoI just dirty flash the rom then flash this kernel or is there another procedure? I used the default setting on elementalx for the ramdisk option.
Sorry tried searching for the answer but couldn't find an answer. :)

Sent from my Nexus 5 using Tapatalk

Yep. That'll work. I usually wipe cache/dalvik cache.
 
  • Like
Reactions: varunthapliyal999

Tylog

Inactive Recognized Contributor
Jan 4, 2013
7,423
19,740
Hey I'm on Mahdi rom and elementalx kernel and I wanted to try this kernel. DoI just dirty flash the rom then flash this kernel or is there another procedure? I used the default setting on elementalx for the ramdisk option.
Sorry tried searching for the answer but couldn't find an answer. :)

Sent from my Nexus 5 using Tapatalk

You can flash the Kernel directly over ElementalX , nothing to wipe.

Tapatalk Team SlimRoms Nexus 5
 

ausaras

Senior Member
Sep 10, 2011
320
64
Taichung
I was wondering if a time-out for S2W or power button to toggle S2W on/off would be implemented, like in ElementalX.

It would be much better if the screen would power off and leave on the capacitive sensor on but from what I understand, LG cheaped out on that part of the hardware for Nexus 5 so might not be possible.

So, the next best thing would be time-out for S2W or power button to toggle S2W on/off.

But nonetheless, I am enjoying Bricked Kernel as it is, now.

Thank you!
 

hooliganx

Senior Member
May 22, 2008
2,685
2,483
Brasília

show-p1984

Inactive Recognized Developer
Jul 30, 2011
3,700
11,805
Showp or anyone else that wants to answer. Quick question. Do you think that it is more beneficial to run 2 cores always on this kernel? Does it hurt battery life to do this?
Does it hurt your gas tank if you drive around in the first gear and don't switch into the second?
Common sense. Ofc another CPU running around, doing basically nothing, still wastes valuable energy.

How are you guys pulling this kind of battery life? My phone dropped 40% overnight on wifi. Performance was great but battery wasn't.
I got this today:
https://dl.dropboxusercontent.com/u/44206202/Screenshot_2014-03-25-11-56-48.png
https://dl.dropboxusercontent.com/u/44206202/Screenshot_2014-03-25-11-57-01.png
Which is nothing special. Some youtube, dlna music streaming, chromecasting, etc.
Still using auto brightness and I don't have disabled anything.
For whatever reason, this kernel doesn't want to play nice. Not sure why.
There is actually only one reason for this kind of difference (if you indeed have ruled out a rouge app): You dirty flashed over some other kernel that left something behind.
hahahahahaha... owwww maaaann...
sorry!
I live in Brazil, and when I downloaded last version is day 24 already. and my pc saves with this date.
sorry sorry sorry! :D is 23 the correct one :thumbup:

N5*SlimKat.b3.8*Bricked.14.03.23.exp*ART*TWRP.2.7*0.23
And that confusion could have been avoided by providing the hash, in this case:
de80f16
;)
 

hooliganx

Senior Member
May 22, 2008
2,685
2,483
Brasília
thanks @show-p1984 :thumbup:
I'll practice this behavior :D

and...

a little comments and questions...

using last exp-de80f16, all stock, only change min 96, vib 55 and s2w on.
notice:
temperature always around 40o and more than 43o when in pocket for some minutes.
when play asphalt 7 yesterday, temp go over 77o with to runs (around 8min)

see in perfmon that using 3 CPU at 960MHz

it's a normal behavior? or can I do something to have a better temperature?


EDIT: about game, I reset all setting in bricked app, reboot twice and make same changes. now, with game, cpu goes to max and temp around 66...67o. think is normal now.
but, with normal use, is normal more than 40o?

N5*SlimKat.b3.8*Bricked..exp-de80f16*ART*TWRP.2.7*0.23
 
Last edited:

Luigi_2

Senior Member
Sep 5, 2010
627
122
the kernel is really smooth but kind of very aggressive, it stays at the max 2.2 freq alot of the time, i even tried to raise the touch boost to 1.4 and boost time to 1.5s to get most of the job done at that freq, and change the up threshold to 99, but it still goes up really quick with little use. Im on latest beta :D
 

b_rangel29

Senior Member
Jan 20, 2014
282
69
Houston
the kernel is really smooth but kind of very aggressive, it stays at the max 2.2 freq alot of the time, i even tried to raise the touch boost to 1.4 and boost time to 1.5s to get most of the job done at that freq, and change the up threshold to 99, but it still goes up really quick with little use. Im on latest beta :D

Are you using the kcontrol app?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 313



    Welcome to the most customizable N5 kernel on xda :)
    Bricked-Kernel Nexus 5 (hammerhead)

    Features:

    * Based upon Google's msm 3.4 source
    * Various fixes, improvements and optimizatios (look @ github)
    * Compiled with gcc4.7.2 toolchain (linaro 09.12)
    * -O3+ optimized
    * Snapdragon & CortexA15 optimizations
    * replaced qcom's hotplug binary with msm_mpdecision (IN-KERNEL, better battery life + performance)
    * Extensive sysfs interface for mpdecision with all the tuneables you want (/sys/kernel/msm_mpdecision/)
    * replaced qcom's thermal binary with my IN-KERNEL solution. (/sys/kernel/msm_thermal/)
    * export krait version to: /sys/kernel/debug/krait_variant
    * Allow OC up to 2,5Ghz
    * Allow UC to 96Mhz
    * Undervolting (faux123)
    * F2FS Support
    * Multirom Support
    * KCAL (savoca) & Gamma Control (faux123)
    * Sound Control (faux123)

    * Default clocks: 300 Mhz min & 2265,6 Mhz max

    Zip features:
    *** ON-THE-FLY-RAMDISK EDITS!
    *** THIS KERNEL USES YOUR RAMDISK, it will just modify it on the fly while flashing. These changes are not creating any incompatibilities with roms/other kernels.
    * removes min freq overrides from the ramdisk
    * removes governor overrides from the ramdisk
    * adds init.d support to your ramdisk (if not already supported)
    * modifies stock ondemand settings
    * add module insertion

    Check the compare links for the rest :)

    Where is tha Changelog???

    There will be no more changelogs.
    Instead the download pages were outfitted with compare links to github for each download.

    What is sweep2wake?

    Disabled as default, activate through an app like KControl or over sysfs: echo 1 > /sys/android_touch/sweep2wake

    What is doubletap2wake / knock knock?

    Disabled as default, activate through an app like KControl or over sysfs: echo 1 > /sys/android_touch/doubletap2wake

    How to install?

    Flash through recovery. #done.


    Where to complain about errors/bugs?

    Please use the Issuetracker for bugs/errors/feature wishes!
    Issuetracker @ https://github.com/showp1984/bricked-hammerhead/issues


    showp1984@gmail.com
    IRC Chat: Freenode IRC #bricked

    Download:

    No Guarantees! If it kills your grandmother or your device, I am NOT responsible! If you understand this:
    (If you download, please hit Thanks below my post! Thank you!)

    >>> DOWNLOAD <<<



    Donation Hall-of-Fame:

    > Hall of fame <

    Thank you very much!


    Stock 4.4 Nexus5 boot.img - flash this if you come from another kernel coming with it's own ramdisk (eg: zip contains a *.img file) ONLY FLASH ON 4.4

    Source:


    65
    What is msm_thermal?

    Kernel based 3-phase thermal control!
    This replaces your /system/bin/thermal-engine-hh binary which is renamed by the installer to thermal-engine-hh_bck.
    It will throttle your cpu speed to keep it cool and unleash it if the cpu has cooled down enough. (3 phases: low, mid and high)

    Check /sys/kernel/msm_thermal/conf/ for the thermal configuration :)

    allowed_max_high = highest threshold (phase 3)
    allowed_max_low = remove the throttling if we cooled down to this (clr_thrshold)
    allowed_max_freq = max frequency if throttled (limit)

    [...]mid[...] = same as above, just for phase 2
    [...]low[...] = Lowest threshold (phase 1)

    check_interval_ms = how often shall we check? (sampling rate)

    shutdown_temp = if we reach this shut down the device!

    If you want to see msm_thermal doing it's job:
    Code:
    adb shell
    cat /proc/kmsg | grep 'thermal'
    What is msm_mpdecision?

    100% kernel based multi core decision! (should cpu1/2/3 be online or not?)
    This replaces your /system/bin/mpdecision binary which is renamed by the installer to mpdecision_bck.

    Check /sys/kernel/msm_mpdecision/conf/ for the configuration.

    startdelay = time until mpdecision starts doing it's magic (20000)
    delay = time between checks (130)
    pause = if something else plugs in the cpu, fall asleep for 10000ms (10 secs)
    scroff_single_core = if the screen is off, don't plug in cpu1/2/3. Additionally: Unplug all cpus except cpu0 when screen is turned off (1)
    enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
    min_cpus = min cpus to be online, cannot be < 1. Default: 1
    max_cpus = max cpus to be online, cannot be > 4. (if you set it to 2 and min_cpus to 1 you will basically have a dualcore) Default: 4
    idle_freq = a value against that will be checked if a core +/- is requested. (499200)
    If cpu0 is below that value and a core up of another cpu is requested, nothing will happen.
    If any other cpu is above that value and a core down of that cpu is requested, nothing will happen. (otherwise it would now put down that cpu even though it is still working, which isn't what we want)


    Hot plug thresholds (aka now it gets 'complicated')
    This small formula calculates which value will be used: (number_of_cpus_online - 1) * 2
    The result of this formula will be the nwns_threshold where a new cpu is hotplugged.
    The result of this formula + 1 will be the nwns_threshold where a cpu is unplugged.

    nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
    twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)

    Example:
    One cpu is online.
    (1 - 1) * 2 = 0 ergo:
    nwns_threshold_0 = cpu1 will be hotplugged at this value
    ((1 - 1) * 2) + 1 = 1
    nwns_threshold_1 = cpu0 will be unplugged at this value
    Since we can't unplug cpu0 this is '0'.

    Two cpus are online.
    (2 - 1) * 2 = 2 ergo:
    nwns_threshold_2 = cpu2 will be hotplugged at this value
    ((2 - 1) * 2) + 1 = 3
    nwns_threshold_3 = cpu1 will be unplugged at this value

    etc...

    Some values are:
    NwNs_Threshold: 12, 0, 25, 20, 32, 28, 0, 35
    TwTs_Threshold: 140, 0, 140, 190, 140, 190, 0, 190
    Where the position and function of the number equals the result of the above explained formula.

    (all times are in ms)
    If you want to see the mpdecision magic happening:
    Code:
    adb shell
    cat /proc/kmsg | grep 'MPDEC'
    mpdecision's input event boost, aka project butter :p

    This will boost your min cpu speed if you touch the screen or press a button and gives you full control.
    In those events the min cpu freq will be risen to a predefined value (look below) on every online cpu. This boosts overall reaction times and smoothness a lot. (works similar to the qcom mpdecision binary)
    Configuration files:
    root@android:/sys/kernel/msm_mpdecision/conf # ls | grep boost
    boost_enabled
    boost_freqs
    boost_time

    All of them work like the usual sysfs files, except one special case:
    boost_freqs will list all frequencies from cpu 0 to cpu x. Cpu 3 and any following cpu will share one frequency.
    To change those frequencies echo the cpu number + the frequency in khz.
    Example: To change the boost freq of cpu3 (and 4,5,6,7,8, etc) the echo would look as follows:
    Code:
    echo "3 960000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
    for cpu0:
    Code:
    echo "0 960000" > /sys/kernel/msm_mpdecision/conf/boost_freqs

    Defaults:
    Code:
    cat /sys/kernel/msm_mpdecision/conf/boost_freqs
    960000
    960000
    729600
    576000
    Why do I have no WLAN?

    Due to this kernels very high optimization settings it is too big for our boot.img with WLAN included into the kernel, so it is built as a module. That means it needs to be inserted into the kernel upon boot up, which needs to be automated for maximum comfort.

    The zip adds module insertion to your ramdisk, if that fails for some reason the wlan module cannot be inserted.

    if
    Code:
    adb shell lsmod
    doesn't show this:
    Code:
    tun 14701 0 - Live 0x00000000
    cifs 275399 0 - Live 0x00000000
    bcmdhd 2964650 0 - Live 0x00000000 (C)
    Then something went horribly wrong.
    Chances are that I broke it and this should never happen.
    One post in the issue tracker will probably fix it with the next release :)

    You can restore wlan for your current bootup by executing:
    Code:
    adb shell
    su
    insmod /system/lib/modules/bcmdhd.ko
    Is there an app available to customize this pure bodacious and awesome kernel?

    Yes there is: KControl. It's in the Google Playstore.


    45
    New Kernel beta :)

    Download:
    http://bricked.de/index.php?action=kdownload&device=hammerhead&release=beta&type=aosp

    Changes:
    https://github.com/showp1984/bricked-hammerhead/compare/ca9faf4...9ef2634

    A small KControl backport is to follow, so that color control will be enabled on the Hammerhead. (Sound already is)


    -------------------------------------


    The source now contains a fully fledged one command compile script.

    Ubuntu dependencies:
    Code:
    sudo apt-get build-dep linux-image-$(uname -r)
    (This should install most of what is needed to build any kernel)
    Code:
    sudo apt-get install ccache xz-utils git
    (This installs the ccache, a compiler cache, xz compression utils & the version control system git)

    Downloading the source:
    Code:
    mkdir ~/WORK
    cd ~/WORK
    git clone -b exp https://github.com/showp1984/bricked-hammerhead.git

    Building the source:
    Code:
    cd ~/WORK/bricked-hammerhead
    . buildme.sh exp
    (currently only exp has the build script though, since it's still all beta over here. This will change soon, then you can choose between master = stable and exp = beta)
    This script will download the toolchain, prebuilts and kcontrol gpu module source used and generate a flash-able zip at the end of the compilation as well as check-sums.
    It will ask you if you want to create the out directory, if you say n or N here it will be disabled. If you say y or Y however you will find everything in ~/WORK/bricked-hammerhead/out after compilation has finished.

    So if you have a linux machine, have fun. If you don't, well, it's as good as a time as any to download a distribution and get cracking! :)
    40
    Has anyone actually demonstrated (scientifically or otherwise) anything wrong with the qcom mpdecision binary? Im not taking anything away from kernel developers who write their own mpdecision (especially those who also provides sources), but I am curious as to whether they are actually better than those provided by qcom. Surely they know more about the capabilities of their own cpus better than anyone no?

    It's not that complicated (there is no black voodoo magic), that's why bricked kernel was the first to introduce this feature back on the pyramid.
    CPUs need to be plugged in / unplugged based on load, there is nothing more qcom can know that we can't also see inside of the kernel.

    There is one HUGE thing that is wrong with qcom's mpdecision: It's closed. It's a black box. We don't have any idea what is going on in there. Literally, none. It's not even configurable. It could contain secret nsa code, or send dirty sms to your girlfriend (who might actually enjoy that, idk...)
    If we would have source, hell, awesome. I wouldn't have spent over a year (first commit: Date: Thu, 21 Jun 2012 06:06:47 +0200, see here) to get my msm_mpdecision solution to the point where it is a) awesome and b) a lot better than the binary. It can be configured in any way you might need to. It features statistics on how often and how long a cpu is hotplugged. It has the input event boost. It's the full package deal.

    If you compare my kernel with the stock kernel you will see huge performance improvements and battery savings on bricked. Those are not only because of my msm_mpdecision but certainly related. Furthermore: we can completely customize it, over sysfs, on a running kernel, without reflashing.
    That's what I would have expected from qcom in the first place.

    Another thing wrong with qcom's binary: It's static. Meaning: If you change your min freq on stock it will always reset back to defaults. Same with their thermal binary. That's just annoying.
    msm_mpdecision will notice it if you change your min frequency and dynamically work with that from there on. It will also prevent hotplug wars between apps and it: eg: an app plugs in cpus to grab some cpu data (like frequencies, etc. That is only available if the cpu is plugged in). Qcom's mpdecision would now raise hell to keep that cpu unplugged, my msm_mpdecision just sits back and chills for 10 seconds to avoid those wars. (again, even that delay is fully configurable)

    There are also a bunch of boring advantages as to why it is better to let something crucial to the system run in kernel space and not in user space, but that would most certainly explode the context of this thread by the factor of 4.

    My solution is not inferior to that binary in any way, in fact it has been vastly superior in my testing up until now, otherwise I would a) improve it or b) ditch it. I don't keep around bad stuff just for the point of having it or because I wrote it. If it sucks I will say that and act accordingly.
    36
    Showp is my favorite Kernel dev. Used his kernel on all my phones (Sensation and One S). Was using Bricked on N5 until the battery light stopped working with SlimKat. SlimKat's stock kernel has some commit by Showp, though, which is great.

    Have been waiting for update for a while, now.

    Not asking for ETA. And I know Showp has been dealing with some personal matters but I have a feeling that it might either take a long time before Showp's back, or maybe even never.

    Anyway, I wish Showp all the best. If he decides to come back, I will try his kernel in a heartbeat!
    ill-be-back-quote.png