5,593,793 Members 44,424 Now Online
XDA Developers Android and Mobile Development Forum

[KERNEL][JUL.17]Bricked-3.0|3.0.36|v1.4|cmdline|Sweep2Wake|mpdecision|bad ass

Tip us?
 
show-p1984
Old
(Last edited by show-p1984; 17th July 2012 at 03:36 AM.) Reason: Added 3.0 v1.4
#1  
show-p1984's Avatar
Recognized Developer - OP
Thanks Meter 11174
Posts: 3,300
Join Date: Jul 2011

 
DONATE TO ME
Angry [KERNEL][JUL.17]Bricked-3.0|3.0.36|v1.4|cmdline|Sweep2Wake|mpdecision|bad ass




SENSE Bricked-Kernel-3.0 Sensation (pyramid)

The first kernel with kernel mpdecision & 3-phase kernel thermal control
no need for those binaries anymore

Highlights:

Default clocks: 1566Mhz max / 192Mhz min
OverClockable till 1944Mhz !NOT ALL DEVICES CAN HANDLE THIS!
3D GPU Overclock @ 320Mhz (if selected during install)
2D GPU Overclock @ 266.667Mhz (if selected during install)
5 Stages 3D GPU scaling, variable io_fraction
3 Stages 2D GPU scaling, io_fraction 100
Increased bus bandwidth
L2 Performance Boost
cmdline options!
maximum screen off frequency
(configurable through cmdline options)
Sweep2Wake! (if selected during install)
>badass governor<
3-phase kernel cpu thermal control
>100% kernel based mpdecision<
The first kernel with interactive install using Aroma Installer by amarullz
with more customizations than you can dream of on any other kernel!

Features:

Code:
* CM (AOSP) compatible version: See below!
* 3.0.36
* based on HTCs-3.0.16-Sources
* Tested with Sense 3.6 ICS (no known problems)
* Tested with Sense 4 ICS (animations work, thx to virtuous)
* Command Line Options - innovative!
__ Rename the zip to change your settings!
* Sweep2Wake
* badass governor
* 3-phase kernel cpu thermal control
* 100% kernel based mpdecision
* Optimized
* Built with highest Optimization Level (O3)
* Strongly improved UI-performance
* KGSL Early Suspend GPU slumber
* Increased 3D/2D-Performance (GPUOC)
* CAF Bluetooth stack (newer) - faux123
* CIFS
* UTF8 encoding (included for CIFS)
* wifi pm=fast
* Tweaked ondemand governor
* Undervoltage
* Overclocking to 1566Mhz default
* Min Clock @ 192Mhz default
* Boot time optimization. CPU will have 1566Mhz clocks during boot to ensure a fast bootup
* Flashlight and Camera-Flash will now be useable until battery reaches 5%
* Tree-based preemptible RCU
* Fast scheduler for CPU hotplug
* optimized preemptive settings
* basic NTFS support
* Userspace driven configuration filesystem
* Allow CPU-supported unaligned accesses
* Global CPU Voltage table used for adjusting voltage table for SnapDragon Dual Core. Inspired by Snq- modified by faux123 for SnapDragon fixed by show-p1984
* Improved Mobile Connection (fixed possible freezes introduced by HTC)
* ~8% Undervolted till 1566Mhz
* L2 Performance Push
* 3D GPU Overclock @ 320Mhz
* 2D GPU Overclock @ 266.667Mhz
* 6 Stages 3D GPU scaling, variable io_fraction
* 3 Stages 2D GPU scaling, io_fraction 100
* Tweaked ondemand to raise frequencies with higher load only (should contribute to battery life)
* Increased writing performance (lowers that annoying lag when updating 2 apps at the same time)
* Git's Sha1 implementation significantly decreases boot time
* CRC-optimizations
* ZRAM
* Fudgeswap 
* PPP over standard asynchronous serial ports
* PPP over synchronous (HDLC) tty devices
* Two-Way-Call-Recording
* basic NTFS support
* increased bus frequency
* Improved WIFI - WLAN detection
* Automatic process group scheduling
* Lowered wifi-voltage
* cleaned code, improved performance
* Dropped debug code, was slowing things down
Changelog @ bricked.de

