[KERNEL] [GPL] [4.3/4.4] [8th June] Oxydo -V18

Search This thread

sgt. meow

Senior Member
Dec 21, 2011
4,423
2,973
25
Dhaka
Presenting Oxydo kernel for the Nexus 7 Grouper and Tilapia

14 - 1.jpg

1. Features

Nothing here. Move along to post #2. See the changelog.
[/LIST]


2. Instructions
Flash in recovery. You know how to.

3. Warning and disclaimer
The usual. I am not responsible for any harm caused to your tablet by this kernel. You decide whether you want to flash this or not and therefore you face the consequences. But don't worry. This has been tested and the results were pretty good.

4. Downloads
https://www.dropbox.com/sh/pwe87rpzciojb9z/I3UHL9pLE4
Notes are available in changelog.
GENERAL:
1) For modules ZIPs, extract and insmod manually.
2) The last one is usually for the latest version of Android.

5. SOURCE: https://github.com/souljaboy11792/oxydo-grouper

6. Credits
In no specific order
  • franciscofranco
  • flar2
  • Mahdi-786
  • Metallice
  • spasrksco
  • _motley
  • ashik992
  • faux123
  • show-p1984
  • intersectRaven
  • davidmore
  • poondog
  • Tasssadar
  • redeyedjedi
  • dexviajiboy
  • Everyone else whose patches I may have used directly or indirectly
  • Google and Android
  • Supporters and testers and well-wishers and haters and random people.
  • Allah Almighty
 
Last edited:

sgt. meow

