Android OS Forum banner
1 - 20 of 611 Posts

"Retired" Developer
707 Posts
Retired - subZero v1.6 Build 167 (End_Of_Line)

Development has been suspended indefinitely!

Due to family/personal reasons, development of this kernel has been suspended indefinitely. Thanks for all the support you've given me over the past months.

IMPORTANT: This is an ICS (v4.0.x) kernel. This kernel WILL NOT work on Jelly Bean ROMs!!!

  • Based on Linux 3.1.10 / Devil v14.2 by derTeufel.
  • Compiled with Linaro 4.7.1 Toolchains with O3 compiler flags.
  • Some optimizations, with no Position Independent Code (PIC).
  • Address Space Layout Randomization.
  • CFS I/O Scheduler (default), BFS may return later.
  • Block Schedulers: SIO (default), Deadline, Noop, CFQ, BFQ, VR.
  • CPU Governors: SmartassV2 (default), Conservative, Performance, Lazy, Lagfree, LulzActive, Ondemand.
  • OC support up to 1400 MHz (1000 MHz default). Could be unstable.
  • Selective Live OC tweaks.
  • BLN v9 with kernel blink support.
  • Battery Life eXtender (BLX) support.
  • Touch wake support.
  • Supports Arifhn's NSTools app.
  • Voodoo Sound v10.
  • CM Color and Voodoo Color versions available.
  • Color tuning and Gamma control via STANDARD AriesParts (optional add-on) or via MODIFIED ROM Control. See below for flashable add-ons.
  • Voodoo version requires Voodoo Sound app for color tuning.
  • Voodoo_Mod version also tunable via AriesParts or modified ROM Control.
  • MDNIE (CM Color only) support.
  • 6500K color support.
  • Forced AC (Fast) Charge support.
  • Xcaliburhand's Dock Audio Redirector support.
  • Tk-Glitch's Call Volume Boost support via init.d script.
  • Ultra Kernel Samepage Merging (UKSM) support. User-tunable.
  • Cleancache/Zram/Swap support. Zram enabled in CWM Recovery.
  • No Zcache or Frontswap.
  • NO Deep Idle! This is different from Deep Sleep.
  • XZ kernel compression.
  • SLQB allocator.
  • Tiny Preempt RCU.
  • WiFi PM mode selectable via CWM Recovery. PM_FAST or PM_MAX (default).
  • WiFi Tethering support.
  • WiFi Calling (Kineto GAN) support. Removed due to instability.
  • CIFS Network File Sharing support.
  • GPS locks after deep sleep (must lock GPS immediately on reboot).
  • FaultException's GPS wrapper included to work with ASLR.
  • Tunable Vibrator Control support.
  • HUGERAM (384 MB) and BIGMEM (396 MB) selectable via sysfs. Default is HUGEMEM.
  • Working 720p Video recording and hardware accelerated video playback with HUGEMEM. 720p video fix add-on REQUIRED. BIGMEM breaks 720p video camera (black screen).
  • CWM Recovery v6 w/ custom menus and working indicator keys (No Touch recovery).
  • AROMA Filemanager included in CWM Touch Recovery.
  • and most-likely other things I have forgotten...
Team Deficient Development, Team Kang, Teamhacksung, CyanogenMod, RootzWiki, DerTeufel, Ezekeel, Mialwe, TK Glitch, Krarvind, Stratosk, Eugene373, Franciscofranco, Zacharias.maladroit, Onecosmic, Sixstringsg, Chad0989, DougFresh, FaultException, Woodrube, Vibranturk, Jrongi1, and anyone I may have forgotten...

Wiping DATA can be hazardous to your phone's health. Wiping may increase your risk of experiencing the Encryption Unsuccessful bug. For more information, please visit this thread, and this one. Remember, when you flash any ICS Rom and wipe DATA, you do so at YOUR OWN RISK.

See post #3 for Errata and any other special notes...

CM Color Kernel - MediaFire | Mirror
MD5: e77efa8cf3d8f0ca6ed9e00ec00d5cec

