[HTC Sensation] SebastianFM:
Based on the newest HTC source code.

100% compatible with 3.33.401.6 based ROMs and with ICS with HTC Sense 4.0 based ROMs.

For both HTC Sensation and HTC Sensation XE.

Overclocked CPU, added optimized CPU frequency tables with CPU frequencies up to 1836 MHz (1512 MHz by default) and L2 cache frequencies up to 1566 MHz.

Increased CPU voltage limits (700 mV - 1400 mV).

Added CPU Voltage Table interface that allows voltage adjustment.

Fixed CPUFreq.

Overclocked GPU, increased maximum GPU frequency in 3D mode from 267 MHz to 320 MHz (300 MHz by default), increased bus bandwidth.

Camera flash: low battery limit decreased to 10%.

Added USB OTG.

Enabled USB Host.

Added support for different types of USB peripherals: USB Hub, USB mass storage devices (e. g. USB HDD, USB Stick, MP3 player), USB HID devices (e. g. USB mouse, USB keyboard, Wireless mouse or keyboard with USB receiver).

v1.5.2

Added USB HID.

Added drivers for USB HID devices.

v1.5.1

Enabled USB OTG.

Added NTFS support.

Added SCSI.

Added USB Host.

Added USB storage and USB storage drivers.

Fixed /system/etc/vold.fstab.

v1.5.0

Implemented all updates from newest HTC kernel source code for 3.33.401.6 based ROMs.

Included newest mpdecision binary, hex edited to prevent from changing minimum and maximum CPU frequency.

v1.4.1

Default maximum GPU 2D frequency set to 200 MHz.

Increased GPU bus bandwidth in 3D mode.

Added few fixes from HTC Vivid kernel.

Added Wi-Fi module for ICS with HTC Sense 4.0 based ROMs.

Fixed haptic feedback.

v1.4.0

Fixed ACPU and perflock to allow setting different maximum CPU frequency than highest available.

Fixed issue with changing minimum and maximum CPU frequencies by the system daemons. Replaced thermald.

Extended CPU voltage limits.

v1.30.4

Added CPU Voltage Table - interface that allows adjustment of the CPU voltage (thanks to snq-, faux123 and show-p1984).

Updated touchscreen driver with multi-touch issue fixed by HTC.

Override refresh rate for Sense 4 (thanks to virtuous).

Changed low battery limit for camera flash.

v1.30.3

Overclocked GPU in 2D mode to 229 MHz.

Added 300 MHz GPU clock settings.

Modified Adreno220 drivers.

Overclocked GPU in 3D mode to 300 MHz by default, maximum 320 MHz.

v1.30.2

Touchscreen drivers fixed.

v1.30.1

First release built from source code. Thanks to HTC!

Optimized.

Touchscreen drivers partially fixed.

Added higher values to L2 cache frequency tables.

Updated CPU frequency tables.

Added support for zRam swap.

CIFS, SquashFS.

Enabled CPUFreq stat.

v1.20

Based on new kernel 3.0.16-gda3fdfc.

v1.11

Five kernel versions with different maximum CPU frequency.

Finally fixed CPUFreq, mfreq related bug (only one instruction changed in kernel code).

v1.10

First release based on kernel 3.0.16-gcfa14fc.

Modified CPU frequency tables, CPU speed limits and voltage limits.

Temporarily fixed CPUFreq related bug in HTC kernel.

Modified information about CPU frequency displayed in Hardware information.

CPU Temperature daemon:

thermald v1.0.0 (SebastianFM)

The thermald daemon is a system service which monitors CPU temperature. It turns on the thermal sensor and sets thresholds to the thermal driver. Threshold are defined in file /system/etc/thermald.conf. If temperature reaches threshold, kernel sends notification to userspace. When thermald receives notification, it decreases CPU frequency to avoid CPU overheat.

The stock thermald doesn't work properly because when the CPU temperature drops below threshold, or when mpdecision turns on the second core, it always sets maximum CPU frequency to the highest available frequency.

I wrote my own thermald daemon which works very similiar, but when the CPU temperature is too high, it saves the current maximum CPU frequency and restores it later.

My thermald doesn't parse external config file, it uses predefined thresholds.

Downloads:

v1.5.2, link, md5: 0b73bf76439fe002200d30717c8b931a

Installation:

This is flashable zip intended for install from recovery.

I used koush AnyKernel installer, so you can flash this kernel on any ROM.

Remember to do backup before flashing.

OC:

The CPU frequency 1782 MHz is stable for me but every phone is different.

To increase maximum GPU frequency in 3D mode to 320 MHz:

echo 320000000 > /sys/devices/platform/kgsl-3d0.0/kgsl/kgsl-3d0/max_gpuclk

zram:

To enable zram (these commands enables 100 MB compressed swap stored in RAM):

echo 104857600 > /sys/devices/virtual/block/zram0/disksize

busybox mkswap /dev/block/zram0

busybox swapon /dev/block/zram0

To disable zram:

busybox swapoff /dev/block/zram0

echo 1 > /sys/devices/virtual/block/zram0/reset

To view zram usage (size displayed in kB):

cat /proc/swaps

Source code:

GitHub