Senior Member
Dec 21, 2011
4,423
2,973
25
Dhaka
7. Changelog
  • V1 (XX)
    • Initial release
    • Linux 3.2.46
    • Franco's hotplug
    • Various small changes

  • V2 (XX)
    • JRCU
    • Scaling bug fixed. Goes as far as 102MHz now.
    • Slight (pointless, but fun) increase in RAM (about 0.5MB), as logger is compiled as module.
    • Included hso.ko and ppp_async.ko modules on user demand. ( @xDeadaheaDx )
    • Included Lazy CPU governor and ZEN I/O scheduler on user demand. ( @ckisgen )
    • Updated to Linux 3.2.47

  • V3 (XX)
    • Merged changes required for 4.3.
    • Updated to Linux 3.2.49.
    • Fixed ADB issues that persisted on stock kernel.
    • No longer build the modules because I think unsigned modules loading is messed up now. Have to check.

  • V4 (XX)
    • Ramdisk from M-KERNEL. Fixes all issues.
    • New method for enabling/disabling logger (more info in 3rd post).

  • V5 (XX)
    • Sysfs interface to control min/max backlight. Highly experimental. Referenced M-KERNEL. Check post #3.

  • V6 (XX)
    • Backlight control still isn't fixed. Going to try something else now.
    • sweep2wake and doubletap2wake in experimental versions. Check post #3.

  • V7 (XX)
    • New code for min/max backlight and brightness. Check post #3
    • sweep2wake and doubletap2wake given newer life thanks to flar2.
    • Reverted to 446MHz GPU OC.

  • V8 (XX)
    • Added shortsweep option.
    • Enabled AUDIT to fix SELinux issues.
    • Added a table in /sys/devices/system/cpu/cpu0/cpufreq (gpuc_UV_mV_table) that shows the clock speed and voltage applied to GPU. Intended for it to be rw but it cannot be saved for some reason.
    • Updated ASIX drivers to USB 3.0.
    • hso and ppp_async as modules.
    • CIFS (optional) available as module.
    • Enabled KSM.

  • V9 (XX)
    • Decreased s2w timeout to allow more time for valid swipes.
    • Fix s2s in portrait mode.
    • Fix mounts in the ramdisk. They are as hey should be now.
    • Added USB DAC patches (please try this and lemme know whether this works)
    • Added USB host mode patch.
    • May be more changes but I'm too tired right now.

  • V10 (XX)
    • Dynamic Fsync. Credits - faux123.
    • Reverted the USB hostmode patches that broke OTG.
    • smartassv2 governor as a module. Credits - Ricardo Gomez.
    • Changed dithering mode to fix gradients.
    • Another attempt at USB DACs. Please test it.
    • 700MHz GPU OC as default. Set it to boot at 446MHz if you want to (will stick properly). Certain freqs that are not listed as steps in the DVFS will not stick.

  • V11 (XX)
    • 600MHz GPU OC as default. Scales properly now. Don't increase in TricksterMOD (doesn't stick between boots; supposed to be that way because 600+MHz causes screen turds). Decreasing works.

  • V11-446 (XX)
    • V11 with 446MHz GPU default. Should reduce FCs.

  • V12 (11th October, 2013)
    • Switched to 484MHz GPU OC.
    • Switched to SLAB on user request.
    • Introduced wake_locks to help with wake functions.
    • Introduced sysfs parameter to control area of screen that can be used to complete s2s.

  • V13 (8th November, 2013)
    • Now has s2w and s2s portrait mode area parameters exposed to sysfs.
    • PPP and hso now built inline
    • smartass2 tunables exposed to sys/devices/system/cpu/cpu0/smartass2. Takes ages and at least ten Terminal Windows to configure.
    • Uses zImage, so compatible with every 4.3+ ROM for now. Even 4.4.
    • cifs.ko module already in ZIP file so bye-bye modules.zip

  • V14 (27th November, 2013)
    • Now s2w and s2s trigger area are in sysfs (properly; no modular interface now).
    • logger enabled by default.
    • Use UKSM
    • GPU OC till 750 supported (may be unsupported in some devices; but it works).
    • OTF scaling included.
    • t3_variant info in debugfs.
    • Include smartmax governor from maxwen. Really good.
    • Updated to 4.4 source.

  • V15 (16th December, 2013)
    • All s2s trigger area functions are in android_touch (even landscape ones)
    • USB hostmode patches added. Check FAQ
    • USB DAC patches added but I dunno if this works
    • logger has been allocated even less RAM. Some of it is there just so you can debug crap.
    • audit debug is disabled.
    • interactive governor updated from Francisco Franco's repo.
    • smartmax is now the default governor.
    • Updated to 4.4.1 (??) source. I don't really remember.
    • Updated all the way to Linux 3.2.53 (the last in the 3.2.y series). First ever grouper kernel to do so. There are some nasty reverts though.

  • V15 SELinux=disabled (19th December, 2013)
    NOTE:FLASH THIS ONLY IF THE OTHER VERSION DOESN'T WORK. PLEASE HAVE A BACKUP OF THE ENTIRE TABLET ESPECIALLY THE BOOT PARTITION BEFORE EXPERIENTING.
    • SELinux disabled. Hopefully fixes fragmentation issues over Kit Kat ROM. Just a temporary fix for now.
  • V16 (2nd February, 2014)
    • Linux 3.2.54.
    • interactive governor updated from Francisco Franco's repo.
    • BFQ scheduler
  • V16-aospal (2nd February, 2014)
    • Selinux disabled for a few kk ROMs like aospal.
  • V17 (11th April, 2014)
    • Linux 3.2.56.
    • SELinux disabled by default.
    • f2fs support (thanks @ss2man44). RAMDISK NOT INCLUDED!! Flash LegoKernel first and then oxydo over that to have f2fs and oxydo kernel.
    • baseband_xmm wakelock given timeout. More info in post #3.
    • Stock hotplug.
    • Various changes here and there.
  • V18 (8th June, 2014)
    • Merged changes for 4.4.3 from Google
    • Revert to Franco's initial hotplug routine, and instad of disabling screen, just disable framebuffer for faster wakeups. Courtesy of franciscofranco.
 
Last edited:

sgt. meow