Voodoo Color Kernel ** - MediaFire | Mirror | Alt. Version | Alt. Version Mirror
MD5: 906a6222af319a669e63afad50418976
MD5 (Alt. Version): 072c6f2d007bdc72a574d3a9e704fbea
Notes: Alt. Version still uses Voodoo Sound app, but has tweaked/limited gamma function to reduce flash. Valid gamma values are 0-20.

Modified Voodoo Kernel - MediaFire | Mirror
MD5: 75ac69f16007657ff726962212335b74

Required Addons:
720p Video Fix v5 - MediaFire | DropBox
MD5: 304b708b2ef192ddb78e5be0eea8521f

Optional Addons:
Froyo RIL - MediaFire | Mirror
MD5: e6d7f34804bb54d52418784b3361d13b

NON-Froyo RIL (use if Froyo RIL shows "unknown baseband") - MediaFire | Mirror
MD5: e63cf16635672f4531ef22f335eb50be

GPS Unwrap (removes gpsd wrapper; requires kernel with ASLR disabled) - MediaFire | Mirror
MD5: dfd5b7becc2da642f98b292804b92a0e

GPS Wrap (wraps gpsd so any ICS kernel will work) - MediaFire | Mirror
MD5: 932d4619d6e8696e887eb861ad5656a7

Special Recovery Addons:
Heimdall Recovery Package (CM Color only) * - MediaFire | Mirror
MD5: 33bd011ddd920c9b204b30d462ba64f3

* Heimdall packages are provided for use in Download mode to aid recovery when the normal CWM Recovery procedures do not work. Heimdall packages do not contain any kernel modules, or initscripts.

** Modified Voodoo kernels require Voodoo Sound app for color tuning.

Previous Releases:
Build 166 | Mirror - CWM key repeat broken when no ROM installed
Build 159 | Mirror - Last CWM v5 release
Build 144 | Mirror - Broken kernel modules (due to Linaro/O3)
Build 128 | Mirror
Build 122 | Mirror - Broken ramdisk. Does not work with CM9/Gummy/MIUIv4
Build 102 | Mirror - Bluetooth initialization delay
Build 80 | Mirror
Build 75 | Mirror - 370MB "FAT" RAM; broken 720p video playback
Build 70 | Mirror
Build 61 - broken init.d
Build 59
Build 34
Build 28 - GPS fixed
Build 26
Build 21 - Voodoo Color only
Build 18 - CM Color only

Warnings and Standard Disclaimer: By flashing this kernel, you assume sole and complete responsibility for any damages, lost data, decreased productivity, loss of phone functionality, or termination from employment. I am NOT responsible for anything bad that may happen to you, your phone, or anyone else during the use of your phone.

I WILL do my best to help you should the need arise.


Mr Psycho

"Retired" Developer
707 Posts
Change Log:

Build 167 (from Build 166):
CWM Recovery Updates:
- Fixed CWM recovery key-repeat functions when no ROM is installed.

Kernel Updates:
- Updated kernel bootsplash.

Build 166 (from Build 159):
CWM Recovery Updates:
- Updated to v6.0.1.0. Touch functions removed.

Kernel Updates:
- Adjust some of the SmartassV2 governor's default settings.
- Some small or minor fixes.

Build 159 (from Build 144):
CWM Recovery Updates:
- USB storage mode fixes. Proper support for changing between MTP mode and USB Mass Storage mode.
- Updates to subZero menu options.

Kernel Updates:
- Added Snappy Crypto support to Zcache. Zcache remains disabled, though.
- Everything is compiled statically (ie no modules), so kernel size is now smaller.

Build 144 Preview (from Build 128):
Ramdisk Updates:
- ASLR disabled (again).

CWM Recovery Updates:
- More stuff added