What is sweep2wake?



Since this function collides with HTC's screenshot function (PWR+HOME) it will be disabled. Use the AOSP screenshot instead. (PWR+VOL.DOWN at the same time and hold it for about a sec)
This has a few advantages, one is a nice animation the second would be that it is hardcoded by google into any ICS firmware you can find. That means: no matter which device you will pick up, as long as it has ICS this function should work out of the box.
How to change your frequency/governor before flashing?

That's new. Sounds strange, but it works. I am proud to present a truly innovative concept:
cmdline_khz / cmdline_gov / cmdline_maxscroff
What does this do for you?

Have you ever wished you could set the default min/max/gov/scroff frequency on your own?
Without having to rely on the dev to recompile?
Or doing it yourself?
Or even bothering to learn how to do that?
Or using OC apps that are just in the way?

(governor set able in setup from version 1.0)

Well, your prayers have been heard!

It simplifies any kernel install to the bare minimum. You download the zip, and just change the values to your liking. The kernel will obey you, it's magic!
you will download this file for example:
Bricked-3.0-v0.61-ics-maxkhz=1566000-minkhz=192000-maxscroff=432000.zip
now it is possible that you don't want to oc to 1566Mhz, or your preferred min freq is higher, or or or...
Just rename the file!
Bricked-3.0-v0.61-ics-maxkhz=1188000-minkhz=384000-maxscroff=540000.zip
The kernel will now boot from second 0 with this settings:
Max freq: 1188Mhz
Min freq: 384Mhz
maxscroff: 540Mhz
Cool, isn't it?

Now one could say, hell that's too dangerous, what if I write something wrong in there? No problem, your show-p1984 thought of everything. I have built in that much security measures that it is not even remotely imaginable that something could go wrong. I am serious. Whoever manages to break it gets a golden pile of **** from me.
Now what does it "autocorrect" exactly?
It corrects mhz instead of khz values for you, so you can actually flash this:
Code:
Bricked-3.0-v0.61-ics-maxkhz=1188-minkhz=384-maxscroff=540.zip
and it will still work.
Or it corrects wrong acpu frequencies. You can find a table @ the second post, but if you mistype sth, no fear, it will still work!
Code:
Bricked-3.0-v0.61-ics-maxkhz=1190-minkhz=390-maxscroff=545.zip
for example will let the kernel boot with 1188Mhz max and 384Mhz min (maximum screen off frequency 540Mhz). It always falls back to the next lower step. Actually you won't need to bother for the acpu table anymore, just type anything in there, it will automatically correct it for you! If you still want to enter the correct values, just look in the second post
Now what if you write a letter in there? Like this:
Code:
Bricked-3.0-v0.61-ics-maxkhz=II88000-minkhz=38A000-maxscroff=5A0O00.zip
Well, the kernel will detect that and fall back to default settings read out of my .config. Which means the kernel will boot @ 1566Mhz max and 192Mhz min and maxscroff will be set to 1566Mhz (=disabled).

What to do if you just want to change your clocks?
Rename the zip file, boot into recovery, flash, and enjoy
There is also a sysfs interface for the maxscroff frequency, for simplicity I kept the common name for it.
/sys/devices/system/cpu/cpu0/cpufreq/screen_off_max_freq

Currently there is only one limitation:
You can't have two files with the same base on your scard. that means:
Code:
Bricked-3.0-v0.61-ics-maxkhz=1566000-minkhz=192000-maxscroff=432000.zip
Bricked-3.0-v0.61-ics-maxkhz=1188000-minkhz=384000-maxscroff=540000.zip
are not allowed to be on the sdcard at the same time, the kernel would boot with defaults: 1566/192 if you flash either one of those files.
The "base" of the filename is this: Bricked-3.0-v0.61-ics-
So you can have 2 files (or more) on the sdcard with names like this:
Bricked-3.0-v0.55-b4-ics-****
Bricked-3.0-v0.7-ics-****
Bricked-3.0-v0.8-ics-****
(****=etc etc etc etc)
Furthermore it must be followed by maxkhz=VALUE-minkhz=VALUE-maxscroff=VALUE.zip It is not possible to switch the positions of the options. But you can leave them out of there completely, the kernel will then boot with 1566/192/1566.