Senior Member
Dec 21, 2011
4,423
2,973
25
Dhaka
8. FAQ
1. How do I enable logger? What about hso and ppp_async?

Ans:
For builds with modules:
Download the modules zip. Unzip them to you sdcard, and note the path. Fire up the Terminal. Issue these commands one by one:
Code:
su
insmod /path/to/logger.ko (only in V2)
insmod /path/to/hso.ko
insmod /path/to/cifs.ko
insmod /path/to/ppp_async.ko
To check whether they are working (they are, don't worry):
Code:
lsmod
Should output something like
logger.ko 54334 [permanent] ... blah.
You can also try:
Code:
dmesg | grep "logger"
dmesg | grep "hso"
ppp_async doesn't show any message.
To disable hso.ko and ppp_async.ko (you can't disable logger.ko once it's insmod'ed, but a simple reboot will rmmod it):
Code:
rmmod hso.ko
rmmod ppp_async.ko

For builds without modules:
To enable logger (it is off by default), issue this command in Terminal Emulator
Code:
echo "1" > sys/kernel/logger_mode/logger_mode
To disable it, just echo 0 instead.

2. Why won't my device reach 51MHz even though it's listed in the frequency list?
Ans: I have set the min rate for G cores to 102MHz. 51MHz IMO is a very stupid frequency in that it will do nothing basically. Even my 3 year old cellphone doesn't stay at 51MHz. It should be a LP core frequency (it actually was) but since Franco's hotplug driver doesn't call on the LP core, it's not reachable.

3. How do I control minimum - maximum backlight through sysfs?
Let me begin by saying that this feature is highly experimental. I can tell though that it works.
Okay so in /sys/module/board_grouper_panel/parameters you'll see two files:
min_bl - Write in a reasonable value preferably at least 30 less than max_bl. Default is 10. Not safe. Switch to 11.
max_bl - Write in a reasonable value preferably at least 30 more than min_bl.
This is what happens. *takes deep breath*
When your brightness is greater than zero but less than the min_bl, it gets changed to the min_bl. And when it's greater than max_bl, it's changed to max_bl. Otherwise it's just normal brightness levels (where's the fun in that, right? :))
PLEASE DON'T WRITE THE VALUES OF min_bl OR max_bl WHILE YOU'RE HIGH, DRUNK OR JUST DOWNRIGHT BAT-CRAP CRAZY!
There's no limit to the madness that may happen as a result.

4. How do I configure sweep2wake and doubleetap2wake? What exactly are they?
Sweep2wake and doubletap2wake are basically two versions of the same thing - they wake your device up after you have put it to sleep (not metaphorically) without using the physical buttons on the side. This is still slightly buggy. If at first it doesn't work. Touch the screen once and then tap it twice.
For sweep2wake/sleep you basically swipe along the bezels (not on the bezels though) where the soft keys would be.
For doubletap2wake, just tap twice on the screen during sleep, and it should wake up.
To configure sweep2wake go to /sys/android_touch and open up sweep2wake
0 = disbaled
1 = sweep2wake/sleep
2 = sweep2sleep
To configure doubletap2wake go to /sys/android_touch and open up doubletap2wake
0 = disabled
1 = enabled
To configure shortsweep go to /sys/android_touch and open up shortsweep
0 = disabled.
1 = enabled.
This drains battery a little faster than stock would, so yeah. Don't use it (i.e. disable it) if you want to save battery, or set up a script.
There is also a wake_timeout file. It holds the time that the dt2w wakelock will remain active after the screen is suspended.
NOTE: s2w wakelock times aren't configurable and it will stay on for 15 seconds after the screen has been suspended.
Insert the time in seconds. (60 = 1 minute; 3600 = 1 hour)
If both are disabled no wakelocks are registered and held.

5. How do I get USB OTG to work?
Go to /sys/kernel/usbhost.
echo 0 to usbhost_fixed_install_mode.
I haven't tested (hostmode, and fast charge/hostmode charge) this myself, so feedback is appreciated.
You need StickMount unless your ROM supports native OTG.

