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

Search This thread

show-p1984

Inactive Recognized Developer
Jul 30, 2011
3,700
11,805
Yep. Have you tried in increasing the voltage?

Sent from my Nexus 5 using Tapatalk

Like I said, it happens even if I don't modify any settings in Kcontrol

Kernel log (last_kmsg after reboot) & logcat from that incident please.
KControl doesn't do anything at boot if you don't select it in the options. So that's a rather weird issue.
 

Michealtbh

Senior Member
Nov 16, 2010
2,764
834
Belfast
Kernel log (last_kmsg after reboot) & logcat from that incident please.
KControl doesn't do anything at boot if you don't select it in the options. So that's a rather weird issue.

I've just reinstalled Kcontrol and it seems to have magically stopped happening. I'll grab some logs if I can make it happen again
 

show-p1984

Inactive Recognized Developer
Jul 30, 2011
3,700
11,805
Hi @show-p1984 !
I see that you commented on THIS commit in my git.

I committed that because I use powerkey button to disable s2w/dt2w coded by @flar2 (THIS commit)

Why first commit should be bad? :confused:

It's perfectly enough to answer on github. I don't need 3 emails telling me that you have an answer for me. (github, xda thread + xda mention)
This is just spammy.
Look for my answer on github.
https://github.com/labodj/Hammerhead-Linaro/commit/8396228c9616167d372aa0d823b57756c0d3075c
 
  • Like
Reactions: LaboDJ

show-p1984

Inactive Recognized Developer
Jul 30, 2011
3,700
11,805
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! :)
 
Last edited:

Savant

Senior Member
Jul 29, 2011
3,316
1,128
Manchester
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! :)

Holy f'ing balls your back and how's everything going for you man? Glad all is well and appreciate all you do.

Sent from my Nexus 5 using Tapatalk
 

RobbieL811

Senior Member
Oct 21, 2012
5,579
16,530
Savannah, Ga.
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! :)

It's good to see you a little more active again! Hope everything is going good for you & thanks for the update!

Sent from my Nexus 5
 

skulldreamz

Senior Member
Mar 13, 2012
1,402
1,175
Baltimore, MD
I hope all is well with you & yours. It's great to see such a talented Dev back and I just built your kernel and flashed it and so far everything is running really well. Thank you for also making it so much fun to use your kernel. My phone and I thank you :)

Sent from my Nexus 5 using XDA Premium 4 mobile 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


    [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