Matr1x Kernel for Nexus S and Nexus S 4G! [ICS]


  • Based on Linux kernel version 3.0.26
  • I/O Backport from 3.2 kernel (Thanks to franciscofranco)
  • OC to 1.46 Ghz
  • Voodoo sound and color (Thanks to supercurio)
  • BLN (Thanks to neldar)
  • BFS (Thanks to Con Kolivas) + -ck tweaks
  • SLQB memory allocator
  • Deadline, SIO, and BFQ I/O Schedulers
  • Additional governors (Smartassv2, Lazy, Minmax, InteractiveX, Lulzactivev2, Intellidemand, Wheatley, Savaged-Zen)
  • Stochastic Fair Blue (internet packet queue management algorithm)
  • INIT.D
  • USB OTG (Thanks sztupy!)
  • KSM (Kernel SamePage Merging)

**Ezekeel’s mods** (Thanks to Ezekeel)

  • LiveOC
  • BLX
  • BLD
  • Ezkeel’s voltage mod
  • Touch Wake
  • Bigmem



  • v11.0 Applied pvr and mxt patches to Matr1x gingerbread source for ICS compatability.
  • v11.5 Applied all of the updated ICS patches from Kwiboo and fixed BLN.
  • v12.0 Fixed the wifi for alpha12+ compatibility, added Ezekeel’s bigmem mod, and updated his liveoc mod.
  • v12.5 ICS 4.0.3 compatibilty and any Ezekeel mod updates.
  • v13.0 Fixed the YouTube video decoding, added voodoo, and uploaded wifi script for Iran i9023 users (thanks Alireza Asgari!).
  • v13.5 Added the 100% “battery tweak”, patched up to 3.0.14, added the LagFree and InteractiveX governors, BLN app support, INIT.D support, and any Ezekeel bug fixes.
  • v14.0 Added the Lulzactive governor and fixed the deep idle wake issue.
  • v14.5 Added SIO I/O Scheduler, Lulzactivev2 governor, BLN blink interval code, and green screen fix.
  • v15.0 Updated kernel base to 3.0.17, added the Wheatley governor by Ezekeel, BFQ, USB OTG support, and any Ezekeel bug fixes.
  • v15.5 Updated kernel base to 3.0.18, I/O Backport from 3.2 kernel, USB OTG build 5, some ext4 tweaks, conservative governor + tweaks, and v® I/O scheduler.
  • v16.0 Fixed the 0.00B ram issue, updated kernel base to 3.0.19, removed deep idle and added cpuidle backport from 3.2 kernel, added the Intellidemand governor, and added some various performance tweaks.
  • v16.5 Put deep idle back in, added some performance tweaks, added any ezekeel bug fixes, updated kernel to 3.0.20, and added the Lionheart governor.
  • v17.0 Updated kernel base to 3.0.21, added KSM, and added some performance tweaks.
  • v17.5 Updated kernel base to 3.0.22, added the smartassv2 bug fix by abev66, added the Savaged-Zen governor (Thanks Savaged-Zen team), and added some performance tweaks.
  • v18.0 Updated kernel base to 3.0.24, added byeonggon’s Selective LiveOC, added SWAP capabilities, and added some performance tweaks.
  • v18.5 Updated kernel base to 3.0.26, added Fast Charge by Chad Froebel (Be sure to get his widget here:…stchargewidget), removed SWAP due to lag, and added some performance tweaks.
  • v19.0 Updated kernel base to 3.0.28, added the updated SIO I/O Scheduler, added the 4.0.4 ICS code, added the Bigmem mod from the CM9 kernel, and added some performance tweaks.
  • v19.5 Updated kernel base to 3.0.30, fixed the ondemand sampling rate issue, added CM9 wifi support, and added some performance tweaks.
  • v20.0 Updated kernel base to 3.0.32, changed the refresh rate to 50Hz, added some performance tweaks, and changed some governor tunables.

ICS kernels are NOT COMPATIBLE with Jelly Bean ROMs, for Jelly Bean ROMs, please see Matr1x Jelly Bean Kernels!

Links to ICS version:

Click Here for Downloads

Link to source:


1. How do I flash this kernel?

You can flash from CWM recovery or rom manager. Make sure you wipe dalvik
cache before flashing.

2. After flashing, why does it get stuck at the google logo or get bootloops?

Make sure you are flashing the right kernel version for your rom and reflash. If
it still does it, then just let me know and I can take a look.

3. After booting up and using it, why does the kernel seem very laggy?

I would suggest you OC it or liveoc it from 1Ghz. If you liveoc it, I would raise
all voltages first by at least +15. Say if you liveoc with 105, you can go +15-
+25 across the board.

4. Why am I getting random reboots?

You probably have it oc’ed too high or your phone can’t handle the uv. If you
get random reboots, first try raising all voltages. If that doesn’t help, then
lower the clock speed.

