[KERNEL] candied(Ice) (2.6.35) | candiedIce V3 (3.0.8)

Which touchscreen driver should be supported?

  • default

    Votes: 81 37.2%
  • caveman

    Votes: 122 56.0%
  • other (please post)

    Votes: 23 10.6%

  • Total voters
    218
Search This thread

DJNoXD

Senior Member
Sep 9, 2008
1,127
6,284
djnoxd.blogspot.de
Samsung Galaxy S8
Hello and welcome

candied(Ice) (2.6.35):
This kernel is created for the LGE p500 familie 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.x)
  • improved battery life
  • changes to improve stability and performance
  • modules compiled into kernel: cifs, tun, advanced routing, fuse, ppp
candiedIce V3 (3.0.8) (Alpha):
This kernel is based of 3.0.31 kernel by team androidarmv6 for the LGE p500 famile. It's still a very early version.
As most of you know, I'm a member of team androidarmv6. So maybe you ask why do you create a second version of it?
Easy answer:
- At the moment for testing commits before pushing to the team kernel.
- In the future I maybe will add code that won't be part of the team kernel


Warning
I'm not responsible if you brick your device by heavy OC, flashing ... :angel:
Using using very high frequencies (> 729Mhz) is dangerous and can melt your phone main board!

Attention: Before flashing this kernel
Using the correct kernel version is important. That means:
candied-kernel (2.6.35): only use with gingerbread android (2.3)
candiedIce-kernel (2.6.35): only use with ICS/JB android (4.x)
candiedIce-kernel V3 (3.0.31): only use with ICS/JB android (4.x) -> keep in mind its alpha release and at the moment only for testing

Older android versions (2.2 and older) are not compatible.
The 2.6.35.14 kernel is based on cyanogen kernel. If you have problems with other roms than cyanogen (or cyanogen based), this kernel is maybe not 100% compatible with your rom.


The latest cm7 nightly builds (20121104 nightly or later) are having problems with the updated display driver in my kernel. You will get a green screen, so you can't use your phone. To get cm7 working again with my kernel, replace the gpu libs with newer ones (see below). Please report if later nighly's will work again, without replacing the gpu libs. Thanks.


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.
FirAmp said:
The gpu libs I used were obtained from here http://xdaforums.com/show....php?t=1582243
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What I did was booted into my stock rom, used a root browser to get to build.prop and added the following lines to the bottom

Code:
debug.performance.tuning=1
video.accelerate.hw=1
persist.sys.use_16bpp_alpha=1 
persist.sampling_profiler=0
ro.lge.proximity.delay=25
mot.proximity.delay=25
ro.secure=0
ro.debuggable=1
persist.service.adb.enable=1
persist.sys.use_dithering=0
persist.sys.purgeable_assets=1
persist.sys.shutdown.mode=hibernate
windowsmgr.support_rotation_270=true
debug.composition.type=gpu
windowsmgr.max_events_per_sec=400
dalvik.vm.verify-bytecode=false
iro.min_pointer_dur=1
After which I booted into recovery, and flashed this http://www.mediafire.com/?2go947rxb1anei1 (mirror) ( New Adreno Libs )
Then of course finally flashing your great kernel.
First boot went flawlessly!
Test-Builds (no support)
made with jenkins build-server (also including 3.0.31 kernel builds)
for changes take a look at github:
2.6.35: github commit history (RSS)
3.0.31: github commit history (RSS)
downloads

Download locations
Downloads can be found at:
- sourceforge (all)
- below (only latest / selected)
- RomManager (since 2.5.5)
Credits:
thachtunganh: Thanks for helping me and for sharing your knowledge with me
Arjen, Aspee, neko95: Thanks for your help
Fserve, Hephappy, PaoloM70, Roqu3, Der_Caveman, Mik_os, Franco Francisco and all I forgot: Thanks for sharing your kernel improvements
Cyanogenmod Team, Code Aurora Forum: Thanks for sharing you kernel kernel sources and all the patches
Everyone I forgot: Thanks for your help
And you: Thanks for testing, using my kernel, for telling me what can be improved and telling me the bugs
 

Attachments

  • v2.5.6_ics-ta-vsyncOff-20120829-signed.zip
    2.9 MB · Views: 3,129
  • v2.5.7-ta-vsync-20121003-signed.zip
    3.9 MB · Views: 1,583
  • v2.5.7-ta-vsyncOff-20121003-signed.zip
    3.9 MB · Views: 1,816
  • v2.5.7-p506-ta-vsyncOff-20121003-signed.zip
    3.9 MB · Views: 364
  • v2.5.7-def-vsyncOff-20121018-signed.zip
    3.9 MB · Views: 813
  • v2.5.8_ics-ta-vsyncOff-20121129-signed.zip
    2.4 MB · Views: 2,034
  • v2.5.8-ta-vsync-20121129-signed.zip
    2.4 MB · Views: 1,942
  • v2.5.8-ta-vsyncOff-20121129-signed.zip
    2.4 MB · Views: 5,122
  • jenkins-candiedIce-kernel_v3-p500-p509-13-signed.zip
    4.3 MB · Views: 2,743
Last edited:

DJNoXD

Senior Member
Sep 9, 2008
1,127
6,284
djnoxd.blogspot.de
Samsung Galaxy S8
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.
FirAmp said:
The gpu libs I used were obtained from here http://xdaforums.com/show....php?t=1582243
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What I did was booted into my stock rom, used a root browser to get to build.prop and added the following lines to the bottom

Code:
debug.performance.tuning=1
video.accelerate.hw=1
persist.sys.use_16bpp_alpha=1 
persist.sampling_profiler=0
ro.lge.proximity.delay=25
mot.proximity.delay=25
ro.secure=0
ro.debuggable=1
persist.service.adb.enable=1
persist.sys.use_dithering=0
persist.sys.purgeable_assets=1
persist.sys.shutdown.mode=hibernate
windowsmgr.support_rotation_270=true
debug.composition.type=gpu
windowsmgr.max_events_per_sec=400
dalvik.vm.verify-bytecode=false
iro.min_pointer_dur=1
After which I booted into recovery, and flashed this http://www.mediafire.com/?2go947rxb1anei1 ( New Adreno Libs )
Then of course finally flashing your great kernel.
First boot went flawlessly!
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.​
 
Last edited:

DJNoXD

Senior Member
Sep 9, 2008
1,127
6,284
djnoxd.blogspot.de
Samsung Galaxy S8
I think compiling a Kernel was easy all Time.
Getting as good as lupo, Franco, ... is the hard thing. But starting to work on kernel and getting it better is the only way how to learn.
Sharing the work with other and getting feedback is also important to learn.
At the moment I am learning to understand how the kernel works. Than I can find out what can be improoved.

Sent from my LG-P500 using xda premium
 

deniso177

Senior Member
Aug 27, 2011
558
145
Hello together

I have started modding the Cyanogen 2.6.35.10 kernel to my needs.
The kernel is tested with the last cyanogen nightly rom.

Changelog:
Before flashing it:
It's only for CM7 Rom's. Other ROMs may not work correctly after flashing it.

DJNoXDv1-1-signed.zip (@github)
DJNoXDv1-signed.zip (@github)

github: http://github.com/DJNoXD
You dont have SIO present on your kernel at all,and you Have NOOP set as default.

Make sure you check what you compile next time mate. Other than that good job so far
 

mDroidd

Senior Member
Aug 27, 2011
1,844
1,362
mappz-development.com
I think compiling a Kernel was easy all Time.
Getting as good as lupo, Franco, ... is the hard thing. But starting to work on kernel and getting it better is the only way how to learn.
Sharing the work with other and getting feedback is also important to learn.
At the moment I am learning to understand how the kernel works. Than I can find out what can be improoved.

Sent from my LG-P500 using xda premium

The point is, LewaOS is build from source with little changes.

This is built from source with little changes.

LewaOS has been moved to Development, and you post in Original Development.

Sent from my Galaxy Nexus using Tapatalk 2 Beta-5
 

DJNoXD

Senior Member
Sep 9, 2008
1,127
6,284
djnoxd.blogspot.de
Samsung Galaxy S8
You dont have SIO present on your kernel at all,and you Have NOOP set as default.

Make sure you check what you compile next time mate. Other than that good job so far

You are right, something went wrong at uploading. (My Phone shows SIO and it is default)
I will check this and tell you if its up.

mDroidd said:
LewaOS has been moved to Development, and you post in Original Development.
My fault, I didn't saw that.
 
Last edited:
  • Like
Reactions: nshaziq89

deniso177

Senior Member
Aug 27, 2011
558
145
v1.3:
- included touchscreendriver from DerCaveman
- vSync disabled

Good choice, but I would branch it out as 1.2b as many people want Vsync on and stock touchscreen driver, and if you update more, update both branches.

---------- Post added at 11:12 PM ---------- Previous post was at 11:03 PM ----------

v1.2:
- fixed: SIO IO-scheduler enabled again and set as default
- undervolted all dynamic frequencies

@ZiViTi_13
Which download did you try?
The Forum attachment Link is invalid for 1.2.
Githubs works fine
 

Attachments

  • DJNoXDv1-2-signed.zip
    3.2 MB · Views: 42
  • Like
Reactions: DJNoXD

DJNoXD

Senior Member
Sep 9, 2008
1,127
6,284
djnoxd.blogspot.de
Samsung Galaxy S8
Good choice, but I would branch it out as 1.2b as many people want Vsync on and stock touchscreen driver, and if you update more, update both branches.

Sometimes git feels a little strange to me.
That why I have not worked with branches.
But I will read about how to work with branches.
Do you know if there is an easy way how to commit to two branches?
 

seriousia

Senior Member
Jan 31, 2011
715
256
Please move this thread to ORIGINAL ANDROID DEVELOPMENT SECTION
:)


Sent from my LG-P500 using XDA
 

