[HTC Sensation] show-p1984:
SENSE Bricked-Kernel-3.0 Sensation (pyramid)

The first kernel with kernel mpdecision & 3-phase kernel thermal control

no need for those binaries anymore :p
​

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:

[U]* CM (AOSP) compatible version: See below![/U]
* 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
* [URL="http://dl.dropbox.com/u/44206202/CallRecorder_v.1.0.20_alpha_2.apk"]Two-Way-Call-Recording[/URL]
* 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.dehttp://bricked.de/compat.php?action=changelogs&device=pyramid&type=sense

What is sweep2wake?

[youtube]jri2BMQHHrs[/youtube]

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:

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!

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:

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:

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 :p because I did not see it and wrote it from scratch! :D

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!)

>>> DOWNLOAD <<<

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:

​

> Hall of fame <

With special thanks to all piggy bank donators!

Thank you very much!

​

Source:

​