Kernel Updates:
- Linaro 4.7.1 plus 03 compiler flags!!
- 384 MB HUGEMEM, 395 MB BIGMEM (O3 compiler flags uses a tad more RAM)
- 300 HZ tick rate (timer frequency)
- UKSM with more config options
- Zram with Snappy compression
- New 720p video fix v4 compiled with Linaro 4.7.1 plus -O3
- Bug fixes?

Build 128 (from Build 122):
Ramdisk Updates:
- Fixed boot screen freeze on some roms (eg. CM9, Gummy, & MIUI v4).

- Kernel Updates:
- Reverted a previous Voodoo Color change to reduce color flash during screen state changes (eg. screen on).
- Some minor Aries changes.

Build 122 (from Build 102):
Ramdisk Updates:
- Re-enabled Address Space Layout Randomization (ASLR) for enhanced security.

CWM Recovery Updates:
- Reworked subZero menus.
- Added options for UKSM and Vibrator control.

Kernel Updates:
- Switched to DerTeufel's Zcache and Frontswap code.
- Frontswap and Zcache disabled due to bugginess.
- Ext4 and memory leaks from Devil kernel.
- Added WiFi PM mode now selectable between PM_MAX and PM_FAST.
- Added Call volume boost from Glitch kernel.
- Added Ultra Kernel Samepage Merging (UKSM).
- Compiled using Google Toolchains NDK R8 + additional compiler optimization flags. It's not a Linaro TC, but some similar optimization flags were used. Also, compiled without Position Independent Code (-fno-pic).
- Added FaultException's GPS wrapper to allow GPS to work with ASLR security.

Build 102 (from Build 80):
- More pork fat, grease, and thicker cuts of Bacon.

Ramdisk Updates:
- Init-scripts delayed until after "system boot" phase has completed.
- Modularized init.rc for GPS operations.

CWM Recovery Updates:
- Reworked subZero menus. (Me)
- Integrated Aroma Filemanager by Amarullz. Located in subZero menu. (Me)
- Added options to toggle Bigmem/Hugemem, BLN, BLN Blinking, and USB Force Fast Charge. (Me)
- Added options to convert /data filesystem to "writeback" data mode and/or back to "ordered" (default) data mode. (Me)

Kernel Updates:
- Updated AOKP Build 37 "" file with BLN support. (Me)
- Bigmem (397 MB) / Hugemem (385 MB) now selectable via sysfs. (Stratosk)
- Hugemem is the default RAM profile. Working 720p video playback/recording with AOKP Build 36 OMX libs (addon REQUIRED). (Me)
- Broadcomm WiFi updates. (Stratosk/Pawitp)
- BLN and BLN blinking disabled by default. (Me)
- Vibrator control (Min: 20000, Max: 40140) tunable via sysfs. (Mialwe)
- Kineto GAN support PULLED. Caused instability as a module, and bootlooping when static. (Me)
- Revert color tuning sysfs name for control with AriesParts and ROM Control (addons OPTIONAL). (Me)

Build 80 (from Build 75):
Kernel Updates:
- Kineto GAN (WiFi Calling) support. UNTESTED. (FaultException)
- Reverted Pawitp's MFC memory patch. This seems to be required for hardware video acceleration to function properly. (Me)
- Adjusted "FAT" RAM settings. We now have 358MB. (Me)
- Working 720p video playback and recording without the need for patched libraries. (Me)
- Reverted 200 MHz CPU frequency limitation. 100MHz is now available. (Me)
- Optional AriesParts addon for color tuning. May be required in some roms. (Me)
- Optional FATMEM 720p video fix. Not required on AOKP and IC Zen roms. May be required on other roms to fix YouTube, and video playback.

Build 75 (from Build 70):
Ramdisk Updates:
- Small modification for GPS. (Me)
- Fixed screenstate_scaling script. (Me)
- Added new vold settings to default.prop for CM9 /sdcard and /emmc swap. (Me)

CWM Recovery Updates:
- subZero menu reorg in CWM Recovery. Will probably change again. (Me)
- Added options to clear ROM Control lockscreen wallpaper, and settings. (Me)