Ah btw: We now see our set max mhz under Settings->About Phone->HW->Cpu (it actually changes when you change your maxkhz)

This is genuine innovative code from me. I didn't even occasional glance at someone elses work. So if sth like this is already out there, SCREW THE DEV because I did not see it and wrote it from scratch!

And since 0.6 comes with the awesome Aroma installer you can now choose from 3 gpuoc versions!
GPU OC disabled, 3D@266Mhz & 2D@200Mhz
GPU low overclock, 3D@300Mhz & 2D@228Mhz
GPU high overclock, 3D@320Mhz & 2D@266Mhz + Bandwidth push


The source for this is split into two parts, Kernel & bash script. The script finds the zip on your sdcard, parses the filename and modifies the kernels cmdline inside the boot.img. The Kernel is parsing the cmdline, checking if everything is valid and setting your options.
How to install?

Just flash from recovery. Because it creates a boot.img out of the one on your phone while flashing, it should work with the majority of ROMs out there.
Interactive install, enjoy the ride!
Where to complain about errors/bugs?

Please use the Issuetracker for bugs/errors/feature wishes!
Issuetracker @ https://code.google.com/p/bricked/issues/entry

showp1984@googlemail.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!)


*v1.4* [STABLE] Click me
*betas* [Possibly unstable, for testing only.] Click me

XDA Discussion/Download for AOSP (ICS): Click me

Old Downloads (gcode): Click Me



Use System Tuner to undervolt!
Setting min/max frequencies should be done over the zips name instead.


Donor List:

Source:



in Euro.

Creator of Sweep2wake, cmdline_khz/gov/scheduler/maxscroff, badass, 3-phase-kernel-thermal-control, kernel mpdecision (msm/tegra), etc...
"Any sufficiently advanced technology is indistinguishable from magic." [Arthur C. Clarke's Third Law]

<<<< Before you ask questions, read and understand this! >>>>
Translations:
Chinese, Dutch, French, German, Japanese, Polish, Romanian, Russian, Spanish, Turkish.


KControl thread on xda:
The Following 826 Users Say Thank You to show-p1984 For This Useful Post: [ Click to Expand ]
 
show-p1984
Old
(Last edited by show-p1984; 10th August 2012 at 05:41 PM.)
#2  
show-p1984's Avatar
Recognized Developer - OP
Thanks Meter 11174
Posts: 3,300
Join Date: Jul 2011

 
DONATE TO ME
Changelog moved to bricked.de
What does PREEMPTIBLE mean?

Preemptive built kernels are favoring the userinterface over everything else! That means: An app in the background is using 50% of you CPU to spy on you. You want to move fast through the user interface/watch a video, whatever. The kernel will now favor your action over the app in the background. That's all the magic that's happening
What is badass?

Well good question. With ICS I decided to rework my gb badass which never got released because it was always pushed aside. To break down what it is:

Badass removes all of this "fast peaking" to the max frequency. On a typical system the cpu won't go above 918Mhz and therefore stay cool and will use less power. To trigger a frequency increase, the system must run a bit @ 918Mhz with high load, then the frequency is bumped to 1188Mhz. If that is still not enough the governor gives you full throttle. (this transition should not take longer than 1-2 seconds, depending on the load your system is experiencing)
Badass will also take the gpu load into consideration. If the gpu is moderately busy it will bypass the above check and clock the cpu with 1188Mhz. If the gpu is crushed under load, badass will lift the restrictions to the cpu.

Please remember: Due to it's nature, this is not a benchmark governor. It is meant as a governor that gives you a smooth experience while saving battery, lots of it
What is msm_thermal?

Kernel based 3-phase thermal control!
This replaces your /system/bin/thermald binary which is renamed by the installer to thermald_backup.

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)
Default: 1000ms (=1sec)

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

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

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

