[KERNEL][GPL][4.2.2][July 10][b10] m_plus kernel for mako - Nexus 4 Android Development

m_plus kernel for Nexus 4 (mako)!
Hi all, since _motley has been MIA of late and his work was my favorite kernel for the Nexus 4, I have decided to continue his work in his absense. As a result much of this thread will look very similar to _motley's original thread here: http://forum.xda-developers.com/showthread.php?t=2021437. I would like to personally thank _motley for his work and dedication to this project, I only hope I can keep his loyal users happy in his absence.
Disclaimer: As usual, I am not responsible for anything that may or may not happen to your device as a result of using this kernel or any other flashable zips posted by me in this thread.
Features
Highly customizable with scripts. See post #2 for all the tuning options.
Google 3.4 base. All stock features are of course supported (camera, NFC etc.)
Compiler optimizations (-O2 + others) - using 2012.12 Linaro toolchain
Full ramdisk install with init.d support for stock/AOSP (CM already has support, for stock you must install busybox!)
CPU Overclock steps 1.56, 1.62, and 1.67GHz (default freq is still stock on boot, OC is optional)
304MHz lowest CPU freq step added with lower voltage than stock, since the device spends a lot of time at this frequency.
Safe UV by default for nominal, fast, and faster binned chips.
Voltage control - be careful to not save the setting on boot until you are 100% sure it is stable! (thanks faux123! + my tweaks)
In-kernel auto_hotplug (thanks to thalamus). I have added and exposed all the tuning parameters and a debug mode to userspace.
Customized in-kernel thermal solution smart scaling, dynamic polling, and configurable throttle temp.
Custom PowerHAL module (spam-free Android log from PowerHAL events)
Controllable touchboost frequency and duration
Gamma and Sound control (thanks faux123!)
Fsync control (3 modes)
USB Force Fast Charge
I/O schedulers - SIO(optimized), deadline (optimized), row, cfq, noop, and fiops
TCP Congestion Control (several choices available) - veno is the default
Governors - Interactive (default), OnDemand, PowerSave, Conservative
CIFS, NFS, NTFS r/w, TUN - built-in, no need for any kernel modules
Other misc patches and tweaks (see github link at the bottom of this post)
GPL compliant - source is kept up to date at github.com and released at the time the kernel is released to the public via this post. Demand that other devs do the same!
Requirements (please read carefully and visit the other dev threads as necessary)
Boot-loader must be unlocked and you must have a custom recovery installed (CWM or TWRP).
Have your ROM zip on your /sdcard so you can restore your whole ROM if necessary.
Do a complete backup using custom recovery so you can restore your boot.img and ROM if necessary!
System Tuner is recommended for monitoring/tuning the CPU, especially for voltage control. Other kernel apps like faux123's will likely work as well, but they have not been tested.
AOSP ROMs including stock - for init.d support, you must have a working busybox install in /system/xbin.
Installation
Check the requirements above and read release notes below for the build # you are installing for any extra instructions!
If coming from another kernel, read the instructions in red below and follow them before flashing.
Flash the the kernel zip using your custom recovery.
Optional: if you want to revert back to what you had, restore your backup of your boot.img in recovery. Another option for reset back to stock is to flash the stock reset zip above. For other custom ROMs, dirty flash your custom ROM in recovery to get your default kernel and ramdisk back.
If you have issues and are coming from another custom kernel or ROM, follow these instructions first before the install. Many custom kernels are changing the ramdisk or other binaries that require a reset before moving back to stock or another kernel.
Reset for Stock ROM - flash this reset package that includes the stock kernel, ramdisk, thermald, mpdecision, and PowerHAL binary. This can also be used if you are using the stock ROM and want to go back to stock.
Download - N4_422_stock_kernel_and_components.zip
MD5 - f801fc7702e29d85447e9b6fdc880549
Reset for any non-stock ROMs like CM, AOKP etc - dirty flash your current ROM or nightly zip then your gapps in recovery (just flash, no wiping). This will give you back your original ramdisk, kernel, and other binaries that other kernel devs may have tweaked, renamed, replaced etc.
Builds
Personal Request: If you plan to make unofficial builds with features not included in the builds posted by me, please don't link them in the thread, all this does is result in confusion especially if someone has a problem with something you have added, it is much easier for me to provide support if I know that everyone in the thread is running the same builds I am. If you want to make a kernel with these features, feel free to start another thread so that they can be discussed and supported as appropriate.
Current Buildbot Status:
Source: https://github.com/thracemerin/kernel-Nexus4
As with _motley's builds, the stable version will be a base build which includes the ramdisk and other component binaries to make the kernel work as expected, you will need to flash the stable version prior to flashing any experimental versions or something may not work as expected.
All files are now available from goo.im: http://goo.im/devs/thracemerin/mako/m_plus
Note: Due to goo.im file naming rules I had to change the name of the zip to m_plus from m+, this has no effect on the content, the ones on goo.im are identical to those that were on dev-host other than the names.
Change Logs
Note: The builds below are for 4.2.2 only, for the latest 4.3 alpha builds check the last few pages of the thread. *4.3 builds will appear on goo.im when they are closer to being official production builds.
This thread is for 4.2.X versions only, use the following threads for 4.3:
JW Builds: Thread not available yet, Alpha 3 is still here: http://forum.xda-developers.com/showpost.php?p=43993185&postcount=860
JS Builds: http://forum.xda-developers.com/showthread.php?t=2385840
Build 10 (Exp) - July 15, 2013
Note: You must be on Build 1 or later. (Build 8 if you are on MIUI)
Various patches to the kernel to prevent out of bounds access to memory (see github for details)
Added sweep2wake, it is disabled by default, see post 2 for info (thanks to show-p1984)
Added a patch to fix some unusual behavior with the LEDs (thanks to CM)
Build 9 (Exp) - July 3, 2013
Note: You must be on Build 1 or later. (Build 8 if you are on MIUI)
Added the simple GPU governor for Qualcomm Adreno GPUs thanks to Faux123 (set as default, no need for the script required in the Alpha). Tunables explained in Post 2.
Build 8.1 (Exp) - June 20, 2013
Note: You must be on Build 1 or later. (Build 8 if you are on MIUI)
Actually reverted some of the msm_hsic patches because they seem to cause data drops (I only pretended I did in Build 8, oops )
Build 8 (Exp) - June 18, 2013
Note: You must be on Build 1 or later.
Reverted some of the msm_hsic patches because they seem to cause data drops
Now build with the Linaro 4.8.2.2013.06 toolchain
Switched the allocator from SLUB to SLAB because SLUB wouldn't boot when compiled with 4.8
Various fixes to allow building with 4.8
Build 7 (Exp) - May 26, 2013
Note: You must be on Build 1 or later.
goo.im seems to be a little flaky this afternoon, alternative downloads here: http://forum.xda-developers.com/showpost.php?p=41865828&postcount=416
Patches to freezer from Colin Cross
More patches to workqueue from CAF
Patches to the cpufreq driver from CAF
Reverted lowest frequency step to 384MHz (See Post 3 for why)
Fixed board-mako-regulator.c to allow for UV to work (Warning: Reset your UV settings if you have UV below 850mV, if you flashed the previous alphas this is probably not necessary.)
Reset undervolting to stock from Google, just in case the above causes problems for new adopters (You still have full access to undervolt to 600mV if your chip can handle it)
Added the change pointed out by veyka here: http://forum.xda-developers.com/showpost.php?p=41730297&postcount=380
Some more patches to the hsic controller that were in my other project but not this one.
Build 6 (Exp) - May 19, 2013
Note: You must be on Build 1 or later.
CAF changes to cpufreq
CAF changes to workqueues
Build 5 (Exp) - May 12, 2013
Note: You must be on Build 1 or later.
CAF patches to block.
CAF patches to the charging and battery management system.
CAF patches to the video driver.
Build 4 (Exp) - May 5, 2013
Note: You must be on Build 1 or later.
A few more sched patches from CAF
Patches to android lowmemory killer from CAF
Headphone poweramp controls (thanks to Faux123)
Build 3 (Exp) - May 3, 2013
Note: You must be on Build 1 or later.
Various sched patches that were in _motley's 4.2.1 kernel and not his 4.2.2 kernel
FIOPS i/o scheduler is back
192mhz frequency step added (thanks to showp1984)
Note: The ramdisk currently forces the minimum to 304mhz so i added an init.d script to force it to 192mhz so I didn't have to redo the ramdisk.
I'll fix this in the next base build.
If you still want to use 304mhz as your lowest step, see post 3 for details on how to do this.
Note 2: The voltage is the same as the one _motley used for 304mhz for stability reasons, it will still use less power, but feel free to uV it if you like.
Build 2 (Exp) - April 30, 2013
Note: You must be on Build 1 or later.
Update ROW i/o scheduler to the latest from CAF, now default i/o scheduler
FIOPS i/o scheduler was removed because _motley added FIOPS and ROW as 1 commit and messing with ROW screwed it up.
Hardcode ROW magic values (thanks to franciscofranco & osm0sis)
Update interactive governor to the latest from CAF (it may be a little less aggressive)
Krait Retention (thanks to CAF, faux123)
Build 1 (Base) - April 29, 2013
Everything from _motley's b49 build up to this point.
Built with the linaro 2013.04 gcc-4.7 toolchain
Thanks
Google - For AOSP sources
LG - for building the N4
Qualcomm/CAF - for their updates to the N4 kernel
_motley - for all his work on this kernel
faux123 - patches included that were initially written by him
franciscofranco - patches included that were initially written by him
showp-1984 - patches included that were initially written by him
anyone else i've neglected to include, if you feel you deserve to be thanked by name by all means PM me

Tunables should be the same as _motley's kernel so I'm quoting him here:
(All the tunables that are discussed in _motley's thread http://forum.xda-developers.com/showthread.php?t=2021437 should work the same way on this kernel)
_motley said:
Setting custom RGB color settings via sysfs
This can be done from the adb shell on your PC, or any terminal app. If you change them, they will not persist after a reboot. However, you can set them in an init.d script if you found another color combination that you like better than the one I have used.
Code:
echo "255 255 255" > /sys/devices/platform/kcal_ctrl.0/kcal
echo 1 > /sys/devices/platform/kcal_ctrl.0/kcal_ctrl
Command 1 sets the color and Command 2 commits them. Stock is 255 255 255.
Setting custom Gamma settings via sysfs - Exp kernel build 31+ only - thanks to faux for sharing his code
Warning: changing these values can be potentially be dangerous to your display if you make a mistake. For those that feel comfortable with what they are doing and want to experiment, please report back and share your findings.
Important, please read!
There are ten digits in the string separated by one space
First digit is a checksum and is never stored. The checksum is simply the sum of the other 9 numbers. This is to make it harder to so the interface is respected and you are forced to think about what you are doing.
There are 3 sysfs interfaces for gamma, one for each color:
Code:
#!/system/bin/sh
# Show the current configuration and the checksum
cat /sys/devices/platform/mipi_lgit.1537/kgamma_red
cat /sys/devices/platform/mipi_lgit.1537/kgamma_green
cat /sys/devices/platform/mipi_lgit.1537/kgamma_blue
Update:
Recently molesarecoming started opening this up and showing us what the values can be used to adjust. Franco then suggested that the white and grays should be swapped in moles original work. So, for init.d values using this interface, we have the following "banks" if values if we agree with Franco on the swap of the whites and grays.
Code:
R: checksum, g_white, g_mids, g_black, 0, g_contrast, g_brightness, g_saturation, g_grey, 2
G: checksum, g_white, g_mids, g_black, 0, g_contrast, g_brightness, g_saturation, g_grey, 2
B: checksum, g_white, g_mids, g_black, 0, g_contrast, g_brightness, g_saturation, g_grey, 2
(the zero in position 5's and the 2's in position 10 are recommended to be left alone since they are currently unknowns)
Minus the checksum, the 27 values mirror the 3 color arrays (3 x 9 = 27) in the actual LG LCD driver. Minus the unknowns, we are left with 21 values. Note that every one of the variables can have their value tweaked by color (saturation for red, saturation for green etc.), however, it is recommended that you start with all the values of one type being the same and then tweak from there if you really want to fine tune.
You have a lot of power in your hands even without fine tuning. Many will argue that fine tuning isn't required. If you look at the stock settings by Google in post 2, they took advantage of fine tuning for whatever reason. Even though many don't like these settings by Google, it shows how flexible the interface can be.
Instructions:
1) Start with a preset config (LG or Google) as shown further below. This is a set of 3 lines, 10 numbers for each line.
2) Tweak columns for their values as above. For example, we tweak contrast and brightness as in faux's original app. We could also do the same for saturation, blacks, whites, grays etc.
Example: start with LG presets with numbers to adjust:
383 114 21 118 0 10 4 80 48 2
383 114 21 118 0 7 4 80 48 2
383 114 21 118 0 5 1 80 48 2
3) Now update the checksum in column 1 (first digit = sum of last 9 digits)
397 114 21 118 0 10 4 80 48 2
394 114 21 118 0 7 4 80 48 2
389 114 21 118 0 5 1 80 48 2
4) Create a script inside a text file - my recommendation for your first test
Code:
#!/system/bin/sh
# Set data color pro presets from shared Google spreadsheet (thanks user acer73!)
# Use LG presents as your starting values and then adjust columns 6 & 7 from the spreadsheet
echo "397 114 21 118 0 10 4 80 48 2" > /sys/devices/platform/mipi_lgit.1537/kgamma_red
echo "394 114 21 118 0 7 4 80 48 2" > /sys/devices/platform/mipi_lgit.1537/kgamma_green
echo "389 114 21 118 0 5 1 80 48 2" > /sys/devices/platform/mipi_lgit.1537/kgamma_blue
#Set the complimentary RGB values for this calibration
echo "248 248 248" > /sys/devices/platform/kcal_ctrl.0/kcal
echo 1 > /sys/devices/platform/kcal_ctrl.0/kcal_ctrl
5) Run the script (or you can echo each line manually to test from adb if you prefer).
6) Turn the screen off and on for the gamma change to take effect.
7) Check the dmesg output for any clues and to see the output of the result.
8) Place the script into your /system/etc/init.d/ folder (or equivalent) for a permanent color change!
Screen refresh (added in b37) - this should only be called by apps or scripts while adjusting and testing colors "live" with the motley or faux sysfs interface. It should NOT be implemented on startup via init.d or by apps since it will compete with the normal power on process.
Code:
echo 1 > /sys/devices/platform/mipi_lgit.1537/refresh_screen
Presets:
Code:
#!/system/bin/sh
# Set LG presets (motley stock) - i.e. popular partial revert of Google's tweaks just before release
echo "383 114 21 118 0 0 0 80 48 2" > /sys/devices/platform/mipi_lgit.1537/kgamma_red
echo "383 114 21 118 0 0 0 80 48 2" > /sys/devices/platform/mipi_lgit.1537/kgamma_green
echo "383 114 21 118 0 0 0 80 48 2" > /sys/devices/platform/mipi_lgit.1537/kgamma_blue
Code:
#!/system/bin/sh
# Set stock Google presets (from kernel source code)
echo "332 64 68 118 1 0 0 48 32 1" > /sys/devices/platform/mipi_lgit.1537/kgamma_red
echo "332 64 68 118 1 0 0 48 32 1" > /sys/devices/platform/mipi_lgit.1537/kgamma_green
echo "364 32 35 116 0 31 16 80 51 3" > /sys/devices/platform/mipi_lgit.1537/kgamma_blue
Spreadsheet with shared settings
https://docs.google.com/spreadsheet/ccc?key=0AoDp2qRui0u0dGE4T2gtSDBTRHVFSldPS2RrX1Rya0E#gid=0
FSYNC Control
Notes: I thought about combining these options, but many kernel apps already support these two options. So, I have them both and they can be controlled in combination to give us the 3 modes. If you set fsync_enabled = 0 it will be OFF regardless of how Dyn_fsync_active is set.
3 Modes:
Dynamic (default in b35 and higher)- fsync is asynchronous when screen is on, when screen is off it is committed synchronously
dynamic fsync ON
fsync ON
Code:
echo 1 > /sys/kernel/dyn_fsync/Dyn_fsync_active
echo 1 > /sys/class/misc/fsynccontrol/fsync_enabled
Off (best performance, less safe) - fsync is always asynchronous (b32 and prior builds)
dynamic fsync OFF
fsync OFF
Code:
echo 0 > /sys/kernel/dyn_fsync/Dyn_fsync_active
echo 0 > /sys/class/misc/fsynccontrol/fsync_enabled
Stock (safest) - fsync is always committed synchronously
dynamic fsync OFF
fsync ON
Code:
echo 0 > /sys/kernel/dyn_fsync/Dyn_fsync_active
echo 1 > /sys/class/misc/fsynccontrol/fsync_enabled
There is a lot of info out there on fsync, that will not be discussed here. I have run fsync off on several devices for awhile now and haven't experienced any issues. If you are using a device that is not stable and crashes alot, I recommend enabling it via init.d or script manager on boot. Hopefully your N4 is as stable as is mine.
USB Force Fast Charge
You can turn it on with popular apps (like Trickster MOD) that support the common sysfs toggle as shown below.
If you don't like it or don't want to use it, it is off by default.
Turn ON:
Code:
echo 1 > /sys/kernel/fast_charge/force_fast_charge
Turn OFF:
Code:
echo 0 > /sys/kernel/fast_charge/force_fast_charge
Notes:
When it is ON, you will not be able to connect your phone to your PC (adb, mtp etc.). This is expected behavior.
To start charging: turn fast charge ON, plug the USB cable into your PC, and charge up.
To stop charging: unplug the USB cable and turn fast charge OFF. Now you can plug back into your PC for normal trickle charging, adb/mtp etc.
Tip: if you see it connect to your PC (media device or adb), it isn't working. Unplug the cable, wait a couple seconds and plug it in again.
Boostpulse control - Experimental build only
Trickster MOD works great to play with these.
How long does it boost when Android senses touch? (in b10 and b14 it is above_hispeed_delay)
Code:
/sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
What freq does it boost to?
Code:
/sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
Turn touchboost OFF/ON (in b10 and b14 only)
Code:
/sys/devices/system/cpu/cpufreq/interactive/input_boost
Thermal Throttling and Hotplug Control - Experimental build only
Warning: these do not have to be changed from the defaults and could potentially be dangerous if you make a mistake. For those that know what they are doing and want to experiment with settings, scripts etc. please report back your findings.
msm_thermal:
Throttle temp in C. Default is 70, valid range is 45 to 80 (recommend to not go over 75):
Code:
/sys/module/msm_thermal/parameters/throttle_temp
Minimum freq used in throttle down before returning to max, default is 7 = 1.13GHz. Range is 4 to 8 (810Mhz to 1.24GHz)
This is the index in the frequency table as seen in Trickster MOD, System Tuner etc. It is zero based (i.e. 304MHz is zero).
Code:
/sys/module/msm_thermal/parameters/min_freq_index
Turn on thermal debugging so you can see what is happening in the kernel log:
Code:
/sys/module/msm_thermal/parameters/thermal_debug
auto_hotplug:
Load based hotplugging parameters. I have taken _thalamus' base (thanks!) and have exposed most of the tuning parameters to userspace.
Turn off/on hot_plug debugging Y/N, default N, this spams the kernel log like crazy, turn on only when troubleshooting/testing
Code:
/sys/module/auto_hotplug/parameters/debug
Load at which a CPU is taken offline, 40-125, default 80:
Code:
/sys/module/auto_hotplug/parameters/disable_load_threshold
Load at which an extra CPU is put online, 130-250, default 200:
Code:
/sys/module/auto_hotplug/parameters/enable_load_threshold
Load at which all CPU's are enabled, 270-550, default is 400 (or 100 x number of cores):
Code:
/sys/module/auto_hotplug/parameters/enable_all_load_threshold
Sample rate in milliseconds, converted to jiffies at runtime, 10-50ms, default 20:
Code:
/sys/module/auto_hotplug/parameters/min_sampling_rate
Number of samples in the circular buffer, 5-50, default 10 (more samples = less aggressive; less samples = more aggressive):
Code:
/sys/module/auto_hotplug/parameters/sampling_periods
Maximum number of cores online (regardless of load) when screen is on, 1-4, default 4 (tune down for battery savings):
Code:
/sys/module/auto_hotplug/parameters/max_online_cpus
Minimum number of cores online (regardless of load) when screen is on, 1-4, default 1 (tune up for performance/bench-marking):
Code:
/sys/module/auto_hotplug/parameters/min_online_cpus
Vibration Intensity
You can also use Trickster MOD to set this.
Example increase intensity:
Code:
echo "90" > /sys/class/timed_output/vibrator/amp
To go back to stock:
Code:
echo "70" > /sys/class/timed_output/vibrator/amp
Why are the base voltage tables different on some phones
What CPU do you have? Nominal, Fast, Faster ...or Slow
The phones with the lower default voltage values use the "fast" or "faster" frequency table, consider yourself lucky. This explains why some can't UV as much as others since they are starting with lower mV's to start. These are built in factory tolerances that depend upon the binning of your chip. I am familiar with the same thing in the tegra3 world where I have had more experience. So, don't worry as this is commonly done in this industry. Hopefully folks don't go freaking out because they have a nominal chip like I do. It's probably good for a dev to have a nominal chip so we can better honor the limits.
http://en.wikipedia.org/wiki/Product_binning
How do I tell what I have?
If you boot up your phone fresh and look at the dmesg output (kernel log) while the messages are still there, you will find one of the following output messages where it selects it's frequency plan depending on the binning of the chip.
Code:
adb shell dmesg | grep PVS
acpuclk-8064 acpuclk-8064: ACPU PVS: Nominal
-or-
acpuclk-8064 acpuclk-8064: ACPU PVS: Fast
-or-
acpuclk-8064 acpuclk-8064: ACPU PVS: Faster
-or-
acpuclk-8064 acpuclk-8064: ACPU PVS: Slow
I have tweaked all the frequency tables nominal, fast, and faster (as well as slow to compensate for the lower freq) to keep them similarly scaled relative to stock. If you don't like the safe defaults (already UV'ed), then use voltage control and come up with your own preferred values.
Click to expand...
Click to collapse
C State Information
(thanks to faux123 - more info here: https://plus.google.com/109078966818501160423/posts/9R8fjQdHDXD)
faux123 recommends C0, C1 and C3 here: http://forum.xda-developers.com/showpost.php?p=40151528&postcount=9775
C0 (WFI) - Shallowest Sleep (default enabled)
Code:
enable: echo 1 > /sys/module/pm_8x60/modes/cpu0/wfi/idle_enabled
disable: echo 0 > /sys/module/pm_8x60/modes/cpu0/wfi/idle_enabled
C1 (Retention) - slightly deeper sleep
Code:
enable: echo 1 > /sys/module/pm_8x60/modes/cpu0/retention/idle_enabled
disable: echo 0 > /sys/module/pm_8x60/modes/cpu0/retention/idle_enabled
C2 (Stand Alone Power Collapse) - deeper sleep
Code:
enable: echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
disable: echo 0 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
C3 (Power Collapse) - deepest sleep
Code:
enable: echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
disable: echo 0 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
Simple GPU Governor Tunables
Code:
/sys/module/msm_kgsl_core/parameters/simple_laziness
Laziness: Adjusts the number of times the governor skips ramp down requests. (Higher = better performance, higher battery drain)
Code:
/sys/module/msm_kgsl_core/parameters/simple_ramp_threshold
Threshold: Adjusts the threshold to ramp up or down the GPU frequencies. (Lower = better performance, higher battery drain)
To enable sweep2wake:
Code:
echo 1 > /sys/android_touch/sweep2wake

Frequently Asked Questions
Q: You gave us 192Mhz, now you removed it and set 304Mhz back to 384Mhz, why?
A: Good question, there had always been some speculation in this thread and others that frequencies below 384Mhz were not in fact being set correctly, show-p1984 managed to run his device at 27Mhz with no stability issues (this should be impossible) so we did some quick and rather unscientific benchmarking in this thread and found that there didn't seem to be any difference in CPU performance between 192Mhz and 304Mhz (and there should have been), I then speculated that 304Mhz was also not being set, after a little more unscientific benchmarking I determined that there was no difference in performance from 304Mhz to 384Mhz either, so based on this I don't see any reason to allow these frequencies.
Q: I don't want to use the 192mhz frequency, how can I disable it? (Build 3-6)
A: One of the four options below will fix it:
You can delete my script, it's located at /system/etc/init.d/01cpu and reboot, this will set you back to 304mhz minimum.
You can remove it from the zip file (same location in the zip hierarchy) before you flash.
You can use your favorite kernel tuner (trickster, fauxclock, etc...) to switch the minimum frequency back to 304mhz and set it on boot.
You can change the /system/etc/init.d/01cpu script to set whatever minimum frequency you want (it has to be a valid one from the table)
Q: If the 192mhz and 304mhz steps use the same undervolt settings, how can 192mhz use less power?
A: The formula for power consumption is: P = f * c * V ^ 2
Where: P = power consumption, f = frequency, c = capacitance and V = voltage
So: since c is constant in this case, and we'll assume you've used the lowest UV possible (600mV)
At 304mhz: P = 304 * c * 600 ^ 2
At 192mhz: P = 192 * c * 600 ^ 2
This means that 304mhz uses approximately 1.58 times more power than 192mhz over the same time.
Q: There are a bunch of fixes for the delayed notification issues in various threads, what should the settings be for this kernel?
A: The following values should be set in your /system/etc/wifi/WNCSS_qcom_cfg.ini (depending on your ROM you may have different values), these are the Google stock values and appropriate for this kernel.
Code:
McastBcastFilter=3
HostArpOffload=0
gEnableSuspend=3
You can set these values by flashing this: wlan_revert.zip - MD5 - 381013687035626bcb1cbaf609ea4311
Q: Does this kernel include the ARP offload patch?
A: No, and for those of you following my other thread here: http://forum.xda-developers.com/showthread.php?t=2102986 you will know that there is an issue where our WiFi chip responds to ARP requests with a bad MAC address during deep sleep, this results in problems with direct connect (WiFi direct, AirDroid, etc...) and can cause issues with certain types of routers and networks that do not cache ARP addresses for long, as a result I no longer use it in my other kernel either. I am using a different solution which solves the problem for me and many others but has a slight battery life hit, I will post a flashable zip to modify the binaries to include this fix at a later time, but for now if you wish to include this fix do the following.
Code:
open /system/etc/wifi/WNCSS_qcom_cfg.ini in your favorite file editor
find the line that currently reads gEnableSuspend=3
change the line to read gEnableSuspend=2
save the file
reboot your device.
Q: I flashed this kernel and my battery life sucks! WTF?
A: Clearly I didn't design this kernel to drain your battery (nor did _motley) and in my experience most battery drain issues are app related and not kernel related. In order to help me help you solve the problem, please download Better Battery Stats either from the Play Store (costs money, but I strongly encourage supporting the dev) or the free version from XDA and provide me with a dump file for a few hours of use so I can see what is going on with your device, if you don't do this I will assume the battery drain is your fault and will ignore your complaint.
Q: Can you add feature x from kernel y?
A: Maybe, I'm not going to take this kernel and stuff it full of every single idea anyone has while lying in bed trying to fall asleep, but if the feature seems like something that most would use and it's in a reasonable state of working (ie. not something that someone else just started working on) then I will consider adding it, absolutely no promises in this regard.
Q: I got a random reboot, SOD, other bug that must be kernel related, what do I do?
A: Provide me with appropriate logs (dmesg, logcat, last_kmsg (see my sig)) and instructions on how you caused this if possible, if I can't reproduce the issue and I can't see it in the logs there is nothing I can do. Be as detailed about what you were doing at the time it happened, more information is always better than less.
Q: If _motley comes back what will happen with this project?
A: Well, I don't want to step on any toes here, this was originally _motley's work, what happens to it long term if he returns will ultimately be up to him. If he wants to continue from where he left off and merge his own changes beyond b49, I may keep going as a separate project, if he wants to fork me and continue from the point I'm at when he returns that's ok with me too and I'd probably stop if that were the case, but we're speaking in hypotheticals here, anything is possible.
Q: Touch control doesn't work! Why not?
A: Touch control requires a module that is compiled by the author and provided as a pre-compiled binary. I'm not specifically looking to break it's functionality, but changes I make may cause it to stop working at any time between releases, the only way to get this fixed is to speak to the author of the addon and have him recompile the module. If he needs my assistance with anything specific to this kernel, I will do my best to help him out.

Pre-release (Alpha) Builds
These builds are the latest builds produced by the buildbot from the wip branch.
WARNING: These builds should be considered alpha, may contain a lot of bugs, may be unstable, and may be partially or completely non-functional. That being said, I am usually running these builds so if they are really badly broken I'll remove them ASAP.
http://goo.im/devs/thracemerin/mako/m_plus/wip
Current Buildbot Status:
Current Alpha: None, use Build 10!
What's changed:

Thanks for continuing Motleys kernel, waiting for links to download and flash.

Build 1 is up, happy flashing :victory:

Thank you very much for the kernel, I'm glad to see the motley's great work doesn't get forgotten.
PS: a benchmark for the ones that like it, stock settings and sabermod rom.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}