Kernel Updates:
- Frontswap removed. Was the kernel ever using it? (Me)
- Fixed Fast Charge. (Mialwe)
- Touchscreen parameter adjustment. (Mialwe)
- Touchwake updates. (Ezekeel/Mialwe)
- Fix for Ondemand governor forgetting custom sampling_rate. (DerTeufel/Mialwe)
- Fix for Conservative governor forgetting custom sampling_rate. (DerTeufel/Mialwe)
- Restored stock kernel values for vibrations. (FaultException)
- Fixed deadlock when immediately disabling Yamaha sensor after enabling. (Pawitp)
- CPU Frequency tweaks. (Mialwe/Stratosk)
- 370 MB "FAT" RAM tweak. (Pawitp)
- 720p video recording works. 720p video playback fails using "hardware" decoding. Use "software" decoding for the time-being.
- Optimize MFC memory usage. (Pawitp)
- Relaxed SmartassV2 governor tunables a tad. (Me)

Build 70 (from Build 61):
- Voodoo Color: Fixes by KalimochoAz. Green flash eliminated in most situations. There are always limits.
- Color Tuning: Updates to both Voodoo Color and CM Color. You can now use ROM Control or my modified Galaxy S Settings app (included) to change color and gamma in both driver types. Note: Voodoo Sound app will not work.
- Ramdisk: Fixed init.d script support.
- CWM Recovery: Many updates. Hopefully addressed the lag when accessing custom subZero menu. Some options in kernel menu changed to toggles.

Build 61 (from Build 59):
- Ramdisk tweaks - default.prop update (from aokp 4.0.4)
- CWM Touch Recovery - built against aokp 4.0.4 base/libs (FOR REAL)
- Updated Deadline and SIO schedulers
- Updated SmartassV2 governor (NSTools now works for fine-tuning)
- Updated Conservative governor with early suspend support
- Updated tweaks initscript

Build 59 (from Build 34):
- Ramdisk tweaks
- CWM Touch Recovery (semi-functional) built against AOKP 4.0.4 base/libraries
- Added support for Xcaliburhand's Dock Audio Redirector
- Switched to Tiny RCU Preempt
- Disabled kernel Optimize for size
- Back to CFS I/O Scheduler
- Frontswap/Zcache/Cleancache (on by default) + Zram (off by default; enable thru CWM Recovery)
- Kernel XZ compression update (now uses compression level -6e)
- Initramfs uncompressed, again
- Updated Ondemand governor
- Conservative governor reverted back to default thresholds (80/20)
- Updated SmartassV2 governor (now the default)
- Added Ezekeel's TouchWake (enable with NSTools)
- Added Fast Charge support (requires NSTools v1.16 or higher)
- Updated Screenstate Scaling script. Conservative while screen off, SmartassV2 while screen on
- Minimum CPU limited to 200 MHz while GPU is active

"Retired" Developer
707 Posts

1. CWM Recovery: In the USB Storage Menu, after changing the mode to MTP, the option to enable USB Mass Storage mode may not always work. Further troubleshooting with getprop reveals that while the persist.sys.usb.config property correctly changes to "mass_storage,adb" in CWM Recovery, MTP mode may still active once the phone starts normally.

Work-around: Manually run "setprop persist.sys.usb.config mass_storage,adb" in ADB shell or Terminal Emulator after the phone boots. Alternatively, you might also try removing the /data/property/persist.sys.usb.config file.

2. Broken 720p Video Recording with BIGMEM (397 MB): The video camera displays a black screen when video recording is selected while using BIGMEM RAM mode.

Work-around: Switch to HUGEMEM (385 MB) RAM mode, and flash the required 720p video fix file.

3. Broken YouTube Playback: Video playback under YouTube causes the YouTube app to force-close (FC).

Work-around: Like with the broken 720p video recording, flash the required 720p video fix.

4. WiFi Interface Flapping in BIGMEM: While using BIGMEM RAM mode, WiFi interface may sporadically flap (disable/enable).