5. What’s the difference between CFS and BFS?

This is a good thread:

But CFS is a nice overall scheduler, with nice stability and it is good for a

BFS is a performance scheduler giving more performance to the currently
running app, like a game. So if you aren’t really a multitasker or if you play a lot
of games, BFS is a better choice.

BFS is sometimes a bit unstable though.

6. What are the governors?

7. How can I tweak the voltages?

I would recommend using SetCPU and looking at the “voltages” tab and altering from there.

Want to stay updated on latest Matr1x Kernels?
Sign up for our E-mail Newsletter here so you will be notified as soon as new Matr1x kernels are released!
Categories: Matr1x News.

43 Responses to Matr1x Kernel for Nexus S and Nexus S 4G! [ICS]

  1. Keith Vetter says:

    Your kernels rock!

  2. john says:

    do I need to flash both files? the download page has 2 different .zip files and I’m unsure what to do…

  3. Keith says:

    Just want to thank you guys for what youve been able to do. Wondering if you can help on this one or have come across the issue before -MMS message sending not working.
    Keeps saying sending when attempting to send an MMS over the network – works ok over wireless
    I am on orange (uk) have an MMS pkan and tried origional settings on vvarious ROMS – same issue

  4. hein says:

    Downloaded the ICS Matr1x kernel. Flashed it following instructions.
    Running the latest ICS rom and getting that google logo loop.

    Any idea why?

  5. Curt says:

    Solid as a rock kernel! Great work. Having problems rebuilding on my own though – I want to patch in the touchscreen fix ( but can’t get a good compile. Any chance you could put the patch in, or post some step-by-step instructions on rebuilding from source?


  6. adam says:

    Are you guy going to make 1.6 ghz over clock kernal again like 2.3.1 os or at least 1.53 ghz kernal for android 4.0.x?

  7. Spark says:

    New CM9-Kernel can provide 50MB more RAM to userspace,
    “decrease mmap usage to provide more ram to userspace.
    22 MB is required for 720p decoding and disables suppoort for 1080p videos.”

    Here’s What was done.

    Hope you can just apply this change or give us options~ thank you~

    • Spark says:

      Well, I visited your github, It seems that you’ve already applied this change, but reverted due to video decoding issues.

      As I know, there are some changes on the libs related to video decode and encode, for example.

      I flashed the boot.img from CM9 20120313 and pushed all the libs that I thought may related to video decode to my nexus, It just works.

      Hope this can be of some help.
      And thank you for your awaresome kernel

  8. Jordan Paris says:

    Wifi doesn’t work When flashed. I’m running miui 2.3.30
    I like ur kernel but I have to have wifi.. and also I didn’t seem to c a difference in the oc it was still at 1000

  9. jordan paris says:

    Nevermind just know not to flash in rom manager do if by going into recovery

  10. thomm says:

    will you include Supercharge to your kenrel?

  11. Petem says:

    i upgraded to the lastest crossbones 3.0 for the nexus s 4g and installed the lasted 18.5 cfs kernel… for some reason.. going to the matrix kernel causes the gallery and camera to crash.. they both start.. just as the gallery is finishing bringing up the pictures it closes.. the camera is the same.. it open.. the about 2 to 3 sec later it closes.. i had been using crossbones 2.5 and version 17.5 of the kernel with little to no issues.. admittedly .. it took like 3 attempts loading 17.5 to get everything stable.. because this issue also poped up in 17.5…….. heres my steps.. do a factory default.. wipe everything.. (dalvik, cache.).. .. install the new rom.. .. install gapps.. do a factory defaults again.. wipe everything again.. install the kernel.. the only overclocking i do is to 1200.. right now im running the default kernel that crossbones comes with.. all apps run fine.. but i have noticed that when getting a call.. the phone screen hesitates to wakeup …… so im sort of looking to get the matrix kernel installed.. any suggestions would be highly appreciated..


    • dave says:

      you might be over wiping :) in general the only time you should wipe data factory defaults is before flashing a rom not after and not before flashing a kernel. I dont think crossbones is different, and you definitely definitely dont need to wipe everything before installing the kernel, at most just wipe dalvik and cache. So i would suggest this. first make sure your issues arent already known in the rom thread. Next go load a working backup of crossbones boot up, then go back into recovery and just format system and wipe dalvik (cache too if you want) and then re-flash crossbones, flash matr1x 18.5 cfs, flash gapps all before leaving recovery, then reboot. let it do its upgrading applications stuff and check to see that matr1x installed in “about phone” then reboot just for good measure. if you just format system you dont lose data. I personally always format system and wipe dalvik and reflash the actual rom along with the custom kernel each time i try a new one. for some reason formatting system and dalvik and then re-flashing the rom and the kernel one after the other in recovery seems to help the kernel settle into the rom better. let me know if you have success

      • Petem says:

        actually.. so far it’s been a simple fix… after flashing the rom, gapps and then the kernel.. i let it reboot like normal…. then immediately power down then power it backup.. this looks to settle the system.. and all apps work fine afterwards.. if i don’t power down after the first reboot after flashing, the camera and gallery always crash.. (whats funny is that it is always the camera and gallery that are affected)… so far this has worked for ver 19 and ver 19.5…. hope this helps anyone else that this may be happening to….. (running crossbones v3 w/matr1x cfs 19.5)

  12. Thomas says:

    Works very well with this combo: cm9 rc0 v6.0, matr1x 19.0. But wifi is not working with the new cm9 rc0 v7.0

  13. jesse says:

    I have a nexus S GSM that I have been running the nightly Cyanogen 9 updates on in conjunction with mat1x kernel version 19.0. starting with the update of Cyanogen on 4/19, I can not turn on WIFI when i install the matr1x kernel??

  14. anson says:

    i wanted to flash CM9 with your kernel but it keep getting bootloops. i wiped the dalvik cache already. how am i supposed to know which kernel version im supposed to use?

  15. Parpat51492 says:

    Just flashed this kernel today! Runs great, but I am getting an issue with the camera :/ there are green lines on the screen and also most of the pictures have huge grayed out areas. I looked on other forums and there doesn’t seem to be a fix for it. I also tried switching my roms/reflashing it, nothing worked besides using a different kernel. Any Ideas?

    • green horn says:

      I have been been having having the same issue with the lines coming on the camera have u found solution to it

  16. timfeirg says:

    it get stuck at the google logo
    and for the record i also format sdcard/system/cache before flashing the zips

  17. alex says:

    can you make kernel for huawei honor u8860?

  18. NexusS135 says:

    Hi there.. Your kernel is great…
    I’ve used this kernel with Apex 1.1.2 ROM, and it run well.
    One question from me, how do I enable or activate the USB OTG, I have try with using USB OTG cable, but it won’t work.
    My NS can not recognized the flash disk.
    Please advice…

  19. Kimchi says:

    When I try and download Matr1x Kernel 19.5 CFS, it says that the file has been removed from mediafire. Could you provide a download link that works?

  20. Omer says:

    I have just installed cm-9.0.0-RC1-crespo on my Nexus S. Which Matr1x kernel version do you recommend to improve performance over stock CM9 kernel? Can it be installed using ROM manager by wiping dalvik?

    • Shank says:

      v22.0 = the latest and greatest bud

      • Omer says:

        Ty shank. But cell went into a boot spiral. O/c to 1300 MHz,. On Demand cpu governor Perhaps CM9 is to blame… Stable version not out yet… Restored back to CM9 kernel. I

  21. dougk says:

    just wanted to give big ups to the dev, this kernel ROCKS! thx for your hard work.

  22. DougC says:


    I’ve been using your kernel since 4.x on GB and it’s been awesome. Any decision on your next device yet? Will we see a Matr1x kernel for Jelly Bean? Forgive me if this has already been asked.

    Thanks for creating and supporting the best kernel for the Nexus S in existence!

    • Shank says:

      Hmm… I haven’t made any decisions on future devices yet lol…

      Yeah once the JB kernel source is out I’ll get started

  23. Ehol says:

    Hi, I installed your v22.0 kernel over a stock 4.0.4 and everything was smooth and well.
    Now, JB is here and I received the OTA, but it doesn’t install due to an assert failed on your “”.
    I tried to revert back to stock boot.img and tried to delete that file, but the error don’t go away and the OTA stil doesn’t install. How can I remove the reference to so that I don’t receive anymore the assert failed error ?
    Thank you in advance

    • Ehol says:

      Nevermind: Reflashed the entire image, rerooted the phone, downloaded again the OTA, failed install but with different error. Reflashed clockwork recovery and installed the OTA zip from there. Bingo !
      Now, I am hoping for you to update your kernel, since it was so good :)
      Best Regards

  24. Mo says:

    Love your Kernel,used it on ics and its amazing!

    Upgraded to JB 4.1.1 and now i need a kernel to OC my Nexus s, so my question is when can we expect the first JB kernel release ?

    thx for your great work ! ;)

  25. shyam says:

    hey, thanks for the website. i flashed 22.5 on my sprint neus s 4g running ICS. I am stuck at the google boot picture… what should i do?

  26. Sairas says:


    Im really interested to get Matr1x for my nexus s mostly because it will be able to recognise usb devices ( use OTG cable). Sadly i still havent even rooted my phone yet and am confused how to flash/download or whatever it is called to use this on my phone. Apparently you need to have a custom rom?

    BTW what would be the best way to root my nexus s on Jellybean. There isnt many supported ways yet

Related News and Resources