I hope _motley is alright. Thank you for continuing to develop this great kernel in his absence.
Will you be including the new Prima drivers and retention patches introduced by kszaq to fix some of the wifi problems? I know it's not a solution for everyone, but I personally thought it worked well with no battery hit and some others seem to agree.
Anyway, thank you for your work and good luck with _m+ .

mko000 said:
I hope _motley is alright. Thank you for continuing to develop this great kernel in his absence.
Will you be including the new Prima drivers and retention patches introduced by kszaq to fix some of the wifi problems? I know it's not a solution for everyone, but I personally thought it worked well with no battery hit and some others seem to agree.
Anyway, thank you for your work and good luck with _m+ .
Click to expand...
Click to collapse
Krait retention, yes.
Prima/ARP Offload, not right now, there is a workaround and better explanation for why in post 3, I'll continue to work on it in my other thread, if I get to a fully working solution, then absolutely. The current issue with the Prima driver makes my phone unusable for something I do on a daily basis which is why I will not do it currently (I want to be able to use this kernel as my daily driver).

Flashed the CM build, all fine thanks! Felt the smoothness of Motleys kernel again.

Very nice! Um, I took a look at your git, but i couldn't work out what you added over b49 heh, mind giving a quick summery?
Sent via Nexus 4

veyka said:
Very nice! Um, I took a look at your git, but i couldn't work out what you added over b49 heh, mind giving a quick summery?
Sent via Nexus 4
Click to expand...
Click to collapse
Nothing atm, this release was just a stable start to move forward on and proof that I had the infrastructure set up to actually build with linaro gcc-4.7. I'll have another release in a day or two with some new stuff
Plus, it avoids having to get people to get b37 & b49 from _motley's thread before moving forward with builds here.

thracemerin said:
Nothing atm, this release was just a stable start to move forward on and proof that I had the infrastructure set up to actually build with linaro gcc-4.7. I'll have another release in a day or two with some new stuff
Plus, it avoids having to get people to get b37 & b49 from _motley's thread before moving forward with builds here.
Click to expand...
Click to collapse
Cheers! So i wasn't being a brainless derp then
Sent via Nexus 4

thracemerin said:
Krait retention, yes.
Prima/ARP Offload, not right now, there is a workaround and better explanation for why in post 3, I'll continue to work on it in my other thread, if I get to a fully working solution, then absolutely. The current issue with the Prima driver makes my phone unusable for something I do on a daily basis which is why I will not do it currently (I want to be able to use this kernel as my daily driver).
Click to expand...
Click to collapse
Hey fellow super android lol nice work with this kernel. I'm gonna give this a whirl and see how it performs. Thanks for continuing motley's kernel.

thracemerin said:
Nothing atm, this release was just a stable start to move forward on and proof that I had the infrastructure set up to actually build with linaro gcc-4.7. I'll have another release in a day or two with some new stuff
Plus, it avoids having to get people to get b37 & b49 from _motley's thread before moving forward with builds here.
Click to expand...
Click to collapse
I guess I'll wait a few more days then
Sent from my Nexus 4 using xda app-developers app

iamhacked said:
I guess I'll wait a few more days then
Sent from my Nexus 4 using xda app-developers app
Click to expand...
Click to collapse
I can push build 2, I just haven't tested it hardly at all and if it blows someone's device up I'd feel bad.

thracemerin said:
I can push build 2, I just haven't tested it hardly at all and if it blows someone's device up I'd feel bad.
Click to expand...
Click to collapse
take your time. dont rush. i know people are chomping at the bit for something new but ignore them.
or post a test build and let us blow up our phones haha :good:

Hi, if I may make a request, do you think it's possible to lower the minimum allowed voltage?
Sent from my Nexus 4 using xda app-developers app

Logi_Ca1 said:
Hi, if I may make a request, do you think it's possible to lower the minimum allowed voltage?
Sent from my Nexus 4 using xda app-developers app
Click to expand...
Click to collapse
It's 600mV right now, correct?

Yup, it's 600mv now. I was thinking that since the phone spends most of its time at 384mhz, and for me that frequency is totally stable at 600mv, it's probably possible that the voltage at 384mhz can go even lower. However I noticed that most of the other kernels have higher minimum allowed voltages, so there may be a reason for that that I'm not seeing here.
Sent from my Nexus 4 using xda app-developers app

Related

[KERNEL]05.12.2011 test-kernels [CM7/MIUI] platypus;SECURITY,VOODOO,OC/UV,nodebug,...