Work-around: Switch to HUGEMEM RAM mode, or reboot the phone under BIGMEM RAM mode.

5. Gamma Values Not Sticking with ROM Control: Gamma values are not being saved. On reboot, values revert back to those in the color tuning init.d script.

Work-around: I'm looking at modifying an older version that is known to work, until the recent versions of ROM Control can be fixed.

6. Negative Gamma Values Not Sticking in Voodoo Sound App: With the Alt. Version of the Voodoo Color kernel, negative gamma values don't work. This is part of the modification to reduce color flashing on screen on/off transitions.

Work-around: Use the regular Voodoo Color kernel which has normal gamma function (with color flash). Alternatively, use the VOODOO_MOD kernel with AriesParts to control color tuning.


1. WARNING!!! Wiping data can increase your risk of experiencing the Encryption Unsuccessful bug. For more information, please visit this thread, and this one. Remember, when you flash an ICS Rom and/or wipe data, you do so at YOUR OWN RISK.

2. How's the stability? It's too soon to tell. In previous development builds, I had a couple of cases where my phone seemed to get very slow, and almost lock-up (as if the CPU was overloaded). I had to reboot to restore normal operation.

3. CWM v5 Touch Recovery:
  • On-screen virtual keys, swipe left and swipe right functions DO NOT work.
  • Swipe up and down DOES work.
  • The keywords "DOWN", "UP", "BACK", and "SELECT" are just guides for normal indicator keys on the phone, which all work.
  • Some menus/options may take several seconds to appear when accessing them. This appears to be mounting issues with the /datadata partition.
4. How's the battery life? Flash it and let me know. I've been getting pretty good results. I'm interested to hear how it is for you since I adjusted the screenstate scaling script. It depends on how the phone is used, tweaked, and what features are in use (eg. GPS, Bluetooth, UKSM, etc).

5. Does GPS lock after deep sleep? YES. There is a caveat, however. Always lock GPS right away following a reboot. You may even get away with closing GPS when the first satellite is visible (in GPS Test app). Note, every Vibrant phone is a little different. As in life, there are no guarantees.

6. Does this kernel lag? It depends on how you use/configure the kernel/rom. It also depends on user expectation. I have experienced lag on most kernels during intensive operations and/or storage activity. I'm guessing this kernel is no different.

Got a question, concern, or anxiety about this kernel? Problems, suggestions or feature requests? Drop me a note. I can't promise anything, but I'll look into it.

"Retired" Developer
707 Posts
Discussion Starter · #4 ·
Reserved just in case

466 Posts
Been using it for about an hour now, soon as i flashed it, i got one freeze up everything just froze had to battery pull, wasn't even doing anything really, just opened the app drawer.

MMM DD Bacon
1,212 Posts
Flashed #70 about 1-1/2 hours ago. So far pretty smooth. Found ( for my eyes and taste) the gamma "sweet spot" with vc color using the Rom control. No green flash is present. May look different tommorrow but for now

R. 84
G. 86
These may help someone or give a starting point to find a sweet spot of their own

sent from my mind

like a tree down by the water baby i shall not mov
1,139 Posts
Whew, pulled my head out of theming country for a little bit, and look what I found!

Grabbing build70 now brother, I'm sure it will be smooth as always!

EDIT - To answer your question from my thread, I'm having the best results on sio and smartassv2, always have. Even better IMO that now those are the default settings.

5 Posts
With build 70 and nstools configured with min 200 and Max 1200 keeps rebooting... same settings in performance settings are stable... any reason why?

Sent from my SGH-T959 using Tapatalk

"Retired" Developer
707 Posts
With build 70 and nstools configured with min 200 and Max 1200 keeps rebooting... same settings in performance settings are stable... any reason why?

Sent from my SGH-T959 using Tapatalk
Not sure. So, Smartass and 1200 causes reboots for you, but performance and 1200 is okay? Something with Smartass v2?