startdelay = time until mpdecision starts doing it's magic (70000)
delay = time between checks (500)
pause = if something else plugs in the cpu, fall asleep for 10000
scroff_single_core = if the screen is off, don't plug in cpu1 (1)
nwns_threshold_up = runqueue threshold, if this is reached cpu1 will be hotplugged (35)
nwns_threshold_down = runqueue threshold, if this is reached cpu1 will be unplugged (5)
twts_threshold_up = time threshold, this amount of time must have passed (250)
twts_threshold_down = same as above (250)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
idle_freq = a value against that will be checked if a core +/- is requested. (486000)
If cpu0 is below that value and a core up of cpu1 is requested, nothing will happen.
If cpu1 is above that value and a core down of cpu1 is requested, nothing will happen. (otherwise it would now put down cpu1 even though it is still working)


(all times are in ms)

If you want to see the mpdecision magic happening:
Code:
adb shell
cat /proc/kmsg | grep 'MPDEC'


Frequency/Voltage Table:

192000: 800000
310500: 825000
384000: 825000
432000: 850000
486000: 850000
540000: 875000
594000: 875000
648000: 900000
702000: 900000
756000: 925000
810000: 950000
864000: 975000
918000: 975000
972000: 1000000
1026000: 1000000
1080000: 1025000
1134000: 1025000
1188000: 1050000
1242000: 1075000
1296000: 1100000
1350000: 1125000
1404000: 1150000
1458000: 1150000
1512000: 1175000
1566000: 1175000
1620000: 1200000
1674000: 1225000
1728000: 1250000
1782000: 1275000
1836000: 1300000
1890000: 1325000
1944000: 1350000
Available CPU governors:
badass <-- !recommended!
lazy
interactive
lagfree
conservative
userspace
powersave
ondemand
performance

Stock Kernel for ICS. Unsecured boot.img.
in Euro.

