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

Search This thread

Dr. Krieger

Senior Member
Nov 19, 2013
215
40
Catania
After flashing the kernel the phone was HOT. And I mean for real, never been this warm on the back, is that something that's suppose to happen? It really scared me.

Inviato dal mio Nexus 7 utilizzando Tapatalk
 

malibu_23

Senior Member
May 18, 2007
959
115
Chicago
After flashing the kernel the phone was HOT. And I mean for real, never been this warm on the back, is that something that's suppose to happen? It really scared me.

Inviato dal mio Nexus 7 utilizzando Tapatalk

Happened to me too. Once i cooled it in fridge. It settled

Sent from my Nexus 5 using XDA Premium 4 mobile app
 

dadenet

Senior Member
Apr 10, 2013
275
65
Milano
After flashing the kernel the phone was HOT. And I mean for real, never been this warm on the back, is that something that's suppose to happen? It really scared me.

Inviato dal mio Nexus 7 utilizzando Tapatalk
Flash this kernel with a System and boot.img cleaned , how you can read in the first post :


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
:good:
 

Dr. Krieger

Senior Member
Nov 19, 2013
215
40
Catania
Flash this kernel with a System and boot.img cleaned , how you can read in the first post :


:good:

I was coming from PA 4.2 with stock kernel, is this necessary?

Anyway I tried with another kernel I've been using some times ago (Elemental) and it gave me the same issue, so I'm thinking the cause was the bionic optimization that I flashed along with the kernel.
 
Last edited:

Mo'HAWK

Senior Member
Feb 16, 2013
237
78
I love how you can tweak the kernel hotplug so easily. I prefer to have the phone under clocked and set the hotplugging fast and that makes the phone fly!
 

shr33kant

Senior Member
Nov 3, 2010
1,003
325
I suggest to add RGB control as some kernels did; together with gamma, may give perfect display calibration!

You mean like this? Just buy k control from the market. Kernel already has it.

uploadfromtaptalk1396812153389.jpg

Sent from my Nexus 5 using Tapatalk
 
  • Like
Reactions: show-p1984
A

asasione

Guest
@show-p1984
I think it would be prudent to add a disclaimer to install busybox in KControl, sound control won't work without it, obviously faux sound won't open unless you have it but your app doesn't outline it as a requirement. Most custom ROM's already have it pre-installed though but stock ROM doesn't

Sent from my Nexus 5 using Tapatalk
 

show-p1984

Inactive Recognized Developer
Jul 30, 2011
3,700
11,805
I suggest to add RGB control as some kernels did; together with gamma, may give perfect display calibration!
Already in there.

@show-p1984
I think it would be prudent to add a disclaimer to install busybox in KControl, sound control won't work without it, obviously faux sound won't open unless you have it but your app doesn't outline it as a requirement. Most custom ROM's already have it pre-installed though but stock ROM doesn't

KControl brings along it's own busybox in case the installed one is missing features or there is none installed at all.

Logcat of KControl on Stock rom:
Code:
Internal bb found at /data/data/de.bricked.kcontrol/bin/busybox
 
  • Like
Reactions: hooliganx
A

asasione

Guest
KControl brings along it's own busybox in case the installed one is missing features or there is none installed at all.

Logcat of KControl on Stock rom:
Code:
Internal bb found at /data/data/de.bricked.kcontrol/bin/busybox

That's a bit strange cause I installed your app after fastboot flashing system and boot from stock, then flashing kernel + supersu, installed app and changed the values for sound control and used earphones and the volume sounded weird, checked the values they had shifted all over the place, changed them again but still sounded weird, did the procedure of flashing system and boot, and installed busybox and it works normally now, sound is great as it should be hence my conclusion busybox should be a pre-requisite

Last time I tested it I was on Slimkat
 
Last edited:

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


    [email protected]
    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:
    [email protected]:/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
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone