[KERNEL][8th-Dec] YA-OK! Yet-another Optimised Kernel (v1.50 Update)

Status
Not open for further replies.
Search This thread

zenkinz

Senior Member
Apr 21, 2005
2,374
65
www.zenyee.com
Yes, this is yet another (shameless) attempt to optimise the kernel for our Galaxy-S (i9000) by taking tweaks implemented by various xda developers. The aim at this moment is to 'integrate' all the desirable tweaks, since I'm still grasping the ins and outs of Linux kernel to experiment some of the possible tweaks myself.

Not sure how far I would bring this thread forward, because I will be working on a project (my day job) very soon again, so I'm going to enjoy/do while I can.

Key Implementation

  • based on JPM kernel
  • sztupy's Universal Lag Fix (v0.3)
  • hardcore's Free Memory config (341MB)
  • raspdeep's Overclock (v1.1)
  • hardcore's SpeedMod (Tweaks + Compiler Optimisation) with Jhash update
  • supercurio Voodoo Display tweak (Gamma Correction and Improve Sharpness)
  • neldar's Backlight Notification (BLN, v2.2, enabled via ULF in recovery mode)
  • Budget Fair Queuing (BFQ) I/O Scheduler

I also made some minor modification to other codes to experiment the overclock enhancement. It's in this build but may not have any effect.

Please refer to this link for the latest download

See this video of my Galaxy S running on Ya-OK kernel. Video playback, internet browsing, gaming, UI navigation.


attached is the screenshot of quadrant, on a JPM-based ROM with EXT4 on all partition.


attachment.php


CREDITS

in no order of priority.

  1. supercurio
  2. sztupy
  3. raspdeep
  4. hardcore
  5. neldar
  6. and rest of folks in xda-developers who have contributed one way or another
 

Attachments

  • CAP201010311504.jpg
    CAP201010311504.jpg
    43.9 KB · Views: 24,405
Last edited:

zenkinz

Senior Member
Apr 21, 2005
2,374
65
www.zenyee.com
DOWNLOAD HISTORY

v1.50 (build 38) - 8th December
  • Updated Overclock to 1.12GHz
  • Updated Kernel Scheduler parameter (sched_min_granularity_ns & sched_wakeup_granularity_ns) to give more priority to foreground application, therefore improving the fluidity of the UI experience. From brief research, these are the key parameters used to tune kernel between a server (therefore higher values) and a desktop.
  • CWM version available here

v1.45 (build 35) - 5th December
  • Fixed stability issue in v1.40 by reverting to the voltage profile used in v1.2b.

v1.40 (build 34) - 28th November
  • Added BFQ (Budget Fair Queuing) I/O Scheduler and set BFQ as the default I/O Scheduler. The aim is to boost I/O throughput, reduce the latency. Please refer to this site for more information

v1.31 (build 31) - 24th November
  • Bug fix on /system mount to prevent filesystem corruption in /system
  • Does not include fix, please refer to supercurio's thread on how to correct the corrupted filesystem if you are encountering problem with your device.

v1.3 (build 30) - 20th November
  • Refined voltage level for cpu frequency 100/200 MHz. Effectively, reduce 75mV for 100/200, and 25mV for 400/800 (same as 1.2b). Again not user configurable for now, though I may implement it if people are finding the UV feature is causing unstability.
  • Upgraded Backlight Notification (BLN) to v2.2 (Please test and feedback)
  • Minor optimisation on kernel configuration (PREEMPT_VOLUNTARY, UACCESS_WITH_MEMCPY)

v1.2b - 2nd November (2585 downloads)
  • Refined voltage level for cpu frequency 100/200 MHz. Effectively, reduce 50mV for 100/200, and 25mV for 400/800. Again not user configurable for now, and once raspdeep released his UV code I may implement it if people are finding the UV feature is causing unstability.

v1.2a - 31st October (668 downloads)
  • Implemented lower voltage for cpu frequency 100/200/400/800MHz.

    Note: Not user configurable

v1.1 - 30th October (1168 downloads)
  • Implemented Voodoo Display Sharpness & Color Gamma

v1.0 - 29th October (759 downloads)
  • Implemented Universal Lagfix, Overclock, Memory optimization, etc
  • Additional minior OC tweaks.
 

Attachments

  • zenkinz30.oc.uv.speedmod.341ram.optcompiled.display.bln22.zip
    6 MB · Views: 2,765
  • zenkinz1.31.build.31.zip
    6 MB · Views: 1,260
  • yaok1.40.build.34.zip
    6.1 MB · Views: 1,365
  • yaok1.45.build.35.zip
    6.1 MB · Views: 1,018
  • yaok1.50.build.38.zip
    6.1 MB · Views: 2,094
  • yaok1.50.build.38.cwm.zip
    6.2 MB · Views: 2,063
Last edited:
  • Like
Reactions: Spike_M and jsen

zenkinz

Senior Member
Apr 21, 2005
2,374
65
www.zenyee.com
FREQUENTLY ASKED QUESTIONS


  1. Does it have a recovery of some sort built in then. Maybe CWR..

    Universal Lagfix Kernel (ULK) comes with Clockworkmod so yes it has the recovery function!

  2. Does this works on my XXX ROM?

    This kernel is compiled based on the available Froyo JPM source, so it'll definitely work on JPM-based ROM (custom or stock). For the rest of Froyo ROM, it has been reported that YA-OK is compatible with the following Froyo-based firmwares; JP6, JPO, JPP, JPD, JPA (all the above are based off Android 2.2 kernel) JPU ROM is however not supported at this moment. (See next FAQ point for more information)

  3. Does this work on JPU-based ROM? When will you support it and/or Why does XXX kernel support JPU and not yours?

    JPU-based ROM is apparently based on Android 2.2.1 firmware. Since the YA-OK kernel is based on version 2.2.0 kernel, there is a high chance YA-OK will not work well with JPU-based ROM. I have not tried personally myself but from what has been reported by other users, this does not work. Only when Samsung release the source code for JPU will YA-OK be able to support JPU (and later) ROM. As to why other kernel developers has already started releasing kernel to supporting JPU-based ROM, they are merely injecting lagfix and tweaks into the kernel through initramfs, instead of the tweaks that require source code modification (e.g. Overclocking, Undervolt, Display Fix, Kernel optimization through compiler optimization).

    Please refer to supercurio post for more information


  4. I installed this kernel on a JPO-based ROM. But it seems that there are no changes, reported RAM is 341 mb but Quadrant is about 1000.

    You need to enable lagfix yourself by going to recovery mode, and select ULK option for all the possible choices of lagfix.

  5. If I install this kernel on my rom, is it still necessary for me to install "voodoo"?

    All the tweak and optimisation features mentioned in this thread are implemented within the kernel, so flashing or updating another kernel will lose whatever features found in YAOK kernel unless the said feature is also implemented in the other kernel. In the case of lagfix, it is important that if you flash another kernel over YAOK (for whatever reason), you need to be sure that kernel supports the relevant lagfix feature otherwise your phone may not boot.

  6. I face alot of FC (Force close) with your kernel, what's wrong?

    One of the common cause for the "FC" problem, particularly with custom kernel, is that you has chosen to enable the BIND option in the Lagfix setting. You should turn that off, and observe further if the FC issue stil persists.

  7. How do I install this kernel?

    First of all, make sure you have a compatible Froyo firmware (refer to above for a list of compatible firmware)

    To install this kernel, download and unzip the zip file. Flash the .tar file using Odin, without selecting re-partition and you can omit the PIT setting.


  8. After updating v1.31 (build 31), my Galaxy gets stuck at the bootscreen. What happens?

    This is a sign of corrupted file system on the /system partition. Try this one time fix procedure
    1. flash back v1.30 build 30
    2. boot to recovery, do a backup
    3. flash v1.31 build 31
    4. boot to recovery, do a advance restore on /system
    5. still at recovery, go to CWM and wipe davik cache
    6. reboot your device (you may have to wait a few minutes for the system to rebuild the davik cache)

  9. I was playing/running XXX game/application, the screen freezes halfway, what gives?

    From experience, some applications (game or graphic intensive application such as video playback application) may not handle overclock feature very well, especially if the application rely solely on CPU (the main processor for computing process needs other than graphics), instead of GPU (the processor dedicated for graphic processing needs), to render graphics. In particular, Rock player seems to have problem handling video playback via software mode (instead of hardware), for HD video. This is understandable given that constant overclocking is usually undesirable. Remember our device can do dynamic CPU frequency scaling, which means it will never always run at overclocked frequency unless you manually set it to be.

    Some games such as Asphalt were reported to freeze the device but from my observation, it is very rare it happens and I would usually would not bother about that. If it really bothers you, just set the CPU scaling threshold to 1GHz (instead of 1.12GHz or 1.2Ghz) via SetCPU app. Personally I won't bother and I think you should do the same. Afterall, it is probably a bad app out of many apps installed that is causing the problem, so why cripped your phone permanently for that? :)



 
Last edited:

ashwinds

Senior Member
Aug 10, 2010
807
52
lol @ the name - there seem to be more kernels than ROM. Thanks to all those devs too and good luck with yours - seems to be the kitchen sink here :)
 

vanahaim

Senior Member
Sep 18, 2009
245
20
Prague
Does this use latest hardcore´s changes?

Otherwise - great stuff, all-in-one, thank you! :)

BTW quadrant benchmark is only a number, but with jfs overkill is my score about 2200...
 
Last edited:

LockeOn

Senior Member
Sep 5, 2010
239
158
Lublin
Which version of hardcore's kernel mod does it include? Is it possible that You add 1000hz version? By the way great work!
 

zenkinz

Senior Member
Apr 21, 2005
2,374
65
www.zenyee.com
Does this use latest hardcore´s changes?

Otherwise - great stuff, all-in-one, thank you! :)

BTW quadrant benchmark is only a number, but with jfs overkill is my score about 2200...

Quadrant is still useful when you look at the score for each component. It is meaningless when you look at overall score of a lag fix device esply with oclf.



Sent from my GT-I9000 using Tapatalk
 

muhyidin

Senior Member
Jun 30, 2007
71
0
Hello

Do I need to disable Lagfix before install this Kernel ? Can i Install it within CMW ?

thx
 

freakfingers12

Senior Member
Oct 4, 2010
502
56
It uses the latest memory config, with most of the optimized compile flags, jhash3 mod, using -O2 with 500hz.

Sent from my GT-I9000 using Tapatalk
I love hardcore's work. I am going to try this one.

So I tried this kernel. Asphalt5 - played one level OK, Dungeon Hunter - after 1min or so, hangs
Can anyone confirm this? I have all gameloft's games so this is a problem for me if it's true.
 
Status
Not open for further replies.

Top Liked Posts

  • There are no posts matching your filters.
  • 13
    Yes, this is yet another (shameless) attempt to optimise the kernel for our Galaxy-S (i9000) by taking tweaks implemented by various xda developers. The aim at this moment is to 'integrate' all the desirable tweaks, since I'm still grasping the ins and outs of Linux kernel to experiment some of the possible tweaks myself.

    Not sure how far I would bring this thread forward, because I will be working on a project (my day job) very soon again, so I'm going to enjoy/do while I can.

    Key Implementation

    • based on JPM kernel
    • sztupy's Universal Lag Fix (v0.3)
    • hardcore's Free Memory config (341MB)
    • raspdeep's Overclock (v1.1)
    • hardcore's SpeedMod (Tweaks + Compiler Optimisation) with Jhash update
    • supercurio Voodoo Display tweak (Gamma Correction and Improve Sharpness)
    • neldar's Backlight Notification (BLN, v2.2, enabled via ULF in recovery mode)
    • Budget Fair Queuing (BFQ) I/O Scheduler

    I also made some minor modification to other codes to experiment the overclock enhancement. It's in this build but may not have any effect.

    Please refer to this link for the latest download

    See this video of my Galaxy S running on Ya-OK kernel. Video playback, internet browsing, gaming, UI navigation.


    attached is the screenshot of quadrant, on a JPM-based ROM with EXT4 on all partition.


    attachment.php


    CREDITS

    in no order of priority.

    1. supercurio
    2. sztupy
    3. raspdeep
    4. hardcore
    5. neldar
    6. and rest of folks in xda-developers who have contributed one way or another
    2
    DOWNLOAD HISTORY

    v1.50 (build 38) - 8th December
    • Updated Overclock to 1.12GHz
    • Updated Kernel Scheduler parameter (sched_min_granularity_ns & sched_wakeup_granularity_ns) to give more priority to foreground application, therefore improving the fluidity of the UI experience. From brief research, these are the key parameters used to tune kernel between a server (therefore higher values) and a desktop.
    • CWM version available here

    v1.45 (build 35) - 5th December
    • Fixed stability issue in v1.40 by reverting to the voltage profile used in v1.2b.

    v1.40 (build 34) - 28th November
    • Added BFQ (Budget Fair Queuing) I/O Scheduler and set BFQ as the default I/O Scheduler. The aim is to boost I/O throughput, reduce the latency. Please refer to this site for more information

    v1.31 (build 31) - 24th November
    • Bug fix on /system mount to prevent filesystem corruption in /system
    • Does not include fix, please refer to supercurio's thread on how to correct the corrupted filesystem if you are encountering problem with your device.

    v1.3 (build 30) - 20th November
    • Refined voltage level for cpu frequency 100/200 MHz. Effectively, reduce 75mV for 100/200, and 25mV for 400/800 (same as 1.2b). Again not user configurable for now, though I may implement it if people are finding the UV feature is causing unstability.
    • Upgraded Backlight Notification (BLN) to v2.2 (Please test and feedback)
    • Minor optimisation on kernel configuration (PREEMPT_VOLUNTARY, UACCESS_WITH_MEMCPY)

    v1.2b - 2nd November (2585 downloads)
    • Refined voltage level for cpu frequency 100/200 MHz. Effectively, reduce 50mV for 100/200, and 25mV for 400/800. Again not user configurable for now, and once raspdeep released his UV code I may implement it if people are finding the UV feature is causing unstability.

    v1.2a - 31st October (668 downloads)
    • Implemented lower voltage for cpu frequency 100/200/400/800MHz.

      Note: Not user configurable

    v1.1 - 30th October (1168 downloads)
    • Implemented Voodoo Display Sharpness & Color Gamma

    v1.0 - 29th October (759 downloads)
    • Implemented Universal Lagfix, Overclock, Memory optimization, etc
    • Additional minior OC tweaks.
    1
    Cool! But how about the OC? Does it works well too? :) I'm interested in this kernal, cuz of the OC function actually :D

    OC works very well. No FC, no freezing what so ever. Can't fault it.
    1
    Sorry, but be quit please.
    As far as I know, K10x kernels work with jpu and non-jpu rom. And they are jpm-sources based...
    With JPU rom,we can use
    - K10J (JPM-based + XXJPU modules)
    - K11-XXJPU (XXJPU stock kbased + some tweak, 2e bootloader, ecc..)

    Now, my question was: and what about this kernel?
    The answer "because Samsung has not released sources, yet" I think it isn't correct at all (see above other kernel status). Or not?

    you can't undervolt, overclock, optimise core of kernel through compiling, etc w/o the source.


    if you like the other kernel that are compatible with JPU, then stick with it.
    1
    I really like your kernel, the performance of the phone is awesome and it has so far been the best kernel I've ever used.
    There's only a slight problem I have (not sure about others)
    My GPS is somewhat useless with this kernel! No sat lock even after about 10mins!
    Takes about 4 or 5 mins to even find 3-4 sats! Use to have ~30sec locks indoors with Hardcore's kernel.
    Don't really know if it's me or others are having the same issue...

    Thank you so much for this kernel! :)
    Keep up the good work.

    that's not really just the kernel's fault, it's the combination of rom, modem and kernel. i use insanity rom, ya-ok kernel and zsjpe modem and i get lock perfectly with great accuracy down to 3m.

    i tried 7 different modems to get the right one for my rom/kernel combo.