6. Why is SELinux disabled?
To get it booting on some Kit Kat ROMs. Booting in permissive may work, but I haven't tested it yet.

8. Why is my device so awesome now?
OH STAHP IT YOU! And you weren't reading carefully enough, otherwise you would have pointed out that I missed #7.

69. <== LOL!11eleventy!!1! How do I configure baseband wakelock timeout?
Go to /sys/module/baseband_xmm_power/parameters and open up the bb_timeout file.
0 means the wakelock will be held for 1 second after it is acquired.
Values are in seconds.
I used timeout instead of disabling it completely because, although there have been no problems reported, thus far, to arise from this modification, it's better to be safe (not disabling completely but making it timeout after a while) than sorry (losing functionality although it seems unlikely)

9. A POST ON RECOMMENDED SETTINGS AND STUFF
"Interactive @ 1.5GHz and GPU @ 484MHz (or even 446MHz) + no screen wake controls (if you don't use them) should give you excellent battery life and performance. You can adjust CPU speeds too."
- sgt. meow
Idea of @keneth_c
Oh and this works awesome with the IceColdJelly AOKP ROM for Tilapia. Be sure to try it out.
Works fab on 4.3 stock. Don't believe in benchmarks though.
 
Last edited:

bcvictory

Senior Member
Oct 6, 2011
566
482
Bendigo
Will check it out soon! Should be interesting to see where this goes in 4.3. You should try build with the optimizations that are in Purified Kernel. And add lower brightness support (from M-Kernel)

Sent from my GT-I9300 using xda premium
 
Last edited:
  • Like
Reactions: thisguy23

poondog

Inactive Recognized Contributor
Dec 11, 2011
14,998
12,953
Melbourne
Haha.. Was wondering if possible.. Well.. Good to see a kernel updated beyond 3.1.10

Sent from my GT-I9100 using Tapatalk HD

Well to put this in context, its very easy to update from say 3.0.86 to 3.0.87, its only a diff patch and its applied and built in 3 mins on a fast machine.
To update from 3.0.y to 3.1.y, or in this case 3.1.y to 3.2.y is a lot of work, there's no patch for it as its all porting if code mostly manually, very big feat. Its nearly impossible :)

Sent from my Nexus 7 using xda app-developers app
 
  • Like
Reactions: infatality