VIBRANT edition of the Platypus Revolutions kernel
This Project is inactive/low activity for a longer period of time
Kernel
CM7 & MIUI only
NEO series
(since May 24th '11)
Do you want to discuss on this kernel, get the news on the current state of development, or test kernels even fresher than fresh ?
connect via webchat from your browser:
http://webchat.quakenet.org/
and join #platypus-kernel
(recommended)
Fire up your IRC client, and join via client
the server (for now is) : irc.quakenet.org
port : 6667
Channel : #platypus-kernel​
(thanks to Tk for the layout idea )
before you ask for any ETAs:
The first rule of CyanogenMod [and this project]: DO NOT ASK FOR AN ETA!
---------------------------------------------------------------------------------------
First step before install & kernel switch:
Always have this cleaning script on your internal SD card ready
If you're
- switching kernels,
- have issues with auto-rotation,
- the cam,
- bootloops
- want to remove init script
- recover from a failed overclock attempt
please give either:
- lippol94's updated cleaning script (apply via CWM recovery): http://www.multiupload.com/XFH1GCK4MB
or
- WiwiPouPou's SYSTEM CLEANER SCRIPT (also apply via CWM recovery): (http://forum.xda-developers.com/showpost.php?p=14805606&postcount=21739)
a try
the kernel already applies some cleaning steps during install but sometimes that's not enough ...
---------------------------------------------------------------------------------------
Introduction:
Hi guys,
this is my first modded kernel for the SGS (CM7/MIUI only)
I first needed to test it to make sure that it'll be stable & boot at the first place
so far it's very fast & responsive & smooth
This thread shall serve as the center for my testing kernels (stability & functionality-wise)
DISCLAIMER: the kernel (binary) and driver modules are provided as is. If problems occcur they most probably are from upstream and can be fixed with the newest version. Since I'm doing this in my free spare time as a hobby (quenching my thirst for tweaks & performance) updates will occur irregularly as time permits and I see fit (most probably when new features & bugfixes arrive). YOU are responsible for the actions that you take (such as over- or underclocking), etc. You agree that I can not be held liable for any potential damage that arises from your actions in combination with or the usage of this kernel and other related parts.
Kudos:
* Google, Andy Rubin & the whole Android crew
* Linus Torvalds & the kernel hackers for upstream Linux
* cyanogen & all the devs out there hacking on this
* Supercurio for enriching our media experience of this smartphone
* codeworkx, coolya, guiper, atinm - the whole teamhacksung|cmsgsteam crew and all other hackers working on CM7
* laststufo, hardcore, nikademus, existz and all the other kernel hackers on the SGS forum
* zen-kernel team for inspiration to create a kernel, too
* all other contributors (devs, users, etc.) who make this possible
The purpose of these kernels is extensive stability testing addressing the following sticking points:
- overall stability & functioning of the kernel and phone
- call drops, missed calls, etc.
- lags (suggestions for improvements are welcome)
- auto-rotation, sensors, etc.
- Voodoo Control Plus [any crashes ? compatibility problems ?]
- working on CM7 or MIUI ?
- scheduler, sound, video synchronisation & lags: Tap Tap Revenge 4 (especially at the beginning of songs)
- scheduler, sound, video synchronisation and any other issues: doodle dash (while shooting & sound activated)
- proper pmem memory layout & settings: proper functioning of Google Googles
for those who love SAUCE (Source):
old source:
ALL MY SAUCE for QUORRA KernalZ ^^
new source:
android_kernel_samsung_aries
(fork and 1:1 update to upstream kernel source - changes in different branches)
(latest changes sometimes might not be in [yet] but in the whole repo everything should be available)
current UV & OC stable values:
Recommended apps for OC/UV:
- Pimp my CPU (also available here on XDA for those who don't have a credit card, etc.)
- Xan's VoltageControl
on stability testing:
http://forum.xda-developers.com/showpost.php?p=13255871&postcount=5
(start with "Q: I'm new in OC/OV operations so please could you explain to me how to set it in the best way?")
the following OC/UV values are only applicable for kernels with the old OC/UV implementation (max. 1.3 GHz)
my current UV (undervolt) stable Values :
old OC/UV implementation (morfic, bilboa1/kang, TheEscapist):
1300000 0 (haven't tested 1.3 GHz much yet)
1200000 -25
1000000 -50
800000 -75
600000 -100
400000 -100
200000 -125
100000 -150
edit:
1200000 -50
1000000 -75
800000 -75
600000 -225
400000 -125
200000 -150
100000 -175
thanks jetcz !
new OC/UV implementation (morfic, bilboa1/kang, TheEscapist - Tk-Glitch):
Tk-Glitch said:
Note that these UV settings will be unstable on many devices. It's only informative.
1600 MHz - 1.500v / -> That's high and many devices will fail on this frequency. Find working UV for you if any.
1500 MHz - 1.500v / -> That's high and many devices will fail on this frequency. Find working UV for you if any.
1440 MHz - 1.475v / -75mv
1400 MHz - 1.450v / -75mv
1300 MHz - 1.400v / -75mv
1200 MHz - 1.350v / -75mv
1000 MHz - 1.250v / -50mv - If you have stability issues, try to let this one by default.
800 MHz - 1.200v / -75mv
400 MHz - 1.050v / -100mv
200 MHz - 0.950v / -150mv
100 MHz - 0.950v / -200mv - (can be very different between two devices)
More volts is not always equal to more stability. Try to add more UV (less volts) if the frequency you're trying to achieve is unstable.
Considering all phones will respond differently to OC/UV, to tweak the values to suit your device will be required.
By default, no overclock/undervolt is applied. You'll need to use one of the tools below to adjust the frequencies and voltages.
Note : Never ever use SetCPU with this kernel. You could encounter many stability problems like random reboots or bootloops.
Click to expand...
Click to collapse
3D performance and games:
recommended apps:
[root] Chainfire3D
1st backup post (kernels)
Kernels:
kernels are listed in descending order
older -> newer (newest at the bottom - for now)
NEO 07
Link: http://forum.xda-developers.com/showpost.php?p=14731525&postcount=137
NEO 09
Link: http://forum.xda-developers.com/showpost.php?p=15044144&postcount=206
NEO 10
Link: http://forum.xda-developers.com/showpost.php?p=15141552&postcount=232
NEO 09-redux_V5
[Gingerbread bootloader support + access to external (micro)SD - no hourly battery drain anymore !]
http://forum.xda-developers.com/showpost.php?p=16298709&postcount=310
NEO 16 codename: Beast
http://forum.xda-developers.com/showpost.php?p=16552743&postcount=380
NEO 17 -r12 codename: Butterfly
http://forum.xda-developers.com/showpost.php?p=17339844&postcount=500
NEO 17 -r18 codename: Butterfly
http://forum.xda-developers.com/showpost.php?p=18268541&postcount=566
NEO 18-update1 codename: funky fish
NEO XX.1-update1 codename: mighty rhino
http://forum.xda-developers.com/showpost.php?p=20000100&postcount=630
ALL USERS MUST UPDATE (this fixes yet another potential data loss trigger)
2nd backup post (Changelogs)
Changelog list:
currently obsolete
3rd backup post (modems list)
modems:
Description:
Modems play a crucial role in how much battery drains in standy.
e.g. if you have a good signal area and the modem still has high
"Time without a signal" indicator under Cell standby you still will get bad standby time
make sure you have little to no "Time without a signal" in Cell standby
there also somewhat seems to be a connection between "Time without a signal" and high "Android OS" number in battery use (!)
Following modems are only compatible with new radio (modem) partition layout:
radio-cm-7-GalaxyS-JVP-signed.zip (4.29 MB)
md5sum: fb38dbf82daf0720fd2328f5f649013e radio-cm-7-GalaxyS-JVP-signed.zip
For more modems & bootloaders please go to siky_dude's Modem Thread:
[CM7/MIUI][28.08.11] Modems + Bootloaders(MD5)
[SGS / i9000 Thread so some frequencies might be missing, e.g. 850 MHz]
for more modems please refer to a modem thread in the Vibrant Forums section
4th backup post (results)
Results & FAQ/Documentation
Results:
(04/27/2011) Results for platypus-kernel_20110427_18_quorra_r1:
- broken auto-rotation & sensors for some [insert ROM (CM7 ? MIUI ?)]
- stable
(05/03/2011) Results for CM7_SGS_platypus-kernel_20110503_17_quorra-r4_exp
- high battery drain, either due to kernel config or optimization flags, fixed with >= quorra r5 (2nd update)
FAQ / Documentation
@bootloop / boot post victims ^^
Hi guys,
could you please try to replace the existing kernel on your MIUI or CM7 nightly CWM-Package with my kernel, modules and its scripts ?
then install that updated package (with the new kernel, modules and scripts)
after that all should work
the bootloops seem to be an issue with bml_over_mtd (broken sectors on the SSD on your phone)
I'll investigate this and see if anything needs to be rewritten and/or updated in that regard
Thanks !
Overclocking / Undervolting:
Q: I'm new in OC/OV operations so please could you explain to me how to set it in the best way?
A: start with -50 mV (delta from default value) other values probably are too low
my testing includes:
- Angry Birds Rio (several missions)
- Gun Bros (for some time)
- mp3 playback, (flac playback - optional)
- surfing the web via browser, opening up bit.ly links from cmsgsteam twitter feed
- watching youtube video
- watching video via rockplayer lite or mobo video player
- running benchmarks (Smartbench 2011, quadrant standard, an3dbenchXL, anTutuBench)
- Labyrinth Lite (for gravity sensor), auto-rotation (also for sensor)
when 1 GHz (1,2 or 1,3) is OK - go lower with undervolt value (e.g. -75 mV)
after it gets un-stable - go back to last known stable value
then you can limit max frequency to lower one, e.g. 800 MHz
and repeat testing for that frequency
for more info: checkout shaolin95's Mini Overclocking Guide:
Link: http://forum.xda-developers.com/showthread.php?p=12910471#post12910471
LED Support FAQ
Q: Do LED notification require an app, such as BLN, etc ?
A: No. It uses Android's and Cyanogen settings, other apps are not required, although some that are designed for regular LEDs may work.
Q: How to I turn off LED notifications, scheduled or/and complete turn off?
A: Use Cyanogen's Quiet Hours feature (settings>cyanogen>sound>quiet hours) and check "Dim the LEDs during quiet hours" (in reality it will turn them off on the SGS). If you schedule a complete day, then LED notifications will be off all the time.
Q: How do I setup per app, find other LED settings etc?
A: Settings>cyanogen>interface>LED notifications
Q: What to do with LED color settings?
A: We have only one color, so that doesn't work. Use Green as default setting. Some non-bright colors turn off notification, as it's the equivalent as diming LEDs (note that on real LEDs if you dim them too much they look like off too anyway, the difference is that it's gradual. On the SGS the LEDs can be only on or off, not gradual)
Q: How can I troubleshot my system, I can use ADB but...
A: adb logcat | grep lights (on linux) will show you Android requests to turn LED on or off. "status" tells you what we decide will be interpreted as "turn LED on" (1= on, 0 = off)
adb shell cat /proc/kmsg for live view (or adb shell dmesg if you're using adb after the issues occurs - careful the backlog is limited in size so don't be too slow)
notify_led_on and notify_led_off are requests to the kernel to turn LED on or off.
touch key write/read errors (cypress) are non-fatal failures to ask the touch key to do something (eg lit up the LED), when the hardware goes crazy or there's a logical error in the code (can be both)
touch key recovery routine or "stopped responding" are either hardware errors, either a logical error where the driver would try to write something the touchkey doesnt understand. in some occasion lock&unlock fix those as a work around, of course a permanent fix is required
Voodoo Color settings:
Q: I don't have that nice ice-ish white color on my screen anymore - you suck !
Q: my screen looks like someone pissed on the screen - you suck !
(sorry for the language ^^)
A: I love you too ^^
download Voodoo Control or Voodoo Control Plus
Screen RGB multipliers:
- Red: 321*
- Green: 321*
- Blue: 429*
Screen v1 gamma hack:
- use Alt. settings
- or if you prefer others - use: "Reset to 2.3.3 defaults", "Punchy settings" (punchy could lead to a great screen while locking the screen and having "screen off" animation disabled)
other recommended settings:
Also a lil tip for people who use voodoo color!
1 )Color Profiles: Voodoo Profile V1
2 ) Screen v1 gamma hack :
- 50 red
- 53 green
- 44 blue
3 ) SRB multipliers:
Red ="2300875360"
Green ="2300875360"
Blue ="2709919680"
With those adjustment, black colors are BLACK and white colors are WHITE. Everyone should try this.
Click to expand...
Click to collapse
SGS CM7 nightlies wiki
http://sgscm7nightlies.pbworks.com/w/page/41483487/FrontPage
Android OS bug, :
(thanks to ceriko ! and his awesome guide for DarkyROM 10.1)
If your battery drains very fast and your battery stats mentions Android OS above 10%, often between 40 and 60%, sometimes more, this is the best to do as far as I know:
- Remove the 2/3 system files as per the beginning part of this guideguide about batterie issues.
- Install WatchDog and open (I set it to "moderate", then I close it, that's all), this app will warn you whenever an app or a process miss-behaves by draining the battery excessively. It will not fix it but just flag it and you will see a notification.
- Reboot usually stops the drain for a while until it naturally comes back, so reboot whenever you see Android OS above 10% and rising or after you see WatchDog mentioning "Suspend" process using too much battery (the suspend process hanging is the Android OS bug).
- Some apps trigger it, most common are Gameloft games (blame Samsung, not the games/apps). No need to use apps or games for this drain to happen, it also happens straight after boot once phone has been fully charged.
This bug can not be fixed by anyone but Samsung. Some never see it, some will experience it everyday no matters what they do... It's just annoying and unfair but that's the same on all Gingerbread releases by Samsung (JVK, JVB, JVO, JVH). Apparently even the SGS2 has this...
screenstate scaling aka my governor won't change after screen locked:
So what is this all about ?
it's an init script that is put in to /system/etc/init.d
and switches between the configured governors in the script
depending on whether the screen is on (AWAKE_GOVERNOR) or off (SLEEP_GOVERNOR)
in most cases your phone is off - in that case it would be good to use a governor which doesn't fire up the cpu frequency too fast since you don't need it (no GUI, smooth scrolling, etc. needed while the screen is off - lol),
so conservative governor is set
when using the phone (screen on) it really depends on what you want to do: e.g. latency & smoothness is crucial: try smartass2, smartass, ondemand;
you're mainly browsing & reading stuff: try ondemandb, conservative (the screen is already burning enough battery so you don't need another component burning yet more)
only use one governor at a time
e.g.
AWAKE_GOVERNOR
# AWAKE_GOVERNOR
# AWAKE_GOVERNOR
SLEEP_GOVERNOR
# SLEEP_GOVERNOR
# SLEEP_GOVERNOR
that means lines with "#" are commented out and not used by the script
e.g.
# AWAKE_GOVERNOR
AWAKE_GOVERNOR
# AWAKE_GOVERNOR
SLEEP_GOVERNOR
# SLEEP_GOVERNOR
# SLEEP_GOVERNOR
also would work (intentionally not filled in any governors)
5th backup post (you never know )
yet to be declared
MIUI kernels == MIUI + CM7 prior to RIL switch to Samsung's (closed source) RIL
CM7 kernels == CM7 with newer RIL only
Kernel
CM7 & MIUI only
NEO 04-energy
(energy efficient build for max battery runtime, efficiency & smoothness)
(NEO_01 was internal build)
before you ask for any ETAs:
The first rule of CyanogenMod [and this project]: DO NOT ASK FOR AN ETA!
Changelog (from NEO_03):
- fugumod security hardening re-added
- optimized memcopy & memmove for maximal efficiency & speed
- optimized for size (less cache-misses & leaner and [perhaps] faster system)
- optimized for NEON-usage
- conservative-governor ONLY (one governor to rule them all) - battery consumption + performance == win + win
- FIQ-console disabled (probably less overhead + battery savings)
- LED notifications disabled - only LED light timeout enabled (battery savings)
- printk time-stamps disabled (probably less overhead + battery savings)
- fixed HD Video recording + mic recordings (sound works again)
- "old" OC-UV-implementation OC until 1.3 GHz
- re-added Nick Piggin's inode integrity patches (2 of them) - (more stability & perhaps some saved cpu cycles -> battery)
- re-added several of the previously not included patches from quorra kernel-base
not yet included:
- fugumod security improvements (thanks to nikademus for sharing the source !)
- bluetooth l2cap powersave mode
- and many more
current stable UV values (for me)
1000 -50 mV
800 -75 mV
600 -225 mV
400 -125 mV
200 -150 mV
100 -250 mv
Download Link:
Mirror #1:
CM7 / new RIL:
CM7_VIBRANTMTD_20110529-10_r_platypus-revolutions-kernel_0_NEO_04-energy.zip
MIUI / CM7 / old RIL:
CM7_VIBRANTMTD_20110529-09_MIUI_platypus-revolutions-kernel_0_NEO_04-energy.zip
(thanks to Roland for hosting !)
Mirror #2:
this post
Troubleshooting & short-FAQ:
- WIFI & stuff not working ?
lippui94 cleaning script, then wipe dalvik, then fix permissions, then kernel - eventuall governor switch - , then wipe dalvik, then wipe cache, then fix permission
- reboots during calling ?
please report ASAP !
this is supposed to be fixed & a non-issue [if it's still happening try with different nightly]
- Radio (phone function) not working ?
new RIL kernels only work with nightlys > #12 on the SGS (including #12)
- phone is not as smooth as with previous kernel releases
yeah - sorry, might be due to the fact that I'm forced to use stock toolchain (less optimized toolchain)
sticking points to test & feedback:
- call drops, reboots during calling & potential instabilities
- general stability (if this also happens on stock: post but add a note that it's from stock - thanks !)
- BT & WIFI switching
- HD video recording & playback (is smooth for me during playback, recording with HD & Youtube HD works)
- mic recording, HD video + sound (tested & should work)
- iptables
- battery runtime
- smoothness
Link to old thread + 2nd mirror (thread):
http://forum.xda-developers.com/showpost.php?p=14260897&postcount=392
hitman818 said:
It says nightly #12, do you mean the one that came out today, cm7.1.0?
Sent from my SGH-T959 using XDA Premium App
Click to expand...
Click to collapse
please read all of it
#12 on the SGS (including #12)
Click to expand...
Click to collapse
it's a different numbering scheme
kernel with new RIL applies to:
SGS: >= #12
CAPTIVATE: >= #14
VIBRANT: >= #9
I think ill stick with neo 3 it is the only kernel with working bln on miui. And is very fast and stable no complaints.
i just flashed neo 4 on lasted cm7 build. getting no service..
I just tried the old ril one and I had no service either on the new cm7 update.
Yeah, no service for me either
Sent from my SGH-T959 using XDA App
So far so good for me, flashed the old RIL on CM7 V8 and everything is working.
good on latest miui im running with UV its a little slow, does undervolting too much reduce speed or just stability?
gamikzone said:
good on latest miui im running with UV its a little slow, does undervolting too much reduce speed or just stability?
Click to expand...
Click to collapse
Reduced stability=reduced speed
If u want BLN to work try NEO3
nickmcminn60 said:
Reduced stability=reduced speed
If u want BLN to work try NEO3
Click to expand...
Click to collapse
what exactly does bln do? and i was able to improve the speed these are my rates that i find as a good UV
1300 0
1200 0
1000 -25
800 -25
600 -50
400 -50
200-75
100-75
gamikzone said:
what exactly does bln do? and i was able to improve the speed these are my rates that i find as a good UV
1300 0
1200 0
1000 -25
800 -25
600 -50
400 -50
200-75
100-75
Click to expand...
Click to collapse
BLN uses the capacitive buttons as a notification LED for when you get a text, an email, or something. In the newest builds of CM7, however, it has been disabled.
Sent from my SGH-T959 using XDA App
BLN - Overrated IMO
BLN = Big Lame Nothin'
or
BLN = Battery Leeching Nuisance
END OF LINE
w8 wtf?
galaxy S modems on the Vibrant?...
please tell me that's not what your doing...
apollo15rover said:
BLN = Big Lame Nothin'
or
BLN = Battery Leeching Nuisance
END OF LINE
Click to expand...
Click to collapse
opinions are li......

Kernel][ICS] Devil3_1.1.0 [02/08/12] - Vibrant - Beta release

This kernel is based on teamhacksung's kernel, with updated Linux base to 3.0.38
This kernel is working with every ICS based Rom
Features:
- 378, 391 and 403 Mb Ram available (selectable in kernel, no need for a patch (403 mb breaks 720p) only reboot required)
- 2 different recoveries included (cmw touch recovery + twrp recovery (to use TWRP, just create a file named "twrp" at /cache))
- SIO scheduler (default)
- V(R) scheduler (maybe even faster than SIO, can be set as default by using NSTools for example)
- init.d
- Voodoo Sound and CM9 Color Adjusment / Voodoo Color (VC version)
- Devil Idle
- BLN V9 (thx to mialwe)
- USB Host mode driver (for more information about this, and for saying thanks to the guy, who ported this for our phone, please visit this thread: http://forum.xda-developers.com/showthread.php?t=1450298 )
-Ezekeel's Live_Oc
- Ezekeel's Deep Idle V2
- Touchwake
- vibrator intensity control (by mialwe)
- BLX (Batterie Life Extender, I don't think we need it, but maybe one feels better by using it )
- backports from Linux 3.2 and 3.3
- Swap/Zram support
- Zcache, Cleancache and Frontswap
- Uksm
- Fiops io scheduler
- Smooth_ui included to ondemand, conservative, smartass, lulzactive, lagfree and lazy governor (only one setting for activating/deactivating it in general)
- 3 cpu governor presets (smooth, normal, powersave) for ondemand, conservative, smartass, lulzactive, lagfree (only one setting for switching the mode in general)
- many other small features and improvements
Donwload and Changelog post 2
FAQ and known issues in post 3
Click to expand...
Click to collapse
Many of the features (like Live_OC) require NSTools, which can be found at market for free.
NEW:
Devil kernel Config: http://forum.xda-developers.com/showthread.php?t=1715383
Devil Kernel Manager: http://forum.xda-developers.com/showthread.php?t=1723222
Both Apps are really great. Please try on your own, which one you like more.
you still can use the previous methods of setting up the kernel:
Please also try this app http://forum.xda-developers.com/showthread.php?p=22430406, for setting many of the options which are only available with my kernel.
a pre configured file for use with command center can be found here: http://forum.xda-developers.com/showpost.php?p=27353078&postcount=240 (you have to remove .zip extension)
a good explination/example of how to use it, can be found here: http://forum.xda-developers.com/showpost.php?p=26301176&postcount=4842
if you don't like additional apps (or are having problems with command center), i recommend using this init.d script: http://forum.xda-developers.com/showpost.php?p=26683004&postcount=5346
Click to expand...
Click to collapse
Kernels with VC in the name are coming with Voodoo Color
oliva94 said:
IF the kernel zip name contains _JB_, THEN and only then you can use it IF you do NOT have datadata partition
ELSE if you HAVE datadata, then use one WITHOUT _JB_ in the name
if you use it otherwise, it will boot but system is eventually going to crash/not load due to partition table (thus blockdevice naming) mismach
Click to expand...
Click to collapse
Many Thanks to:
Teamhacksung
Zacharias.maladroit
Onecosmic
ytt3r
TK Glitch
Ezekeel
Eugene373
franciscofranco
Sunra
scheichuwe
perka
sztupy, for his great work, to get usb host mode driver
mialwe
stratosk
F4k for the idea to flash bigmem libs
...
sources:
https://github.com/DerTeufel
Click to expand...
Click to collapse
This kernel is also available for:
Captivate, Fascinate and Vibrant
Click to expand...
Click to collapse
Working on this kernel is taking many hours almost every day. With a small donation, you show me, that my work is appreciated by you.
If you like this kernel, please donate to me
Changelog:
changelog 02.08.2012:
- bug fix to bln, to prevent kernel panic in some situations (thx to thalamus)
- switched from deep_idle 2 to idle2 (also thx to thalamus)
- updated kernel to linux 3.0.38
- dockaudio sysfs for captivate and fascinate
- automated symlinking from data to system: if one wants to free up some space at /system, without removing an app completely, just copy it from /system/app to /data/sys-parts/app (create the folder if not there), and reboot. during reboot, the app from system gets deleted, and the app from /data/sys-parts/app gets symlinked to system. this is working for almost every app, but i don't recommend doing this with apps, needed for android to work (framework, media provider, settings,...)
IDLE2 can be enabled with the following command:
echo 0 > /sys/module/cpuidle/parameters/idle2_disabled
IDLE2 can be disabled with the following command:
echo 1 > /sys/module/cpuidle/parameters/idle2_disabled
Stats can be obtained from the standard cpuidle interface, which, for
IDLE2 is located at:
/sys/devices/system/cpu/cpu0/cpuidle/state*/time
where * = 1, 2, 3
changelog 25.07.2012:
- updated recovery (no "sdcard format"-bug anymore, external sd card is named correctly)
- vibrant: hopefully fixed froyo ril
- jellybean: galaxy s settings working now
changelog 22.07.2012:
This kernel is for use with ICS only, if you are looking for a kernel, running on teamhacksung cm10 build, visit my jellybean kernel thread[/url]
- updated kernal base to linux 3.0.36
- updated "block" to linux 3.3
- readded fiops io scheduler (kept cfq this time)
- updated cwm recovery to 6.0.1.0 (please create a new nandroid, because of possible incompatibilities between old/new recovery)
- compiled with linaro toolchain (gcc 4.7.1) and O3 compiler flags
- made uksm scan less often (save cpu time and power)
- at first boot: only delte init.d scripts created by other kernels
- increased usb write performance
- lowered ram and display voltages a little bit
- fixed some bugs related to devil settings (they should stick now after reboot, if set by one of the devil apps)
- support for scripts in /system/etc/shutdown.d (thx to Efpophis)
all scripts placed at /data/local/shutdown.d or /system/etc/shutdown.d get executed at shutdown/reboot
you can use this, to play a shutdown sound for example.
by default 00shutdown gets created, which plays a music file, when it is placed at one of these folders/places
/system/media/audio/ui/shutdown.ogg
/data/media/audio/ui/shutdown.ogg
Click to expand...
Click to collapse
- disabled some debugging options
- audio (and for fascinate: camera fixes) by Efpophis+
- patch for improving batterie life by CML
- nfts read/write driver built in (for use with usb host mode)
- reverted refreshrate_mod and gpu_oc mod, as both weren't working
changelog 18.06.2012:
- some changes to load balancing
- added ultra ksm (metioned by zach thx for this my friend)
- readded fiops io scheduler (still experimental and could cause instablilities)
- using snappy compression for zram now (2 times faster, but only 2% less compression)
- added the possibility to change zram size (at /data/local/devil/zram_size, with valid values: 50, 75, 100 and 150 (all in mb))
- fixed the applying of user_min/max freq after reboot
- vibrant: fixed gps
- fascinate: fixed nandroid in cwm recovery
what is ksm? http://en.wikipedia.org/wiki/Kernel_SamePage_Merging_(KSM)
uksm is more optimized and also working for single core systems. using this should give much better ram usage, but at the cost of more cpu usage
############# most probably not working (yet)##############
i have added seperate gpu oc from jt1134's galaxy_tab (to switch between 200 and 250 mhz), but i did not get any improvements in antutu...further tests needed
echo 1 > /sys/kernel/pvr_oc/pvr_oc (for 250 mhz)
echo 0 > /sys/kernel/pvr_oc/pvr_oc (for 200 mhz), no reboot needed
and also have changend default screen refreshrate from 60 to 56, with the possibility to change it:
echo 1 > /sys/kernel/refreshrate/enable (60 hz)
echo 0 > /sys/kernel/refreshrate/enable (56 hz)
######################################################
changelog 10.06.2012:
cwm recovery:
- fixed mounting of external sd card to pc
kernel:
- picked two commits from linux 3.0.32 (avoid a possible memory leak, small fix to ext4 driver)
fascinate:
- fixed wrong mount points
changelog 09.06.2012:
- updated Zram and Zcache from linux 3.3
- updated android binder driver from linux 3.3
- fixed restoring of backups within TWRP recovery
- added virtual buttons to cwm recovery (Attention: they still don't work!)
- call vol hack from tk glitch (take a look at init.d folder and edit the script to make changes to call vol hack)
- bigmem values get applied at first boot after power on (if there is a value at /data/local/devil/bigmem, 1 for 391 mb and 2 for 403 mb (the last one breaks 720p)
- prevent phantom key presses (from tk glitch)
changelog 24.05.2012:
- Smooth_ui included to ondemand, conservative, smartass, lulzactive, lagfree and lazy governor (only one setting for activating/deactivating it in general)
- 3 cpu governor presets (smooth, normal, powersave) for ondemand, conservative, smartass, lulzactive, lagfree (only one setting for switching the mode in general)
- no need for activating/deactivating of selective live_oc anymore --> just change target low and target high
- BLX back in
- fixes to devil idle to be more stable while in call
- 1,5 mb more ram (thanks to mialwe)
- added aroma filemanager to cwm recovery
- added fully working TWRP recovery optional to cwm recovery (to use TWRP, just create a file named "twrp" at /cache)
- added option to select ram config in kernel --> no need for flashing an other kernel to get more ram (thanks to stratosk)
- switched to new initramfs from stratosk and mialwe ( now there will be cmw zip and odin tar file of every kernel version)
- added possibility to use Zram instead of Swap
- no need for flashing/using special scripts to make swap/zram working anymore
- added zcache
- added frontpage
- added cleancache
- added fudgeswap (thanks to ezterry and faux123)
changelog 01.05.2012:
- all changes from cm9 stock kernel (including mount points option)
- some fine tuning to deadline and sio
- Devil Idle: limiting bus/ram/gpu speed to 100 mhz for 100-800 mhz cpu freq, while screen off (automatic mode) or always (permanet), both modes automatically reduce the int voltages of the affected freq by 50 mV
- compiled with swap support
- added stratosk's smooth_ui to lulzactive governor (activated by default)
- rest oc_value to 100 while screen off, and back when screen turns on (combined with devil idle automatic, can't be turn on/off without devil idle)
- added posibility for different voltages while screen off (also bundled with devil_idle, with default settings, stock arm voltages are applied, because of live_oc set to 100)
- added the possibility to set freq limits while screen off (min and max freq)
19.04.2012
- even better fix to selective live_oc (last one (in test kernel) generated some overhead)
- fixed sampling rate of ondemand and conservative (have ported mialwe's/stratosk's sleep multipliers)
- new tunables for ondemand and conservativ
sleep multiplier and tunables:
mialwe and stratosk had the great idea, to change the sampling rate of conservative and ondemand governor while display of. for this, he introduced the sleepmultiplier (in his case factor 3). this means, if you set sampling rate to 20000, it changes to 60000 while screen off, and back, when screen on.
for ondemand and conservative:
i have made this multipliers tunable. proper values are between 1 and 5, because one could want a higher multiplier while screen off, if sampling rate is very low while screen on (higher sampling rate means, less checking for work load --> better batterie, worse performance). with this tunables you get better batterie, without making the performance worse while screen on.
two other tunables: up_threshold_min_freq and responsiveness_freq
the first one is a very low threshold while on low freq (by default 40), to make the governor scale up faster, until the responsiveness_freq is reached.
the responsiveness_freq is set to 400000 (400 mhz) by default. while the freq is below this value, up_threshold is the same as up_threshold_min_freq, and freq jumps to responsiveness_freq, with skipping the freq between the actual one and the responsiveness_freq. (conservative governor does not jump up to this step)
responsiveness_freq can be set to values between 100000 and 1400000
up_threshold_min_freq can be set to the same values as the normal up_threshold.
not tunable: while screen off, up_threshold is set to 95, no matter your other settings, to save more batterie.
up_threshold_min_freq is disbaled by default for conservative governor
for lulzactive:
for this governor, i did similar things, but they are not tunable till now.
when screen off:
- inc_cpu_load is set to 90, and back to the original value, when screen turns on
- up_sample_time is set to 50000, and back to the original value, when screen turns on
- down_sample_time is set to 40000, and back to the original value, when screen turns on
other changes:
- fix to touchwake from ezekeel, and another fix from stratosk
- upstream fix to compass
- building for i9000B now, too (big thanks to F4k for the hints by pn )
- removed some typos from recovery
- removed some annoying "no's" and "yes" from recovery in misc menu
- fixed wifi mode switch (pm_fast is the one with better signal)
14.04.2012:
- new b versions (only stock ram) changend to 377 mb, VC version needs the 720p fix from my ftp server. cmc version already patched
13.04.2012:
- updated wifi driver
- added the possibility to switch between wifi PM_Fast and PM_Max mode (Pm_Fast = better signal, PM_Max = better batterie, default is PM_Max)
- user interface to disable fsync (this gives more performace, at the risk of data loss on a crash, taken from ezekeel, so it should be ok ), default is off, to be safe
- fixed voodoo color kernels (these have the VC in their names)
10.04.2012:
- added vibrator intensity control (by mialwe), presets can be changend in recovery
- stock ram version now available (348 mb ram), XL (390 mb), XL_bm (402 mb)
- removed 1080 mhz freq for now
- small correction to touchwake
- small correction to selective live_oc (now the low freq really are not live_oc'ed)
05.04.2012:
- fixed bug in selective live_oc, which caused the target high not taking affect to the highest freq, if highest freq equals target high
- fixed another bug in selective live_oc, which could lead to gpu crashes due to overclocking the ram, but not the cpu freq (for low steps)
- added a switch to change between "normal" and selective live_oc
by changing the live_oc mode while using it, live_oc value is set back to 100, to prevent strange things
- added possibility to set max. freq for boot (in recovery). This freq is set until init.d is executeted (it is automatically set to 1000 at this point, to make sure there are no conflicts with other cpu settings from users)
#Already in the last version, but i forgot about it:
- deep idle fixes from stratosk (many thanks)
- added possibility to underclock by using live_oc (limit is 90 now, which means lowering all freq and bus speed by 10%, to save more batterie when really needed)
03.04.2012:
For now there are three different RAM versions:
- stock mem kernel has 379 mb ram, everything working
- "slim ics" (XL) kernel comes with 390 mb, this is breaking playback of some high resolution videos
- XL_BM is coming with 402 mb ram, but breaking 720p
(while flashing the kernel, the modded rom files are also flashed, so you don't need to flash a new rom to get 379 or 390 mb)
-added new frequency: 1080 mhz (1100 does not like live_oc)
- fixed SmartassV2 for live_oc (after changing live_oc value, you have to change the smartass values, too, but then they automatically apply to the live_oc value (although you can only select 800 mhz in nstools (for example))
- touch recovery with custom devil menu (for some reason it takes a few seconds to load the first time, missing virtual keys is a warning, because there are no virtual keys yet)
-fast charge (thx to chad0989 for this), disabled by default.
you also can use the widget from chad (to place on homescreen) to toggle the fast_charge mode
https://play.google.com/store/apps/d...stchargewidget
Click to expand...
Click to collapse
while fast charge is activated you cannot connect as usb device
- added datafix script to init.d (this script is deactivated by deafult. to make it work, you have to creat a file named datafix and placed in /data/local/)
- reworking and cleaning many parts to get more ram, speed, and stability
05.03.2012:
- updated sio i/o scheduler to latest version
- small updates to ondemand and conservative governor from linux 3.2
- bettter performance for CFS kernel due to tuning and patches
- tuning to deadline scheduler
- better i/o performance
- changed bootlogo (probably not the last time )
28.02.2012
- finally working bln V9 (no need for LED2 anymore)
- fixed lockscreen freezes
- reverted memory tweaks, which could be the reason for lagging after using a day
- again wlan fixes from tk-glitch
- tweaked conservative and ondemand governor (conservative still is not too aggressive)
- added dm-cache again (who has removed this from my github? )
- improve usb signal quality
- xcaliburinhand's dock audio support (untested, do not have a dock)
- less debugging
- fixed kernel version not displayed under "about phone"
12.02.2012
- Added newest Fiops scheduler (tuned for more performance)
- When Gpu is active, min CPU freq is set to second lowest step
- fixes to live_oc and custom voltage
- default mount parameter NOATIME and NODIRATIME (faster)
- updated Wifi drivers (thanks to tk-glitch)
- tuned intellidemand for better performance
- removed some stuff (zram, swap, tweaks to cpufreq untill I know what was causing the instabilities of last build)
05.02.2012
- added Touchwake
- added BLX
- upgraded BLN from V8 to V9 (working for missed calls, blinking or static light, configurabel by using NSTools or BLN Pro App)
- added Intellidemand governor
- added mdnie settings to voodoo color version
- readded deep idle v2 again (I think it is the best/only working one, although
- version with CFS (instead of BFS) now also available (maybe better multitasking and batterie life, but slower)
- removed BFQ I/O Scheduler
- tons of smaller fixes and improvements
30.01.2012
-revert: Voodoo Sound now to be set with DSP Manager
29.01.2012
- Linux kernel 3.1.10
- Deep Idle from Eugene373 (always enabled, no stats)
- added BFQ v 3.1 I/O Scheduler
- Voodoo Sound now to be set with DSP Manager
- Zram (can be disabled by removing Zram file from init.d)
- Zcache and Cleancache (not working yet?)
- optimized rwsem algorithm
- USB Host V5
24.01.2012
- init.d support (the folder is not created by the kernel. You have to do it for yourself)
- Deep Idle V2 back in
- new Cpu governors: MinMax, Lagfree, Lulzactiv
- LED V2 (you can set blinking by using nstools, also working for missed calls in most cases (sometimes it is not working for missed calls, don't know why at the moment))
- Backlight Dimmer (only LED version): used to turn led backlight of, while screen is on, after defined period of time. Deactivating it, makes your backlight stay on all the time
- I/O-less dirty throttling completely backported from kernel 3.2
- Ext4 with 3.2 patches
- Proportional Rate Reduction for TCP - by Google
- USB Host V 4
19.01.2012
- Usb Host drivers integrated
- Cm9 Color adjustment
- Removed Deep Idle because of Bluetooth problems (hopefully it will come back, still testing)
16.01.2012:
- Updated Kernel basis to Linux 3.1.9
15.01.2012:
- fixed bug in cpu spy, caused by live_oc
- still using voodoo color for now, maybe two additional kernel versions tomorrow
Click to expand...
Click to collapse
files with .zip have to be flashed within recovery (twrp or cwm)
files with .tar can be flashed by using odin or heimdall (they are placed at the end of post 3)
ICS:
http://rootaxbox.no-ip.org/divers/ICS/ many thanks to Rootax
JellyBean (with default cm10 partition layout for use with teamhacksung's rom):
http://rootaxbox.no-ip.org/divers/jellybean/
http://devil.haxer.org/ many thanks to SysTem-X (not updatet yet)
Known issues:
- virtual buttons in cwm recovery not working
vibrant specific:
nothing
Click to expand...
Click to collapse
How to:
you can change ram setting by doing the following ( to make these settings even stick after power off, you also have to echo the same value to to /data/local/devil/bigmem):
echo 1 > /sys/kernel/bigmem/enable (this gives you xl mem of 391 mb)
echo 2 > /sys/kernel/bigmem/enable (this gives you bm mem of 403 mb (this is breaking 720p))
echo 0 > /sys/kernel/bigmem/enable (this gives you cm9 default mem of 378 mb)
you have to reboot to make changes work
Click to expand...
Click to collapse
With setting this, your desired swap mode gets automatically applied at boot time. For swap, you have to create a swap partition at your external sd card before
echo 1 > /data/local/swap_use (for using swap partition on external sd card, you have to create this partition before)
echo 2 > /data/local/swap_use (for using Zram, no other modifications required)
you have to reboot to make changes active. You can't use swap and Zram at the same time
Click to expand...
Click to collapse
These are the settings for devil idle:
activate automatic:
echo 1 > /sys/devices/virtual/misc/devil_idle/bus_limit
permanent on:
echo 2 > /sys/devices/virtual/misc/devil_idle/bus_limit
deactivate
echo 0 > /sys/devices/virtual/misc/devil_idle/bus_limit_automatic
Click to expand...
Click to collapse
to set different voltages while screen off (this only is working, if devil idle automatic mode is activated)
this is an example, how to apply screen_off arm voltages:
echo 1450 1400 1350 1275 1075 975 875 800 > /sys/class/misc/customvoltage/arm_volt_screenoff
this way, it is possible to undervolt while screen off, but overvolt and overclock while screen on
for now, the int voltages can not be changend
Click to expand...
Click to collapse
set freq limits while screen off (min and max freq)
enable the limits:
echo 1 > /sys/devices/virtual/misc/devil_idle/user_min_max_enable
disable:
echo 0 > /sys/devices/virtual/misc/devil_idle/user_min_max_enable
set values to be applied if activated:
echo 100000 > /sys/devices/virtual/misc/devil_idle/user_min
echo 800000 > /sys/devices/virtual/misc/devil_idle/user_max
both are independent from devil_idle, and get applied when screen turns off
by default 100 and 1000 mhz are set.
values which can be put here are all "stock" freq (without live_oc level) multiplied with 1000. live_oc values get applied automatically.
Click to expand...
Click to collapse
to set responsiveness_freq, up_threshold_min_freq or sleep_multiplier for ondemand and/or conservative governor, you have to do it like this:
echo VALUE > /sys/devices/system/cpu/cpufreq/ondemand/VARIABLE_NAME
and
echo VALUE > /sys/devices/system/cpu/cpufreq/conservative/VARIABLE_NAME
example:
echo 400000 > /sys/devices/system/cpu/cpufreq/ondemand/responsiveness_freq
echo 50 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_min_freq
echo 5 > /sys/devices/system/cpu/cpufreq/ondemand/sleep_multiplier
up_threshold_min_freq is disbaled by default for conservative governor
(to disable it for ondemand you have to set up_threshold_min_freq to 100.
Click to expand...
Click to collapse
switch between wifi PM_Fast and PM_Max mode (Pm_Fast = better signal, PM_Max = better batterie, default is PM_Max)
echo 1 > sys/module/bcmdhd/parameters/uiFastWifi (pm_fast)
echo 0 > sys/module/bcmdhd/parameters/uiFastWifi (pm_max)
Click to expand...
Click to collapse
user interface to disable fsync (this gives more performace, at the risk of data loss on a crash, taken from ezekeel), default is on, to be safe
echo 1 > /sys/devices/virtual/misc/fsynccontrol/fsync_enabled (fsync enabled)
echo 0 > /sys/devices/virtual/misc/fsynccontrol/fsync_enabled (fsync disabled)
Click to expand...
Click to collapse
to set the values for vibrator intensity:
echo value > /sys/class/timed_output/vibrator/duty (where value is between 20000 and 43640)
if you want the changes to be applied at boot, you have to use one of the presets from recovery, use an init.d script, or:
echo value > /etc/devil/vibrator (where value is between 20000 and 43640)
Click to expand...
Click to collapse
activate fast charge: echo 1 > /sys/kernel/fast_charge/force_fast_charge
Click to expand...
Click to collapse
deactivate fast charge
echo 0 > /sys/kernel/fast_charge/force_fast_charge
you also can use the widget from chad (to place on homescreen) to toggle the fast_charge mode
https://play.google.com/store/apps/d...stchargewidget
Click to expand...
Click to collapse
while fast charge is activated you cannot connect as usb device
Click to expand...
Click to collapse
Questions and Answers:
Q: What the hell are all these governors?
A: here you should find the answer: http://forum.xda-developers.com/showthread.php?p=19846297
Q: What's a good setup for live_oc??
A: No one knows. Every phone is different. It seems like the folling setup is running well for some (many?) users. If you get reboots with it, you have to find the setup for yourself.
if you are satisfied with this configuration, please hit the thanks button of Crack: http://forum.xda-developers.com/showpost.php?p=22194160&postcount=1246
.:Crack:. said:
OK, these are mine. Rock stable
LiveOC 117% -> 1200 MHz -> 1404 MHz
Freq/ARM/Init
1200/1400/1150
1000/1325/1125
800/1250/1125
400/1025/1100
200/900/1100
100/875/1000
low freqs could possibly be tweaked harder but stability was my fist goal
Click to expand...
Click to collapse
Q: How can I set up swap?
A: Take a look at this thread: http://forum.xda-developers.com/showthread.php?t=1610835, and especially at this post:
http://forum.xda-developers.com/showpost.php?p=25578231&postcount=83
Q: What is Touchwake? Can you explain it?
A: With Touchwake, the touchscreen still recognices your fingers, after turning off (for a predefined time (NSTools)). For a detailed explenation, take a look at Ezekeel's thread: http://forum.xda-developers.com/showthread.php?t=1239240
Q: How can I make Voodo Color settings been saved after reboot?
A: You have to use Voodoo Pro App, because of changes between Gingerbread and ICS, and only the Pro app is updated till now.
Q: Which is the best IO Scheduler?
A: I think SIO and V(R) are the fastest.
Q: How can I enable DeepIdle/Live_Oc?
A: You have to use NSTools. You find it on market. It's free.
Deep Idle Questions:
Q: How can I activate the deep idle stats?
echo 1 > /sys/class/misc/deepidle/stats_enabled
Q: What's the meaning of TOP=Off and TOP=On when I look at the Deep Idle status?
A: When TOP=Off is used, the best powersaving state is used. TOP=ON will be shown, when bluetooth or gps are running.
Q: In Idle status I only see TOP=On. What's wrong here? I don't use Bluetooth or Gps.
A: You have to flash the modded framework-res.apk, because ICS does not fully deactivate bluetooth by default. Even if you never use it.
Q: Idle Stats only are showing Idle, but no Deep Idle. Why?
A: An App is preventing the use of Deep Idle. At first, you should try closing the cam, running in the background. Also rebooting should solve this problem.
Q: What is fudgeswap?
A:
Setting this to a very large positive number will indicate swap ought
to be fully used as free (and will slow the system down)
smaller numbers will allow you to put some pressure on SWAP without
slowing the system down as much.
small negitive numbers will allow the system to be faster at the same
minfree level.
default is 512 to give a very little bit of pressure to use some swap
but this can be modified at runtime via:
/sys/module/lowmemorykiller/parameters/fudgeswap
I'm going to be the next American Ninja Warrior!
Sent from my SGH-T959 using xda premium
Thanks...
Sent from my SGH-T959 using Tapatalk 2
Awesome!
Hellz yeah! Finally we get the official Devil kernel for Vibrant! Subzero has been nearly flawless for me except for some wifi drops here and there on certain router. I will test this out and see if it is any better and if the GPS will initialize after deep sleep as consistent as Subzero. DerTeufel1980 will you please post the Voodoo Color version for Vibrant? I noticed that there was no call volume init.d script like Glitch. Will this feature work without a script?
I just tested the 0.66 CM color kernel in the GPS doesn't initialize properly with no satellites in view. The GPS icon comes on though. MP's subzero kernel which is based off of Devil has the proper working GPS ramdisk for Vibrant if that will help you.
No issues, loving this. I haven't had a GPS issue probably because I flashed the GPS fix.
Sent from my SGH-T959
Flashed this with aokp build 38 and running great. Don't use gps so not sure if it works, but everything else is going perfect. Thanks for the kernel.
hurtz777 said:
Hellz yeah! Finally we get the official Devil kernel for Vibrant! Subzero has been nearly flawless for me except for some wifi drops here and there on certain router. I will test this out and see if it is any better and if the GPS will initialize after deep sleep as consistent as Subzero. DerTeufel1980 will you please post the Voodoo Color version for Vibrant? I noticed that there was no call volume init.d script like Glitch. Will this feature work without a script?
I just tested the 0.66 CM color kernel in the GPS doesn't initialize properly with no satellites in view. The GPS icon comes on though. MP's subzero kernel which is based off of Devil has the proper working GPS ramdisk for Vibrant if that will help you.
Click to expand...
Click to collapse
I'll check the ramdisk.
Voodoo color is going to come soon.
Gesendet von meinem GT-I9000 mit Tapatalk 2
DerTeufel1980 said:
I'll check the ramdisk.
Voodoo color is going to come soon.
Gesendet von meinem GT-I9000 mit Tapatalk 2
Click to expand...
Click to collapse
SubZero ramdisk with working GPS after deepsleep.
https://github.com/mr-psycho/initramfs/commit/90e603f541b7306b3afdff283d9b7d7e22bdb7ca
Looking forward for next update.
mohamobo said:
SubZero ramdisk with working GPS after deepsleep.
https://github.com/mr-psycho/initramfs/commit/90e603f541b7306b3afdff283d9b7d7e22bdb7ca
Looking forward for next update.
Click to expand...
Click to collapse
Is gps working with cm9 stock kernel? This would make it easier to identify gps tweaks from others.
Gesendet von meinem GT-I9000 mit Tapatalk 2
You have been thanked DerTeufel1980
You have been thanked DerTeufel1980 & this puppy has made it to the Kernel Bible.
Congratulations and great work, looking forward to more of your valued work.
Nice Documentation with this release!!!
serendipityguy said:
You have been thanked DerTeufel1980 & this puppy has made it to the Kernel Bible.
Congratulations and great work, looking forward to more of your valued work.
Nice Documentation with this release!!!
Click to expand...
Click to collapse
Yeah, finally I got it. And sorry mate, for the trouble last time.
Gesendet von meinem GT-I9000 mit Tapatalk 2
DerTeufel1980 said:
Yeah, finally I got it. And sorry mate, for the trouble last time.
Gesendet von meinem GT-I9000 mit Tapatalk 2
Click to expand...
Click to collapse
Will this puppy work with CM9, you have stated that it is a ICS kernel
DerTeufel1980 said:
Is gps working with cm9 stock kernel? This would make it easier to identify gps tweaks from others.
Gesendet von meinem GT-I9000 mit Tapatalk 2
Click to expand...
Click to collapse
Before someone else jumps in let me say this myself that it doesn't work.
GPS is dying after DS on stock CM9, and I need to figure out why it works on SZ.
I informed people to try your kernel because I wanted to find out if it was a Devil or SZ commit that made it work.
serendipityguy said:
Will this puppy work with CM9, you have stated that it is a ICS kernel
Click to expand...
Click to collapse
Yep. It is based on their kernel.
FaultException said:
Before someone else jumps in let me say this myself that it doesn't work.
GPS is dying after DS on stock CM9, and I need to figure out why it works on SZ.
I informed people to try your kernel because I wanted to find out if it was a Devil or SZ commit that made it work.
Click to expand...
Click to collapse
Thanks. Then it has to be subzero who fixed it. I just took the I9000 initramfs.
Gesendet von meinem GT-I9000 mit Tapatalk 2
DerTeufel1980 said:
Is gps working with cm9 stock kernel? This would make it easier to identify gps tweaks from others.
Gesendet von meinem GT-I9000 mit Tapatalk 2
Click to expand...
Click to collapse
FaultException said:
Before someone else jumps in let me say this myself that it doesn't work.
GPS is dying after DS on stock CM9, and I need to figure out why it works on SZ.
I informed people to try your kernel because I wanted to find out if it was a Devil or SZ commit that made it work.
Click to expand...
Click to collapse
Same answer with FP but devil kernel are completely dead!
mohamobo said:
Same answer with FP but devil kernel are completely dead!
Click to expand...
Click to collapse
First, great work as usual on the Devil kernel DerTeufel!
As for GPS, I can confirm GPS breakage, too. Currently, I'm on AOKP Build 38, and with Devil 3_0.66, I get no birds at all, even after several minutes of letting it sit. Seems like GPS doesn't see the sats or just isn't communicating with them. Tried clearing/updating AGPS data, and still nothing.
As a test, I re-flashed my subZero kernel, and saw 12 birds in under 10 seconds with GPS lock in under 30 seconds. And that's in the middle of the Pacific Ocean with clouds and drizzling rain.
So, DerTeufel pointed out he's using his i9000 initramfs, which probably doesn't have the Vibrant GPS tweaks. I started with DerTeufel's Vibrant branch of the i9000 initramfs, making tweaks from Glitch and THS. So, it's no special secret.
With my latest, forth-coming kernel, I've gone with the CM9 (and AOKP) design of GPS modularity (init.aries.gps.rc). Testing confirms GPS still works even after deep sleep.
One difference between subZero and nearly all the other ICS kernels out there, is that I don't use DeepIdle. I don't compile it in. I'm not sure if DeepIdle is what could be breaking GPS after deep sleep on the Vibrant.
I'll probably have the latest initframfs changes up on Github soon. In case anyone is interested in looking at it more closely.
MP
mr_psycho said:
First, great work as usual on the Devil kernel DerTeufel!
As for GPS, I can confirm GPS breakage, too. Currently, I'm on AOKP Build 38, and with Devil 3_0.66, I get no birds at all, even after several minutes of letting it sit. Seems like GPS doesn't see the sats or just isn't communicating with them. Tried clearing/updating AGPS data, and still nothing.
As a test, I re-flashed my subZero kernel, and saw 12 birds in under 10 seconds with GPS lock in under 30 seconds. And that's in the middle of the Pacific Ocean with clouds and drizzling rain.
So, DerTeufel pointed out he's using his i9000 initramfs, which probably doesn't have the Vibrant GPS tweaks. I started with DerTeufel's Vibrant branch of the i9000 initramfs, making tweaks from Glitch and THS. So, it's no special secret.
With my latest, forth-coming kernel, I've gone with the CM9 (and AOKP) design of GPS modularity (init.aries.gps.rc). Testing confirms GPS still works even after deep sleep.
One difference between subZero and nearly all the other ICS kernels out there, is that I don't use DeepIdle. I don't compile it in. I'm not sure if DeepIdle is what could be breaking GPS after deep sleep on the Vibrant.
I'll probably have the latest initframfs changes up on Github soon. In case anyone is interested in looking at it more closely.
MP
Click to expand...
Click to collapse
Hi, long time no see.
Thank you very much. I'll try your initramfs when I come home in 7 hours.
Do you still use the cwm touch from "me"? If so, I have solved the issue with the devil menu. It was the mounting of /datadata
Gesendet von meinem GT-I9000 mit Tapatalk 2

[KERNEL]CivZ SkyWalker_RF2.5rm (MAX OC 1.504GHz) for ICS / New bootloader(06/07/2013)

These kernels should work on every stock ICS LG rom or custom rom based on LG ICS rom.
Civato kernels build with V30B LG source & compiled on google 4.4.3 toolchain.
Thanks to :
WKPARK patchesRamHack and first OC patch
Also want to thank pengus77 , ezterry, godmachine81 , Thor2002ro, Faux123,chad0989 , Pidozz
NOTE:
I'm not a DEV and not pretending to be one, I'm a android enthusiast.
I would like to thank all XDA members that are helpful.
I build and mod stuff for my personal needs and then I share them.
Do I want something in return? NO.
You don't like it, no problem, there are enough good DEV's with there kernel to help you along.
So on request I started a separate thread for this kernel , it started with my rom and the need for a good custom kernel.
Click to expand...
Click to collapse
I don't provide any guarantee or a lawer if your phone explode and you get accused and charged for a terrorist act.
To be clear , the kernel got the POSSIBILITY to OC and tweak , if you don't do anything it runs at stock settings.
Meaning = MAX speed 1000MHz , Noop scheduler , interactive governor= LG default settings.
CivZ_SkyWalker_RF2.5rm
SU660 version of this kernel is available here
Sithlord in 3 different versions.
Ramhack or no ramhack
usb FastCharge
Compiled with Optimized flags-O3/-O2
-OC up to 1.5GHz , UV/OV , default boot up speed is 1.0GHz
-Minimum UV 650mV , Maximum OV 1400mV
Best CPU control app when you want to UV is free for XDA members SETCPU , download 2.24 or buy it, SUPPORT the devs! (it allows you to type in voltage changes and not only slide), Remember only steps of 10mV are real values , if you apply a step of 25mV it will actually be 20mV. So use setcpu to type in voltage steps of 10mV , 20mV , 30mV, ...............
-GPU 3D & 2D ( scales from 300 - 425MHz)
(stock is 300)
-Terminal kernel control commands
(Led light , FSYNC control , ZRam , Modules, SWAP increase)
-USB FastCharge (disabled at default)
-Available RamHack :No ramhack /24mb / 32mb
- Extra zRam 96Mb(disabled by default)
-Governors:
Powersaver
PERFORMANCE
USERSPACE
ONDEMAND
INTERACTIVE in dynamic mode (default)
CONSERVATIVE
LulzActive
(LulzActive tegrak tweak app included)
LionHeart
-Shedulers
NOOP(default)
DEADLINE
CFQ
SIO
ROW
BFQ-v5
Zen
VR
-Led control thanks to pengus77 (Max at default)
-Dynamic FSYNC @ Faux123 & Pengus77 (Disabled at default)
-Extra Modules loadable/unloadable on the fly
-Voltages / Frequencies:
NO 5mV steps as they are not supported by the LG regulator (Thanks Pengus77 for the heads-up)
750mV(216MHz) ; 780mV(312MHz) ; 800mV(456MHz) ; 850mV(608MHz) ; 900mV(760MHz); 920mV(816MHz) ; 950mV(912MHz) ; 1000mV(1000MHz boot up speed) ; 1050mV(1100MHz) 1100mV( 1200MHz); 1150mV(1300MHz); 1200mV(1408MHz) ; 1300mV(1504MHz)
Kernel control options to use with Terminal: (Settings are applied immediately and stick even after reboot now)
For a list of the commands on your phone (in case you forgot)
Type in terminal
su(enter)civz(enter)
Dynamic FSYNC control: (disabled by default)
Terminal command:
su (enter) df_on (enter) = This will enable Dynamic FSYNC (setting are applied immediately and sticks after reboot)
su (enter) df_off (enter) = This will disable Dynamic FSYNC (setting are applied immediately and sticks after reboot)
Led Brightness control: (Maximum brightness by default)
Terminal command:
su (enter) ledmin (enter) = This will set led at minimum brightness (setting are applied immediately and sticks after reboot)
su (enter) ledmed (enter) = This will set led at medium brightness (setting are applied immediately and sticks after reboot)
su (enter) ledmax (enter) = This will set led at maximum brightness (setting are applied immediately and sticks after reboot)
Load/unload Extra Modules : (Modules are unloaded by default)
(Cifs; hfs; hfs+; md4; nls_utf8; sha256; sha512)
Terminal command:
su (enter) m_load (enter) = This will load the extra modules (setting are applied immediately and sticks after reboot)
su (enter) m_unload (enter) = This will unload the extra modules (setting are applied immediately and sticks after reboot)
Enable/Disable EXTRA ZRam96MB: (Disabled by default)
Terminal command:
su (enter) zram_on (enter) = This will enable ZRam96MB (Reboot is needed to apply changes and sticks after reboot)
su (enter) zram_off (enter) = This will disable ZRam96MB (Reboot is needed to apply changes and sticks after reboot)
Enable/Disable LG 131MB SWAP or 260MB SWAP: (131MB is LG default)
Terminal command:
su (enter) lg_swap_of (enter) = This will disable LG swap (Reboot is needed to apply changes and sticks after reboot)
su (enter) lg_swap130_on (enter) = This will enable LG 130MB swap (Reboot is needed to apply changes and sticks after reboot)
su(enter)lg_swap260_on(enter) = This will enable LG 260MB swap (Reboot is needed to apply changes and sticks after reboot)
Note on LG swap: The 131Mb is default of LG
LG got this enabled in the stock LG rom and it uses the dev/block/mmcblk0p4 (unused partition) for it so not the same as ZRam that uses /dev/block/zram0 file. The LG Swap partition is enabled by default , I just add this command so if a user don't want to use the LG swap it can be done now with a single command.
Change system swappines value: (Android default is 60)
(setting are applied immediately and sticks after reboot)
Terminal command:
su(enter)swappines_0(enter) = set swappines at 0 = system waits very long to swap , Kills tasks very quick
su(enter)swappines_20(enter) = set swappines at 20 = Performance setting for gaming
su(enter)swappines_40(enter) = set swappines at 40 = Performance setting and some multitasking
su(enter)swappines_60(enter) = set swappines at 60 = Androids default , balanced setting
su(enter)swappines_80(enter) = set swappines at 80 = Aimed for multitasking/Balanced
su(enter)swappines_100(enter) = set swappines at 100 = Aimed for extreme multitasking , NOT GAMING
Update GPS lto
(this is done automatically with a init.d script , so in case it failed, here a way to do this manually)
Terminal command:
su (enter) gps_update (enter) = This will update gps lto file , if the file is not older then 5 days it won' t update.
Change system Fatsdormancy setting:
(setting are applied immediately and sticks after reboot)
Terminal command:
su(enter)fastdormancy_on(enter)=enable Fastdormancy = android default
su(enter)fastdormancy_off(enter)=disable Fastdormancy
Note about fastcharge option in kernel:
It is OFF at default, user needs to enable it.
Use at own risk, it is meant to use on car/plain chargers, don't know the effect in the long term.
And I don't know the effect when ussed on a PC usb connection.
The "FastCharge" app from playstore is installed in data, use it to toggle ON/OFF.
Or use the following terminal commands:
To enable it = echo 1 > /sys/kernel/fast_charge/force_fast_charge
To disable it= echo 0 > /sys/kernel/fast_charge/force_fast_charge
If you use fastcharge on a pc, usb will not be mounted and no data can be received or send.
Based on the work of chad0989 , Pidozz and Pengus77.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
LG-P990-VERSIONS​
CivZ_SkyWalker_RF2.5rm
CivZ_SkyWalker_RF2.5rm_24RH
CivZ_SkyWalker_RF2.5rm_32RH
SU660-VERSIONS of this kernel is available here
​ Side note on USB BSOD (screen off and pluging in usb resulting in BSOD)
I noticed that with enabled Dynamic FSYNC or a to high OC it can still occur.
So in that case please turn on screen before plugging in USB.
​
Click to expand...
Click to collapse
​
Changelog:
New in RF1.3-Cleaned out the kernel source
-Powersaver governor activated
-Optimized deadline scheduler
-Nvidia USB plugin BSOD fix
New in RF1.4:
-Added BFQ-v5r1 scheduler
@ iBluemind
(More info see Q&A)
-More versions.
New in RF1.5:
-Fix for governor switching
(coming from hotplug to a other governor made one core stuck in sleep state , resulting in bad performance and instability).
-3 New governors: "Aggressive" , "Gallimaufry", "Sakuractive".
-Most governors optimized.
(reverted BFQ to V5 version, performance is smoother I think)
-New "Zen" scheduler and most schedulers optimized
-Reduced android logger time.
-Increased readahead (1024kb instead of the default 128kb)
-Included mmc_cap hard brick fix. (Don't know if it is needed on this phone but can't hurt, a lot of samsung phones died this way when wiping data in recovery)
-Controle led brightness
ledmin ; ledmed; ledmax
NEW RF1.5_FC edition
Added USB Fast Charge in this edition.
8-Feb-2013:
RF1.6:
-Only compiled on -03 CF flags and with FastCharge option.
-GPU 3D clock up to 400MHz
(Before it was 350 where stock is 300)
-Patch for EXt4 error.
-CPU Freq lock off
-Reverted deadline scheduler
-Ramdisk got back the old settings for better battery life when not OC'd.
-216 and 312 MHz default voltage dropped with 25mV.
-Ramp-up speed on interactive back to 80 , you can change this in setcpu.
10-Feb-2013
RF1.7:
-Max CPU OC is now 1.5GHz
-New Lower default Voltage table:
750mV(216MHz) ; 775mV(312MHz) ; 800mV(456MHz) ; 850mV(608MHz) ; 900mV(760MHz); 925mV(816MHz) ; 950mV(912MHz) ; 975mV(1000MHz) ; 1050mV(1100MHz) 1125mV( 1200MHz) ; 1150mV( 1248MHz) ;1200mV(1300MHz) 1250mV(1352MHz) ; 1275mV(1404MHz) ; 1300mV( 1456MHz) ; 1325mV(1500MHz)
-Voltage settings changed in tegra2_dvfs.c so the 1.5GHz is stable.
-GPU 2D clock OC'd up to 400MHz
(stock is 300)
-Secondary clock epp & mpe OC'd to 350MHz
(stock is 300)
-ARCH power enabled
12-Feb-2013:
RF1.8 released
Update for stability reason that some users experienced.
Thanks to all the testers and there feedback.
-2D & 3D clock decreased back to 350MHz OC
(this is the RF1.4 setting as this is the best for all users)
Performance gain is not enough to justified to OC to 400MHz.
The 400MHz version will not be released public as it is not good for most users, please don't ask for it.
-Secondary mpe clock back to stock for the stability reason.
-RATE_LIMIT of 3D back to stock for the stability reason.
13-Feb-2013:
RF1.9
-Bug fix for Reboot /shutdown freeze when OC'd.
-Voltage table updated.
-Lower voltage for 1500 and 1456 MHz
Minimum UV voltage is now 675mV
-3D GPU 400MHz OC.
16-Feb-2013:
RX2.0
New Voltage table for higher stability.
New CPU max speed 1.544GHz.
New GPU 2D clock of 400MHz.
New terminal kernel commands.
Compiled with new flags (-O2 with some parts of -O3 flags to reduce code size).
Updated voltage table to gain stability when OC'd.
Dynamic FSYNC @ Faux123 integrated (Disabled at default)
Kernell-HZ increased to 256HZ (stock is 100) for better performance and smoothness.
User HZ increased to 200HZ (stock is 100) for smoothness
Support for NTFS
Support for NFS 3/4
HFS & HFS+ as modules
CIFS as module
md4 as module
sha512 as module
utf8 as module.
16-Feb-2013:
RX2.0_b released
Fix for the terminal commands error.
21-Feb-2013:
RX2.1 Released
Reverted User and Kenrel HZ to stock for stability.
Reverted back to -O3 custom flags
New terminal commands for ZRam and Extra modules
USB OTG (on the go) enabled (testing)
22-Feb-2013:
RX2.2 released:
Changed some custom flags for decrease of code size.
Reverted OTG setting (not working and causing problems)
Shed_Features back to stock setting (causing USB pluggin BSOD)
New Terminal command 'civz"
I hope this is a 100% rock solid stable version and I'm truly sorry for the many releases the last few days.
I wish to bring a stable kernel so some features are reverted as wow factor is not what I look for.01-Mar-2013:
CivZ_SithLord_再见 released
Main goal 100% stable kernel with good battery life, that is why the following changes are applied:
Forced governor linked patch (Make sure both cpu's run at the same governor, even with "setcpu & antutu") thanks Ezterry.
Max OC 1500MHz with lower voltage table (see in kernel info) , this to reduce battery consumption.
Removed a bunch of governors as they caused problems in some situations (so it seemed), see kernel ifo for what is included.
LulzActive Governor (with app) , tweaked by me to be less aggressive.
02-Mar-2013:
CivZ_SithLord_再见_r2 released
Reverted voltage table to RX2.2 release as some users had problems on max OC with lower rail voltages.
I can UV with -50mV on all frequencies but that is all up to the quality of your tegra2 cpu.07-Mar-2013:
CivZ_SkyWalker_RF1.0 released
New name because the OC code totaly changed compared to SithLord.
Totally new OC code with new frequencies and very low default voltages.(Thanks to my friend ezterry)
Max = Min frequency really fixed (now it won't be stuck at 750MHz when setting max frequency below 760MHz and not just showing the value but actually applying it so now you can set screen-off max at example: 312MHz in a profile with a cpu app).
Dynamic MODE enable on the interactive governor.
Min Max cpu frequency code changed and editable in defconfig before compiling kernel(Thanks to my friend ezterry)
Compiling optimizations flags changed (again thanks to my friend ezterry)
LulzActive governor balanced settings with max screen-off frequency of 608MHz
I would like to thank all the beta testers and I hope the result is up to your expectations!
08-Mar-2013:
CivZ_SkyWalker_RF1.1 released
More aggressive lulzactive governor settings on user request
New terminal command for LG 131MB swap
New terminal command for manual updating GPS lto file
Also a SU660 version available
96ZRam disabled by default from now on (not needed in my opinion, swap already got 131Mb on unused partition, but it is still available as a option)
10-Mar-2013:
CivZ_SkyWalker_RF1.2 released
New Max OC speed of 1544MHz
2D GPU back to 400MHz OC
OC code updated
New Terminal command to increase LG SWAP to 260MB
Updated FSYNC with latest Pengus77 release
Enabled ARCH-Power
SU660 24RH version available
"civz" terminal command updated with latest commands
13-Mar-2013:
CivZ_SkyWalker_RF2.0 released
Reverted MAX OC to 1504MHz (this way I could drop rail voltages so it will stay cooler, settings of RF1.0)
New Voltage table (no 5mV steps as pengus77 mentioned the regulator doesn't except 5mV steps)
Real min voltage is now 650mV (again thanks for pengus77 pointing me this out that board power and regulator had to be modded)Best CPU control app when you want to UV is free for XDA members SETCPU , download 2.24 or buy it, SUPPORT the devs! (it allows you to type in voltage changes and not only slide), Remember only steps of 10mV are real values , if you apply a step of 25mV it will actually be 20mV. So use setcpu to type in voltage steps of 10mV , 20mV , 30mV, ..
New Governor , LionHeart , tweaked by me to be very battery friendly.
GPU 2 D & 3D scales from 300 - 450MAX . What does this mean: When you play a stressfull game it will go up to Max 450MHz if it can depending on = It scales with voltage and process ID , lower voltage/ lower stress/ lower CPU speed = lower GPU speed. I hope this is the best solution for all users and best for battery/performance.
FastCharge updated to pengus77 edition.
Kernel Panic Timeout increased to 10 so a automatic reboot can be prevented when running out of memory on multitasking.
SU660 gets all versions.
FOR RF2.0 I would like to thank Pengus77 for his contribution on the voltage control and the updates of FSYNC and FastCharge.
I would also like to thank my good friend ezterry and godmachine81 for the OC code and GPU code.
Next I thank all my beta testers for the info and stressing there phone.
14-Mar-2013:
CivZ_SkyWalker_RF2.0-b released
New terminal commands to control the swappines
LG terminal command name change !!!
civz command updated
The rest of the kernel is 100% the same!
23-Mar-2013:
CivZ_SkyWalker_RF2.2-b released
New secondary , GPU frequency table.
3D Clock scales max to 425MHz.
2D clock scales up to 400MHz max (only when needed in heavy load)
USB connection delay patch
Fastdormancy terminal command
29-Mar-2013:
CivZ_SkyWalker_RF2.3rm released
gspca_main.ko module moved to optional modules
Stripped of all debugging = Lighter and optimized code
Fixed some code errors while compiling
06-Jul-2013:
CivZ_SkyWalker_RF2.5rm released
SetCPU 3.1.0 and higher reverted voltage fixed so on older versions of setCPU this kernel won't report correctly.
Note on LG SWAP increase:
Remember that on stock LG rom the default LG swap is 131MB. If you change kernel that doesn't got this terminal option and you changed the swap size or disabled it , no problem the swap commands are installed in system/bin so if you didn't delete them you can always use it. This does not count for other terminal command that come with the kernel.
Side note on USB BSOD
It is very random and still not 100% solved.
I noticed that with enabled Dynamic FSYNC or a to high OC it can still occur.
Just turn on your screen before connecting to pc and safe yourself a battery pull.
Click to expand...
Click to collapse
​
Side note:
Kernels comes as a boot.img = ramdisk with zImage.
Reason is that I made some changes in ramdisk. , init.d support.......
The meaning of this kernel is if you don't OC you get supurb battery life and 100% stability. If you start changing default governors and schedulers it will and can have a effect on battery life and OC to much with to much UV it will get unstable.
I recommend 1.2-1.3GHz for 24/7 use and not more. Governors can have a great effect on battery life. The flexibility in the kernel is there for the user to pick his/her favorite setting.
Source see second post!
More info about Sithlord and the effect of RamHack and Zram
INFO:
Thanks to jee'sgalaxy for the explanation
These Governors are included
1: OnDemand Governor:
This governor has a hair trigger for boosting clockspeed to the maximum speed set by the user. If the CPU load placed by the user abates, the OnDemand governor will slowly step back down through the kernel's frequency steppings until it settles at the lowest possible frequency, or the user executes another task to demand a ramp.
OnDemand has excellent interface fluidity because of its high-frequency bias, but it can also have a relatively negative effect on battery life versus other governors. OnDemand is commonly chosen by smartphone manufacturers because it is well-tested, reliable, and virtually guarantees the smoothest possible performance for the phone. This is so because users are vastly more likely to ***** about performance than they are the few hours of extra battery life another governor could have granted them.
This final fact is important to know before you read about the Interactive governor: OnDemand scales its clockspeed in a work queue context. In other words, once the task that triggered the clockspeed ramp is finished, OnDemand will attempt to move the clockspeed back to minimum. If the user executes another task that triggers OnDemand's ramp, the clockspeed will bounce from minimum to maximum. This can happen especially frequently if the user is multi-tasking. This, too, has negative implications for battery life.
2: Performance Governor:
This locks the phone's CPU at maximum frequency. While this may sound like an ugly idea, there is growing evidence to suggest that running a phone at its maximum frequency at all times will allow a faster race-to-idle. Race-to-idle is the process by which a phone completes a given task, such as syncing email, and returns the CPU to the extremely efficient low-power state. This still requires extensive testing, and a kernel that properly implements a given CPU's C-states (low power states).
3:Conservative Governor:
This biases the phone to prefer the lowest possible clockspeed as often as possible. In other words, a larger and more persistent load must be placed on the CPU before the conservative governor will be prompted to raise the CPU clockspeed. Depending on how the developer has implemented this governor, and the minimum clockspeed chosen by the user, the conservative governor can introduce choppy performance. On the other hand, it can be good for battery life.
The Conservative Governor is also frequently described as a "slow OnDemand," if that helps to give you a more complete picture of its functionality.
4: Userspace Governor:
This governor, exceptionally rare for the world of mobile devices, allows any program executed by the user to set the CPU's operating frequency. This governor is more common amongst servers or desktop PCs where an application (like a power profile app) needs privileges to set the CPU clockspeed.
5: Interactive Governor:
Much like the OnDemand governor, the Interactive governor dynamically scales CPU clockspeed in response to the workload placed on the CPU by the user. This is where the similarities end. Interactive is significantly more responsive than OnDemand, because it's faster at scaling to maximum frequency.
Unlike OnDemand, which you'll recall scales clockspeed in the context of a work queue, Interactive scales the clockspeed over the course of a timer set arbitrarily by the kernel developer. In other words, if an application demands a ramp to maximum clockspeed (by placing 100% load on the CPU), a user can execute another task before the governor starts reducing CPU frequency. This can eliminate the frequency bouncing discussed in the OnDemand section. Because of this timer, Interactive is also better prepared to utilize intermediate clockspeeds that fall between the minimum and maximum CPU frequencies. This is another pro-battery life benefit of Interactive.
However, because Interactive is permitted to spend more time at maximum frequency than OnDemand (for device performance reasons), the battery-saving benefits discussed above are effectively negated. Long story short, Interactive offers better performance than OnDemand (some say the best performance of any governor) and negligibly different battery life.
Interactive also makes the assumption that a user turning the screen on will shortly be followed by the user interacting with some application on their device. Because of this, screen on triggers a ramp to maximum clockspeed, followed by the timer behavior described above.
6: Powersave Governor:
The opposite of the Performance governor, the Powersave governor locks the CPU frequency at the lowest frequency set by the user.
7: LulzActive:
Highly tweakable governor @ tegrak, use the included app to tweak it.
Click to expand...
Click to collapse
Schedulers:
1: Noop:
Inserts all the incoming I/O requests to a First In First Out queue and implements request merging. Best used with storage devices that does not depend on mechanical movement to access data (yes, like our flash drives). Advantage here is that flash drives does not require reordering of multiple I/O requests unlike in normal hard drives.
Advantages:
Serves I/O requests with least number of cpu cycles. (Battery friendly?)
Best for flash drives since there is no seeking penalty.
Good throughput on db systems.
Disadvantages:
Reduction in number of cpu cycles used is proportional to drop in performance.
2: Deadline:
Goal is to minimize I/O latency or starvation of a request. The same is achieved by round robin policy to be fair among multiple I/O requests. Five queues are aggressively used to reorder incoming requests.
Advantages:
Nearly a real time scheduler.
Excels in reducing latency of any given single I/O.
Best scheduler for database access and queries.
Bandwidth requirement of a process - what percentage of CPU it needs, is easily calculated.
Like noop, a good scheduler for solid state/flash drives.
Disadvantages:
When system is overloaded, set of processes that may miss deadline is largely unpredictable.
3: CFQ:
Completely Fair Queuing scheduler maintains a scalable per-process I/O queue and attempts to distribute the available I/O bandwidth equally among all I/O requests. Each per-process queue contains synchronous requests from processes. Time slice allocated for each queue depends on the priority of the 'parent' process. V2 of CFQ has some fixes which solves process' i/o starvation and some small backward seeks in the hope of improving responsiveness.
Advantages:
Considered to deliver a balanced i/o performance.
Easiest to tune.
Excels on multiprocessor systems.
Best database system performance after deadline.
Disadvantages:
Some users report media scanning takes longest to complete using CFQ. This could be because of the property that since the bandwidth is equally distributed to all i/o operations during boot-up, media scanning is not given any special priority.
Jitter (worst-case-delay) exhibited can sometimes be high, because of the number of tasks competing for the disk.
5: SIO:
Simple I/O scheduler aims to keep minimum overhead to achieve low latency to serve I/O requests. No priority quesues concepts, but only basic merging. Sio is a mix between noop & deadline. No reordering or sorting of requests.
Advantages:
Simple, so reliable.
Minimized starvation of requests.
Disadvantages:
Slow random-read speeds on flash drives, compared to other schedulers.
Sequential-read speeds on flash drives also not so good.
6: V(R):
Unlike other schedulers, synchronous and asynchronous requests are not treated separately, instead a deadline is imposed for fairness. The next request to be served is based on it's distance from last request.
Advantages:
May be best for benchmarking because at the peak of it's 'form' VR performs best.
Disadvantages:
Performance fluctuation results in below-average performance at times.
Least reliable/most unstable.
7) BFQ:
Instead of time slices allocation by CFQ, BFQ assigns budgets. Disk is granted to an active process until it's budget (number of sectors) expires. BFQ assigns high budgets to non-read tasks. Budget assigned to a process varies over time as a function of it's behavior.
Advantages:
Believed to be very good for usb data transfer rate.
Believed to be the best scheduler for HD video recording and video streaming. (because of less jitter as compared to CFQ and others)
Considered an accurate i/o scheduler.
Achieves about 30% more throughput than CFQ on most workloads.
Disadvantages:
Not the best scheduler for benchmarking.
Higher budget assigned to a process can affect interactivity and increased latency.
Click to expand...
Click to collapse
Please share your settings, battery life, benchmark score.................................
My personal settings for a while now:
-SithLord_RF1.2_32RH_cf03
-1248MHz 24/7
-SavagedZen
-row
It is very snappy and battery friendly.
1248MHz SavagedZen / Row
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
1456MHz Performance / ROW
cannot be used on cm10 right?
Re: [KERNEL] CivZ SITHLORD Kernel - for LG ICS roms / New bootloader only
Where can I change CPU frequency?
Sent from my LG-P990 using xda app-developers app
Taking loads of kernel patches from other peoples Github and providing your kernel as a tarball is (most likely) fine by the rules, but still considered bad.
It doesn't take long to set up github, so I'd like to ask you kindly to give back to the community if you take from it.
Edit: Before anyone gets this the wrong way, read my clarification post below.
tonyp said:
Taking loads of kernel patches from other peoples Github and providing your kernel as a tarball is (most likely) fine by the rules, but still considered bad.
It doesn't take long to set up github, so I'd like to ask you kindly to give back to the community if you take from it. Especially as a Recognized Contributor.
Click to expand...
Click to collapse
Well i have to agree 100% with Tonyp on this one. Please setup a github and commit your work, keeping clear and polished references to the cherry-picks you make. GPL is quite clear on this: all modifications to the original source code must keep a reference to the author of the patch. Github is a fantastic way to keep in line with the gpl because it does it all by itself
Re: [KERNEL] CivZ SITHLORD Kernel - for LG ICS roms / New bootloader only
Thanks for doing this, and also making new tread for it. As an experienced noob I appreciate it.
Tony, you might be right, but rules are rules, and users love rules like this. Why? We're addicts of flashing he he......
Sent from my LT18i using xda premium
No.
---------- Post added at 11:20 PM ---------- Previous post was at 11:16 PM ----------
proyatzu said:
cannot be used on cm10 right?
Click to expand...
Click to collapse
No.
Re: [KERNEL] CivZ SITHLORD Kernel - for LG ICS roms / New bootloader only
louiscypherbr, you type from my mind
tonyp said:
Taking loads of kernel patches from other peoples Github and providing your kernel as a tarball is (most likely) fine by the rules, but still considered bad.
It doesn't take long to set up github, so I'd like to ask you kindly to give back to the community if you take from it. Especially as a Recognized Contributor.
Click to expand...
Click to collapse
pengus77 said:
Well i have to agree 100% with Tonyp on this one. Please setup a github and commit your work, keeping clear and polished references to the cherry-picks you make. GPL is quite clear on this: all modifications to the original source code must keep a reference to the author of the patch. Github is a fantastic way to keep in line with the gpl because it does it all by itself
Click to expand...
Click to collapse
Working on it so ....... like I mentioned I'm new to this linux world.
It got nothing to do with the RC title. It got to do with more important things in life then setting up github.
I will get there when I got time.
If this is bad , well sorry then.
No problem, I will ask admin to close thread and I will remove all links as y'all think I'm in violation of GPL and don't have the patience to let me learn how to setup a github properly.
Hmm, and like I never gave anything back to the community?
civato said:
No problem, I will ask admin to close thread and I will remove all links as y'all think I'm in violation of GPL and don't have the patience to let me learn how to setup a github properly.
Click to expand...
Click to collapse
Uhm, no no no, I don't think you're violating anything, don't get this in the wrong way.
I just wanted to encourage you to set up a Github account, as this will ensure that all other kernel developers will participate from your work as well.
Due to pengus77 github profile you were able to use his patches, if he wants to use something of your work it's quite hard for him to do so as he would have to extract that from your zip.
If you need help in setting it up or got questions about how to properly work with git feel free to PM me anytime.
@louiscypherbr: I'm not interested in pushing people away, I'm interested in ensuring everyone can take patches from others, as that will lead, ultimatively, to even better kernels.
So there's no place for your attitude and swearwords.
@louiscypherbr civato, tonyp, pengus77 etc know what to do. Nobody pushes away none.
tonyp made it clear that he has no intention to make civato stop developing his great kernel. It is common sense that github helps people share their ideas and experience for making and improving projects. It's not bad at all. I am very sure that Civato will push his code at github when he is ready.
Keep up guys and leave the code in peace!
Post not needed
Re: [KERNEL] CivZ SITHLORD Kernel - for LG ICS roms / New bootloader only
I think that those self imposed CENTURIONS, have the law in their hands and we all agree with the rules. But there is another gold rule that has to be used...TACT is like a velvet revolver that SOFTENS the blow of truth.
There was the case of the great integrator GUESTE, now CIVATO who is next?, carburano?, Jishur?.
We all agree with GPL, but most agree with the great work of this people, that make things for them and share!!....
CENTURIONS, if you are eagerly seeking for standards and good practices...A F.......G PERSONAL MESSAGE IS MANDATORY...
I don't see Linus Torvalds complain in nobody's threads....
Guys, we the people are the one that you affect the most...we are learning... but not only with your WORK, we learn from many people.
SO STOP GETTING OUT GOOD PEOPLE FROM XDA AND HAVE TACT AND PATIENCE...YOU WILL HAVE YOUR LINES OF CODE ON ITS TIME...
Sent from my LG-P990 using Tapatalk 2
galpec said:
I think that those self imposed CENTURIONS, have the law in their hands and we all agree with the rules. But there is another gold rule that has to be used...TACT is like a velvet revolver that SOFTENS the blow of truth.
There was the case of the great integrator GUESTE, now CIVATO, who is next?, carburano?, Jishur?.
We all agree with GPL, but most agree with the great work of this people, that make things for them and share!!....
CENTURIONS, if you are eagerly seeking for standards and good practices...A F.......G PERSONAL MESSAGE IS MANDATORY...
I don't see Linus Torvalds complain in nobodys threads....
Guys, we the people are the one that you affect the most...we are learning... but not only with your WORK, we learn from many people.
SO STOP GETTING OUT GOOD PEOPLE FRPM XDA AND HAVE TACT AND PATIENCE...YOU WILL HAVE YOUR LINES OF CODE ON ITS TIME...
Sent from my LG-P990 using Tapatalk 2
Click to expand...
Click to collapse
All good so far and i agree, but see, i'm one of those that you probably refer to as "centurions" and i feel a little weird about that (if not, it's ok, my misunderstanding). All my code is on github and ALL the devs are picking it up to improve their kernels. Well, devs is a big word apparently, most of the stuff around now is merely a collection of cherry picks in the end...
But anyway, because of this i was asking civato to push his code to github, to keep track of other people's code in his kernel and to allow other developers to pick his things. This is the spirit of open source and open development that i've been following for almost 20 years now so, please, don't tell me that i want people out of xda only because i asked for public source tracking. It's a normal and standard thing, nothing impossible or difficult, nothing that requires a degree in cs, and nothing that is out of the ordinary. It was a polite request, remembering how important is to adhere to the gpl rules (not xda ones, i wouldn't even dare such a comment) because i fully do and, probably because i'm used to this, i expect other kernel developers to do the same... just my 2 cents...
Edit: @civato don't consider this an attack or something against you please, it's not my intention at all. I just feel weird about tarballs and i usually forget to put my details in the code i write, so it gets lost in there Anyway i'll gladly help you in setting up your github if you pm me or add me on gtalk !
pengus77 said:
All good so far and i agree, but see, i'm one of those that you probably refer to as "centurions" and i feel a little weird about that. All my code is on github and ALL the devs are picking it up to improve their kernels. Well, devs is a big word apparently, most of the stuff around now is merely a collection of cherry picks in the end...
But anyway, because of this i was asking civato to push his code to github, to keep track of other people's code in his kernel and to allow other developers to pick his things. This is the spirit of open source and open development that i've been following for almost 20 years now so, please, don't tell me that i want people out of xda only because i asked for public source tracking. It's a normal and standard thing, nothing impossible or difficult, nothing that requires a degree in cs, and nothing that is out of the ordinary. It was a polite request, remembering how important is to adhere to the gpl rules (not xda ones, i wouldn't even dare such a comment) because i fully do and, probably because i'm used to this, i expect other kernel developers to do the same... just my 2 cents...
Click to expand...
Click to collapse
^ this. There was never an obligation in his post, he was just asking kindly to help the community by sharing his work in an appropriate way.
Re: [KERNEL] CivZ SITHLORD Kernel - for LG ICS roms / New bootloader only
@tonyp I think this is the kind of message you should use...for other occasions that need goalkeeping actions...
"If you need help in setting it up or got questions about how to properly work with git feel free to PM me anytime."
If somebody doesn't understand, a PM is mandatory but as this.
Suggested Personal Message:
"Due to great developers that have github profile, people were able to use their patches, there is the case of pengus77, that helped your great work. But if we want to use something of your great work it's quite hard for us to do so as we would have to extract that from your zip.
So please I encourage you to unite forces with us, and share with the same utilities like github."
@civato Don't go please we are learning just not downloading...
Best regards to all.
galpec
Sent from tapatalk app.
---------- Post added at 06:09 PM ---------- Previous post was at 06:05 PM ----------
First of all I think that @tonyp and you @pengus77 are a great giving, dev, geniuses, etc. examples. So nothing personal here at all . But we have to Use the rules not only in developing, also in best practices of communication such as tact...so:
@pengus77
@tonyp: I did't see nothing polite in starting helping somebody telling this as starting sentence:
"Taking loads of kernel patches from other peoples Github and providing your kernel as a tarball..."
In my last message it's a quite example of how to do this... not hitting and then say "no offense mate but...it's the law...." mmmmm
Best regards to all
galpec
Sent from my LG-P990 using Tapatalk 2
Ok, guys/gals(if any)
This thread has kind of taken a really bad turn right at the start. I've gone through and cleaned some of the off topic stuff,(left some in). How about we try this all over again and start from scratch from this point on.
Lets keep on topic now that we have a new start
Thanks!
Edit: Didn't see kangis post.
Let's get back on topic.
wawyed said:
^ this. There was never an obligation in his post, he was just asking kindly to help the community by sharing his work in an appropriate way.
Click to expand...
Click to collapse
This.

[KERNEL][4.4.2][GPE/CM11][V500] dyn.Kernel r4 (03/21) | discontinued

dyn.Kernel
*Discontinued*
I want to share with you my own kernel builds. My focus is on performance improvements and energy efficiency.
Things I want to achieve:
- more battery life
- same more performance as stock
- smooth ui / games
- less heat
Highlights:
GPU idle detection:
We don't need high performance if there is nothing moving on the screen. Therefore the kernel will detect when the gpu is offline or at very low load (for litte moving objects, like battery charging animations). This feature is used for nearly all my other modifications.
Advanced Dynamic Scaling:
I have added additional values for idle (nothing moving), busy (action on the screen) and (touch)boost. Everything is explained below.
Dynamic Touchboost:
The touch boost is only active if something is rendered on the screen, that means the boost will pause as long as there is no movement, but it will resume when it is actually necessary. The boost is configured in boost_target_loads.
New Hotplug Solution:
I wrote a new hotplug driver which is completely configurable. You can change the behavior for every cpu core and gpu_idle state.
https://github.com/aventu90/android_kernel_lge_v500/blob/dyn/arch/arm/kernel/hotplug.c
All interactive and hotplug values explained (build r4+):
Many values are grouped into boost, busy and idle.
boost: A short period of time while or after touching the screen.
busy: The gpu has work to do, nearly always active when something is moving on the screen.
idle: The opposite from busy. A good time to save energy with conservative values.
Interactive governor:
I have added boost, busy and idle values to get the best performance / battery life in every situation.
Read this to understand what the new interactive governor values do: https://android.googlesource.com/kernel/common/+/android-3.4^/Documentation/cpu-freq/governors.txt
Hotplug driver:
You have different values for every gpu_idle and online-cpus state. So your phone will scale differently when playing games, doing nothing or just swiping on the screen. Here is an example:
pm_busy_up_threshold -> 55 60 65 100
1 CPU cores online: 55% up threshold
2 CPU cores online: 60% up threshold
3 CPU cores online: 65% up threshold
4 CPU cores online: 100% up threshold, because we can't get more
All values explained:
up_threshold: If the cpu load gets higher than x%, the hotplug driver will start counting up to max_up_counter
down_threshold: If the cpu load gets lower than x%, the hotplug driver will start counting up to max_down_counter
max_up_counter/max_down_counter: Every sample_time_ms the hotplug driver can count +1, -1 or nothing, when the max_ value is reached, 1 core can go on- or offline. Both counters will be reset when a core goes on- or offline.
sample_time_ms: It will take this long until the driver will check again all the things, mentioned above.
So the minimum time until a cpu core goes on or offline is: sample_time_ms * max_counter. For example:
busy_max_down_counter[3 cores online] * busy_sample_time_ms => 100 * 30ms = 3000ms = 3 seconds
You must set 4 values or 1 for sample_time_ms.
Configure the kernel (optional, build r4+):
If you want to use custom values, this is the best way for now:
1. Download the kernel_config.zip and extract it
2. Put the file somewhere on your sdcard
3. Install and open Script Manager
4. Click the file and select "Su" and "boot" (values will be automatically set at boot)
5. Click "start" and all values will be set
You can use an app like Kernel Tuner for undervolting.
Installation:
- make a nandroid backup first (boot)
- flash .zip via custom recovery (CWM/TRWP)
- flash SuperSU
Button combo for recovery:
http://www.youtube.com/watch?v=uo3YfszOPsQ
Github:
https://github.com/aventu90/android_kernel_lge_v500/commits/dyn
MD5
4cbae4bf1f6d39db020a131284d1c7a3 dyn.Kernel-r1-0110.zip
f63e212848f018a4d5615c997bed3757 dyn.Kernel-r2-0118.zip
a32828474a31dc2ae3f7885bae7caae3 dyn.Kernel-r2-0120-CM.zip
588af2b55f05f71d84ccb9bd845fd29d dyn.Kernel-r3-0204.zip
0ba565860bad16bb8ecfb94f28dad902 dyn.Kernel-r3-0204-CM.zip
511e888d74d24caa2328685c287c4738 dyn.Kernel-r4-0318.zip
247f49ef0e7d9474f500670cb9daa859 dyn.Kernel-r4-0321-CM.zip
Big thx to:
rmcc
djrbliss
Mahdi786
FranciscoFranco
Faux123
Hit thanks if you like it.
You can also buy me a coffee.
I'm testing all my builds and use them daily, but I am not responsible for any kind of damage on your device.
Which kernel should I choose?
There are V500 KitKat roms which work with G Pad 8.3 Google Play Edition stock code (GPE) or with code from Code Aurora Forum (CAF).
"CM" build for:
- CM11
- Mahdi-Rom 01/17 or later
- other CM/CAF based roms
build without suffix:
- Mahdi-Rom before 01/17
- AOKP
- PA
- SlimKat
- CMB
- other stock GPE based KitKat roms
This list could change quickly, please let me know.
Not made for V510 (GPE)!
(build r4+) clear your kernel app settings, compare them with the values from the 02kernel_config script
Changelog:
Code:
r4:
- hotplug driver: another big update, all values are now configurable
- smartcover support
- updates for CAF build
- (03/21) Cyanogenmod ramdisk update
r3:
- major cpu interactive governor update
- - newest version from CAF
- - added a lot of dynamic values
- hotplug updates
- touchboost updates
- rewritten gpu interactive governor
r2:
- cherry-picks from Cyanogenmod/Code Aurora
- - 100% cpu idle bug should be fixed
- - great improvements in idle/sleep time
- - faster charging through bugfix
- hotplug: lower threshold for 4th core
- touchboost: gpu_idle stays false now for at least 100ms
r1:
- undervolting added
- new hotplug solution
- modified interactive governor is default
- franco's interactive gpu governor
- gpu idle detection
- franco's generic touchboost driver
- set readahead to 512kb
- other things (github)
Good to see some kernel love
Could you elaborate as to why you don't think cm11 won't work please?
Sent from my LG-V500 using XDA Premium 4 mobile app
whoamigriffiths said:
Good to see some kernel love
Could you elaborate as to why you don't think cm11 won't work please?
Sent from my LG-V500 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
CM uses different kernel sources usually, but I am not sure if it is still compatible.
reborn90 said:
CM uses different kernel sources usually, but I am not sure if it is still compatible.
Click to expand...
Click to collapse
I can confirm that this doesn't work on cm
Sent from my LG-V500 using XDA Premium 4 mobile app
Stock ROM Supported ?
Does this support or do you plan to make one for the stock rom ?
naruto.ninjakid said:
Does this support or do you plan to make one for the stock rom ?
Click to expand...
Click to collapse
I could, yes. But there must be enough demand. I personally don't like manufacturer roms, they are often antiquated and overloaded, so it's up to the community.
reborn90 said:
I could, yes. But there must be enough demand. I personally don't like manufacturer roms, they are often antiquated and overloaded, so it's up to the community.
Click to expand...
Click to collapse
I believe many of us are running the stock ROM but you could do a poll or something to be sure. Anyway thanks for your work.
Thank You
reborn90 said:
I could, yes. But there must be enough demand. I personally don't like manufacturer roms, they are often antiquated and overloaded, so it's up to the community.
Click to expand...
Click to collapse
Thank you for branching out in this direction. I'm keen to try it but am currently on Malladus 4.2.2 because it's the only custom rom that works with XBMC.
Would your kernel on Mahdi change that?
Thanks man. Glad you like mahdi
Sent from my LG-V500 using Tapatalk
Exciting to see new kernel. Does this have the possibility of modifying the gamma or color? Also is this for only K it kat rooms or stock too
Sent from my SM-N900W8 using Tapatalk
Awesome!! So glad to see this here!! And many thanks to OP for the recommendation!!
Sent from my Nexus 5 using XDA Premium 4 mobile app
Moose0704 said:
Awesome!! So glad to see this here!! And many thanks to OP for the recommendation!!
Click to expand...
Click to collapse
Moose Mahdi is no joke..
Without Question.. The best ROM for the 8.3.. And now we have a Kernel.. :good: Nice Start to 2014..
Thank You OP for sharing this with us.
reborn90 said:
dyn.Kernel
I want to share with you my own kernel builds. My focus is on performance improvements and energy efficiency.
Things I want to achieve:
- more battery life
- same more performance as stock
- smooth ui / games
- less heat
Highlights:
GPU idle detection:
We don't need high performance if there is nothing moving on the screen. Therefore the kernel will detect when the gpu is offline or at very low load (for litte moving objects, like battery charging animations). This feature is used for nearly all my other modifications.
Advanced Dynamic Scaling:
The interactive governor will now use different values for up_threshold, timer_rate and min_sample_time for every cpu_core and gpu_idle state. If the gpu is busy, the governor will use values for more performance and if it is idle, it will use conservative settings.
The current values, feel free to suggest other.
Code:
/* up_threshold, timer_rate, min_sample_time */
static unsigned int interactive_val[GPU_STATE][ACTIVE_CORES][TUNABLES] =
{{
/* gpu idle */
{100, 40000, 10000},
{100, 40000, 20000},
{100, 40000, 30000},
{100, 40000, 40000}
},{
/* gpu busy */
{90, 20000, 40000},
{90, 20000, 40000},
{95, 20000, 60000},
{95, 20000, 80000}
}};
Dynamic Touchboost:
The touch boost is only active if something is rendered on the screen, that means the boost will pause as long as there is no movement, but it will resume when it is actually necessary. It will double the actual cpu load and calculate the frequency, the maximum is input_boost_freq. This aggressive calculation offers a smooth ui, but it can also save battery, because you will often don't need input_boost_freq when the screen is touched.
New Hotplug Solution:
The load is calculated with the average of all active cores to get the performance we actually need. Most of the time two cpu cores are online to guarantee enough performance for ui interactions. After some time and not touching the screen, only 1 core will stay online to save a bit more battery.
It will use different up and down thresholds for each gpu_idle and cpu core state.
Code:
/* down threshold, up threshold */
static unsigned int hotplug_val[GPU_STATE][ACTIVE_CORES][TUNABLES] =
{{
/* gpu idle */
{0, 70},
{40, 80},
{50, 90},
{60, 100}
},{
/* gpu busy */
{0, 60},
{30, 60},
{30, 70},
{40, 100}
}};
https://github.com/reborn90/android_kernel_lge_v500/blob/dyn/arch/arm/kernel/hotplug.c
Recommended settings (default):
Interactive governor:
dynamic_scaling: true (strongly recommended)
input_boost_freq: 1350MHz
input_boost_freq_duration: 1500ms
Interactive gpu governor:
up_threshold: 60
down_threshold: 25
sample_time_ms: 60
You can use an app like Kernel Tuner for undervolting.
Installation:
- make a nandroid backup first (boot)
- flash .zip via custom recovery (CWM/TRWP)
Github:
https://github.com/reborn90/android_kernel_lge_v500/commits/dyn
MD5
4cbae4bf1f6d39db020a131284d1c7a3 dyn.Kernel-r1-0110.zip
Big thx to:
FranciscoFranco
Faux123
djrbliss
Mahdi786
Hit thanks if you like it.
You can also buy me a coffee.
I'm testing all my builds and use them daily, but I am not responsible for any kind of damage on your device.
The Kernel should work with (need confirmation):
- AOKP
- PA
- SlimKat
- CMB
- other stock based KitKat roms
It does not work with:
- CM11
Not made for V510 (GPE)!
Recommended ROM: Mahdi-Rom
Click to expand...
Click to collapse
can u make a kernel for stock rom? thanks for this btw
So glad for this kernel. Would be ecstatic if gamma adjustments ala faux kernel could be implemented
Sent from my SM-N900W8 using Tapatalk
UV every Step about 50mv looks good
RaiderWill said:
Moose Mahdi is no joke..
Without Question.. The best ROM for the 8.3.. And now we have a Kernel.. :good: Nice Start to 2014..
Thank You OP for sharing this with us.
Click to expand...
Click to collapse
Totally agree! Very happy right now!!
+1 for gamma adjustments and if you can adjust the colors to remove the yellow whites. And a kernel for stock?
Sent from my LG-V500 using XDA Premium 4 mobile app
Any impressions from an actual user?
mzfckr993 said:
Any impressions from an actual user?
Click to expand...
Click to collapse
Yep been running on mahdi. Runs great
Sent from my Nexus 5

[KERNEL][3.0.31][HDMI][FULL HD][GUIDE 1.8]JBX-Kernel Hybrid [1,5ghz]

/// JellyBeanX-kernel ///​
DISCLAIMER
Me, XDA-Developers.com and anyone else doesn't take any repsonsibilty for damages on your device!
Rooting your device will void your warranty!
Don't play with settings you aren't familiar with, you could burn your device!!
Click to expand...
Click to collapse
READ THIS: READ BEFORE YOU ASK and HELP TO KEEP THIS THREAD MORE CLEAN! BUT ALSO BETTER ASK ONCE MORE BEFORE YOU MESS UP YOUR PHONE! If you find something missing in this OP/FAQ, please PM me and I will add it. Thank you!
This is a custom kernel mostly based on Motorola's 3.0.8 Hybrid Kernel which was initiated first by the STS-Dev-Team (Hashcode, Dhacker).
I created this kernel for my main goal: BATTERY LIFE! Like many other custom kernels this one also supports several performance related features like OVERCLOCKING, UNDERVOLTUNG, GPU CONTROL, CPU OPTIONS, RAM TWEAKS, etc etc... But my main goal was not to bring up a kernel which is fast as hell - I want to bring up a kernel that is fast + a long lasting battery! Many custom kernels are also very fast but they don't save battery. JBX-Kernel is supposed to push your device to great speed while being on low power settings. I hope you enjoy it!
If you want to support me and my work just leave me a beer.
You can find the FAQ at the bottom of this post!
LATEST CHANGES
FULL HD Video Recording is working now!!! See Downloads section below!
--> DETAILED CHANGELOG JBX-kernel Hybrid 4.4 <--
Kernel Guide by Placca 1.8!!
Check the FAQ section at the bottom of this post to download it! It will make many things easier for you and help you to understand the kernel and its features!
FEATURES
JBX-Kernel Hybrid
Battery Friend toggle (a battery friendly mode)
Intelli-Plug (Kernel side replacement for msm MPDecisions) by Faux123 + patches by me (no hotplugging when screen is ON)
Dynamic Hotplug: Second core will be turned off ONLY while screen is off - independent from selected governor. (Not needed when using Intelli-Plug)
Optimized OPP Table for smooth CPU scaling
Frequencies: 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300
Modifed Smartreflex driver (Custom Sensor for detecting n-Value).
Smartreflex Tuning Interface: Set min/max calibrated voltage
Overclocking using Live OC (mine runs stable at a maximum frequency of 1,498ghz!)
hwmod, uart, IRQs - cleanups from pre-kexec config to safe power
CPU: lower voltages for CORE and IVA. Give CORE the abbility to scale up to higher voltage if needed
Added IVA_NITROSB
Dynamic fsync control: FSYNC interval is dynamic depending on screen state (SCREEN OFF: synchronous, SCREEN ON: asynchronous)
HTC's Asynchronous Fsync port - read explanation below*
Dynamic page-writeback: Page writeback interval is dynamic depending on screen state.
Frandom v2
JRCU / Tiny RCU (currently JRCU in use)
Raised voltage limits for mpu a bit
Raised the temperature limits from 64c* to 74c* (degrees)
optimized CRC32 algorithm (better code generation)
RW Readahead dynamically depending on storage device (automatic detection of the best value)
zRAM support
GPU has 4 scaling steps and OC to 384mhz (Base freq: 102 mhz --> 154 mhz, 307 mhz, 384 mhz)
GPU C4 states / GPU Control (Governors, Frequencies)
Multicore Power Saving Mode Control
ARCH Dependant Power feature
Gamma Control
Front Buffer Delay Control (draw in x msecs on early suspend)
Screen/Display: Modified OMAPDSS for sharpness and lightning colors
OMAPDSS: Added variable clock rate and OPP - allows the screen to scale down power and voltage
lowmemkiller: Heavy modified for R/W Speed and efficient performance
ZCACHE, ZSMALLOC, XVMALLOC backported from 3.4, 3.7 and 3.10 (ZCACHE currently not in use)
Custom Voltage Support
IO-Schedulers: SIOPlus, Fifo, Row, VR, Noop, Deadline, CFQ, BFQ
ROW Scheduler is heavily tweaked to be the fastest scheduler ever!
CPU: More Governors
Deep Idle
ARM Topology
Many improvements in overall OMAP PM
SELinux permissive
GREAT performance!
battery life!
Support for Trickster Mod Kernel Control App (Download from Gplay)
*]Too much stuff to list here. See "Sources" below and check my Github
* HTC's Asynchronous Fsync and Dynamic Fsync:
Asynchronous fsync (called "afsync" or "async fsync") from HTC is ported into this kernel. By default it's enabled and dynamic fsync is disabled (and as well it isn't needed anymore). But just to test a little bit around to see which one of both features is the better one - for battery & performance. But currently Tricktser Mod doesn't support a toggle for afsync, so I had to find another way to use Trckster. Finally I did it like this:
The dynamic fsync toggle in Trickster Mod is now serving both functions - the dynamic fsync AND the asynchronous fsync! How? By default Dynamic Fsync is disabled, and Afsync is enabled. If you now enable Dynamic fsync using the toggle, Afsync will be automatically disabled, so both functions are not conflicting each other - and this way we have a working toggle for both of them.
CAUTION
This is a work in progress! Some of the current features are still not in final stat. If you are facing issues report back here and DON'T spam the threads of the rom you're using!
Be careful with some settings such like Voltage and Overclocking!!! If you aren't experienced with these things, dont play with 'em!
Click to expand...
Click to collapse
REQUIREMENTS
NOTE: This will NOT work on Stock(-based) Roms!!
Rooted device
Must use a Kexec Rom (CM, AOKP, AOSP)
Recovery (BMM, SS)
REMOVE any kernel modules you used before
DEACTIVATE ANY CPU tweaks, onboot settings etc otherwise your phone may not boot!
CAUTION: The kernel needs a clean setup related to CPU tweaks / Settings, etc...Keep your device as clean as possible regarding to Tweaks, CPU special settings, etc. The Kernel brings its own CPU settings and after you can boot it succesfully, you can set it like you want!
This kernel may not work on all roms! Check and report.
TO DO LIST
- Fix bugs
INSTRUCTIONS
NOTE: CLICK here for a detailled Installation Guide (about the Aroma Installer, the features to select and more)
Download zip file from below
Reboot into recovery
Flash the kernel (BMM users: DON'T use the "Flash Kernel" Option! This is a usual zip file!)
Reboot
Download Trickster Mod App from Gplay! Read the FAQ to learn about playing with kernel features!
Enjoy!
NOTE: For updates you can use the built-in OTA UpdateMe App!
DOWNLOAD
NOTE:
Only for Android 4.4!
JBX-Kernel 3.0.8 Version:
2.x == > Android 4.4
JBX-Kernel 3.0.31 Versions:
3.x == > Android 4.4
TEST BUILDs
Test builds are potential prerelease builds which need some more testing before pushing to all users.
CAUTION: Should be stable mostly! But use at your own risk though!!
---> TEST BUILDS [CF] <---
XPERIMENTAL BUILDs
These builds include features without promises to work.
CAUTION: There is no promise that these version are stable/working/whatever! Use at your own risk!!
---> XPERIMENTAL Builds [Dev-Host] <---
---> XPERIMENTAL Builds [CF] <---
Click to expand...
Click to collapse
Something went wrong?
If you think you have set wrong "on-boot-values" in Trickster Mod flash this:
TRICKSTER RESET: http://dtrailer.de/kernel/trickster_reset.zip
FAQ
CAUTION: This FAQ and the whole OP, additional informations about Governors, IO Schedulers and detailed informations about the usage of Trickster Mod and this kernel can be viewed in the awesome Kernel Guide by Placca!
Kernel Guide 1.8
PDF: http://www.mediafire.com/download/7zaddcmvtxfk9ry/JBX+Kernel+Guide_v1.8.pdf
CHM: http://www.mediafire.com/download/g3ck1bf1k3a3j38/JBX+Kernel+Guide_v1.8.chm
CLICK THE BUTTON BELOW TO OPEN THE FAQ!
Please check the following points if you don't know how to use the features of the kernel or you are facing any kind of issues.
INDEX
1. Kernel Features
1.1 Smartreflex (Turn ON/OFF, adjust min/max range)
1.2 Live OC (Realtime Overclocking)
1.3 Custom Voltage (EMIF)
1.4 GPU Overclock & GPU Governor (UPDATED)
1.5 Gamma Control
1.6 Battery Friend
1.7 Suspend Governor (CURRENTLY DISABLED)
1.8 IVA Overclock
1.9 DPLL Cascading
1.10 HDMI toggle
1.11 Intelli-Plug
2. Issues
1.1 How can I change the smartreflex minimum/maximum voltage
What is Smartreflex?
SR is compareable with an CPU governor but not for scaling frequencies but for voltages. That means SR has a fixed range of voltage (min/max) and calculates the optimal voltage for each CPU frequency. In example on light use of the CPU it scales down to lower voltage - on heavy use it can sclae to higher voltage. This is an efficient system to save power! Compared to EMIF which uses the hardcoded voltages it saves more power because it's variable. EMIF cannot vary between the values.
This interface has a hardcoded range of 830mV min to 1450mV max. Usually there is no need to adjust these values but irt can be usefull in example when using high overclocked frequencies above 1,5ghz! Usually SR cannot handle frequencies above 1,5ghz and I have hardcoded the maximum range of 1,45mV which should allow SR to handle it. In prior times the users had to turn off SR when OCing above 1,5ghz which causes the CPU to eat more power. But you can try around and report your results.
CAUTION: Don't raise the maximum SR voltage too high! It can burn your board = no phone anymore! I recommend to not use higher values than 1490mV! As already mentioned: THe default value should be enough!
ANd also: USUALLY THERE IS NO NEED TO CHANGE ANYTHING ON SR! IF YOU DON'T KNOW WHAT YOU'RE DOING, PLEASE LEAVE IT ALONE!
Ok, now let's see how to do this:
Turn ON/OFF SR
1. Open Trickster Mod
2. Head to the "Specific section"
3. Scroll down to "Smartreflex"
4. You can toggle ON/OFF SR for each component (IVA, CORE, MPU)
Usually I recommend to keep SR ON because it saves power! But in some cases when overclocking the CPU (MPU) the device could freeze - whether you OCed too much or SR couldn't handle the frequency! In this case you can try to raise the vmax value of SR a little bit (CAREFULLY!) and try again. If it sitll freezes and you're sure that you didn't OC too much, turn SR OFF at least for MPU!
Maximum Voltage
Currently there is no app which supports the feature of adjusting the SR vmax value, because I wrote this feature some days ago.
But in the next Trickster Mod version this option will be supported!
example:
# To read the current vmax value. Replace XXX with one of the following:
sc_core - for core max sr voltage
sr_iva - for iva max sr voltage
sr_mpu - for mpu max sr voltage (mpu is most related for CPU scaling)
cat /sys/kernel/debug/smartreflex/XXX/vmax
# You will get an output, e.g. for mpu = 1450000 (1450mV)
# To set a new value, do the following command (replace XXX with a value like above - BE CAREFUL! USUALLY THE DEFAULT VALUE ENOUGH AND YOU CAN LEAVE IT UNTOUCHED!)
echo XXX > /sys/kernel/debug/smartreflex/XXX/vmax
Minimum Voltage
It's easy because Trickster Mod supports it!
1. Open Trickster Mod
2. Head to the "Specific section"
3. Scroll down to "Smartreflex"
4. Below each SR component (IVA, CORE, MPU) there is displayed a value (usually 830 default) which means this is the lowest scalable voltage for this component. You can try to decrease this value for the case you want to UV a bit more - or raise it a bit for the case you think that the set range is too low and causes freezes on your device.
1.2 How do I use Live OC (Live OVerclock)?
This feature allows you to overclock the CPU in realtime. It works with a multiplier value set by the user. The default multplier value is "100", which means: No OC! If you want to raise the OC frerquency, just raise this value step by step.
FOr my device the maximum working OC value is "111" which means the maximum frequency is running at 1498mhz!
NOTE: Keep in mind that you tunr Smartreflex OFF for higher freqs than 1500mhz - or raise the maximum SR voltage range for "MPU" a little bit and test if it works.
Ok, how to use Live oC in action:
Open Trickster Mod App and swipe to the tab "Specific". There you will find something like this:
Code:
MPU OC [100]
DON'T TOUCH THE "CORE OC" SECTION, IT WILL CAUSE FREEZES!
Now slowly increase the value "100" to something higher, e.g. "105". Tap the hook in the right upper corner to confirm. To see your new set of frequencies you can now whether close and restart Trickster Mod or just use any monitoring app like Cool Tool which will show your frequencies in real time. That's it!
CAUTION: You can damage your phone forever!!!! This feature allows you to set very high frequencies (also up to 2,0ghz...) - That DOESN'T mean that your phone can run these frequencies!
If your phone freezes or crashes you have probably set too high OC - or your voltage is too low.
1.3 How do I use Custom Voltage (EMIF)?
NOTE: This only adjusts the fixed voltage! When you have Smartreflex ON it can still vary! You have to see the bigger picture: This voltage value sets the "middle point" for voltages. Smartreflex is still able to increase or decrease the voltage. When Smartreflex is OFF the CPU will stay on this voltage you set here and probably eats also more power.
How does EMIF works together with Smartreflex:
Code:
-------
| CPU |
-------
|
------------------ ------------------
|Voltage 1015 mV | ---->| SMARTREFLEX ON| = 1015mV +/- "vmax"/"vmin"
------------------ -------------------
|
--------------------
|SMARTREFLEX OFF| ----> 1015mV FIXED! No changes!
-------------------
Thi smeans if you change the voltage for a scaling step (OPP) while SR is ON, SR will adjust the voltage from this value, means: mV-Value +/- SR vmin/vmax. WHen SR is OFF it will stay on this mV as a fixed value.
How to adjust the voltage?
Well, this feature can be used with all generic apps which are supporting voltage settings. But we are prepared well, you can adjust voltages also with the "Trickster Mod App".
When you open the app, head to the tab "Specific" and below the "Live OC Section" you will find your voltage table, which looks like this:
Code:
<-->
1200 [1398]
1000 [1388]
900 [1371]
...
..
..
Now just tap the arrows in the right upper above the first voltage value and just type or tap (per direction) a value, e.g. "-25". To apply it, confirm by tapping the hook in the right upper corner of your screen. That's it, your new voltage values are now set and applied. And also mind here: If your phone freezes you porbably have set it too low.
CAUTION: NEVER SET HIGHER VOLTAGE THAN 1490mv here!!!!! Or you might damage your phone FOREVER!
This voltage is not the same like Smartreflex! But it's still voltage! Just be carefull!!
1.4 How can I use GPU OC and GPU Governor?
GPU Overclock doesn't work like Live OC! You cannot really set custom frequencies for the GPU, but you can select and set the maximum frequency from a hardcoded range!
For the GPU there are the following available frequencies:
154mhz (FIXED!)
307mhz
384mhz
416mhz
The minimum frequency of 154 is FIXED! This means you cannot change it because the GPU needs a minimum speed to run with. But the kernel allows you to select the maximum speed. This can be usefull for playing games and also for saving power . In example when not playing games you don't need the GPU to run at 416mhz! Set it to 307mhz in this case and save power.
When you open Trcikster Mod and head to the "specific section tab", you will find "GPU MAX FREQUENCY" and it's currently set maximum frequency. Tap on it to select your preferred one:
- 154 Mhz
- 307 MHz
- 384 MHz
That's it. The new setting will be your new maximum GPU frequency.
Below there's another option called "GPU Governor". Just tap on it and select your prefered one.
NOTE: If you want to track current GPU frequencies and watch governor's behavior, just switch to Trickster's "Informations" - Tab and watch the frequencies clock.
1.5 How can I use Gamma Control?
What is gamma? The gamma setting sets the color range for the screen. You can compare it to the contrast. We all know that the touchscreen eats most of the power compaerd to all other components in a smartphone! A lower brightness causes less power consumption and a lower gamma or contrast range alos helps a little bit to save power.
In this kernel you can choose from a range of "5 - 10" while "5" is very bright while "10" is very dark. The default setting is "5" BUT CAUTION: Trickster Mod will display a range of "0" to "10" and the default setting will be shown as "0". This is caused by the fact that this feature was ported from the Gnex device where you can choose from a higher range. The only sideeffect is that the values "0" - "5" won't show any difference.
How to set the gamma value?
Well, once again open Trickster Mod and swipe to the tab on the right end. Just select your preferred value by using the slider.
Alternately you can use sysfs by terminal or adb:
OMAP Gamma interface:
echo i > /sys/devices/platform/omapdss/manager0/gamma
Replace i with 0-10 of your choice.
1.6 What is "Battery Friend and how to use it?
Battery Friend is a simple toggle (ON/OFF) which sets your device into a battery friendly mode without the need to play with all settings in Trickster Mod /sysfs until you find a good setting. In fact it does the job for you.
What does it affect?
NOTE: Doesn't lock anyx frequencies anymore!
locks dynamic Fsync enabled
locks Fsync disabled
Doesn't allow any OC (Live OC will not have any effect, Core OC is not allowed in this kernel)
Increases the dirty ratio interval to 90% (starts working at this value)
Enables Dynamic Hotplug: This doesn't allow hotplugging during device is active - and it will always turn CPU1 OFF during suspend! It also prevents from conflicts when user uses a hotplug governor (which isn't a good idea though) - but hotplug governors are causing higher battery drain!
Dynamic Page-writeback always enabled
How to toggle Battery Friend:
For now the only way is via terminal, adb shell or root explorer (text editor)
For terminal and adb:
Code:
echo 1 > sys/kernel/battery_friend/battery_friend_active /* Enable */
echo 0 > sys/kernel/battery_friend/battery_friend_active /* Disable */
For Root Explorer
Open Root Explorer
Navigate to sys/kernel/battery_friend/
Open "battery_friend_active" with Text Editor
Change "0" to "1" and safe the file to enable
Change "1" to "0" and safe the file to disable
1.7 Suspend Governor Control (CURRENTLY DISABLED)
Suspend Governor Control is a kernel module written by me. You can use it to set your preferred Screen-Off-governor.
For now it's only supported by sysfs (Trickster Mod will support all my current and upcoming features as soon as it gets updated with its new UI mode!
How to set suspend governor
Open a terminal or use adb shell
Code:
su
echo "x" > /sys/kernel/suspend_gov/suspend_gov
Replace x with one of these values:
0 = Ondemand
1 = Ktoonservative
2 = Conservative
3 = OndemandX
NOTE: No matter what governor you use for suspend mode, if Battery Friend is enabled the second core will be turned off during suspend!
1.8 IVA Overclock
What is IVA OC?
IVA OPPs are controlling the CPU load for sound events. It could be useful (in some cases) when you get sound related laggs. Just set the maximum frequency to highspeed. This will allow more CPU power for sound events but also will cause higher battery consumption.
How to use IVA OC?
If you want to check the current IVA frequency. Just type in Terminal or ADB:
Code:
cat /sys/devices/system/cpu/cpu0/cpufreq/iva_clock
You will get an output like this:
Code:
132 Mhz
2. You can whether enable IVA highspeed: 130 - 430 Mhz ["1"] or enable IVA normal speed: 130 - 332 Mhz ["0"]
320 Mhz max: echo "0" > sys/devices/system/cpu/cpu0/cpufreq/iva_freq_oc
430 Mhz max: echo "1" > sys/devices/system/cpu/cpu0/cpufreq/iva_freq_oc
1.9 DPLL Cascading
DPLL: Davis–Putnam–Logemann–Loveland (DPLL) algorithm
To get more info about this please see wiki
But to sum it up shortly: It helps to use/stream media (music) in a low power mode.
NOTE: DPLL Cascading will be available to be switched easily via Trickster Mod App soon!
How to switch DPLL?
DPLL is ENABLED by default!
Open Trickster Mod -> Speicific Tab --> DPLL (soon)
sysfs:
Turn off:
Code:
echo 0 > /sys/kernel/dpll/dpll_active
Turn on:
Code:
echo 1 > /sys/kernel/dpll/dpll_active
1.10 HDMI toggle
Some users are facing a RAZR-sepcific problem: HDMI cable is detected, even though there is no cable plugged!
Therefor I included a toggle to switch HDMI wether ON or OFF. Additinally there's an init.d script included within the AROMA Installer you can select during the installation of JBX-Kernel.
To enable/disable HDMI on-the-fy:
sysfs:
Turn off:
Code:
echo 0 > /sys/kernel/hdmi/hdmi_active
Turn on:
Code:
echo 1 > /sys/kernel/hdmi/hdmi_active
1.11 Intelli-Plug
For intelli-plug hotplugging is now only allowed when the device enters sleep.
To enable hotplugging universally just change the value of the following entry whether to 1 (on) or 0 (off):
Code:
sys/module/intelli-plug/parameters/int_hotplug
2. If anyone has the following issues:
Issue
Media Process FC
No SD-Card in File Explorer
My CPU Settings (frequencies, etc) won't be saved (it sets itself back to Kernel default after screen off)
My phone freezes/reboots always when I try to set options in Trickster Mod
The device is lagging very hard
Solution
Media FC: Open App settings, head to "Download Manager" and "Media Storage" and hit the "delete data" button. Reboot. Now it shouldn't give any FCs anymore and after a little bit of waiting it will find all Media (Pictures, Videos, etc..)
No SD-Card: Reboot into recovery, go to "Mounts & Storage", tick "mount int" or "mount ext".
USB: Make sure the screen is ON while plugging the cable in.
CPU Settings: This is a bug which cannot be solved at the moment. Temporary solution: In Trickster Mod just activate the "Frequency Lock" and your settings will persist.
Trickster Mod:: Open App settings, Trickster Mod and select "uninstal updates". Now it should work.
Crashes, Freezes, lagging, something doesn't work, etc
There are too many reasons which could cause crashes! So here is a checklist for you to look for. Check each point and try the following workaround:
- Your rom has CPU tweaks (e.g. Kernel modules, init.d folder, etc)
- You have set custom CPU settings (e.g. custom frequencies with apps like No-Frills CPU Control, Set-CPU, Antutu, etc...)
- You have undervolted too low
- You have overclocked too high
- You have applied higher "Core OC" value in Trickster Mod App
- You are running any other kernel tweaks which are regarding to the CPU and/or performance (e.g. Kernel modules by Whirleyes eventually set by init.d, etc..)
- After setting some settings (e.g. in Trickster Mod) your device doesn't boot anymore
- adb doesn't work / shows only "device offline"
- You are facing hard lagging
If any point here matches your setting, please revert from it:
- Remove any CPU init.d script from /System/etc/init.d
- Uninstall any CPU controling app (e.g. Set-CPU, No-Frills, etc..)
- Remove all extra kernel modules from system/lib/modules (e.g. cpu_control.ko, cpufreq_smartass2.ko, etc..)
- Unset any custom settings from any other kernel / CPU - tweaking app which is NOT Trickster Mod
- Maybe your governor causes issues. Hotplug is know for bugs at the moment...I'm going to fix it..
- NEVER set your CPU Settings (e.g. in Trickster Mod App) on boot!!!! - before you aren't sure that your settings are safe!!!
- You may flash the kernel again after reverting related settings
- to make adb work / show device online, download latest SDK platform-tools and confirm access on device (4.2 security feature of Android)
- Don't use any task killers, memory killers, seeder apps! They may conflict with the kernel/Rom settings.
If none of these suggestions work for you your rom may be incompatible. Please report it here that I can add the rom to the list of imcompatible roms
If you have any issue, please read this:
First check:
- is it really a kernel issue?
- did I see this bug with the roms original kernel?
- what are the people in the rom thread saying?
- what are the people in the kernel thread saying?
- can I find this issue on a bug list?
- how about my settings? Is it my fault it crashed?
- can I find something useful in the kernel FAQ?
- Is it maybe a well known issue and can be solved
withing seconds? Just like wifical.sh?
- Where to repeat that issue? Rom or kernel?
I know it's sometimes difficult to track the issues, and we can't know for sure if it's caused by the rom or by the kernel, but if you try at least to get some information you might find an answer sometimes. If you are able to understand logs, you may report whatever you find.
All this helps to keep the threads more clear. Thank you.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
DONATE
If you like my work and want to support me, I'd enjoy a little beer or coffee. You can find my beer mug below my username
SOURCE
JBX-Kernel 4.4
CREDITS
Shurribbk - Co-Development
Kholk & [mbm] - Kexec inital Release
Hashcode & Dhacker - Making Kexec stable and initiating compatible kernels
Motorola - 3.0.8 Kernel Source
Surdu_Petru - Sharing Knowledge and helping with problems
nithubhaskar - Hints and answering my questions
Ezekeel, Imoseyon - Custom Voltage, Live OC, Temp Control, Gamma Control Source Code
faux123 - Some features, like Intelli-Plug, Intellidemand, Intelliactive
bigeyes0x0 - Trickster Mod App
Team Trickster - Great support and adding new features from my suggestions
Placca - Awesome kernel guide
RandomPooka - for special testing and support
- reserved -
Hey guys, welocme to JBX-Kernel for Targa! This is the first initial release and needs to be tested! Please give me some feedback if it boots and how it works for you. It comes with built-in OTA Updater and many extra stuff. Just check it out.
Keep in mind that this release will only work on 4.4 builds! Currently I don't have the time for others. Also you should use a newer build with Full HD Cam support! When using this kernel with older 4.4 builds your camera won't work.
Oh cool, i happy Someone help you with targa kernel ?
Maksim_ka said:
Oh cool, i happy Someone help you with targa kernel ?
Click to expand...
Click to collapse
Nope.. But it doesn't matter. Currently I have a problem with paying my server, and as long as I am able to build I wanted to release the Targa Kernel. The only difference seems to be in the CMD-line (Targa doesn't have a utags partition), so I just had to switch this line and build it with CM11 Targa sources to get the right ramdisk and modules. The whole source is the same like RAZR kernel.
I test it, and dont see weighty differences with RAZR kernel, have same bugs, display backlights don't turn on sometimes. I think you can talk with Hush about it, he can help.
Maksim_ka said:
I test it, and dont see weighty differences with RAZR kernel, have same bugs, display backlights don't turn on sometimes. I think you can talk with Hush about it, he can help.
Click to expand...
Click to collapse
You mean Hashcode? I am in static contact with him. But thx
What do you mean with "backlight doesn't turn on sometimes" ? I don't see this problem on RAZR... But sometimes you need to be a little patient when you want to wake it up. That's because of things like "DEEP IDLE" and others which keep the device in "deeper" sleep mode. It can take 1 or 2 seconds until you will see the lights - but it will turn on for sure. Maybe you're talking about something else? What bugs else exactly?
dtrail1 said:
You mean Hashcode? I am in static contact with him. But thx
What do you mean with "backlight doesn't turn on sometimes" ? I don't see this problem on RAZR... But sometimes you need to be a little patient when you want to wake it up. That's because of things like "DEEP IDLE" and others which keep the device in "deeper" sleep mode. It can take 1 or 2 seconds until you will see the lights - but it will turn on for sure. Maybe you're talking about something else? What bugs else exactly?
Click to expand...
Click to collapse
Yep, i mean Hashcode.
It will happened if use proximity sensor when calling, and sometimes when wake up phone. Backlight don't turn on generally, help only reboot. And it don't happened if change frequency to 300-1xxx. I think if you change minimal frequency to 300mhz it gone.
Maksim_ka said:
Yep, i mean Hashcode.
It will happened if use proximity sensor when calling, and sometimes when wake up phone. Backlight don't turn on generally, help only reboot. And it don't happened if change frequency to 300-1xxx. I think if you change minimal frequency to 300mhz it gone.
Click to expand...
Click to collapse
Well that's not an issue, but a well known phenomen. Some devices cannot handle 100 MHz (depends on silicon, each one is different). The min frequency is 300 by default, and the battery friend min frequency is 200 by default. Just check your settings in trickster mod.
Gesendet von meinem XT910 mit Tapatalk 4
I'm able to boot the kernel but cannot get radio. Any ideas?
Sent from my XT875 using Tapatalk
BZguy06 said:
I'm able to boot the kernel but cannot get radio. Any ideas?
Sent from my XT875 using Tapatalk
Click to expand...
Click to collapse
Not yet. I need more informations from other users. Any feedback here????
Just try the today's OTA (soon). I forgot to update device tree sources in yesterday's builds.
Because I had a weird drain myself on yesterday's RAZR kernel (not very much, but noticable)
EDIT: I got a workaround for the RADIO issue - if it's actually an issue Wait for the OTA.
I was only able to get radio working on your 1-08 build of the kernel for rzr. Ever since then I haven't been able to get it to come up.
Edit: I went ahead and installed your 1-21 update and its better. It eventually connects to LTE but only holds it for 30 secs and then drops with no radio. Thanks for the help in advance.
Sent from my XT875 using Tapatalk
BZguy06 said:
I was only able to get radio working on your 1-08 build of the kernel for rzr. Ever since then I haven't been able to get it to come up.
Edit: I went ahead and installed your 1-21 update and its better. It eventually connects to LTE but only holds it for 30 secs and then drops with no radio. Thanks for the help in advance.
Sent from my XT875 using Tapatalk
Click to expand...
Click to collapse
Please download the latest build from same links again (any mirror, I overwrote it). It should have fixed radio now. But you have to replace your build.prop with that one from your rom or open it and remove all additions made by JBX. The easiest way is to flash the rom again, then flash jbx.
I went ahead and redownloaded and reinstalled and I'm still getting the same thing. Attached is my "phone info" screen. And under "select preferred network" my only option is unknown
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Sent from my XT875 using Tapatalk
Just flashed latest 1/21 JBX with cm 1/20. Have lte. Haven't played with settings yet. Need to read the faq first. Thanks void time buddy.
Sent from my XT875 using Tapatalk 2
BZguy06 said:
I went ahead and redownloaded and reinstalled and I'm still getting the same thing. Attached is my "phone info" screen. And under "select preferred network" my only option is unknownView attachment 2530635
Sent from my XT875 using Tapatalk
Click to expand...
Click to collapse
So, have you reset your build.prop before as I said above?
Btw: just open it in a text editor (I.e. With root Explorer), scroll down until you see "dtrail - build.prop additions". Delete everything below that line. Now reboot and flash jbx (after downloaded again).
Gesendet von meinem XT910 mit Tapatalk 4
dtrail1 said:
So, have you reset your build.prop before as I said above?
Btw: just open it in a text editor (I.e. With root Explorer), scroll down until you see "dtrail - build.prop additions". Delete everything below that line. Now reboot and flash jbx (after downloaded again).
Gesendet von meinem XT910 mit Tapatalk 4
Click to expand...
Click to collapse
Yes. I went ahead and wiped system and data, installed cm11 1-20, and then installed the 1-21JBX targa kernel
Sent from my XT875 using Tapatalk
BZguy06 said:
Yes. I went ahead and wiped system and data, installed cm11 1-20, and then installed the 1-21JBX targa kernel
Sent from my XT875 using Tapatalk
Click to expand...
Click to collapse
Just flash the latest jb radio and don't change band in settings.
P.S. targa don't have BMM
Maksim_ka said:
Just flash the latest jb radio and don't change band in settings.
P.S. targa don't have BMM
Click to expand...
Click to collapse
I have the latest JB radio (CDMA_N_05.22.00R LTEDC_U_09.1D.00). My radio works fine using the stock CM11 kernel. I really wanna try out dtrails' work.

Categories

Resources