[Optimus One, P500 Original Android Development] DJNoXD:
FAQs

FAQs:

Howto use the latest kernel(s) with stock rom (or custom roms based on it) (thanks to FitAmp for his tutorial and tachtunganh for his idea)?

tachtunganh idea was to upgrade the gpu (adreno) libs to newer ones.

Here is what FitAmp has done to exchange the libs.

Where can I find the Changelog?

Here

or below :)

debugging disabled again (does not help, but increases kernel size)

mmc: use really long write timeout to deal with crappy cards (Paul Walmsley) thanks go to oldslowdiver for telling me

Hack for CRT animations fix (rashed97)

apply some PM patches (thachtunganh)

enable UID_STAT

using linaro toolchain (gcc4.6)

changes from 2.5.8 above

Revert "more FS tweaks (umaro)"

Revert "Disable fsync() (franciscofranco)"

some debuging enabled

Revert "bcm4325: disable wakeup irq when device sleeps @mik9"

SIO tweak

Fix kernel opps: Key xxxxxx not in data @wingrime

XZ compressions

first changes for thunderc support

experimental: p506 support

changes from 2.5.7 above

staging: Add Snappy compression support to zram

smartassv2: optimisation

hung_task: fix false positive during vfork

vfs: __read_cache_page should use gfp argument rather than GFP_KERNEL

ima: free duplicate measurement memory

changes from 2.5.6 above

qdsp5: Incall recording pcm driver @androidmeda

Enabled: PPPoE

changes from 2.5.5 above

ICS version Fix: USB Mass Storage for ICS @androidmeda

Fix proximity sensor @androidmeda

bcm4325: Force powersave mode

bcm4325: disable wakeup irq when device sleeps

disabled: IR

changes from 2.5.4 above

add: sfb (Stochastic Fair Blue)

optimize some build flags

changes from 2.5.3 above

fix: white noise

merge latest cm kernel sources

changes from 2.5.2 above

Modules: now included in kernel (no longer .ko modules) (decrease kernel file size)

sched: Fix struct autogroup memory leak

sched_fair: Remove cpu from nohz idle set if not active

sched_autogroup: enabled

sched_autogroup: added

enabled: fuse (Filesystem in Userspace)

governor: intellidemand added

compiler code optimisation set to -O3 (makes kernel a little bit faster)

vsyncOn compile switch fixed

changes from 2.5.1 above

Some things I maybe forgot

TS driver from @roqu3 included

Fix null reference which causes rebooting when AP/WIFI mode changed @androidmeda

updated vidc/camera headers for compatibility

net: Reorder incoming packets in PPPoLAC and PPPoPNS

msm: camera: Free buffers from frame queue at open

Update: SIO 0.2

msm: vidc: Remove vcd restriction of duplicate input buffer queue

Little performance improvement for slub memory allocator @franciscofranco

CONFIG_STACKTRACE disabled

Use compiler code optimisation -> faster (CONFIG_CC_OPTIMIZE_FOR_SIZE has to be disabled)

Add and enable frontswap

Update: Memory Manager (mm) from Code Aurora Forum kernel (ics_chocolate branch)

Update: MDP header to latest version

Update: msm_fb : Add support for Yamato format (our adreno200 gpu)

Update: KGSL drivers

Update: genlock from msm-3.0

Update: kernel source 2.6.35.13 > 2.6.35.14

Revert: merge latest cm kernel sources

changes from 2.5 above

merge latest cm kernel sources

USB write performance: f_mass_storage: Disable write cache support

Recent LCD Patch

changes from 2.4.2 above

bluesleep: Fix wakeup

tun and cifs build build as modules

changes from 2.4.1 above

bluesleep: Disable the forceful usage of H4_LPM

disabled: file system cache

debuging completely disabled

giving the kernel a name :)

touchscreen driver: using defaults -> no changes

governor added: minmax

Higher OC values enabled

changes from 2.4 above

Enabled SCHED_DEBUG for better control of CPU scheduler

CFQ Group Scheduling support and hierarchical scheduling support in BFQ enabled

max_axi_khz set to 422400

vfs_cache_pressure = 100

cfs task (block) schedular enabled

noop scheduler enabled

tried something to about "white noise if display is enabled"

some more debugging disabled

changes from 2.3 above

Advanced Routing enabled

tun and cifs build into kernel (no longer provided as module)

changes from 2.2.2 above

new default governor interactiveX

lionheart governor removed (use conservative instead)

max_axi_khz = 200000

Revert "Wifi set to FAST (roqu3)"

-> because phone gets hot when using Wifi Teathering

Revert "gpu: msm: Update GPU drivers from 3.0 kernel"

-> old version feels smoother

ADD: new workqueue code from 2.6.36.1 (umaro) (+ code patched e.g. smartassv2)