Top Liked Posts

  • There are no posts matching your filters.
  • 124
    Presenting Oxydo kernel for the Nexus 7 Grouper and Tilapia

    14 - 1.jpg

    1. Features

    Nothing here. Move along to post #2. See the changelog.
    [/LIST]


    2. Instructions
    Flash in recovery. You know how to.

    3. Warning and disclaimer
    The usual. I am not responsible for any harm caused to your tablet by this kernel. You decide whether you want to flash this or not and therefore you face the consequences. But don't worry. This has been tested and the results were pretty good.

    4. Downloads
    https://www.dropbox.com/sh/pwe87rpzciojb9z/I3UHL9pLE4
    Notes are available in changelog.
    GENERAL:
    1) For modules ZIPs, extract and insmod manually.
    2) The last one is usually for the latest version of Android.

    5. SOURCE: https://github.com/souljaboy11792/oxydo-grouper

    6. Credits
    In no specific order
    • franciscofranco
    • flar2
    • Mahdi-786
    • Metallice
    • spasrksco
    • _motley
    • ashik992
    • faux123
    • show-p1984
    • intersectRaven
    • davidmore
    • poondog
    • Tasssadar
    • redeyedjedi
    • dexviajiboy
    • Everyone else whose patches I may have used directly or indirectly
    • Google and Android
    • Supporters and testers and well-wishers and haters and random people.
    • Allah Almighty
    56
    7. Changelog
    • V1 (XX)
      • Initial release
      • Linux 3.2.46
      • Franco's hotplug
      • Various small changes

    • V2 (XX)
      • JRCU
      • Scaling bug fixed. Goes as far as 102MHz now.
      • Slight (pointless, but fun) increase in RAM (about 0.5MB), as logger is compiled as module.
      • Included hso.ko and ppp_async.ko modules on user demand. ( @xDeadaheaDx )
      • Included Lazy CPU governor and ZEN I/O scheduler on user demand. ( @ckisgen )
      • Updated to Linux 3.2.47

    • V3 (XX)
      • Merged changes required for 4.3.
      • Updated to Linux 3.2.49.
      • Fixed ADB issues that persisted on stock kernel.
      • No longer build the modules because I think unsigned modules loading is messed up now. Have to check.

    • V4 (XX)
      • Ramdisk from M-KERNEL. Fixes all issues.
      • New method for enabling/disabling logger (more info in 3rd post).

    • V5 (XX)
      • Sysfs interface to control min/max backlight. Highly experimental. Referenced M-KERNEL. Check post #3.

    • V6 (XX)
      • Backlight control still isn't fixed. Going to try something else now.
      • sweep2wake and doubletap2wake in experimental versions. Check post #3.

    • V7 (XX)
      • New code for min/max backlight and brightness. Check post #3
      • sweep2wake and doubletap2wake given newer life thanks to flar2.
      • Reverted to 446MHz GPU OC.

    • V8 (XX)
      • Added shortsweep option.
      • Enabled AUDIT to fix SELinux issues.
      • Added a table in /sys/devices/system/cpu/cpu0/cpufreq (gpuc_UV_mV_table) that shows the clock speed and voltage applied to GPU. Intended for it to be rw but it cannot be saved for some reason.
      • Updated ASIX drivers to USB 3.0.
      • hso and ppp_async as modules.
      • CIFS (optional) available as module.
      • Enabled KSM.

    • V9 (XX)
      • Decreased s2w timeout to allow more time for valid swipes.
      • Fix s2s in portrait mode.
      • Fix mounts in the ramdisk. They are as hey should be now.
      • Added USB DAC patches (please try this and lemme know whether this works)
      • Added USB host mode patch.
      • May be more changes but I'm too tired right now.

    • V10 (XX)
      • Dynamic Fsync. Credits - faux123.
      • Reverted the USB hostmode patches that broke OTG.
      • smartassv2 governor as a module. Credits - Ricardo Gomez.
      • Changed dithering mode to fix gradients.
      • Another attempt at USB DACs. Please test it.
      • 700MHz GPU OC as default. Set it to boot at 446MHz if you want to (will stick properly). Certain freqs that are not listed as steps in the DVFS will not stick.

    • V11 (XX)
      • 600MHz GPU OC as default. Scales properly now. Don't increase in TricksterMOD (doesn't stick between boots; supposed to be that way because 600+MHz causes screen turds). Decreasing works.

    • V11-446 (XX)
      • V11 with 446MHz GPU default. Should reduce FCs.

    • V12 (11th October, 2013)
      • Switched to 484MHz GPU OC.
      • Switched to SLAB on user request.
      • Introduced wake_locks to help with wake functions.
      • Introduced sysfs parameter to control area of screen that can be used to complete s2s.

    • V13 (8th November, 2013)
      • Now has s2w and s2s portrait mode area parameters exposed to sysfs.
      • PPP and hso now built inline
      • smartass2 tunables exposed to sys/devices/system/cpu/cpu0/smartass2. Takes ages and at least ten Terminal Windows to configure.
      • Uses zImage, so compatible with every 4.3+ ROM for now. Even 4.4.
      • cifs.ko module already in ZIP file so bye-bye modules.zip

    • V14 (27th November, 2013)
      • Now s2w and s2s trigger area are in sysfs (properly; no modular interface now).
      • logger enabled by default.
      • Use UKSM
      • GPU OC till 750 supported (may be unsupported in some devices; but it works).
      • OTF scaling included.
      • t3_variant info in debugfs.
      • Include smartmax governor from maxwen. Really good.
      • Updated to 4.4 source.

    • V15 (16th December, 2013)
      • All s2s trigger area functions are in android_touch (even landscape ones)
      • USB hostmode patches added. Check FAQ
      • USB DAC patches added but I dunno if this works
      • logger has been allocated even less RAM. Some of it is there just so you can debug crap.
      • audit debug is disabled.
      • interactive governor updated from Francisco Franco's repo.
      • smartmax is now the default governor.
      • Updated to 4.4.1 (??) source. I don't really remember.
      • Updated all the way to Linux 3.2.53 (the last in the 3.2.y series). First ever grouper kernel to do so. There are some nasty reverts though.

    • V15 SELinux=disabled (19th December, 2013)
      NOTE:FLASH THIS ONLY IF THE OTHER VERSION DOESN'T WORK. PLEASE HAVE A BACKUP OF THE ENTIRE TABLET ESPECIALLY THE BOOT PARTITION BEFORE EXPERIENTING.
      • SELinux disabled. Hopefully fixes fragmentation issues over Kit Kat ROM. Just a temporary fix for now.
    • V16 (2nd February, 2014)
      • Linux 3.2.54.
      • interactive governor updated from Francisco Franco's repo.
      • BFQ scheduler
    • V16-aospal (2nd February, 2014)
      • Selinux disabled for a few kk ROMs like aospal.
    • V17 (11th April, 2014)
      • Linux 3.2.56.
      • SELinux disabled by default.
      • f2fs support (thanks @ss2man44). RAMDISK NOT INCLUDED!! Flash LegoKernel first and then oxydo over that to have f2fs and oxydo kernel.
      • baseband_xmm wakelock given timeout. More info in post #3.
      • Stock hotplug.
      • Various changes here and there.
    • V18 (8th June, 2014)
      • Merged changes for 4.4.3 from Google
      • Revert to Franco's initial hotplug routine, and instad of disabling screen, just disable framebuffer for faster wakeups. Courtesy of franciscofranco.
    25
    8. FAQ
    1. How do I enable logger? What about hso and ppp_async?

    Ans:
    For builds with modules:
    Download the modules zip. Unzip them to you sdcard, and note the path. Fire up the Terminal. Issue these commands one by one:
    Code:
    su
    insmod /path/to/logger.ko (only in V2)
    insmod /path/to/hso.ko
    insmod /path/to/cifs.ko
    insmod /path/to/ppp_async.ko
    To check whether they are working (they are, don't worry):
    Code:
    lsmod
    Should output something like
    logger.ko 54334 [permanent] ... blah.
    You can also try:
    Code:
    dmesg | grep "logger"
    dmesg | grep "hso"
    ppp_async doesn't show any message.
    To disable hso.ko and ppp_async.ko (you can't disable logger.ko once it's insmod'ed, but a simple reboot will rmmod it):
    Code:
    rmmod hso.ko
    rmmod ppp_async.ko

    For builds without modules:
    To enable logger (it is off by default), issue this command in Terminal Emulator
    Code:
    echo "1" > sys/kernel/logger_mode/logger_mode
    To disable it, just echo 0 instead.

    2. Why won't my device reach 51MHz even though it's listed in the frequency list?
    Ans: I have set the min rate for G cores to 102MHz. 51MHz IMO is a very stupid frequency in that it will do nothing basically. Even my 3 year old cellphone doesn't stay at 51MHz. It should be a LP core frequency (it actually was) but since Franco's hotplug driver doesn't call on the LP core, it's not reachable.

    3. How do I control minimum - maximum backlight through sysfs?
    Let me begin by saying that this feature is highly experimental. I can tell though that it works.
    Okay so in /sys/module/board_grouper_panel/parameters you'll see two files:
    min_bl - Write in a reasonable value preferably at least 30 less than max_bl. Default is 10. Not safe. Switch to 11.
    max_bl - Write in a reasonable value preferably at least 30 more than min_bl.
    This is what happens. *takes deep breath*
    When your brightness is greater than zero but less than the min_bl, it gets changed to the min_bl. And when it's greater than max_bl, it's changed to max_bl. Otherwise it's just normal brightness levels (where's the fun in that, right? :))
    PLEASE DON'T WRITE THE VALUES OF min_bl OR max_bl WHILE YOU'RE HIGH, DRUNK OR JUST DOWNRIGHT BAT-CRAP CRAZY!
    There's no limit to the madness that may happen as a result.

    4. How do I configure sweep2wake and doubleetap2wake? What exactly are they?
    Sweep2wake and doubletap2wake are basically two versions of the same thing - they wake your device up after you have put it to sleep (not metaphorically) without using the physical buttons on the side. This is still slightly buggy. If at first it doesn't work. Touch the screen once and then tap it twice.
    For sweep2wake/sleep you basically swipe along the bezels (not on the bezels though) where the soft keys would be.
    For doubletap2wake, just tap twice on the screen during sleep, and it should wake up.
    To configure sweep2wake go to /sys/android_touch and open up sweep2wake
    0 = disbaled
    1 = sweep2wake/sleep
    2 = sweep2sleep
    To configure doubletap2wake go to /sys/android_touch and open up doubletap2wake
    0 = disabled
    1 = enabled
    To configure shortsweep go to /sys/android_touch and open up shortsweep
    0 = disabled.
    1 = enabled.
    This drains battery a little faster than stock would, so yeah. Don't use it (i.e. disable it) if you want to save battery, or set up a script.
    There is also a wake_timeout file. It holds the time that the dt2w wakelock will remain active after the screen is suspended.
    NOTE: s2w wakelock times aren't configurable and it will stay on for 15 seconds after the screen has been suspended.
    Insert the time in seconds. (60 = 1 minute; 3600 = 1 hour)
    If both are disabled no wakelocks are registered and held.

    5. How do I get USB OTG to work?
    Go to /sys/kernel/usbhost.
    echo 0 to usbhost_fixed_install_mode.
    I haven't tested (hostmode, and fast charge/hostmode charge) this myself, so feedback is appreciated.
    You need StickMount unless your ROM supports native OTG.

    6. Why is SELinux disabled?
    To get it booting on some Kit Kat ROMs. Booting in permissive may work, but I haven't tested it yet.

    8. Why is my device so awesome now?
    OH STAHP IT YOU! And you weren't reading carefully enough, otherwise you would have pointed out that I missed #7.

    69. <== LOL!11eleventy!!1! How do I configure baseband wakelock timeout?
    Go to /sys/module/baseband_xmm_power/parameters and open up the bb_timeout file.
    0 means the wakelock will be held for 1 second after it is acquired.
    Values are in seconds.
    I used timeout instead of disabling it completely because, although there have been no problems reported, thus far, to arise from this modification, it's better to be safe (not disabling completely but making it timeout after a while) than sorry (losing functionality although it seems unlikely)

    9. A POST ON RECOMMENDED SETTINGS AND STUFF
    "Interactive @ 1.5GHz and GPU @ 484MHz (or even 446MHz) + no screen wake controls (if you don't use them) should give you excellent battery life and performance. You can adjust CPU speeds too."
    - sgt. meow
    Idea of @keneth_c
    Oh and this works awesome with the IceColdJelly AOKP ROM for Tilapia. Be sure to try it out.
    Works fab on 4.3 stock. Don't believe in benchmarks though.
    19
    V14 is out. And so am I for a few weeks. Enjoy.
    18
    V12 is out. Test and report. Check out the new feature in the FAQ (haven't explained it properly, but it's awesome and simple). Will have a video up soon.