EDIT: I have mine on 1200 now with SIO/Smartassv2/stock settings and no Live OC. So far there have been no reboots. Anything else you had going on?


Android Beginner
41 Posts
Thanks for this! been running it for the past few hours and it's been great. best of all that weird lockscreen issue hasn't popped up -- it looked like an inverted or negative image of the lockscreen before i could actually unlock the phone on #61. so far, so good. :)

"Retired" Developer
707 Posts
Discussion Starter · #14 ·
  • Like
Reactions: ndwgs

"Retired" Developer
707 Posts
So, I just tested subZero Build 70 with CM9 Nightly 0406, and it worked! I booted into CWM Recovery, wiped everything including /system, and then flashed CM9 0406. Then, I immediately flashed subZero Build 70 again, and rebooted. And wouldn't you know it? It booted right into the OS without hanging at the bootsplash.

Not sure what I did, maybe fixing init.d in ramdisk resolved this issue. *shrug*

Now to test some of the other difficult roms like MIUI v4 and Slim.

If any of you are flashing other roms, try SZ Build 70 and let me know your results. YMMV

So bizarre. A nice change, but bizarre.


EDIT: I tested CM9 0413, and that worked fine, too. Slim also flashed successfully. Miui v4 got stuck near the end of the flash. Pressed the screen a few times here and there, then waited a bit and the install completed. With all of these, I flashed SZ build 70 after and everything booted okay.So I've gotten all of these to work without flashing Glitch first.#!/bin/bash
let hit="it"
echo $hit > happens

2 Posts
I'm on CM9 Nightly 04122012 and using Subzero Kernel Build 70. For some reason I can't switch from SmartassV2 to Ondemand in the CPU Governor section of settings. I can select Ondemand but after a while it reverts back to SmartassV2.

Actually I think I figured out the problem - I didn't set root permissions.

Thank you for your great work.

"Retired" Developer
707 Posts
I'm on CM9 Nightly 04122012 and using Subzero Kernel Build 70. For some reason I can't switch from SmartassV2 to Ondemand in the CPU Governor section of settings. I can select Ondemand but after a while it reverts back to SmartassV2.
That's the Screenstate Scaling script (/system/etc/init.d/98screenstate_scaling) overriding your changes.

You have two options:

1. Disable Screenstate Scaling via one of the following methods.
  1. In the subZero Kernel Menu in CWM Recovery.
    subZero -> kernel menu -> toggle screenstate scaling
  2. edit /system/etc/init.d/98screenstate_scaling, and change SCREENSTATE=on to off.

2. Edit the /system/etc/init.d/98screenstate_scaling file and put "ondemand" in the "AWAKE=" variable. Available governor choices are "ondemand", "conservative", "lagfree", "lazy", "lulzactive", "smartassV2", or "performance".

The screenstate scaling script changes the CPU governor based on the screen's "state", which is either awake (on) or asleep (off). Currently, when the screen is awake (or turned on), the script sets the SmartassV2 governor. When the screen is sleeping (or turned off), it sets the Conservative governor to the lowest possible frequency (either 100 or 200 MHz).


Android Beginner
8 Posts
Is that also why when I try to change the min frequency to 200 MHz it always eventually reverts back to 100 MHz? I've tried changing it with both rom control and nstools but it always eventually reverts to the default setting.

Kickin it with the ZenMafia Family...
352 Posts
MP, I was able to break the GPS. I started it up and (using GPS Status) and for whatever reason the icon was in the status bar but I never got any birds nor lock. After I stopped it (exit) and restarted, the icon no longer showed in the status bar. I started a logcat and then started GPS status again (no icon in SB) and let it run for a few seconds, exited then dumped the logcat. Dunno if it's just my phone because most everyone else has no issue. I don't most of the time but I happened to break it this go around.


403 Posts
I found some issue with the Color Tuning the gamma control is acting funny on subZero v1.1 Build #70
If you move the red,green and blue gamma to -38 it change the color very differently it only stop at -37
Might wanna check it out.
1 - 20 of 611 Posts