Top Liked Posts

  • There are no posts matching your filters.
  • 163
    Hello and welcome

    candied(Ice) (2.6.35):
    This kernel is created for the LGE p500 familie 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.x)
    • improved battery life
    • changes to improve stability and performance
    • modules compiled into kernel: cifs, tun, advanced routing, fuse, ppp
    candiedIce V3 (3.0.8) (Alpha):
    This kernel is based of 3.0.31 kernel by team androidarmv6 for the LGE p500 famile. It's still a very early version.
    As most of you know, I'm a member of team androidarmv6. So maybe you ask why do you create a second version of it?
    Easy answer:
    - At the moment for testing commits before pushing to the team kernel.
    - In the future I maybe will add code that won't be part of the team kernel


    Warning
    I'm not responsible if you brick your device by heavy OC, flashing ... :angel:
    Using using very high frequencies (> 729Mhz) is dangerous and can melt your phone main board!

    Attention: Before flashing this kernel
    Using the correct kernel version is important. That means:
    candied-kernel (2.6.35): only use with gingerbread android (2.3)
    candiedIce-kernel (2.6.35): only use with ICS/JB android (4.x)
    candiedIce-kernel V3 (3.0.31): only use with ICS/JB android (4.x) -> keep in mind its alpha release and at the moment only for testing

    Older android versions (2.2 and older) are not compatible.
    The 2.6.35.14 kernel is based on cyanogen kernel. If you have problems with other roms than cyanogen (or cyanogen based), this kernel is maybe not 100% compatible with your rom.


    The latest cm7 nightly builds (20121104 nightly or later) are having problems with the updated display driver in my kernel. You will get a green screen, so you can't use your phone. To get cm7 working again with my kernel, replace the gpu libs with newer ones (see below). Please report if later nighly's will work again, without replacing the gpu libs. Thanks.


    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.
    FirAmp said:
    The gpu libs I used were obtained from here http://xdaforums.com/show....php?t=1582243
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    What I did was booted into my stock rom, used a root browser to get to build.prop and added the following lines to the bottom

    Code:
    debug.performance.tuning=1
    video.accelerate.hw=1
    persist.sys.use_16bpp_alpha=1 
    persist.sampling_profiler=0
    ro.lge.proximity.delay=25
    mot.proximity.delay=25
    ro.secure=0
    ro.debuggable=1
    persist.service.adb.enable=1
    persist.sys.use_dithering=0
    persist.sys.purgeable_assets=1
    persist.sys.shutdown.mode=hibernate
    windowsmgr.support_rotation_270=true
    debug.composition.type=gpu
    windowsmgr.max_events_per_sec=400
    dalvik.vm.verify-bytecode=false
    iro.min_pointer_dur=1
    After which I booted into recovery, and flashed this http://www.mediafire.com/?2go947rxb1anei1 (mirror) ( New Adreno Libs )
    Then of course finally flashing your great kernel.
    First boot went flawlessly!
    Test-Builds (no support)
    made with jenkins build-server (also including 3.0.31 kernel builds)
    for changes take a look at github:
    2.6.35: github commit history (RSS)
    3.0.31: github commit history (RSS)
    downloads

    Download locations
    Downloads can be found at:
    - sourceforge (all)
    - below (only latest / selected)
    - RomManager (since 2.5.5)
    Credits:
    thachtunganh: Thanks for helping me and for sharing your knowledge with me
    Arjen, Aspee, neko95: Thanks for your help
    Fserve, Hephappy, PaoloM70, Roqu3, Der_Caveman, Mik_os, Franco Francisco and all I forgot: Thanks for sharing your kernel improvements
    Cyanogenmod Team, Code Aurora Forum: Thanks for sharing you kernel kernel sources and all the patches
    Everyone I forgot: Thanks for your help
    And you: Thanks for testing, using my kernel, for telling me what can be improved and telling me the bugs
    59
    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.
    FirAmp said:
    The gpu libs I used were obtained from here http://xdaforums.com/show....php?t=1582243
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    What I did was booted into my stock rom, used a root browser to get to build.prop and added the following lines to the bottom

    Code:
    debug.performance.tuning=1
    video.accelerate.hw=1
    persist.sys.use_16bpp_alpha=1 
    persist.sampling_profiler=0
    ro.lge.proximity.delay=25
    mot.proximity.delay=25
    ro.secure=0
    ro.debuggable=1
    persist.service.adb.enable=1
    persist.sys.use_dithering=0
    persist.sys.purgeable_assets=1
    persist.sys.shutdown.mode=hibernate
    windowsmgr.support_rotation_270=true
    debug.composition.type=gpu
    windowsmgr.max_events_per_sec=400
    dalvik.vm.verify-bytecode=false
    iro.min_pointer_dur=1
    After which I booted into recovery, and flashed this http://www.mediafire.com/?2go947rxb1anei1 ( New Adreno Libs )
    Then of course finally flashing your great kernel.
    First boot went flawlessly!
    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.​
    17
    New test version (without pcm recodring module, will follow later):

    Changelog:
    • net: data usage now works
    • Add more PMEM @rashed
    • fs: aufs2.2 build in
    • fs: some ext4 patches from later kernel sources
    • cleanup: remove of unused driver
    • CPU: CPUIDLE driver from kernel 3.7
    • staging: framebuffer port from 3.0.8
    • serveral patches from later kernel sources
    • rtc: alarm: Update hrtimer if alarm at the head of the queue (@Arve Hjønnevåg)
    • rtc alarm: fix bad index when canceling alarms (@JP Abgrall)
    • video: msm: Block histogram requests with powered down panel (@Carl Vanderlip)
    • Update ashmem to msm-3.4 (@androidmeda)
    • better pmem fix (@jerpelea)
    • Backport adsp_video_verify from .38 kernel (@gntcs)
    15
    A Merry Christmas to all of you. :laugh:
    14
    I think compiling a Kernel was easy all Time.
    Getting as good as lupo, Franco, ... is the hard thing. But starting to work on kernel and getting it better is the only way how to learn.
    Sharing the work with other and getting feedback is also important to learn.
    At the moment I am learning to understand how the kernel works. Than I can find out what can be improoved.

    Sent from my LG-P500 using xda premium