Creator of Sweep2wake, cmdline_khz/gov/scheduler/maxscroff, badass, 3-phase-kernel-thermal-control, kernel mpdecision (msm/tegra), etc...
"Any sufficiently advanced technology is indistinguishable from magic." [Arthur C. Clarke's Third Law]

<<<< Before you ask questions, read and understand this! >>>>
Translations:
Chinese, Dutch, French, German, Japanese, Polish, Romanian, Russian, Spanish, Turkish.


KControl thread on xda:
The Following 210 Users Say Thank You to show-p1984 For This Useful Post: [ Click to Expand ]
 
Znuff
Old
#3  
Znuff's Avatar
Member
Thanks Meter 13
Posts: 57
Join Date: Jun 2009
Location: Neptun
Want a beer?
Desire, Milestone, Diamond... I like stock roms.
The Following 2 Users Say Thank You to Znuff For This Useful Post: [ Click to Expand ]
 
show-p1984
Old
#4  
show-p1984's Avatar
Recognized Developer - OP
Thanks Meter 11174
Posts: 3,300
Join Date: Jul 2011

 
DONATE TO ME
Quote:
Originally Posted by Znuff View Post
Want a beer?
two, at least! xD
in Euro.

Creator of Sweep2wake, cmdline_khz/gov/scheduler/maxscroff, badass, 3-phase-kernel-thermal-control, kernel mpdecision (msm/tegra), etc...
"Any sufficiently advanced technology is indistinguishable from magic." [Arthur C. Clarke's Third Law]

<<<< Before you ask questions, read and understand this! >>>>
Translations:
Chinese, Dutch, French, German, Japanese, Polish, Romanian, Russian, Spanish, Turkish.


KControl thread on xda:
The Following 37 Users Say Thank You to show-p1984 For This Useful Post: [ Click to Expand ]
 
n1ghtl1fe
Old
#5  
n1ghtl1fe's Avatar
Senior Member
Thanks Meter 83
Posts: 985
Join Date: Apr 2009
Location: chicago
Quote:
Originally Posted by show-p1984 View Post
77 virgins? I would rather have 77 bitches who know what the **** to do!

hahaha that made my morning

Sent from my HTC Sensation 4G using XDA App
been coding since before xda had a thanks meter


Samsung Galaxy S4 *root*
HTC One *root*
HTC Sensation w/ 32gb class 10 card ROOTED
evo 4G *root*
mytouch 3g slide *root*
nokia n900
nexus one *root*
iphone 3GS *jailbroke*
mytouch 3g *root*
hero *root*
lg voyager (lol)
blackberry curve..
g1 *root*
helio ocean
razr
The Following User Says Thank You to n1ghtl1fe For This Useful Post: [ Click to Expand ]
 
BrokenWall
Old
#6  
Senior Member
Thanks Meter 156
Posts: 472
Join Date: Feb 2011
Location: Atlanta
I have a couple questions, why still use governors or give options when ondemand is the only one that works properly on aSMP?

Or have you found a way to make governors still on both cores?

And this line:
Code:
Synchronous Multicore Threading
Android itself doesn't support true Multi threading at the core OS level, though it allows for apps to be multi-threaded.

What changes have you made to make this statement true.
 
show-p1984
Old
#7  
show-p1984's Avatar
Recognized Developer - OP
Thanks Meter 11174
Posts: 3,300
Join Date: Jul 2011

 
DONATE TO ME
Quote:
Originally Posted by BrokenWall View Post
I have a couple questions, why still use governors or give options when ondemand is the only one that works properly on aSMP?

Or have you found a way to make governors still on both cores?

Android itself doesn't support true Multi threading at the core OS level, though it allows for apps to be multi-threaded.
1. Because ppl asked me to include Smartassv2. (ppl = baadnwz xD)
2. Android 2.3.4 has a bit of Honeycomb in it. It supports Multithreading.
in Euro.

Creator of Sweep2wake, cmdline_khz/gov/scheduler/maxscroff, badass, 3-phase-kernel-thermal-control, kernel mpdecision (msm/tegra), etc...
"Any sufficiently advanced technology is indistinguishable from magic." [Arthur C. Clarke's Third Law]

<<<< Before you ask questions, read and understand this! >>>>
Translations:
Chinese, Dutch, French, German, Japanese, Polish, Romanian, Russian, Spanish, Turkish.


KControl thread on xda:
The Following 8 Users Say Thank You to show-p1984 For This Useful Post: [ Click to Expand ]
 
undercover
Old
#8  
undercover's Avatar
Senior Member
Thanks Meter 4223
Posts: 13,900
Join Date: Oct 2010
Location: London, UK
Smartass doesn't seem to work as well as it used to on Bravo. Ondemand seems to be the way forward, plus CPU load balancing once threshold is reached. IMHO.

Sent from my HTC Sensation Z710e using XDA App
I'm a noob, you are a noob and you are a noob. Let's group nOOb hug!
 
undercover
Old
#9  
undercover's Avatar
Senior Member
Thanks Meter 4223
Posts: 13,900
Join Date: Oct 2010
Location: London, UK
Re. your post in IC thread. With 0.2 I was getting 13k+, and other values higher than yours, just can't remember what they were exactly. How do I revert to 0.2, just flash it on top? Just for test purpose.

Again. No UI improvement over stock with either of them.

Sent from my HTC Sensation Z710e using XDA App
I'm a noob, you are a noob and you are a noob. Let's group nOOb hug!
The Following User Says Thank You to undercover For This Useful Post: [ Click to Expand ]
 
show-p1984
Old
#10  
show-p1984's Avatar
Recognized Developer - OP
Thanks Meter 11174
Posts: 3,300
Join Date: Jul 2011

 
DONATE TO ME
Quote:
Originally Posted by tinky1 View Post
Re. your post in IC thread. With 0.2 I was getting 13k+, and other values higher than yours, just can't remember what they were exactly. How do I revert to 0.2, just flash it on top? Just for test purpose.

Again. No UI improvement over stock with either of them.

Sent from my HTC Sensation Z710e using XDA App
Yes, just flash it on top.
in Euro.

Creator of Sweep2wake, cmdline_khz/gov/scheduler/maxscroff, badass, 3-phase-kernel-thermal-control, kernel mpdecision (msm/tegra), etc...
"Any sufficiently advanced technology is indistinguishable from magic." [Arthur C. Clarke's Third Law]

<<<< Before you ask questions, read and understand this! >>>>
Translations:
Chinese, Dutch, French, German, Japanese, Polish, Romanian, Russian, Spanish, Turkish.


KControl thread on xda:

The Following 6 Users Say Thank You to show-p1984 For This Useful Post: [ Click to Expand ]
Tags
badass, bricked, bricked is bad ass, sensation, show-p1984 deserves a kernel grammy, show-p1984 is the grandpa of all kernels, sweep2wake
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes