Sunday, 22 July 2012

Test Nexus S kernel release 3.0.38-21 (ICS and JB)

Another test release, both for Android 4.0 (ICS) and Android 4.1 (JB) this time.

Status of ICS support is that it will be supported for another month, although I don’t expect many people to be using it because JB is far superior.


  • Disabled IDLE2 until I decide exactly how the invocation code will be implemented and get the implementation completed and bugfree.
  • Fixed a ton of complier warnings which had been irritating me for a while (21 commits in total).
  • Merged to mainline 3.0.38 and merged in android-common-3.0.

ICS version here.

JB version here.

Source: ICS JB.


  1. I was very excited to see that voodoo sound is included as part of this kernel, but then I found that voodoo colour isn't also included.

    I've been missing the ability to adjust colours since I switched to JB, so it would be excellent if voodo colour could be included as well in a future release.

    1. Please see the 'dismissed ideas' section from my a previous post here:

      No, I'm not adding voodoo colour. If I added that, it would be something else which someone 'misses', then something else, until my kernel ends up as bloated and crap as the majority of the Nexus S kernels available.

      I don't want that, and neither do the majority of my users, so again, no.

  2. I see. I hadn't done enough reading to see that the idea had already been discussed, and thought it wouldn't hurt to ask.

    Our opinions differ on the value of colour adjustment, and at least one device even claims it as a headline feature.

    Thanks anyway, you're doing good work.

  3. thank you for your continued work on kernels... I love them :)

  4. Hi thalamus,

    Great work as always, one thing I wanted to ask is, would we ever see something like Linux AIO being implemented in your kernel? I'm not sure if you included it or not yet, but Air Kernel has it and I think it sped up the Nexus S. I like how your kernel is very streamlined and doesn't have bullcrap, just the nice extras, but I think this might be a good performance enhancer if it's not already included right now.

    1. AIO is enabled in the AOSP JB kernel by default...

      And I wouldn't take anything that Air Kernel does as gospel lol. That guy loves to cherry-pick random patches from all over the internet, as you can see from his git.

    2. Well, I used Air Kernel for example because his kernel had AIO and I noticed when it was enabled it was a lot faster. I like your kernel better, was just using his as a reference to what I meant lol.

      Good to know that AIO is included even in the JB kernel by default, definitely helps with I/O speed.

    3. So it turns out that the Nexus 7 kernel is the only one with it enabled. I wrongly assumed the others had it enabled also.

      AIO isn't enabled in the Nexus S kernel by default.

      It is also disabled in the Galaxy Nexus kernel.

      I suspect it is enabled in the Nexus 7 kernel because they forgot to disable it, as you have to explicitly disable it.

      As for it making a difference, it doesn't seem to make any difference at all. The device doesn't boot faster, apps don't open faster, and I/O benchmarks don't show any improvement. I don't think any AIO calls are implemented in Android.

      It's a placebo...and another case of random patches being slapped together by kernel 'devs'.

  5. does not work on my nexus s i9023..doen't boot load..i don't know if the feedback helps though..

    1. I think it does work, because it works for me and everyone else, except you seemingly.

  6. This comment has been removed by the author.

  7. I wasn't sure if xda or here would be better to post on so I posted on both, sorry if not correct thing to do. So I have a picky crespo that doesn't like many kernels, yours was one of a few exceptions along with stock, Peter Alfonso's, Simple Kernel. But I have been having reboots with Adam's JellyBelly and your kernel so I ran a log for you. Hope it helps, and thanks for your work.



    1. Sorry, there isn't anything in there which could help. It looks like a reset rather than a kernel panic. Feel free to send any further ones though.

    2. thanks for taking a look, as a side note I believe this started to occur when you implemented IDLE2... anyway here is another form the last reboot, hope this one helps.

      saw this... [ 8410.973152] Kernel panic - not syncing: Fatal exception in interrupt

      and this... [ 8410.973152] Kernel panic - not syncing: Fatal exception in interrupt

      full log...

    3. Nah, IDLE2 isn't built into that kernel there. I disabled it last week until I had rewritten it, which I only finished today and I haven't released it yet.

      It looks like quite a sick device to be honest. It had a bunch of faults at once. Not good.

      It's not a kernel issue anyway, it's a hardware issue.

    4. Well that is bad news, I did have to have the PBX board replaced on it about a year ago now, wonder if that had anything to do with it... So if it is hardware I guess there is not much to do then, right?

      For my knowledge how what do you see that tells you this, just trying to educate myself.