[Galaxy S I9000 Android Development] zacharias.maladroit:
CM9/ICS (Android 4.0.x) preview - NEO 3.0.8 alpha3/4

http://www.multiupload.com/NGNPVHLNIM

Mirror (thanks to Dfolt !):

CM9_SGS_20111230_NEO_3.0.8_VC-led-notif_a3.zip on ics.samsung-updates.com

Features & characteristics:

- based on pawitp's 3.0 kernel port

- currently running with onecosmics initramfs (init-files support ?)

- no OC/UV tweaking ability yet (besides ADC/RAM undervolting which is not changable)

- using

linaro 4.5 toolchain

: more efficient

-

hardfloat

: up to 40% more performance in certain situations

- several

hardening features

enabled [re-enabled memory randomization, stack-protector, dis-allowed access to devmem, devkmem]: more security against attacks & data theft attempts etc.

-

battery polling set to 30 seconds

: less polling = less overhead = less work to do for the CPU = (in theory, here marginally) more battery

-

timer slack subsystem

: in certain workloads less battery consumption

-

parts of CK-patchset

: more efficient memory usage

-

alternative memmove & memcopy

implementation: more efficient in certain workloads

- improved USB writing performance

- FIX: less data loss and corruption when removing microSD cards [-> already sent to upstream kernel]

- quiet binder [no unnecessary error-messages in dmesg anymore]

- FIX: pmem: buddy free memory corruption -> no memory corruption in this case anymore [-> already sent to upstream kernel]

- lib/crc; crc32 improvements

-

cpu scheduler tweaking & improvements

: smoother phone [maybe some less high benchmark scores - others are higher]

-

undervolted ADC + RAM

: less battery consumption

-

unaligned cpu accesses

: more performance in certain cases

-

more governors

: ondemand, ondemandX, interactiveX, smartassV2 [ondemandb currently not available]

-

Deep Idle V2

port from Ezekeel: less battery consumption when cpu is busy (working ? not working ?) [currently disabled - has to be enabled manually - will be enabled in next kernel by default if there aren't any significant issues]

Troubleshooting:

-

short battery runtime when using ondemand governor

: use ondemand for smoother operation, ondemandx in case for old ondemand behavior with better battery life

-

media process is going crazy, the phone is not usable

: known ICS problem: adb shell -> killall android.process.media

[more info: forum post on that problem]

-

phone is only showing 1 GHz - it doesn't downclock, gets hot and reboots on its own

: stupid phone issue [seemingly not everyone has this - currently under investigation]:

1) flash the kernel & modules through cwm

2) flash the kernel [boot.img] only a 2nd time through heimdall (does Odin also work ?)

via heimdall flash --kernel boot.img

after that it should work

-

with which ICS ROMs is this compatible with ?

this kernel has been

tested on teamhacksungs ICS build11

, no testing or feedback has been done on onecosmics RC1 ICS port yet - so for the brave: test & give feedback :p

-

feel like wiping /cache partition or have trouble with some apps ?

wiping of /cache & dalvik cache has been disabled due to potential association of data loss (contacts, apps, system state, etc.) - so do it manually from recovery

Awesome sauce:

Link to NEO-ICS_3.0.8_a2 branch

kudos to:

- Tk-Glitch, sixstring & Efpophis, ...

- DerTeufel

- teamhacksung

- pawitp

- nikademus

- all others who are working on the GT-i9000, Telus Fascinate, Captivate, Vibrant, Fascinate phones :)