Please remember to add a category to the bottom of each page that you create.
See categories help for further details, but most will probably be [[Category:HTC ModelName]].

Samsung Galaxy Nexus/GT-I9250/ROMs/FrancoKernel

From XDA-Developers
Jump to: navigation, search

Franco Kernel is a development kernel for the latest version of Galaxy Nexus ROMs (Android v. 4.0.3) Archive downloads can be found [here]

Kernel Features

Franco Thread:


  • Overclock up to 1536mhz
  • Custom Voltage Control from Ezekeel
  • Completely updated CRC32 library that is used for a lot of core functionaties of the system
  • CFS scheduler tweaked for the best user experience
  • Stock GPU clock - reason(
  • Updated Wi-Fi drivers (thanks nikademus)
  • CFQ I/O scheduler is default
  • CFQ I/O scheduler tweaked for flash devices and backported from 3.1
  • Ext4 tweaked and patched up for performance
  • I/O writeback backported from 3.2
  • Two custom governors: francoTurtle and francoGazelle.
  • francoTurtle is made for battery hungry users. Its the default governor and it will boot at 700/1000
  • francoGazelle is made for performance hungry users while trying to maintain a reasonable battery life
  • SLUB memory allocator as default
  • USB HOST enabled
  • CIFS enabled
  • TUN enabled
  • ColorControl from Ezekeel

Command: echo "-10 0 -2" /sys/class/misc/colorcontrol/v1_offsets this is just an example, values range between -255 and 255. If you want the values to stick on reboot create an init.d script or use my app

  • Hotplug mod added. Works independently of the governor. Shuts down cpu1 on screen_off and wakes it up again on screen_on

To disable: echo 0 > /sys/module/dsscomp/parameters/hotplug_enabled To enable: echo 1 > /sys/module/dsscomp/parameters/hotplug_enabled

  • Dynamic hotplug for francoTurtle. if current frequency is equal to minimum frequency and the number of online cpus is equal to 2, cpu1 offlines; if current frequency is bigger than the minimum and the number of online cpus is 1 cpu1 onlines. This check runs every 2 seconds. It's disabled by default and it only works for francoTurtle
       To enable: echo 1 > /sys/module/cpufreq_franco_turtle/parameters/dynamic_hotplug
       To disable: echo 0 > /sys/module/cpufreq_franco_turtle/parameters/dynamic_hotplug
  • Joe's RCU for SMP system - huge thanks to Joe that kindly fast-forwared his .35 RCU to 3.x by my request
  • Custom ramdisk included with proper ext4 mounts for performance
  • Kernel config stripped out from debug shit (only logcat and dmesg stayed)
  • JIT compiler for packet filters
  • Proportional Rate Reduction for TCP from Google
  • A lot more stuff that can be seen on my repo

Franco App

franco.Kernel updater app:

This application is a must have if you have a Galaxy Nexus GSM or LTE version. It's a simple tool to download and update franco.Kernel for the Galaxy Nexus. It eases up the download and update check process for every user.

  • Downloads the kernel directly from the ftp
  • Checks for updates directly from the ftp
  • Cpu frequencies changer
  • Governor changer
  • Kernel settings: hotplug_enabler (more coming)
  • Reboot to recovery button
  • Custom download path
  • ColorControl to change the screen colors
  • UV interface


Check for Kernel Updates - Does exactly what you would assume, checks Franco's servers for an update. If an update is available, it will be listed under your current kernel version #

Kernel Auto-Flash - Will download and flash the latest kernel with no more user input.

Download Kernel - Will download the latest kernel to the SD card (location can be set in settings)


Max CPU - Sets the maximum scaling frequency. On the stable branch of the kernel, this will either be stock or underclocked to 1000mhz. On the Expirimental branch, this will be able to be overclocked to 1.35, 1.4, 1.5, 1.6, or 1.65 ghz depending on which frequencies Franco includes with a particular release.

Min CPU - Sets the minimum scaling frequency. By default this is set to 700mhz. In testing, this had very little affect on battery life, but an increase in responsiveness, especially when using HotPlug Mod.

Scaling Governor - Sets the paramaters by which the CPU switches between frequencies (see description of goveners)

Set at Boot - Sets the user selected parameters upon booting the phone (does not use init.d as this caused some issues)

Undervolt - Sets specific voltage for each frequency. See description of voltages.


HotPlug Mod - Turns off CPU1 when screen is off to save battery

Dalvik-cache to /cache - Frees some space in virtual SD card storage.

Turn CPU1 Online - Manually turns CPU1 online. This is useful if the core ever gets stuck in single core state (from switching between governors, manually setting, etc)

Turn CPU1 Offline - Manually turns CPU1 offline, effectively turning the phone into a single core processor.

SQlite - Potential increase in Device in/out read speed by reducing fragmentation in SQlite databases.

Turn Logger Off - Disables Franco's built in data logger. This may save a marginal amount of overhead, resulting in some performance increase.

Increase Maximum Sound Volume - Does exactly what you'd think. Be careful increasing this beyond ~15 as it can cause damage to your ear drums or speakers.

Turn on High Performance Sound - Switches setting from low-power to high-performance, resulting in some sound quality improvement, but also an increase in battery drain while playing audio.

Color Multipliers - Setting for tweaking relative colors (not gamma settings)

Red/Green/Blue - Setting for changing gamma settings on particular colors.

franco Boot Animation - Enable or disable kernel boot animation (requires download)

Frequently Asked Questions (FAQ)

1. My device rebooted or crashed, how can I help?

A: Get me /proc/last_kmsg or logcat.

2. Battery sucks, my device is not entering deep sleep. FIX PLOX!

A: Fix it yourself, it's an app waking your device up not the kernel's problem

3. Signal is dropping since I flashed the kernel, amg u sucks!

A: The kernel has nothing to do with gsm/cmda signal. Make sure you have the latest radios

4. Do I need to wipe anything when flashing this kernel?

A: No.

5. Does this kernel has X or Y mod?

A: Learn to read, everything you need to know is in the features list, changelog or public repo.

6. Why doesn't this include a GPU overclock?

A: (from Colin Cross of Google) Most GPU workloads on 4460 with a 720p screen are limited by the memory bandwidth, not the GPU computation ability (which is fairly linear with clock speed). With the GPU at 307 MHz, the core is at OPP100, the and the memory bus is at full speed. At 384 MHz, the core is at OPP_100_OV, which raises the core voltage (not counting SmartReflex) from 1.127V to 1.25V, causing a huge increase in power usage. Without the GPU, the core is almost always running at OPP100 when under load, because CPU OPP100 (700 MHz) requires core OPP100. That means scaling the GPU from 150MHz to 307MHz costs very little in terms of power. Nothing else in the chip requires core OPP100_OV, so scaling the GPU to 384MHz is a pure power hit for very little (or no) performance gain.

7. What is HotPlug Mod?

A: Hotplug is a method for shutting down one of the two CPU cores to save on power consumption. The initial implementation is to shut off core1 when the screen is off, then back on with the screen. A second implementation called Dynamic HotPlug (DHP) has been tested, where core1 is shut down when CPU load is less than 60%

8. Why did you remove Dynamic HotPlug?

A: When checking CPU load, the CPU would sometimes spike, causing core1 to be turned back on unecessarily. This could lead to extended periods of turning core1 on and off, consuming more power.

9. Isn't CFQ I/O scheduler intended for spinning disc storage?

A: Yes, but it can be tuned to work well for flash devices as well.

10. What voltage settings should I run?

A: Stock! If you want to screw around with voltages to get a lower operating temperature, or whatever, be warned, you may cause instability. Also note: there has been no significant battery savings by a lower voltage alone.

CPU/GPU Features

CPU Frequency [Wikipedia Explaination]

Franco.Kernel allows for 350mhz, 700mhz, 1000mhz, 1200mhz, 1350mhz, and 1500mhz clock frequencies to be used

CPU Govenors

Franco has developed two governors based on the standard conservative.

francoTurtle is for battery hungry users. By default it will be set with 700min and 1000max and it will take a lot more cpu load to increase his frequency. In my testing 700mhz is used around 95% of the time.

francoGazelle is mainly for performance users. While it maintains some battery saving that its inherited from Conservative, it will ramp up aggressively to the max frequency and far more often than francoTurtle.


HotPlug is a method by which one of the two cores can be shut off. The main application of this is is when the screen is off. However, Franco has attempted to implement a "Dynamic Hot Plug" where core1 is shut off when CPU load decreases below 60%. Due to instability, this has been discontinued.

CPU Voltage

Franco Kernel allows for varying CPU voltage levels for those wishing to tweak this setting. NOTE: as this may cause instability and saves very little battery, the kernel comes at stock values. One argument for lower voltages is to reduce operating temperatures.

GPU Frequency

App Changelog

3.1 Added Dynamic Hotplug option for the francoTurtle governor Added progress dialogs for downloading the kernels Added separate buttons for Download .zip and Kernel Auto-flash Some other minor tweaks and optimizations

Kernel Changelog

28th February - nightly #18.6

  • Removed all OC steps besides 1,35ghz - this is because this is going to be the stable branch, and I want it clean and shit free
  • Volume hack is set by 15 as default to prevent issues with very low volume inadvertently
  • C4 state enabled again as it was seen on the omapzoom repo
  • One or two small tweaks

27th February - nightly #18.5

  • Removed autogroup and cgroups again - some croup options caused massive overhead and we don't need that kind of grouping crap in our device. Curious enough famous 13.1 had this options disabled as well
  • Reduced wakeups from wifi and modem by half - imoseyon's idea
  • Removed MPU register overrider - this will probably reduce some OC capabilities. The reason for this is to prepare this branch to be stable and leave this hacks for a future experimental branch
  • Sound driver hacked - echo 15 > /sys/devices/virtual/misc/twl6040/boosted_volume for example increases your device max volume - courtesy of Greg (sorry didn't remember your XDA name)
  • Some other minor tweaks and improvements

24 February - nightly #18.4

  • Since 1,6ghz and 1,65ghz steps weren't working for the majority of users and it was causing some bootloops on forgetful users, both frequencies are gone. Stability is everything
  • Changed 1,35ghz step to 1,3ghz and added 1,4ghz

24th February - nightly #18.3

  • Smartreflex 1.5 enabled again (it's enabled on stock kernel) - this will probably fix any SoD issues that have been arising and fix some extra high temperatures in some devices. Because of this 1,65ghz and 1,6ghz won't work for 90% of the users - which I actually don't care because stability > everything else
  • CFQ I/O scheduler is the default again and tuned for flash devices just like it was before the rebase
  • Conservative governor added back and tuned as a preview of Gazelle and Turtle since I'm going to use it as a base on both governors - it's also the default governor as well

22th February - nightly #18.2

  • Added 1,6ghz and 1,65ghz frequencies - play safe with them, I'm not responsible with any problems you can have while overclocking
  • Added <#18 screen gamma values by default

21th February - nightly #18.1

  • SoD issue should now be fixed
  • Added 1,5ghz step - use it with caution, you're on your own if you use this step so don't bother crying at me if your device doesn't run faster than your 8-core desktop

20th February - nightly #18

  • Completely rebased kernel - no more shit code lying around
  • Turtle and Gazelle not yet added as I need to tune them better
  • Ondemand governor tweaked and used as default
  • A lot of other changes that will be visible on my repo in a few hours
  • Stability
  • Long battery again

15th February - nightly #17.2

  • More stability fixes

15th February - nightly #17.1

  • Try to fix the reboots from last version

14th February - nightly #17

  • Added 1,5ghz and 200mhz steps to give users a little more freedom of choice
  • Gazelle now scales on all frequencies, but its still very aggressive on the scaling
  • ColorControl patch from Ezekeel - now you'll be able to change the color multipliers doing this for example: echo "2004318071 2004318071 2004318071" > /sys/class/misc/colorcontrol/multiplier Don't ask me for the values, try it yourself
  • Patched up to 3.0.21

10th Febuary - [nightly #16.2]

  • Custom Voltage mod from Ezekeel patched up to his latest changes - for more information check his github repo
  • Dynamic hotplug removed - this is a good idea on paper but CPU spikes up every other time while trying to check if cpu1 was online or not, and that is not expected at all. I may return to this implementation in the future if I think of a better way to do it
  • 350mhz bumped to 400mhz and set as minimum frequency as default - for testing purposes, we'll see that comes from this
  • francoTurtle is the default governor again

8th February - nightly #16.1

  • Erroneous ram report on the app list is now fixed
  • Revert regulator drive 3.2 backport for stability
  • Revert multithread boot init calls batch for stability
  • Revert two other patches in a try to fix the strange wifi bug some users were having
  • fracoGazelle governor is now the default governor to prevent the phone to go into single-core only mode. Is still fine to set francoTurtle as default governor to boot if the users desire to. This is mostly a cosmetic fix.

7th February - nightly #16

  • CFQ completely pushed to 3.1
  • Changed back to Fast No HZ RCU. jRCU and hotplugging isn't a good combination
  • Stock voltages. This will rule out any possible issues coming from bad voltages on my side
  • Bye bye the rest of the debug shit. This will give a little performance boost
  • Added Dynamic Hotplug: Dynamic hotplug for francoTurtle is a simple check: if currentfrequency is equal to minimum frequency and the number of online cpus is equal to 2, cpu1 offlines; if current frequency is bigger than the minimum and the number of online cpus is 1 cpu1 onlines. This check runs every 2 seconds. If none of the conditions are met it keeps polling every 2 seconds until one of the conditions are met. This is an attempt to provide extra battery power during screen on. More information on how to enable/disable in the feature list above, or just use my app
  • Some other minor tweaks and optimizations

1th February - [nightly #15.2]

  • Stability release: back to the old wifi driver as the new one was causing instability issues
  • Other small stability reverts

1th February - nightly #15.1

  • francoTurtle boots now with 1ghz
  • New wifi driver from nikademus's repo
  • .zip includes a file that cleans up my init.d to prevent shit hitting the fan
  • also cleans up dalvik-cache just for fun
  • Bootanimation took out from the zip because I got too much hate mail
  • Cpu voltages are now scaled ~87% of stock ones
  • Some minor tweaks and optimizations because I don't remember everything

30th January - nightly #15

  • Two new governors added - francoTurtle and francoGazelle. They are both based on Conservative and they have different purposes. francoTurtle is for battery hungry users. By default it will be set with 700min and 1000max and it will take a lot more cpu load to increase his frequency. In my testing 700mhz is used around 95% of the time. francoGazelle is mainly for performance users. While it maintains some battery saving that its inherited from Conservative, it will ramp up aggressively to the max frequency and far more often than francoTurtle.
  • francoTurtle governor is set by default
  • CFQ I/O scheduler is now the default. While this decision looks pretty idiotic since CFQ is made for rotational devices, after I've read some IBM articles I've seen that it can be tuned to work as well for flash devices, so after I did that I wasÉoverwhelmed with the performance that it produces compared to deadline or FIOPS.
  • CIFS is now included inside the kernel instead of a module
  • CM9 compatibility added - Gamma control isn't present here yet because ColorControl does the same thing
  • Block rq_affinity is now working aggressively - means that the IO tasks are not bound to the cpu that it was being destined, so if cpu0 is overwhelmed with tasks it will be migrated to cpu1 which is always nice
  • CFQ scheduler updated to 3.1 kernel code
  • Ezekeels Voltage Control added and removed coolbho's implementation
  • Stock GPU clock - I'll give you two options: first, if you cry about this search the thread and you'll find an email that Colin Cross (Google Android team) sent me explaining why stock GPU clock is better. Second option, if you keep crying and asking for "UMFG GAVE ME 512GHZ CLOCKZ" after you've read what Colin said I'll send you a link to listen Cry me a river song from Justin Timberlake
  • Some minor optimizations and tweaks - visit my repo for more information

27th January - nightly #14.4

  • Another stability release - removed imoseyons ugly hack form the UV interface and all seems good now taking in consideration the feedback from kernels test1 and test2
  • Should be compatible with CM9 since I added all the ramdisk changes needed
  • Thanks for sticking with me, shit happens sometimes when we don't expect

27th January - nightly #14.3

  • Stability release - few people were still having some weird data drops and battery drains, I sincerely hope this fixes it
  • Patched up to 3.0.18
  • Added an AWESOME boot animation from rascarlo - be sure to drop him a thanks or a donation as a token of appreciation, I'm gonna do so myself as soon as I get his paypal link

26th January - [nightly #14.2]

  • Reverted to #13.1 voltage settings for stability improvements
  • Loading CIFS module should work I hope. If not, contact me.

26th January - nightly #14.1

  • Bootloops fixed - my deepest apologizes for the loops

25th January - nightly #14

  • Bumped up some bus frequencies
  • Added two omap patches that fix two false IO wakeup detections
  • GPU Overclocked again to 384
  • Changed the voltages file to increase stability
  • C4 state patch reverted - according to Colin Cross (Google Android team) it can only save 2mAh max during idle, but it could cause some instability, thats why they reverted it as well. I want stability, so this stays reverted
  • VM_Readahead values hardcore - now it's set to 512kbs
  • CIFS added as a module
  • Writeback values reverted back to stock - they seemed to perform extremely well in conjunction with the Writeback IO backport from 3.2
  • Conservative governor tuned again - what I did this time is pretty simple, this governor now only jumps between min frequency and max frequency. Why this? Because I want to minimize any kind of lag that "can" happen when polling and then ramping up step by step to max frequency. To balance the battery/performance ratio I increased the ramp_up threshold from 60% to 80% CPU load, which means that while it doesn't use the 920 step (in the 700min-1200max scenario, since it's the default and the one that I recommend) it will ramp less times to max frequency. This is wielding the best results in the last 24 hours for me and my testers didn't complain at all, quite the contrary

20th January - [nightly #13.1]

  • Removed shit omap patches, I don't why they busted battery up, fixed now
  • Added [v8] ARM net - JIT compiler for packet filters

franco.Kernel updater app:

  • New icon courtesy of n0hair
  • All the reported UV interface bugs have been fixed for good

18th January - nightly #13

  • New wifi driver form fugumod's kernel
  • A lot of OMAP patches to improve battery and performance
  • ARM CPU Topology enabled again - you'll notice an init.d script called schedmc that enables the power saving technique offered by that interface. For more information Google it up, I did the same
  • jRCU's back - now that the kernel is in a nice and happy place it seemed a nice time to enable it again
  • UV interface is back - credits to imoseyon that fixed most of the previous UV's bugs, I only cleaned it a little bit
  • Kernel undervalued by default with this values: 1300, 1200, 1100, 1000 and 900
  • Config cleaned up big time, removed more useless debug and unused shit options
  • NTFS write support (un-tested)
  • Fixed SMP/hotplug bug that could still cause deadlocks and undesired effects - picked from the mainline kernel tree
  • C4 power state enabled - thanks Ezekeel
  • Add ARM RWSEM algorithm - how did I forget this earlier?
  • More shit added, check my repo if you want to enlighten yourself

franco.Kernel updater app:

  • UV interface added - you can now change the voltages via the app. More informations in the UV panel
  • Added confirmation dialog to the recovery button
  • Changed to a more light theme

12th January - nightly #12

  • Revert Regulator driver backport from 3.2 - I think this was the cause for the strange reboots during browsing etc
  • Stripped down the config - more debug shit deleted
  • Added NTFS support
  • Added ColorControl by Ezekeel:

/sys/class/misc/colorcontrol/v1_offsets V1 gamma offset triple (default -4/0/5, set with 'echo "-10 0 -2" > v1_offsets' for example, causing green tint when 2. value < 0)

  • Some minor tweaks and optimizations

franco.Kernel updater app:

  • Added ColorControl mod - you can now change the colors on the fly without having to mess with scripts or terminal commands

9th January - nightly #11

  • Patched final 3.0.16
  • Fixed screen_on/off functions - no more unlock lag or strange behaviors
  • Hotplug cpu1 is implemented somewhere else:

echo 1 > /sys/module/dsscomp/parameters/hotplug_enabled cpu1 does not shut down on screen_off: echo 0 > /sys/module/dsscomp/parameters/hotplug_enabled

  • Remove internet tweaks from the ramdisk - fix try on some users loss of data
  • Ext4 patches from 3.2 to reduce CPU consumption and a little extra juice
  • Added a few OMAP patches
  • Some other minor tweaks and optimizations

franco.Kernel updater app:

  • Fixed and optimized a lot of code
  • Finally fixed the init.d scripts for the cpu frequencies and the hotplug_enabled functionality - it should work perfectly now without any issues

7th January - nightly #10

  • Added Proportional Rate Reduction for TCP - by Google - from 3.2 Kernel
  • I/O-less dirty throttling - backport from 3.2
  • Reduce filesystem writeback from page reclaim - backport from 3.2
  • Add the new FIOPS I/O scheduler - from Shaohua Li
  • USB speed transfer increase - from Linaro
  • Few fixes on the screen_on/off functions
  • CFS tunables tweaked for a better experience
  • Some other minor tweaks and optimizations

5th January - nightly #9.2

  • Screen_on function cleaned up - hoping for the supposed extra 1 or 2 secs of screen on to be fixed
  • Removed some debug from the config

4th January - nightly #9.1

  • Probably fixed the screen of death from #9
  • Screening on should be a little faster
  • Conservative governor made default as I think it's now in a pretty good place

4th January - nightly #9

  • Internet tweaks added directly to the ramdisk - more speeeed
  • Writeback settings tweaked a bit
  • Omap screen_on and screen_off functions completely re-writen
  • During screen_on frequency is ramped up to the maximum frequency and stays there for 5secs. This will get rid of the lag when unlocking the screen and makes sure the device wakes up propely
  • Also added cpu1 suspended when screen_off and when screen_on it comes back to life. This works no matter what governor is choosen
  • Added toggle option of the cpu1 suspend during screen_off:

cpu1 shuts down on screen_off: echo 1 > /sys/module/omap2plus_cpufreq/parameters/hotplug_enabled cpu1 does not shut down on screen_off: echo 0 > /sys/module/omap2plus_cpufreq/parameters/hotplug_enabled

  • Hotplug_enabled on/off will be implemented in franco.Kernel updater app tomorrow
  • Colors tweaked again
  • Patch 3.0.15
  • Patch 3.0.16-rc1

1st January - nightly #8

  • Added 1,35ghz slot by popular demand
  • Boots with 700mhz/1200mhz by default
  • Tweaked once again Conservative values and it's now in a pretty good shape
  • A bunch of reverts from shit older patches that are not needed at all - less is more
  • More ramdisk tweaks
  • It's now available for purchase for the symbolic price of 1€ a small tool to ease up the update check and downloading process of this kernel:
  • UV interface is disabled - don't bother ask me 50 times for this. It has been proved that it creates a huge stall if a user undervolts too much. This kernel is already undervolted with this settings: 925000, 1103000, 1217000, 1280000 - values suggested by faux on his thread on rootzwiki and they seem to play along pretty well
  • Dynamic Writeback from 3.1 is back too

30th December - nightly #7.1

  • Bye CIFS - from my testing it was causing horrible battery life while idle
  • USB now being recognizable in the computer fixed too

29th December - nightly #7

  • Battery drain during idle is now finally fixed - got reports of 1% drain for 7h idle, and some other awesome results
  • Ramdisk is now being delivered to be able to give certain tweaks to improve smoothness
  • TUN and CIFS are now built in the kernel - no more modules that don't load
  • Some minor tweaks and optimizations

27th December - nightly #6

  • Add back UV interface
  • 3.2-rc7 RCUtree backport from imoseyon
  • When the screen is powered up the device ramps to the max frequency for a brief time
  • Fixed compiling warnings all over the place
  • Ondemand is default again
  • Ondemand and interactive tunable parameters polished again
  • New sdcard binary - to work with GTA3 you have to delete this directory /sdcard/Android/data/com.rockstar.gta3 and download gta3 data again
  • More under the hood config changes
  • More attempts to increase battery life
  • A lot of reverts of previous patches to ensure maximum stability

25th December - nightly #5

  • Revert "Add dynamic writeback feature from 3.1"
  • Kernel more lean with more useless shit disabled
  • Hotplug governor enabled again and made default - this governor disables cpu1 while screen is off - testing to see if it helps with battery life
  • Updated to 3.0.14
  • Tweaked the default colors - whites are more white, and colors are more vibrant
  • Decrease frequency transitions latency

22th December - nightly #4

  • Removed a bunch of debug that slows down the system (logcat and dmesg/printk are still there, and I don't plan to remove them)
  • Ondemand made default again
  • Tuned Ondemand values for a more smooth experience
  • Removed obsolete code inside Ondemand governor file - if we don't need it why is it there?
  • Removed some config options
  • More minor tweaks and optimizations for a better system stability

21th December - nightly #3

  • Slightly undervolt by default in the source since UV interface is removed because it wasn't working
  • Compiled with Fast No Hz (
  • Change back to interactive as default - ondemand's ramping was slow and lagged the phone sometimes
  • Tweaked interactive values
  • Use arch dependent cpu power functions
  • Removed screen off max frequency cap
  • Some more changes and battery power updates

20th December - nightly #2

  • Added native init.d support so you can run your favorite scripts on boot
  • Added IO tweak to make the phone faster
  • Changed the default governor to Ondemand
  • Tuned Ondemand as where it should be for maximum smoothness
  • Added UV interface
  • Removed more debugs
  • Hacked sdcard binary to fix the huge CPU usage when using the /media partition - credits to DebauchedSloth
  • Tune some more kernel parameters
  • Changed back to Tree RCU for stability and performance purposes
  • TUN and CIFS modules added to /system/modules

19th December

  • Completely rebased to the latest Google kernel source
  • ONLY for ICS 4.0.3 - doesn't work with old versions and if you come crying your phone doesn't boot if you're not using 4.0.3 I will laugh at you
  • Bug free as far I can see
  • All the previous kernel smoothness
  • jRCU as default and optimized for the best phone performance/battery
  • Conservative a little tweaked again and still the default
  • Config tweaked and useless options like Memory Compaction and Cleancache are disabled - less is more (copyright Morfic)
  • No OC/UV yet - this is just a nightly
  • Using a kernel injector so it works in every 4.0.3 regardless of the boot.img of your rom
  • A ton of patches that were in my previous versions are here and some more
  • Compatible with both GSM and LTE in the same kernel package
  • No CIFS and TUN yet, coming next as this is just a nightly

12th December

  • init.d support added to the .zip package - now you can run scripts on boot
  • IO remount tweak added - now you'll have more IO speed - easily confirmed with a benchmark
  • Using an older and more stable toolchain to rule out possible bugs or errors coming for this
  • Fixed the BUG() from dmesg - thanks Greg for telling me about the bug
  • Bunch of reverts and fixes to try to achieve maximum stability, battery power and performance
  • boot.img is insecure now - things like adb remount will now work
  • Some other minor tweaks and optimization's

11th December

  • Around 10/15 Power Management patches from the Linux Mainline
  • USB HOST disabled as it was the cause of battery drain - more research when I have the device
  • Few reverts to make sure the graphic glitch was fixed

10th December

  • Added stronger WIFI signal
  • Screenoff frequency cap is removed - no need for it and it causes audio glitches
  • Patched to 3.0.13
  • One or two extra minor optimizations

9th December

  • Added two versions - one CPU/GPU OC free and another with CPU/GPU overclocked
  • Slightly undervolted
  • Add dynamic writeback feature from 3.1
  • block: strict rq_affinity
  • vmscan patched up with some fixes
  • arm: Allow CPU-supported unaligned accesses
  • Graphical glitch should be now fixed

7th December

  • UV interface added thanks to coolbho
  • Fixed ext4 flags
  • Removed some wakeups - patched hrtimers
  • Some undervolt: 1,4ghz 1375mV, 1,2ghz 1275mV, 920mhz 1200mV, 700mhz 1050mV, 350mhz 1000mV (forgot to compile this change for the current release, it will be up in the next one)
  • Got rid of a lot of debug shit - only left logcat and prinkt (dmesg)

4th December

  • Volume fix added
  • Now it boots with 1,2ghz instead of 1,4ghz
  • Cpu frequencies transition decreased for faster scaling
  • While screen off the device is capped at 350mhz

3rd December

  • Updated to 3.0.12
  • CIFS added
  • USB Host added
  • Readadead values changed - kernel automatically chooses the best value for optimum performance
  • SLQB memory allocator added and made default
  • Overclock up to 1,4ghz added - full credits to coolbho3000, it was his finding, I just compiled the kernel

2nd December - CFS Autogroup tweaking - CFS tweaks - CRC32 library completely updated - it's a very important library - Second core min/max frequency bug fixed - now both cores run at the desire speeds. Before the second core sometimes forgot it's speed and was asyncronous to the first core - Conservative tweaked again - it's still the default governor and it's meant to be - Cgroup: speed up access to cgroupfs mounted entries in /proc/mounts - Add Arm Ticket Loss for improved system stability - Introduced some memory copy marcos and functions - better memory efficiency - Added Arm CPU Topology to increase Multi-core and Multi-threading efficiency - More small tweaks and optimizations