Hello and welcome
Some information's about this kernel project
This kernel is created for the LGE p500 by using the official cyanogen kernel for LGE msm7x27(T) as base.
Since I started my work there are lots of modifications implemented, for example:
- kernel source is updated (2.6.35.10 -> 2.6.35.13 -> 2.6.35.14)
- back ported driver from later kernel sources (2.6.36 and 3.0)
- improved battery life
- changes to improve stability and performance
- modules compiled into kernel: cifs, tun, advanced routing, fuse, ppp
Warning
I'm not responsible if you brick your device by heavy OC, flashing ...
Using using very high frequencies (> 729Mhz) is dangerous and can melt your phone main board!
Before flashing this kernel
Kernel source based on 2.6.35 are for use with gingerbread (2.3) and ics/jellybean (use special ics version).
This means older android versions (2.2 and older) are not compatible.
If you have problems with other roms than cyanogen (or cyanogen based), this kernel is maybe not 100% compatible with your rom.
Download locations
Released kernels
Test-Builds (no support)
kernel build made with jenkins build-server (everytime commits are pushed to git)
FAQs
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)
Explanation of the abbreviations
- vsync = vsync enabled
- vsyncOff = vsync disabled
- default = default touchsreen driver
- cv = caveman's touchsreen driver
- ta = thachtunganh's touchsreen driver
- xz = XZ compression
When will you release a new version?
New versions are released if changes are implemented, tested and if I think they are good enough to be released.
Successful implemented changes of an unreleased version can be found an in the changelog.
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)
I found an error. / I have a problem. What can I do?
Post your problem at xda-developers.
If you are using my kernels on other ROMs than cyanogen or with older android versions, please keep in mind that your ROM is maybe incompatible with this kernel.
Changelogs
v2.x
- 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 performance and smaller kernel
- unecessary SCSI drivers removed
- all changes from v2 above (started again from clean sources)
v1.x
- block: limit default readahead size for small devices (eugene373)
- dm-cache: block level disk cache target for device mapper
- Updated the built-in wakelock (ACA)
- backport from 2.5.37: sched: Try not to migrate higher priority RT tasks
- backport from 2.5.37: cfq: improve fsync performance for small files
- backport from 2.6.37: cfq-iosched: Implement tunable group_idle
- backport from 2.6.36: OOM rewrite
- msm: cpufreq: Do not call a cpu transition if selecting the same speed. (LorDClockaN)
- interactive governor removed
- conservative governor: using tweaks from morfic
- added "Lionheart" governor implementation from roqu3 (Info: Lionheart goes well with deadline i/o scheduler)
- added "lulzactive" governor (based on Interactive & Smartass governors)
- added tun.ko
- added cifs.ko
- some syntax correction
- lzo kernel compression (larger file, but faster boot time)
- changes from v1.4 above
- vsync not off problem fixed
- changes from v1.3.1 above
- included touchscreendriver from DerCaveman
- mcs6000_ts: fix cpu load 100% (mik_os)
- vSync disabled (added compile switch)
- some backport from 3.3 kernel (if it works)
- Lower radio/event log for more ram (wingrime)
- Fast Sleep, wake lock timer change. (wistilt2)
- Set correct divx codec type (francisofranco)
- Wifi set to FAST (roqu3)
- ashmem: fix deadlock when system is low on memory
- fs: simple fsync race fix
- msm cpufreq Improve initial frequency selection * CodeAurora
- staging: android: lowmemorykiller: additional minfree values added
- faster writeback
- cgroup: speed up access to cgroupfs mounted entries in /proc/mounts (…
- Fix memory leaks from the wifi drivers (franciscofranco)
- Increase readahead to some more reasonable values (franciscofranco)
- some code optimisations
- changes from v1.3 above
- fixed: SIO IO-scheduler enabled again and set as default
- undervolted all dynamic frequencies
- changes from v1.2 above
- smartass2 governor added
- changes from v1.1 above
- debugging disabled for performace and smaller kernel
- IO-scheduler
- Deadline enable and modified (writes_starved = 1)
- SIO added (set as default)
- V/R added
- interactivex governor added and set as default
- higher o/c frequencies enabled (be carefull)
- min frequency set to 480MHz
- vm_swappines = 0
- Reduce vfs_cache from 100 to 50
- fsync disabled (franciscofranco)
- Erase memory pages as soon as they are freed to prevent new processes getting old information (franciscofranco)
- unecessary SCSI drivers removed
- initial version (v1)