vfs_cache_pressure = 25 (more free ram)

init: calibrate: Backported from 3.0 kernel.

using high priority (non-delayed) workqueue for TS driver (better response)

-> this maybe solves TS problem for some people (please test)

CPUIDLE code from 3.0rc6 kernel (by Imoseyon)

more FS tweaks (umaro)

power-supply: Limit the duration of psy_changed wakelocks

msm: cpufreq: Create cpufreq workqueue for freq changes

ADD + enabled: dm-cache

back to franoc's conservative OC

more unused drivers disabled

changes from 2.2 above

reverted: try to fix "white noise"

changes from 2.1.1 above

try to fix "white noise" (still there, but only very short time)

some patches about speed

more debugs disabled

fix cpu load 100%

backported binder from 3.0 kernel (lupohirp)

BUS freq OC

GPU freq OC

GPU drivers from 3.0 kernel

genlock enabled

axi OC

bcm4325: MAX_STATIC_PKT_NUM patch (HepHappy)

LZMA compression (best compression -> testing about speed)

ARM: decompressor: use better output sections

changes from 2.1 above

default governor set to lionheart

lulzactive governor removed (does not work)

clean up: governors and schedulers

axis inverse workaround (waleedq)

VM tweaks

Claim more free ram (lupohirp)

grants system server access to oom_adj for applications (lupohirp)

remount with noatime and nodiratime (cresqo)

cgroup: fix cpuset permission check (thachtunganh)

msm: cpufreq: Do not call a cpu transition if selecting the same speed (LorDClockaN)

cgroup: speed up access to cgroupfs mounted entries in /proc/mounts (franciscofranco)

Fix memory leaks from the wifi drivers (franciscofranco)

staging: android: lowmemorykiller: minfree values added

msm cpufreq Improve initial frequency selection - CodeAurora

fs: simple fsync race fix ()

ashmem: fix deadlock when system is low on memory

Wifi set to FAST (roqu3)

Set correct divx codec type (francisofranco)

Fast Sleep, wake lock timer change. (wistilt2)

lionheart (implementation from roqu3) done to 3.0.8 conservative governor

file system cache enabled

Lower radio/event log for more ram (wingrime)

Increase readahead to some more reasonable values (franciscofranco)

New battery driver courtesy of thachtunganh

net: wireless: bcm4325: Convert kmalloc() + bzero() to kzalloc() (franciscofranco)

Fix camera flicker (Turducken)

Set axi freq to max possible (clk_get_max_axi_khz())

CPUFREQ_ondemand code from 3.0.8 kernel

CPUFREQ code from 3.0.8 kernel

Using OC settings from franciscofranco (higher OC?)

Update: Linux upstream 2.6.35.10 > 2.6.35.13

vm_swappiness = 1 (performance is a little bit better than 0)

Erase memory pages as soon as they are freed to prevent new processes getting old information (franciscofranco)

writes_starved = 1

added tun.ko

added cifs.ko

lzo kernel compression (larger file, but faster boot time)

debugging disabled for performace and smaller kernel

unecessary SCSI drivers removed

all changes from v2 above (started again from clean sources)

Which kernel version should I choose?

vsyncOff

If you always want the highest possible frame rate, you should take this one.

(Disadvantage tearing)

vsync

No tearing, constant frame rate (60fps)

If the frame rate (60fps) isn't possible, the fps is divided by two (30fps -> 15fps and so on)​

What are meanings of the used abbreviations?

vsync = vsync enabled

vsyncOff = vsync disabled

default = default touchsreen driver

cv = caveman's touchsreen driver

ta = thachtunganh's touchsreen driver

roqu = roqu's touchscreen driver

xz = XZ compression
​

When will you release a new version?

New versions are released if changes are implemented, tested and if I think its good enough to be released.

Successful implemented changes of an unreleased version can be found i my changelog (post 2).​

Will this kernel work with rom xyz?

This kernel is based on cyanogen kernel. If the ROM you use is cyanogen 7 or based on it there should be no problems.

I guess it should work with every gb rom, but there is no guarantee.

If you use a gingerbread ROM which is not based on cyanogen, feel free to test yourself (create a backup, flash kernel and test it) and share your result with us.
​

How do I install the kernel?

Reboot to Recovery

Choose: install zip from sdcard -> choose zip from sdcard

Select the kernel zip file

wipe cache and dalvik cache (not a must but I recommend)

Reboot (if kernel is successful installed)

Could you include ...?

Tell me what you like to see and if possible the sources.

I will take a look at and decide if it can be included. (and if I want to :p)
​

I found an error. / I have a problem. What can I do?

Post your problem. I (and maybe someone else) will check and try to reproduce.

If you are using my kernels on other ROMs than cyanogen, please keep in mind that your ROM is maybe incompatible with this kernel.​