Related
Welcome to decimalman's kernel playground!
As the name suggests, dkp is a hodgepodge of features and tweaks that I wanted to play with. It should get excellent battery life without feeling sluggish. It doesn't come with its own tuner app, so pick your favorite. Personally, I like Trickster MOD and Kernel Adiutor, so I go out of my way to make things work in them. Most other apps should work, too.
Features:
Overclocking up to 2.1 GHz, but you'll need to increase your voltages to get there (if you can get there at all)
Underclocking down to 54 MHz, with stability improvements
Undervolting compatible with most apps
Fast charge without unplugging first
Glorious animations for the notification and softkey LEDs
Well-integrated erandom means you don't need CrossBreeder or Seeder (recent AOSP builds use ISAAC instead)
freelunch and tierservative governors for optimal battery life without sacrificing responsiveness
Automatic mpdecision and auto-hotplug are only enabled when needed
Adjustable minimum voltage for stability on finicky processors
Optimized UKSM to free up some extra memory
Code optimizations for size and speed
Compiler optimizations (-O3, LTO, and more) because faster is better
Donors: Thanks, everyone! Your generosity is much appreciated. :good:
drpenguino, 0xScott, vmancini3 (twice! :good, Ch4m3l30n, rompnit, Mystique, ryandubbz, techdog, ElwOOd_CbGp, ScOULaris, ZipAddict
Remember:
Nandroid!
last_kmsg and/or logcat or it didn't happen.
Other kernels have their own threads or forums. Discuss them there.
Image dumps (settings, battery life, whatever) belong inside [HIDE][/HIDE] (that's HIDE, if you're on the mobile app) tags.
Be silly. We're here to have fun.
Installation:
Reboot to recovery. I recommend that one recovery...you know, the one that flashes zips? I forget what it's called.
Flash dkp. Optionally, rename and flash dkp-vmin-XXX.zip (see below).
Reboot.
Undervolting:
Undervolting on dkp is more complex than other kernels. Some processors get unstable at lower voltages, so (like the stock kernel) dkp keeps the processor voltage above 1150 mV by default. I refer to this limit as the minimum voltage. In order to undervolt, you'll need to lower the minimum voltage: if you use Trickster MOD or Kernel Adiutor, just disable "Override Minimum Voltage", otherwise rename dkp-vmin-XXX.zip to e.g. dkp-vmin-600.zip (which would apply a 600 mV minimum voltage) and flash it. If this causes instability (crashes, audio/video glitches, etc.), try using dkp-vmin-XXX.zip to apply a higher minimum voltage (somewhere between 950 and 1050 mV seems to work well for most people).
Downloads:
MediaFire:
All Downloads
dkp-vmin-XXX.zip
Solidfiles (Make sure you have an adblocker!):
All Downloads
dkp-vmin-XXX.zip
Source: I'm always happy to see my code used, so cherry-pick away. I'll even put together feature patches if you ask nicely.
Bugs:
Let me know.
Stable changelog:
3/3/13: Initial release for d2spr. Didn't get around to making threads for other carriers.
4/8/13 (3.0):
FauxSound support
Strip more useless stuff
A few bonus optimizations
4/8/13 (3.4):
Port everything except erandom from 3.0
Enhance cpufreq for easier configuration
4/24/13 (3.4):
Bugfixes: better support for tuner apps, fixed potential SOD bugs, automatic mpdecision fixups, etc.
Lots of CM/CAF/Linux updates
Working AssWax governor
Trinity colors support
sio, zen I/O schedulers
erandom is back!
Built with a super-fancy Linaro GCC 4.8.1-dev compiler toolchain for maximum -O3 goodness
Probably lots more, but there's hundreds of commits to sort through...
5/29/13 (3.4):
Bugfixes: better overclocking support, better hwrng support, etc.
Updates: new CM updates, Linux 3.4.47, updated FauxSound driver, added invisiblek's new panel colors interface
Automatic auto-hotplug
New optimizations, including link-time optimization and an updated GNU+Linaro GCC 4.8.1-dev toolchain
6/14/13 (3.4):
Bugfixes: fix several critical bugs in the 5/29 release.
9/7/13 (3.4):
Fixes for OC, UV, auto-hotplug.
A few new optimizations.
Synced up with CM.
9/20/13 (TW):
Ported everything from AOSP to TW.
9/20/13 (4.3):
Merged 4.3 from CM into the existing 4.2 code.
Current experimental branches:
Nothing interesting at the moment.
Goodies:
dkp doesn't come with its own splash screen. However, the dkp installer (i.e. the install zip) is smarter than you think, and can apply a custom splash screen for you. Here's how:
Create a folder on your internal storage named "dkp"
Copy a PNG image into the directory, and rename it "splash.png". Alternatively, copy an RLE image (i.e. from a flashable custom splash screen zip) and rename it "splash.rle". Ideally, the image should be roughly 1280x720 to begin with, since it won't be resized.
The image will be used as your splash screen whenever you flash dkp. Reflash to apply initially.
mikedavis120 has put together a how-to video that covers tweaking dkp for optimal battery life. If you're new to dkp, take a look! He also put together a zipped collection of apps that will come in handy while tuning dkp. It also includes a flashable zip, "dkp-debug_v1.zip". After flashing it, running
Code:
su
dkp
from a terminal emulator will collect lots of useful debug information that will make it much easier for me to track down the issue you're having. :good: mikedavis120 recommends installing SuperSU (included in the zip) instead of what's included in you ROM.
sysfs:
It's possible to adjust all the settings available in dkp without using apps. Because they show up as files, settings can be adjusted with file managers, terminal emulators, adb and initscripts. Here's the most interesting files inside sysfs:
/sys/devices/platform/mipi_samsung_oled.513/lcd/panel/panel_colors (not available on newer AOSP builds): display tint (0 = very red, 2 = default, 4 = trinity colors)
/sys/class/misc/gammacontrol (only available on newer AOSP builds): various color controls. See this post for details on enabling Trinity colors on builds that use these controls.
/sys/devices/system/cpu/cpu<N>/cpufreq/UV_mV_table: voltage table
/sys/devices/system/cpu/cpu<N>/cpufreq/scaling_...: scaling_governor is the governor, scaling_min_freq and scaling_max_freq are the minimum and maximum frequencies, scaling_available_governors and scaling_available_frequencies show the available governors and frequencies
/sys/kernel/dkp/force_fast_charge: fast charge
/sys/kernel/dkp/link_core_settings: when linked (the default), frequency settings and some governors are automatically copied to the other core
/sys/kernel/dkp/vmin: minimum processor voltage in mV
/sys/kernel/mm/uksm/run: activate UKSM
auto-hotplug tuners:
These show up in the governor settings for any governor that doesn't do its own hotplugging. They only take effect when using auto-hotplug, so you'll probably need to disable mpdecision in Trickster.
hotplug_intpulse: when set to 1, automatically turns core 2 on whenever the screen/buttons/whatever is pressed. Default is 0.
hotplug_sampling_periods: number of samples to use for average number of running tasks. Default is 15.
hotplug_sampling_rate: number of 'jiffies' (currently 1 jiffy = 10 ms) between each sample of running tasks. Default is 20 (0.2 sec).
hotplug_enable_one_threshold: the average number of running tasks required to turn core 2 on, multiplied by 100. Default is 125 (1.25 tasks on average).
hotplug_disable_one_threshold: the average number of running tasks required to keep core 2 on, multiplied by 100. Default is 250 (2.5 tasks on average).
freelunch/nanolunch tuners:
freelunch and nanolunch aren't materially based on other governors, so their configuration is quite different than other governors. There's lots of tuners, since I haven't really decided on an ideal tuning. I encourage experimentation! I'll explain a bit of how these governors work before actually listing the tuners.
Generally speaking, there are two modes: in "normal" mode, sampling is done occasionally and frequency is generally increased slowly; in "interactive" mode, sampling is done much more quickly, and frequency increases much more quickly. "Interactive" mode ends after several samples of very low usage. The idea of a "hispeed" frequency is used in lots of governors, and it refers to the frequency that the CPU will jump to when more CPU usage is needed; generally, it's a generous estimate of how much CPU will be needed. Here, the hispeed frequency is adjusted on-the-fly, increasing when more CPU is needed and gradually decreasing when the CPU is idle. In "interactive" mode, the hispeed frequency is kept fairly high so that everything will feel snappy.
Hotplugging is taken care of in the least complicated (and in my opinion, most reasonable) way possible: if core 1 is using lots of CPU, and there are several tasks running (in other words, if it's likely that core 2 will have something to do), core 2 is turned on; if either core isn't doing much except using power, core 2 is turned off.
sampling_rate: the usual
hotplug_up_cycles: number of consecutive heavily-loaded samples before core 2 is turned on
hotplug_down_cycles: number of consecutive lightly-loaded samples before core 2 is turned off
hotplug_up_load: number of running tasks required to bring core 2 online
hotplug_up_usage: number of used CPU cycles (in thousands per second) required to bring core 2 online
hotplug_down_usage: number of used CPU cycles (in thousands per second) required on both cores to keep core 2 online
overestimate_khz: number of CPU cycles to overshoot usage by in "normal" mode
hispeed_thresh: if CPU usage is within this many cycles (in thousands per second) of the maximum frequency, frequency will be increased to the hispeed frequency. Generally, hispeed is pretty low in "normal" mode, and fairly high in "interactive" mode.
hispeed_decrease: when the CPU is sitting idle, the hispeed frequency is decreased by this amount each sample (this isn't ideal, but it works)
interaction_hispeed: the initial hispeed frequency when switching to "interactive" mode
interaction_return_cycles: number of consecutive lightly-loaded samples before returning to "normal" mode
interaction_return_usage: number of used CPU cycles (in thousands per second) required to stay in "interactive" mode
interaction_panic (nanolunch only): when set to 1, allows aggressively jumping past the current hispeed frequency under some circumstances
interaction_sampling_rate/overestimate_khz: equivalent to the "normal" versions of the tuners, these take effect in "interactive" mode
Just loaded it on pa 3.15
Sent from my SAMSUNG-SGH-I747 using xda premium
It doesn't say that it has morfic colors, but looks like it does. Gonna give it a whirl
Sent from my SGH-I747 using xda app-developers app
rmead01 said:
It doesn't say that it has morfic colors, but looks like it does. Gonna give it a whirl
Sent from my SGH-I747 using xda app-developers app
Click to expand...
Click to collapse
It doesn't, but I'll merge it and put out a test build.
decimalman said:
It doesn't, but I'll merge it and put out a test build.
Click to expand...
Click to collapse
Is it possible they are left over from a previous kernel? Because I can def tell the difference usually and seems like it does.
Either way, advise when its updated. This governor seems solid so far.
Sent from my SGH-I747 using xda app-developers app
rmead01 said:
Is it possible they are left over from a previous kernel? Because I can def tell the difference usually and seems like it does.
Either way, advise when its updated. This governor seems solid so far.
Sent from my SGH-I747 using xda app-developers app
Click to expand...
Click to collapse
dkp is based off clean CM source, so it shouldn't have been merged already.
I've got test builds compiling now, and the 3.4 builds will be up shortly. Flashing the trinity-colors test build and this zip will enable trinity colors. You can toggle it with
Code:
su
echo X >/sys/class/mdnie/mdnie/trinity_colors
where X is 0 to disable or 1 to enable.
Edit: and sorry for taking so long to respond.
Edit 2: 3.4 builds are up. http://d-h.st/7Ae
Thnx for this kernel
decimalman said:
dkp is based off clean CM source, so it shouldn't have been merged already.
I've got test builds compiling now, and the 3.4 builds will be up shortly. Flashing the trinity-colors test build and this zip will enable trinity colors. You can toggle it with
Code:
su
echo X >/sys/class/mdnie/mdnie/trinity_colors
where X is 0 to disable or 1 to enable.
Edit: and sorry for taking so long to respond.
Edit 2: 3.4 builds are up. http://d-h.st/7Ae
Click to expand...
Click to collapse
Maybe I was just seeing things, had just watched jurassic park in 3d.
New "test" build flashed as well as the file to enable it. Thanks for the addition. It's very hard to go back to normal once you've been smurfed depending on your display.
Only issue i'm having ATM is the ability to change the voltage table. My phone doesn't handle undervolting as well and i run a minimum of 950 baseline, if not 975. One of my normal apps wasn't able to set the voltage at all. I'm trying to use performance control which I don't like. It crashes trying to set the voltage on boot but at least I can go in and manually set the values on boot and they stick.
One last question, since this is your kernel, what scheduler do you recommend pairs well to freelunch? What would you use for performance and what would you use for batt?
rmead01 said:
One last question, since this is your kernel, what scheduler do you recommend pairs well to freelunch? What would you use for performance and what would you use for batt?
Click to expand...
Click to collapse
+1 on these questions
Sent from my AT&T Samsung Galaxy S III
rmead01 said:
Only issue i'm having ATM is the ability to change the voltage table. My phone doesn't handle undervolting as well and i run a minimum of 950 baseline, if not 975. One of my normal apps wasn't able to set the voltage at all. I'm trying to use performance control which I don't like. It crashes trying to set the voltage on boot but at least I can go in and manually set the values on boot and they stick.
Click to expand...
Click to collapse
Answered my own problem. I installed trickster as mentioned in OP and all voltage settings stick no problem with no issues.
rmead01 said:
New "test" build flashed as well as the file to enable it. Thanks for the addition. It's very hard to go back to normal once you've been smurfed depending on your display.
Only issue i'm having ATM is the ability to change the voltage table. My phone doesn't handle undervolting as well and i run a minimum of 950 baseline, if not 975. One of my normal apps wasn't able to set the voltage at all. I'm trying to use performance control which I don't like. It crashes trying to set the voltage on boot but at least I can go in and manually set the values on boot and they stick.
One last question, since this is your kernel, what scheduler do you recommend pairs well to freelunch? What would you use for performance and what would you use for batt?
Click to expand...
Click to collapse
Personally, I don't like trinity colors, but I definitely understand the appeal. I merged this into 3.0 and 3.4, so it'll be standard from here on. I'll add a link to the enabler zip in the OP as well.
What app would you normally use? I'll try to support it, since I already provide several voltage interfaces. I didn't realize performance control was crashing (I'm not a fan either, so I only lightly tested). I recently installed Trickster and liked it, so I've been going out of my way to support it. It's also really easy to write support for, so that's a bonus for me.
As for schedulers, I'm not fussy. I've never exhaustively tested performance and battery life, so I don't have a preference and usually run noop or deadline. However, I've had nothing but bad results with ROW (phone never deep sleeps, and I haven't looked into why).
decimalman said:
Personally, I don't like trinity colors, but I definitely understand the appeal. I merged this in, so it'll be standard from here on. I'll add a link to the enabler zip in the OP as well.
What app would you normally use? I'll try to support it, since I already provide several voltage interfaces. I didn't realize performance control was crashing (I'm not a fan either, so I only lightly tested). I recently installed Trickster and liked it, so I've been going out of my way to support it. It's also really easy to write support for, so that's a bonus for me.
As for schedulers, I'm not fussy. I've never exhaustively tested performance and battery life, so I don't have a preference and usually run noop or deadline. However, I've had nothing but bad results with ROW (phone never deep sleeps, and I haven't looked into why).
Click to expand...
Click to collapse
good to know. Trickster mod works fine and you mention it in the OP and it's at no cost in the play store. I wouldn't worry.
I was using an app called kernel tuner because some others would only set 1 core to the governor and not both. I checked that trickster does indeed set both cores to freelunch so once that figured out I removed kernel tuner. Kernel Tuner also has the options for profiles which can be toggled in tasker for varies states. freelunch so far hasn't needed any changing so not worried about it at this point. just as an example, some governors would be better for screen on/off and tasker could switch these to edge out battery life.
The voltage app i was using is simply called voltage control. Kernel tuner doesn't do a nice job of voltage changes. But since trickster does both governor and voltage adjustments well. i'm using that with no problems now.
Thanks for the morfic, having a way to toggle it works well for people. it's as simple as a script so there's that.
rmead01 said:
good to know. Trickster mod works fine and you mention it in the OP and it's at no cost in the play store. I wouldn't worry.
I was using an app called kernel tuner because some others would only set 1 core to the governor and not both. I checked that trickster does indeed set both cores to freelunch so once that was made it was no problem. Kernel Tuner also has the options for profiles which can be toggled in tasker for varies states. freelunch so far hasn't needed any changing so not worried about it at this point.
The voltage app i was using is simply called voltage control. Kernel tuner doesn't do a nice job of voltage changes. But since trickster does both well, i'm using that with no problems now.
Thanks for the morfic, having a way to toggle it works well for people. it's as simple as a script so there's that.
Click to expand...
Click to collapse
I meant to test Voltage Control but Google wasn't letting me download anything. It's a common app, so I'll try to get it working regardless. Kernel Tuner doesn't currently work well with freelunch, and tends to hang when it's trying to read settings in the CPU screen. Otherwise, it's a nice app. I didn't realize it had Tasker support (I use Llama).
I've added a few extra bits to the cpufreq core, so governors that need to be set on both cores (like freelunch) will automatically apply to both cores regardless of what app is used. cpufreq will even enable and disable mpdecision depending on whether a hotplugging governor is running (though Trickster won't show that it's disabled).
I owe ktoonsez for the toggleable trinity colors. I slightly rewrote his patch, but it's still largely his code. It's my policy that anything that not all users will want should be optional and easily configurable.
Edit: I think I've got Voltage Control fixed. I should be able to get Kernel Tuner working without too much work. I haven't even looked into Performance Control yet.
decimalman said:
I meant to test Voltage Control but Google wasn't letting me download anything. It's a common app, so I'll try to get it working regardless. Kernel Tuner doesn't currently work well with freelunch, and tends to hang when it's trying to read settings in the CPU screen. Otherwise, it's a nice app. I didn't realize it had Tasker support (I use Llama).
I've added a few extra bits to the cpufreq core, so governors that need to be set on both cores (like freelunch) will automatically apply to both cores regardless of what app is used. cpufreq will even enable and disable mpdecision depending on whether a hotplugging governor is running (though Trickster won't show that it's disabled).
I owe ktoonsez for the toggleable trinity colors. I slightly rewrote his patch, but it's still largely his code. It's my policy that anything that not all users will want should be optional and easily configurable.
Click to expand...
Click to collapse
well good job so far. batt life has been top notch. minimal drain in use and my over night idle drain was only a few %. I have things setup to disable wifi when sleep and also turn off mobile data when wifi is connected. A bit over the top but every bit helps.
:good::highfive:
I know I've been grilling you today but...
Kind of curious what the new tunables do. I haven't touched anything since it's working so well but there is always that part of me that wonders what adjust parameters will do. Is there any kind of reference for this governor that could indicate that type of info?
Does your kernel support faux sound app?
stevehkim said:
Does your kernel support faux sound app?
Click to expand...
Click to collapse
Yes. 3.0 and 3.4 both have support.
As for tuneables, I've been meaning to post a writeup but haven't gotten around to it. You're not the first to ask about it.
Sent from my SPH-L710 using xda app-developers app
This is a fantastic Kernel! The battery life has been outstanding so far. Thank you for your amazing work!
** Note: This kernel is end-of-life and will no more be maintained. There will be no LineageOS 15.1 or newer kernel be available anymore **
Hi all,
some of you know me from the Samsung devices area, where I provide my kernels already for more than two years to Galaxy S3 and Note 10.1 users for all sort of platforms (Samsung, Cyanogenmod, Omnirom etc.)
Please note:
I am not heading to have as many features as possible implemented, this is not my design goal. If you are more into that, move on to other, good existing kernels. If you are searching for a good mix of improvements and new functions while not sacrificing stability, you are welcome here (see below the history section for more info).
Compatibility
Important: This kernel is only meant to be compatible with official Cyanogenmod / CyanogenOS and nothing else.
So when the kernel does not run on custom rom XYZ, do not even bother me with it or ask hundred times in the thread for compatibility.
I could not care less about it !!
Important notes
1) When using new anykernel concept Boeffla-Kernel: Flash stock kernel of rom first !
2) Do NOT use TWRP's function to root your device after a clean rom flash!!! The installed supersu version is not up to date and may cause a bootloop with latest COS/CMs kernels !!!
3) Make sure you flash the correct kernel version, depending on whether you use cm11s stock or genuine cm11, COS13.0, COS12.1, COS12.1.1 or genuine CM13 !!!
Also note: You have to use Boeffla-Config app which I provide on my homepage to tweak the kernel. 3rd party apps will not be able to unleash the full power of the kernel.
Saying that, the Boeffla-Sound app in Play Store is not designed to work on the OPO, neither was it developed by me, hence it will never work on the OPO ever. Boeffla-Config is the way to go here !!!
Support
First read the FAQ section on the Homepage !!!
Click here to learn about all possible kernel settings in the config app.
Click here to learn about using the config app.
I will refuse to give support if you do any undervolting and experience freezes or hot reboots.
I will also not provide any support if you do not use Boeffla-Config app to tweak the kernel, other 3rd party tweaking apps are known (and intended) to cause issues.
I will refuse to give support if you have xposed framework installed and reporting any kind of weird issues. My opinion to xposed it quite clear: too powerful for >90% of the users that just mess up their system with it.
Otherwise, you can get in touch with me via the support e-mail address: [email protected]
Please provide kernel version, rom version, a detailed issue description and ideally supporting screenshots or log files.
Change logs
Change logs can be found at the first page of the kernel homepage:
www.boeffla.de
(you can also access them directly in Boeffla-Config V2 by pressing menu and selecting "change log...")
Features
Support of anykernel concept (only latest kernels) - flash stock kernel before flashing Boeffla
Full integration with Boeffla-Config V2 configuration app (get it from http://www.boeffla.de) to configure all kernel settings
Additional governors: zzmoove, intelliactive, intellidemand, wheatley, smartmax, slim, intellimm, pegasusq, nightmare, lionheart
Zzmoove supporting native hotplugging profiles
Additional schedulers: fiops, bfq, sio, tripndroid, zen
Many Hotplug tweak profiles (Default, Optimized, 1 core max, 2 cores max, 3 cores max, 2 cores min, 3 cores min, 4 cores min, 2 cores exact, 3 cores exact)
Notification LED control (fading, speed, brightness)
Boeffla-Sound engine (Headphones and speaker volume configurable)
zRam (1-4 logical devices)
True dynamic FSync (activated if screen on, deactived if screen off), configurable
Touch boost frequency configurable, touch boost switch
Swipe2Wake gesture implemented
Swipe2Sleep - 3 gestures implemented
Boeffla generic wakelock blocker V1.1.0 (documentation)
CPU Overclocking up to 2.88 GHz
CPU Voltages interface for undervolting/overvolting
GPU idle frequency 27 Mhz added
GPU governor selection support with fixed simple_ondemand
Show GPU frequency usage per frequency in Boeffla-Config
Panel partial updates reverted to avoid graphical glitches
Last CM12 touchscreen firmware reverted as it does not work properly for some users
Color control to adjust RGB color space + inverted mode
SD card read ahead buffer configurable (default increased to 1024 kB)
Ext4 File system tweaks (default to on, can be disabled)
System Tweaks predefined supported (default is off, new Mattiadj tweak set included)
Android logger (logcat) configurable (depending on rom)
Kernel logger (dmesg) configurable
Charge rates for AC charger and USB charging separately configurable (set charge rate to 0 to have stock charge logic back)
Charge information display support via Boeffla-Config V2 app
CIFS support (module, do not mount inside /data)
NFS support (module)
exFat opensource support (module)
NTFS support (module)
XBox support (module)
OTG-Ethernet support (module)
Module support in general activated in Kernel
TCP Congestion changed to Westwood
Swap supported (but not recommended, use zRam instead)
init.d support (in /system/etc/init.d - set correct permissions!)
Default entropies increased
Insecure kernel (adb has root privileges)
Automatic EFS backup
Kernel survival mode by Boeffla-Config app to survive CM rom flashes (not CMs however)
Full support for mpdecision for best compatibility and smoothness (no min cpu frequency reset, use Boeffla-Config to configure min frequencies only)
Integrated full busybox 1.23.1 (own compilation)
Auto-Root by kernel possible by request (latest su included)
Kernel initialisation log file (with history of 3 log files)
Emergency reset script automatically placed into /boeffla-kernel-data folder of your internal memory
Kexec hardboot supported
Presets supported in Boeffla-Config by kernel (Extreme power, power, normal, battery friendly and battery saving)
Google gcc 4.8 toolchain used for best stability
Always using latest Initramfs
Always based on latest OnePlus One kernel sources
Note: I do NOT upstream the kernel to higher Linux kernel versions anymore as this usually has zero benefit but likely introduces new issues + is a waste of effort in the end
Download
For all information and downloads (stable AND testing versions), visit the Boeffla-Kernel homepage:
www.boeffla.de
History and design targets
Basically I created my first Boeffla-Kernel in 2012 as there was no kernel for the Samsung Galaxy S3 around that had exactly the mix of functionalities that I wanted. I wanted to have full flexibility in undervolting and charge rates for instance, but did not like the sharpness and/or brightness tweaks many kernels have implemented as per default.
Hence, I began to create my own kernel after a while, adding all the features I like. This is the result of my work, which in the end I decided to share with you. I hope you like it as much as I do.
The objective of this kernel is to have a kernel for daily use. It does not aim for best battery life, or best smoothness or best benchmark scores. Also it does not aim to have the broadest feature set available everywhere.
It aims more for a good mix of all, not sacrificing stability and functionality in the end.
And - most important: It aims to stay quite close to stock !!!
These design targets are also valid for the OnePlus kernel here!!!
This said, I will definitely NEVER implement:
things I do personally not need
things I do not like
things that are in any way dangerous
anything which is highly experimental
custom hotplugging algorithms
a CAF based kernel
anything that requires upstreaming of kernel parts to a higher kernel major version
So do not even ask for it if it falls into the listed categories. Everything else I am happy to check and decide.
And: I do not really care about benchmark numbers, they say almost nothing as long as something is not completely wrong. Important for me is the feel-good factor.
I am also not interested in gaming at all, so never expect a gamer kernel. It will just not happen...
Compatibility
To reiterate it again: Flash the correct kernel depending on whether you are on stock cm11s or genuine cm11 !!!
Configuration of the kernel
To tweak and configure the kernel, manually load and install the app "Boeffla-Config V2" from the downloads section on www.boeffla.de.
You need at least version 2.1.48 or higher for the OnePlus One Boeffla Kernels.
Donation
If you like my work, feel free to donate: Donation-Link
If you donate at least 2,49 EUR (to be in line with the donation app prices on Google Play store), you will receive a personal donation code which unlocks some nice little comfort functions in Boeffla-Config V2 on top.
Source code
All sources can be found in my Github repository: http://github.com/andip71
Credits to developers
Of course, I had never been able to create all that by my own. So I want to give credits to the really good developers around, that have given me all the inspiration and from which I cherry picked lots of the implemented functionalities:
* ZaneZam
* Yank555
* Hardcore
* Chainfire
* AndreiLux
* Netarchy
* Gokhanmoral
* Simone201
* Mialwe
* Entropy512
* Faux
* Harunjo
* FranciscoFranco
* Ak
... I just hope I did not forget someone. If so, please let me know and I will add you of course.
Thanks to all of you for your great work !!!
Disclaimer
*** As always - Flash on our own risk! ***
Make sure you flash the correct version depending on your firmware version!
I can and will not take any responsibility for bricked phones or lost data.
It is generally recommended to run a complete Nandroid backup in your custom recovery and safely store your personal data before you flash a new kernel.
Cheers and enjoy
Andi
Latest change logs:
CM14.1
http://kernel.boeffla.de/bacon/boeffla-kernel-cm/cm14.0/changelog.htm
CM13
http://kernel.boeffla.de/bacon/boeffla-kernel-cm/cm13.0/changelog.htm
COS13.1
http://kernel.boeffla.de/bacon/boeffla-kernel-cms/cm13.1s1/changelog.htm
Configuration and profile thread
http://forum.xda-developers.com/oneplus-one/general/unofficial-boeffla-kernel-profile-t2998145
--- reserved 2 ---
Yes a new Kernel. Can never have too much Kernel love for the OPO. WIll check it out ASAP. Thank you sir!
Omgggg i loved your kernel from s3, can you port zzzmove?
Sent from a OnePlus One with Vanir ROM and AK
_Beni_ said:
Omgggg i loved your kernel from s3, can you port zzzmove?
Sent from a OnePlus One with Vanir ROM and AK
Click to expand...
Click to collapse
Hi,
oh yes, zzmoove is already in
Thanks to master @ZaneZam, who was working together with me in the past 2 weeks on that topic.
If you loved my kernel already on the S3, you will even love you have the same kind of "structure" around the kernel. Same config app, same comfort functions there etc etc.
So, ... enjoy
Andi
waaaaaa... my lord.... welcome .... missed u from S3....... so happy...
are we expecting eargasm again ???
Lol, how nice... many "old S3 chaps" here. Good to see you again guys
Andi
Lord Boeffla said:
Hi,
oh yes, zzmoove is already in
Thanks to master @ZaneZam, who was working together with me in the past 2 weeks on that topic.
If you loved my kernel already on the S3, you will even love you have the same kind of "structure" around the kernel. Same config app, same comfort functions there etc etc.
So, ... enjoy
Andi
Click to expand...
Click to collapse
Nice , are you going to port it to cm11?
Sent from a OnePlus One with Vanir ROM and AK
_Beni_ said:
Nice , are you going to port it to cm11?
Sent from a OnePlus One with Vanir ROM and AK
Click to expand...
Click to collapse
Not in my plans as I have only one device. So the same goes as long time ago for the S3 and n8000.
One device = only the "official" firmware. This is still my golden rule of thumb
If enough people help me to get a second device, it would change of course.
Andi
Lord Boeffla said:
Not in my plans as I have only one device. So the same goes as long time ago for the S3 and n8000.
One device = only the "official" firmware. This is still my golden rule of thumb
If enough people help me to get a second device, it would change of course.
Andi
Click to expand...
Click to collapse
I have invites, i can give you one if you want to buy a second device. Why you dont switch to other roms? You dont lose warranty
Sent from a OnePlus One with Vanir ROM and AK
welcome, it's nice to find you. now we will see some good!
_Beni_ said:
I have invites, i can give you one if you want to buy a second device. Why you dont switch to other roms? You dont lose warranty
Sent from a OnePlus One with Vanir ROM and AK
Click to expand...
Click to collapse
I know.
But I loose features, and like for a daily driver phone to stay on the official firmware the vendor provides. That is my concept for more than 3 years now and I was always good with it.
So, no intention to change.
The question from other side is (although it is OT): What does CM provide me which CM11s does not have?
I am not missing anything, thats my point
It is not about invites, but paying another 300 bucks is not possible for me this year anymore (spent around 15 k€ for relocations, my car got stolen in February and so on... was an expensive year for me).
Andi
Lord Boeffla said:
I know.
But I loose features, and like for a daily driver phone to stay on the official firmware the vendor provides. That is my concept for more than 3 years now and I was always good with it.
So, no intention to change.
The question from other side is (although it is OT): What does CM provide me which CM11s does not have?
I am not missing anything, thats my point
It is not about invites, but paying another 300 bucks is not possible for me this year anymore (spent around 15 k€ for relocations, my car got stolen in February and so on... was an expensive year for me).
Andi
Click to expand...
Click to collapse
damn... sorry to hear that..
reyscott1968 said:
damn... sorry to hear that..
Click to expand...
Click to collapse
Well, no worries.
Sometimes life is a b**tch
But all good now. Just not the money left for another OPO at the moment.
Especially as I still am not sure whether I should also get a Galaxy S5 on day.
Andi
Lord Boeffla said:
Well, no worries.
Sometimes life is a b**tch
But all good now. Just not the money left for another OPO at the moment.
Especially as I still am not sure whether I should also get a Galaxy S5 on day.
Andi
Click to expand...
Click to collapse
Lets leave samsung , they dont want good thirdparty developers.
Now downloading stock opo image, never used the orgininal cm11s . Everyfeature from s3 is also in Opo kernel?
Sent from a OnePlus One with Vanir ROM and AK
_Beni_ said:
Everyfeature from s3 is also in Opo kernel?
Sent from a OnePlus One with Vanir ROM and AK
Click to expand...
Click to collapse
No, of course not.
This is technically impossible. There are things in Samsung that do not exist on this hardware (e.g. big parts of boeffla-sound).
And vice versa.
And some are not needed as they are included here by default (e.g. touch wake etc).
If you look carefully at the feature list, you can spot the differences
Andi
Pretty sure you can get the kernel to work with AnyKernel, but of course, when you do this, YMMV. Since it's designed to work best with CM11s, it might perform worse on other ROMs (and then there comes the complaints, bugs, issues, etc.). Besides, I don't see any need for any other ROMs than CM11s. It gives you everything you need.
ive used that kernel until last week on my s3, it was by far the best.
(boeffla sound was great)
hoping for a cm11 version sooner or later for the 1+1 :victory:
I have used your kernel on my s3 for along time, it's awesome! Very happy to see your work on OPO.
Just ask one question, I'm using f2fs with ak kernel on my OPO now, so does this kernel support f2fs filesystem? Cuz i didn't find it on your feature list..
sorry for my english
Hi all,
some of you know me from the OnePlus One or the Samsung devices area, where I provide my kernels already for more than two years to Galaxy S5, S3 and Note 10.1 users for all sort of platforms (Samsung, Cyanogenmod, Omnirom etc.)
Finally I got an OnePlus Two a few weeks ago and decided to start a kernel also for this device.
Please note:
I am not heading to have as many features as possible implemented, this is not my design goal. If you are more into that, move on to other, good existing kernels. If you are searching for a good mix of improvements and new functions while not sacrificing stability, you are welcome here (see below the history section for more info).
Compatibility
Important: This kernel is only meant to be compatible with official OnePlus OOS and nothing else.
So when the kernel does not run on custom rom XYZ, do not even bother me with it or ask hundred times in the thread for compatibility.
I could not care less about it !!
Important notes
When using new anykernel concept Boeffla-Kernel: Flash stock kernel of rom first !
This kernel is ONLY compatible to OxygenOs stock 2.x or 3.x, nothing else !!!
If you are using a custom rom that bases on OxygenOs, it might work. However, if it does not work, do not expect me to do tweak to make the kernel running with your favorite rom. I would not do it - my one and only reference is OxygenOs stock.
It is not supposed to be compatible to LineageOS, CM, HydrogenOS etc.
Also note: You have to use Boeffla-Config app which I provide on my homepage to tweak the kernel. 3rd party apps will not be able to unleash the full power of the kernel.
Support
First read the FAQ section on the Homepage !!!
Click here to learn about all possible kernel settings in the config app (outdated at the moment).
Click here to learn about using the config app (outdated at the moment).
I will refuse to give support if you do any undervolting and experience freezes or hot reboots.
I will also not provide any support if you do not use Boeffla-Config app to tweak the kernel, other 3rd party tweaking apps are known (and intended) to cause issues.
I will refuse to give support if you have xposed framework installed and reporting any kind of weird issues. My opinion to xposed it quite clear: too powerful for >90% of the users that just mess up their system with it.
Otherwise, you can get in touch with me via the support e-mail address: [email protected]
Please provide kernel version, rom version, a detailed issue description and ideally supporting screenshots or log files.
Change logs
(you can also access them directly in Boeffla-Config V2 by pressing menu and selecting "change log...")
Change log for OxygenOS 3.x kernel - Click here
Change log for OxygenOS 2.x kernel - Click here
Features
Support of anykernel concept (only latest kernels) - flash stock kernel before flashing Boeffla
Full integration with Boeffla-Config V2 (you need at least version 2.2.42 or higher !!!) configuration app
(get it from http://www.boeffla.de) to configure all kernel settings
The two CPUs (big and little cpu) can be configured completely separate in terms of min/max frequencies, governors and hotplug profiles
Additional governors: Impulse, zzmoove, elementalx, conservative, ondemand
Additional schedulers: fiops, bfq, sio und zen
Hotplugging done by using stock core_ctl method
Many Hotplug tweak profiles (default are: little CPU always runs on 4 cores, big CPU runs on between 2 and 4 cores based on load)
Notification LED control (fading, speed, brightness)
Boeffla-Sound engine (Headphones volume configurable only)
Dynamic FSync (activated if screen on, deactived if screen off), configurable
Input boost frequencies and duration configurable, input boost switch
No CPU and GPU overclocking yet
No CPU and GPU voltage interface (will probably never come to save me support work)
GPU underclocking to 27 MHz possible
msm_adreno_tz and simple_ondemand tweaked to better utilize low frequencies
Show CPU frequency usage per CPU and frequency in Boeffla-Config
Show GPU frequency usage per frequency in Boeffla-Config
KCal V2 Color control
Display backlight limits configurable (to avoid display brightness gets too low in some situations)
Display backlight dimmer
Swipe2wake gestures
Swipe2sleep gestures
Boeffla generic wakelock blocker V1.1.0 (documentation)
Vibration control
Haptic feedback control for gestures
BCL (battery current limit) driver switchable (default is on)
SD card read ahead buffer configurable (default increased to 1024 kB)
Ext4 File system tweaks (default to on, can be disabled)
Thermal engine profiles (in system Tweaks section)
Kernel logger (dmesg) configurable
Boeffla charge analysis (display of charger type and charge current in Boeffla-Config app in real time)
Boeffla touchkey LED control (LEDs fully off, LED on screen touch, configurable duration)
USB charge rate bumped up to 900 mA
CIFS support (module, do not mount inside /data, if you rooted with Chainfire SuperSu, make sure you uncheck the namespace separation in SuperSu app)
NFS support (module)
NTFS support (module)
XBox support (module)
OTG-Ethernet support (module)
TCP Congestion changed to Westwood
Many additional TCP congestion algorithms activated to be used
init.d support (in /system/etc/init.d - set correct permissions!)
Automatic EFS backup
Integrated full busybox 1.27.2 (own compilation)
Kernel initialisation log file (with history of 3 log files)
Emergency reset script automatically placed into /boeffla-kernel-data folder of your internal memory
Google gcc 4.9 toolchain (64 bit) used for best stability
Always using latest Oxygen OS Initramfs
Device tree build from kernel sources for future options on frequencies and voltages
Always based on latest Oxygen OS kernel sources (https://github.com/OnePlusOSS/android_kernel_oneplus_msm8994)
Download
For all information and downloads (stable AND testing versions), visit the Boeffla-Kernel homepage:
www.boeffla.de
History and design targets
Basically I created my first Boeffla-Kernel in 2012 as there was no kernel for the Samsung Galaxy S3 around that had exactly the mix of functionalities that I wanted. I wanted to have full flexibility in undervolting and charge rates for instance, but did not like the sharpness and/or brightness tweaks many kernels have implemented as per default.
Hence, I began to create my own kernel after a while, adding all the features I like. This is the result of my work, which in the end I decided to share with you. I hope you like it as much as I do.
The objective of this kernel is to have a kernel for daily use. It does not aim for best battery life, or best smoothness or best benchmark scores. Also it does not aim to have the broadest feature set available everywhere.
It aims more for a good mix of all, not sacrificing stability and functionality in the end.
And - most important: It aims to stay quite close to stock !!!
These design targets are also valid for the OnePlus kernel here!!!
This said, I will definitely NEVER implement:
things I do personally not need
things I do not like
things that are in any way dangerous
anything which is highly experimental
f2fs - it is known to cause various issues and compatibility problems
a CAF based kernel
anykernel method to use the ramdisk of the installed rom
anything that requires upstreaming of kernel parts to a higher kernel major version
So do not even ask for it if it falls into the listed categories. Everything else I am happy to check and decide.
And: I do not really care about benchmark numbers, they say almost nothing as long as something is not completely wrong. Important for me is the feel-good factor.
I am also not interested in gaming at all, so never expect a gamer kernel. It will just not happen...
Compatibility
To reiterate it again: Flash the kernel only if you are running a compatible rom !!!
Configuration of the kernel
To tweak and configure the kernel, manually load and install the app "Boeffla-Config V2" from the downloads section on www.boeffla.de.
You need at least version 2.2.03 or higher for the OnePlus Two Boeffla Kernels.
Donation
If you like my work, feel free to donate: Donation-Link
If you donate at least 2,49 EUR (to be in line with the donation app prices on Google Play store), you will receive a personal donation code which unlocks some nice little comfort functions in Boeffla-Config V2 on top.
Source code
All sources can be found in my Github repository: http://github.com/andip71
Credits to developers
Of course, I had never been able to create all that by my own. So I want to give credits to the really good developers around, that have given me all the inspiration and from which I cherry picked lots of the implemented functionalities:
* ZaneZam
* Ak
* Yank555
* Hardcore
* Chainfire
* Netarchy
* Gokhanmoral
* Simone201
* Entropy512
* Faux
* Savoca
... I just hope I did not forget someone. If so, please let me know and I will add you of course.
Thanks to all of you for your great work !!!
Special thanks
Also I want to thank xda user @magnamentis for the ongoing testing to iron out the stability issues of the first alphas. He was doing that always taking the risk to "ffy" his brand new OP2.
Special thanks as well to @ZaneZam to pinpoint the issue during my absence as I was on business trips most of the time in the past weeks.
Disclaimer
*** As always - Flash on our own risk! ***
Make sure you flash the correct version depending on your firmware version!
I can and will not take any responsibility for bricked phones or lost data.
It is generally recommended to run a complete Nandroid backup in your custom recovery and safely store your personal data before you flash a new kernel.
Cheers and enjoy
Andi
Latest change log:
OOS3.0.x
http://kernel.boeffla.de/oneplus2/boeffla-kernel-oos/oos3xx/changelog.htm
Configuration and profile thread
http://forum.xda-developers.com/oneplus-2/general/unofficial-boeffla-kernel-profiles-t3289395
*** You want my support? Then stick to my rules ***
Guys, I am receiving more and more completely useless support requests in different threads. Useless because people provide nothing to be able to help, not even the minimal possible information they could give.
Hence, I will now remind anyone again on the support guide lines stated here:
http://boeffla.de/index.php/support/support
Also you need to ensure you follow the installation guide lines incl. trouble-shooting stated here:
http://boeffla.de/index.php/support/installation-how-to
And to cut a long story short: If you do not at least provide what I request in the support guide lines, I will IGNORE YOUR REQUESTS IN FUTURE.
Straight and simple. I have enough of people wasting my time just because they are too lazy to write details.
Period.
Also as a reminder:
you use xposed? -> no support, everything is your own issue
you use a custom rom and not the official stock or CM one? -> good luck, you are on your own
you undervolt or overclock? -> have fun, but without my support
Sorry, this might sound harsh (and it is meant to sound harsh), but you cannot imagine about how crappy support requests can be. Stating something does not work is just not enough.
Please consider that!!!
Andi
I am just waiting for the source code push to github to finish.
Then I will officially open up the thread and release the first beta to all of you.
Andi
Online
Hi all,
kernel is now officially released in version 1.0-beta1.
Download link, as always, on the kernel homepage.
Some notes again:
Make sure you have latest Boeffla-Config app running -> 2.02.03 !!!
This is the very very very first kernel version, so expect bugs or issues
Please be nice when you have an issue, this OP2 kernel costed me more grey hairs already than all other kernels I ever built together
Let the fun begin.
Andi
Awesome!! As stated there's no gpu over clocking, however I don't play games on my phone, will I be able to downclock the gpu?
Finally will try and report if any bug welcome to the opt forums andi i was waiting for you (really)
Alvin Vesper said:
Awesome!! As stated there's no gpu over clocking, however I don't play games on my phone, will I be able to downclock the gpu?
Click to expand...
Click to collapse
Downclock should work, yes.
Andi
Thanks a lot Andi!Had an awesome experience with the test kernel.Gonna flash this soon
Tapped from my ❶+❷
Downloading noww
I'm excited to finally try out this kernel. I've always stumbled upon threads that mentioned this kernel and since I've had my Nexus 6, I never got the chance to try this kernel out. But now that I joined the OnePlus 2 family, I can finally see what this kernel is all about!
Crackdroid said:
I'm excited to finally try out this kernel. I've always stumbled upon threads that mentioned this kernel and since I've had my Nexus 6, I never got the chance to try this kernel out. But now that I joined the OnePlus 2 family, I can finally see what this kernel is all about!
Click to expand...
Click to collapse
Sure, just for expectation management: Do not expect too much for the start now.
The msm8994 soc development is quite fresh, as well as the device.
So I am not really far where I want to be in future in terms of features etc.
But stuff will come over the time, as it was with the OPO kernels and the S5, S3, Tab 10.1 kernels etc.
Andi
Lord Boeffla said:
Sure, just for expectation management: Do not expect too much for the start now.
The msm8994 soc development is quite fresh, as well as the device.
So I am not really far where I want to be in future in terms of features etc.
But stuff will come over the time, as it was with the OPO kernels and the S5, S3, Tab 10.1 kernels etc.
Andi
Click to expand...
Click to collapse
That's definitely understandable and patience is key so there's no rush at all. Thanks for your hard work thus far!
I flashed it fine but there is no apk in the config V-2 download, its just a zip. am I missing something?
Crackdroid said:
That's definitely understandable and patience is key so there's no rush at all. Thanks for your hard work thus far!
Click to expand...
Click to collapse
Absolutely.
For future projection, the functionalities should be pretty much what I have in my OPO and S5 kernels one day. This is my goal.
Andi
Quizo said:
I flashed it fine but there is no apk in the config V-2 download, its just a zip. am I missing something?
Click to expand...
Click to collapse
You need to download the app from here:
http://boeffla.df-kunde.de/bc/
(note, it MUST be an apk. if you download a zip, your browser does not interpret the mime headers correctly and you might use another browser)
Save it on your phone, install it manually.
Andi
@Lord Boeffla
Is it possible (in future of course) to control more paramters of audio chip? (Like in your kernel for i9300 for example)
rascal0pl said:
@Lord Boeffla
Is it possible (in future of course) to control more paramters of audio chip? (Like in your kernel for i9300 for example)
Click to expand...
Click to collapse
Most likely no.
See question 2 in FAQ section:
http://www.boeffla-kernel.de/index.php/faq
Andi
Deleted
great... any possibility to add charging control to increase charging speed.. the only downside of this darn phone.. it feels like it takes for ever to charge... !!
** Note: This kernel is end-of-life and will no more be maintained. There will be no LineageOS 15.1 or newer kernel be available anymore **
Hi all,
some of you know me from the other OnePlus (One and X) or Samsung devices areas, where I provide my kernels already for more than two years to OnePlus One, OnePlus Two, Galaxy S5, S3 and Note 10.1 users for all sort of platforms (Samsung, LineageOS, Cyanogenmod, Omnirom etc.)
Please note:
I am not heading to have as many features as possible implemented, this is not my design goal. If you are more into that, move on to other kernels. If you are searching for a good mix of improvements and new functions while not sacrificing stability, you are welcome here (see below the history section for more info).
Important notes
When using new anykernel concept Boeffla-Kernel: Flash stock kernel of rom first !
Make sure you flash the correct kernel version, depending on whether you really use LineageOS/CM or a different OS !!!
Also note: You have to use Boeffla-Config app which I provide on my homepage to tweak the kernel. 3rd party apps will not be able to unleash the full power of the kernel.
Compatibility
Important: This kernel is only meant to be compatible with official LineageOS and nothing else.
It is reported to NOT work fine specifically on Resurrection Remix roms, also some Seraph based roms are not compatible.
So when the kernel does not run on custom rom XYZ, do not even bother me with it or ask hundred times in the thread for compatibility.
I could not care less about it !!
Support
First read the FAQ section on the Homepage !!!
Click here to learn about all possible kernel settings in the config app (quite outdated, as it is focused on S3 still).
Click here to learn about using the config app (quite outdated, as it is focused on S3 still).
I will refuse to give support if you do any undervolting and experience freezes or hot reboots.
I will also not provide any support if you do not use Boeffla-Config app to tweak the kernel, other 3rd party tweaking apps are known (and intended) to cause issues.
I will refuse to give support if you have xposed framework installed and reporting any kind of weird issues. My opinion to xposed it quite clear: too powerful for >90% of the users that just mess up their system with it.
Otherwise, you can get in touch with me via the support e-mail address: [email protected]
Please provide kernel version, rom version, a detailed issue description and ideally supporting screenshots or log files.
Change logs
(you can also access them directly in Boeffla-Config V2 by pressing menu and selecting "change log...")
Change log for LineageOS 14 kernel - Click here
Change log for CM13 kernel - Click here
Features
Support of anykernel concept (only latest kernels) - flash stock kernel before flashing Boeffla
Full integration with Boeffla-Config V2 (you need at least version 2.4.50 or higher !!!) configuration app (get it from http://www.boeffla.de) to configure all kernel settings
The two CPUs (big and little cpu) can be configured completely separate in terms of min/max frequencies, governors and hotplug profiles
Additional governors: Impulse, zzmoove, elementalx, conservative, ondemand
Additional schedulers: fiops, bfq, sio und zen
Hotplugging done by using stock core_ctl method
Many Hotplug tweak profiles (default are: little CPU always runs on 4 cores, big CPU runs on between 2 and 4 cores based on load)
Notification LED control (fading, speed, brightness)
Boeffla-Sound engine (Headphones volume configurable only)
Dynamic FSync (activated if screen on, deactived if screen off), configurable
Input boost frequencies and duration configurable, input boost switch
No CPU and GPU overclocking (also not planned)
No CPU and GPU voltage interface (also not planned)
GPU underclocking to 27 MHz possible
GPU boost implemented (4 levels)
msm_adreno_tz and simple_ondemand tweaked to better utilize low frequencies
Show CPU frequency usage per CPU and frequency in Boeffla-Config
Show GPU frequency usage per frequency in Boeffla-Config
KCal V2 Color control
Display backlight limits configurable (to avoid display brightness gets too low in some situations)
Display backlight dimmer
Swipe2wake gestures
Swipe2sleep gestures
Boeffla generic wakelock blocker V1.1.0 (documentation)
BCL (battery current limit) driver switchable (default is on)
SD card read ahead buffer configurable (default increased to 1024 kB)
Ext4 File system tweaks (default to on, can be disabled)
Thermal engine profiles (in system Tweaks section)
Kernel logger (dmesg) configurable
Boeffla charge analysis (display of charger type and charge current in Boeffla-Config app in real time)
USB charge rate bumped up to 900 mA
CIFS support (module, do not mount inside /data, if you rooted with Chainfire SuperSu, make sure you uncheck the namespace separation in SuperSu app)
NFS support (module)
NTFS support (module)
XBox support (module)
OTG-Ethernet support (module)
TCP Congestion changed to Westwood
Many additional TCP congestion algorithms activated to be used
Entropy values configurable
Hardware touch keys locked as long as screen is in use (touched) for better usability (default, but configurable)
init.d support (in /system/etc/init.d - set correct permissions!)
Automatic EFS backup
Integrated full busybox 1.27.2 (own compilation)
Safetynet: verifiedbootstate + additional flags removed
Kernel initialisation log file (with history of 3 log files)
Emergency reset script automatically placed into /boeffla-kernel-data folder of your internal memory
Rom flash survival mode configurable in Boeffla-Config
Google gcc 4.9 toolchain (64 bit) used for best stability
Always using latest CM13 Initramfs
Always based on latest CM13 kernel sources (http://github.com/CyanogenMod/android_kernel_oneplus_msm8994)
Download
For all information and downloads (stable AND testing versions), visit the Boeffla-Kernel homepage:
www.boeffla.de
History and design targets
Basically I created my first Boeffla-Kernel in 2012 as there was no kernel for the Samsung Galaxy S3 around that had exactly the mix of functionalities that I wanted. I wanted to have full flexibility in undervolting and charge rates for instance, but did not like the sharpness and/or brightness tweaks many kernels have implemented as per default.
Hence, I began to create my own kernel after a while, adding all the features I like. This is the result of my work, which in the end I decided to share with you. I hope you like it as much as I do.
The objective of this kernel is to have a kernel for daily use. It does not aim for best battery life, or best smoothness or best benchmark scores. Also it does not aim to have the broadest feature set available everywhere.
It aims more for a good mix of all, not sacrificing stability and functionality in the end.
And - most important: It aims to stay quite close to stock !!!
These design targets are also valid for the OnePlus kernel here!!!
This said, I will definitely NEVER implement:
things I do personally not need
things I do not like
things that are in any way dangerous
anything which is highly experimental
f2fs - it is known to cause various issues and compatibility problems
custom hotplugging algorithms
a CAF based kernel
anything that requires upstreaming of kernel parts to a higher kernel major version
So do not even ask for it if it falls into the listed categories. Everything else I am happy to check and decide.
And: I do not really care about benchmark numbers, they say almost nothing as long as something is not completely wrong. Important for me is the feel-good factor.
I am also not interested in gaming at all, so never expect a gamer kernel. It will just not happen...
Compatibility
To reiterate it again: Flash the correct kernel depending on whether you are using LineageOS/CM or another rom !!!
Configuration of the kernel
To tweak and configure the kernel, manually load and install the app "Boeffla-Config V2" from the downloads section on www.boeffla.de.
You need at least version 2.4.50 or higher for the OnePlus 2 Boeffla Kernels.
Donation
If you like my work, feel free to donate: Donation-Link
If you donate at least 2,49 EUR (to be in line with the donation app prices on Google Play store), you will receive a personal donation code which unlocks some nice little comfort functions in Boeffla-Config V2 on top.
Source code
All sources can be found in my Github repository: http://github.com/andip71
Credits to developers
Of course, I had never been able to create all that by my own. So I want to give credits to the really good developers around, that have given me all the inspiration and from which I cherry picked lots of the implemented functionalities:
* ZaneZam
* flar2
* Grarak
* Yank555
* Hardcore
* Chainfire
* AndreiLux
* Netarchy
* Gokhanmoral
* Simone201
* Mialwe
* Entropy512
* Faux
* Harunjo
* FranciscoFranco
* Ak
... I just hope I did not forget someone. If so, please let me know and I will add you of course.
Thanks to all of you for your great work !!!
Disclaimer
*** As always - Flash on our own risk! ***
Make sure you flash the correct version depending on your firmware version!
I can and will not take any responsibility for bricked phones or lost data.
It is generally recommended to run a complete Nandroid backup in your custom recovery and safely store your personal data before you flash a new kernel.
Cheers and enjoy
Andi
Last change logs:
LineageOS 14.1
http://kernel.boeffla.de/oneplus2/boeffla-kernel-cm/cm14.0/changelog.htm
CM13
http://kernel.boeffla.de/oneplus2/boeffla-kernel-cm/cm13.0/changelog.htm
Configuration and profile thread
http://forum.xda-developers.com/oneplus-2/general/unofficial-boeffla-kernel-profiles-t3289395
*** You want my support? Then stick to my rules ***
Guys, I am receiving more and more completely useless support requests in different threads. Useless because people provide nothing to be able to help, not even the minimal possible information they could give.
Hence, I will now remind anyone again on the support guide lines stated here:
http://boeffla.de/index.php/support/support
Also you need to ensure you follow the installation guide lines incl. trouble-shooting stated here:
http://boeffla.de/index.php/support/installation-how-to
And to cut a long story short: If you do not at least provide what I request in the support guide lines, I will IGNORE YOUR REQUESTS IN FUTURE.
Straight and simple. I have enough of people wasting my time just because they are too lazy to write details.
Period.
Also as a reminder:
you use xposed? -> no support, everything is your own issue
you use a custom rom and not the official stock or CM one? -> good luck, you are on your own
you undervolt or overclock? -> have fun, but without my support
Sorry, this might sound harsh (and it is meant to sound harsh), but you cannot imagine about how crappy support requests can be. Stating something does not work is just not enough.
Please consider that!!!
Andi
.... And its here! Finally landed for cm13 for our beloved op2. Thanks a ton @Lord Boeffla
Sent from my ONE A2003 using Tapatalk
Wohooo...
It's party time for op2 users
Awesome! Will shift to CM13 soon to just try this kernel.
Wooohoo. Awesome.
If only my BSNL allowed me to download that right now ???*
Beer time! :highfive:
3FN59977869854618
Fantastic! Waiting for this day!
I have not found any issue in Kernel but a typo in OP. You've mentioned OPX instead of OP2 in temporary alpha notice
Sent from my Amazing OnePlus 2
mido25 said:
I have not found any issue in Kernel but a typo in OP. You've mentioned OPX instead of OP2 in temporary alpha notice
Sent from my Amazing OnePlus 2
Click to expand...
Click to collapse
Good catch, and easy to correct. Thanks for spotting.
Andi
Since this is alpha will your config app not offer updates for the kernel? (The "Pro" version that is )
djsubterrain said:
Since this is alpha will your config app not offer updates for the kernel?
Click to expand...
Click to collapse
It will in future. Once I want to push a new release, the app does it of course.
Why do you ask? Any evidence or only curious?
Andi
Lord Boeffla said:
It will in future. Once I want to push a new release, the app does it of course.
Why do you ask? Any evidence or only curious?
Andi
Click to expand...
Click to collapse
Just curious and because everyone seems to want "deltas" now, lazy folk
fantastic news this release. finally we can openly talk about it and share it.
ps. @Lord Boeffla does it still need the pro version off your app?
Dinjesk said:
fantastic news this release. finally we can openly talk about it and share it.
ps. @Lord Boeffla does it still need the pro version off your app?
Click to expand...
Click to collapse
No, it is a public alpha, so all limitations of closed alpha are obsolete for it.
Andi
Dinjesk said:
fantastic news this release. finally we can openly talk about it and share it.
ps. @Lord Boeffla does it still need the pro version off your app?
Click to expand...
Click to collapse
You need pro version to use tunables in governors. I bet profiles will be up soon in next few days.
Sent from my Amazing OnePlus 2
mido25 said:
You need pro version to use tunables in governors. I bet profiles will be up soon in next few days.
Sent from my Amazing OnePlus 2
Click to expand...
Click to collapse
you can still use old profiles, i am using this one since the alpha1 test
http://forum.xda-developers.com/showpost.php?p=65968195&postcount=422
Does this mean OOS 3.0 version is coming soon?
alexferdean said:
Does this mean OOS 3.0 version is coming soon?
Click to expand...
Click to collapse
not before oneplus will release kernel sources.
question has been asked to much!!
Machinex
MarkOneHundred
Sheer will .
This is machinex.
This is machinex. I have been working on this kernel for over a year now, and am finally comfortable with its release to the public. This kernel builds on the great work of those who have made this device the powerhouse that it is. There are elements here that you have experienced on every GS4 kernel to date, as well as other devices.
The goal I had for this project was upstreaming/updating/experimentally upgrading as much as I possibly could. I have done so, and will continue to do so.
This kernel is ONLY for TW-based, 5.0.1 roms for the I9505!!! NO I WILL NOT DEVELOP FOR DEVICES I DO NOT OWN, SAVE YOUR BREATH!
OBLIGATORY DISCLAIMER:
THIS KERNEL COULD VERY WELL DESTROY YOUR PHONE, YOUR LIFE, YOUR MARRIAGE, Etc. YOU INSTALL AT YOUR OWN RISK!! XDA AND I ACCEPT NO LIABILITY FOR YOUR DECISION TO USE THIS KERNEL!!For noobs: assume that installing this kernel will cause your phone to grow arms and punch you in the face.
PLEASE READ AND UNDERSTAND THIS OP BEFORE LEAVING USELESS "IT DOESN'T WORK" COMMENTS!
Issues that aren't answered here will be dealt with on a case-by-case basis.
SEE POST #2 FOR UPDATES, CHANGELOGS, and FIXES
SEE POST #3 FOR BATTERY/PERFORMANCE INFO
SEE POST #4 FOR A SHORT SYNAPSE BRIEFING
LOGS OR IT DIDN'T HAPPEN! Context helps too. What were your Synapse Settings?
KNOWN ISSUES Wifi issue is fixed! After a fresh rom install, all you need to do is reboot and the appropriate files are created in /data enjoy! HOTSPOT IS FIXED!!!! Finally! I AM AWARE OF AND WORKING ON LOCKSCREEN PIN BUGS!!
FEATURES:
- Linux 3.4.113 + a LOT of upstreamed subsystem code.
- Automatic Busybox Installation, Version 1.25.1.
- Cpufreq core backported ENTIRELY from mainline 4.13. All Cores operate independantly. Their governors and tunables can all be different.
- Govorners: Due to a highly upstreamed cpufreq core api, not many custom governors for now except for Interactive, Intelliactive, and the *NEW* Schedutil governor, described in the documentation like so:
The "schedutil" governor aims at better integration with the Linux
kernel scheduler. Load estimation is achieved through the scheduler's
Per-Entity Load Tracking (PELT) mechanism, which also provides
information about the recent load [1]. This governor currently does
load based DVFS only for tasks managed by CFS. RT and DL scheduler tasks
are always run at the highest frequency. Unlike all the other
governors, the code is located under the kernel/sched/ directory.
Sysfs files:
* rate_limit_us:
This contains a value in microseconds. The governor waits for
rate_limit_us time before reevaluating the load again, after it has
evaluated the load once.
For a great, comprehensive blog regarding the specifics of each governor, as well as the settings found below, please check out the link I've referenced in post #3.
- HARDLIMIT and THERMAL: Incorporated Yank555's CPU Limiting solution, Hardlimit. ALL hardlimits, cpu boost limits, and thermal limits are now PER CORE. I have included it directly in the core cpufreq code, and it is the primary controller for THERMAL, INPUT BOOST and user controlled hardlimits. Thermal overrides both user-selected and input-boost limits, and you can monitor the limiting in real time. Also, the thermal driver now accounts for each core's temperature, and saves time/lock-contention by skipping core control if the temps are below the frequency limiting value.
-CPU HARDPLUG: A driver I built that hooks into the main cpu hotplug API and allows you to disable any core you want, configurable for screen on/off.
- Hotplugs: MX Hotplug, personally built from scratch and uses a real-time kthread for its calculation work. Intelliplug 15.8 (Personally Updated), Alucard Hotplug, MSM_sleeper, Lazyplug, Blu Plug, and Bricked hotplug.
Hotplug Notes: I changed the names of certain functions in the Alucard and MSM Sleeper hotplugs, so that their tunables could be streamlined in Synapse. Synapse is cleaner and simpler than ever, but if you use a third party app, Alucard and MSM Sleeper's max cores and max cores during suspend settings will not be tunable. So anyone who uses a third party app with this kernel let me know and I'll devise a workaround. Mpdecision removed entirely. The "mpdecision" in our sysfs is actually bricked hotplug.
-GPU:Machinactive, Interactive, Conservative, Ondemand, Performance and Powersave GPU Governors, GPU touchboost (fixed suspend issue), ability to lock the min/max freqs, and more!
-Updated version of fauxsound (5.4) (flar2, alesaiko, me). I limited the options in the code to the 4 controls that actually work for our device, and you'll notice a significant stability improvement. Slimbus:Golden-ratio-based operation is pristine. Sound quality is hardware-perfected. The version number is largely arbitrary and I increment when I make any significant improvements. NO MORE USERSPACE CALCULATIONS NEEDED!!!
-A gamot of colour, brightness, and panel options that I frankly didn't think would be feasible for our device, but it's working! MDNIE HIJACK selection, KCAL, and Cyanogen's generic PCC colour control are implemented in Synapse. Note that MDNIE/KCAL stuff is a battery thief, and I've not tested PCC colour control enough for power consumption to give you a definitive statement on it. Note: PCC values are from 1000 (safety limit) to 32768 (or a number close to that), meaning your tuning control is as FINELY GRAINED as possible for this device. I can't believe Synapse actually supports its ridiculous number of steps (and well, I might add). Faux's generic "colour control presets' are in there and they actually work! The stock colours much more vivid, and lower brightness settings benefit from them as I have modified top brightness to my liking.
-HBM:Qualcomm High Brightness Mode: unlocked! This can be controlled via a checkbox in Synapse, but you can also use flar2's HBM widget from the play store. I tried it before and HBM would flicker, but i pulled off a VERY hacky way of making it userspace controllable. Be careful! Though it doesn't seem to drain the battery or overheat the device, it's purely experimental and could cause Chuck Norris to come to your house and personally smash your phone. Now SEPARATE from autobrightness! "SCREEN FLICKER FIX" on PAGE 2
- Completely upstreamed and overhauled cpu, power, scheduling...you name it. Updated Powersuspend to the point where I had to rename it, because it is now closely integrated with the core suspend/power api. Introducing: Prometheus. The driver now calls suspend directly when you turn the screen off, unless a) music is playing, b) the phone is plugged in or c) you choose to disable the feature.
-All the TCPIP tweaks etc, updates to random/frandom, android-specific autogrouping, limited but significant LMK/OOM updates.
-BACKPORTED "codel" fair-queueing net-scheduler, for a faster/more consistent networking experience.
-persistent ram, kexec-support, fast-charge, etc. Drop Caches button in Synapse is useful.
-Utilizing Qualcomm's built-in QRNGD (qualcomm random number generator daemon) with randomness optimized in the kernel = entropy for days.
-BOOTLOADER: Officially only 5.0.1 Bootloaders are supported. Unofficially, someone tried it with a KK bootloader and it worked fine for him so what do I know?
-COMPLETE Synapse support. Download, update, AND install Busybox On Rails from the PlayStore before you install the kernel for best compatibility and support. UPDATE: FULL Busybox installation is now included in machinex installer script. If you have any issues, still feel free to install Busybox on Rails. Upon kernel installation, you'll find Synapse installed in your system apps. If you want to get rid of it, just remove it from /system/priv-app with your file manager.
-CPU and GPU VOLTAGE Control: Both in Synapse. I DO NOT SUPPORT ISSUES IF YOU CHANGE VOLTAGE. YOU ARE ON YOUR OWN.
MENTIONS:
To those listed here, I cannot express how grateful I am for your assistence, patience, and kindness towards me as I badgered you throughout my journey. Though saying "thank you" doesn't feel like enough, thank you all. If I missed someone here, please tell me.
Thankyou:
friedrich420
Slim80
Tkkg1994
flar2
osm0sis
alesaiko
HybridMax
Kushan
Alucard24
Ausdim
Ktoonsez
neobuddy89
javelinanddart
Andreilux
theHacker911
UpInTheAir
Pafcholini
Placiano
Dorimanx
faux123 (seriously like the godfather of s4 kernel hax)
jcadduono
FransiscoFranco
Cyanogen
Meticulus
Eliminator74
Matthew-333 (moonshine kernel)
klabit87
apbaxel
yank555
ion-storm
yseras
PDesireAudio
lsswizard
arter97
Grarek
mrg666
showp1984
gsstudios
Lord Boeffla (andip)
Chainfire
TeamTrickster
tommygreenus
Andycar (For being the best bloody coding buddy I could ask for)
The Machinex Testing Team! - AMAZING folks, just amazing.
My Awesome Testers from this thread.
Again, I'm sure there's tons more.
On to the fun part then
INSTALLATION INSTRUCTIONS:More importantly, the uninstallation instructions. The install pretty much takes care of itself.
There are two links below that you must download in order to safely have an install/uninstall solution for this kernel. The one labelled "machinex-MarkOneHundred.zip" is the kernel. UPDATE: Busybox On Rails isn't required anymore. The second zip is crucial for uninstalling, aptly named "machinex-uninstaller-Jan12.zip." When this kernel is installed (and everytime it boots), it will rename mpdecision, thermald, thermal-engine, and power.default.so with an appended "-bak" suffix, because they all interfere with the updated power/cpu code in the kernel. If you switch to a different kernel, I INSIST that you flash the uninstaller (or take a look at the scripts yourself and do the stuff manually). ATTENTION: SLIM80'S KERNEL CLEANING SCRIPT IS NO LONGER NECESSARY WHEN FLASHING THIS KERNEL!!!!!! I HAVE INTEGRATED MY OWN CLEANUP PROCESS IN THE INSTALLER!!!!!!!!!!
TLDR: NO NEED FOR BUSYBOX ON RAILS, flash zip. use uninstaller zip to uninstall.
DOWNLOADS:
!!!JANUARY 12, 2017:UPDATE!! NEW UNINSTALLER for EVERY VERSION!!!!
DO NOT MIRROR THESE ELSEWHERE. DO NOT INCLUDE THEM IN YOUR ROM WITHOUT ASKING MY PERMISSION FIRST. I AM HAPPY TO COLLABORATE, NOT TO BE ON THE RECEIVING END OF BUG REPORTS CAUSED BY THIRD PARTY DOWNLOADERS.
UNINSTALLER-JAN12: https://www.androidfilehost.com/?fid=385035244224412313
md5: 295ac70bbb17ad2e5dc59e4ca1288e79
MarkOneHundred
INSTALLER: https://www.androidfilehost.com/?fid=745849072291685412
md5: 03af9cfc399d3eda3141254291668563
SOURCE: https://www.github.com/robcore/machinex
(be gentle on my ridiculous commit history, my git skills are shoddy at best).
So keep in mind this a development thread, blah blah blah, but if we all have good discussions (let's TRY to keep it on topic), I'm more than happy to have some fellow nerd friends to talk about my passion with. Heck, I want to use this thread as a chance to meet some other developers who wanna work on stuff together, exchange ideas, learn, and teach me how to get better at git.
Enjoy!
XDA:DevDB Information
Machinex, Kernel for the Samsung Galaxy S4
Contributors
robcore
Source Code: https://www.github.com/robcore/machinex
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: MarkOneHundred
Stable Release Date: 2017-10-31
Created 2016-09-05
Last Updated 2017-10-31
Reserved
UPDATES NOTICE:
Reset your fuelguage (in Synapse) after every install! WIping your cache and dalvik-cache can be helpful for stubborn apps, as well as wiping the cache of any specific app giving you trouble!
-------------------------------------------------------------------------
UPDATES - MarkOneHundred - October 31, 2017
CHANGELOG:
- Updated memory management to roughly linux 4.4.
- Modified Cpufreq in various ways. Per-Cpu frequency touchboost, per-cpu thermal core tracking and limiting, and governors can now be changed if a cpu core is offline. The governor selected will be applied to the core once it comes back online.
- Implemented Omniboost, a generic touchboost interface that can be used for any driver, so long as driver has an external function that the booster can use.
- Built a new hotplug driver from scratch, mx_hotplug. The driver chooses to on/offline cores based on a combination of system load and current number of scheduler requests (and touch of course). What separates this hotplug driver from others is that it uses a real-time kthread in order to give it an "interactive" type calculation.
- Speaking of which, found and fixed the issues with google's most recent interactive governor, and have added it back. Due to it working perfectly now, I forward-ported Intelliactive as well.
- Updated Hardplug to be more efficient.
- Built a little userspace hotplug driver from scratch for those who just need manual core adjustments.
- Tons of other little fixes and updates, to the kernel itself and to Synapse. Please explore around Synapse for some of the updated features.
- Found and fixed any of the user reported bugs i could.
- Continued with the various core updates to 4.14.
- Updated to my own toolchain, 7.1.1 hardfloat, cortex-A15 optimized (it is similiar enough to krait to give us an edge).
- I will update this if i think of anything else.
Sticky: Kernel base is now pretty much somewhere between 3.16-3.18, however I will keep the versioning at 3.4 for certain functions that depend on kernel_version conditionals. Wifi hotspot disconnect issue still persists, but i'd like to think that one day it will be solved...
Can be found in MachineX Rom by the awesome @Andycar found here: https://forum.xda-developers.com/ga...m-machinex-debloated-nogapps-s6-apps-t3573009
See my poorly formatted wiki for older updates:
https://github.com/robcore/machinex/wiki
-----------------------------------------------------------------------
LOGS
In Synapse, under 'LOGS AND PROFILES,' you will find a button that says ALL LOGS. Please press this button IMMEDIATELY after a bug appears that you would like to report, or after a boot if you get a kernel panic (RR).
From now on, without these logs present, I am no longer able to respond to the issues brought up by users.
FIXES
The following fixes involve sqlite and the "Setting Storage" application, also known as Settings Provider, or "com.android.providers.settings package" You will be working with a file named settings.db, and the 'system' table within.
Synapse Cancelled Fix: Get rid of the init.d scripts that are conflicting with UCI service startup. Also check the SuperSU section below...
Sound Fix: Either don't use an audio mod, or don't use Faux Sound Engine. That's all she wrote.
ScreenFlickerFix: Using an SQLITE DB Editor of your choice (from playstore), navigate to the "system" table and change values for "dim_screen" and "intelligent_screen_mode" to 0. *UPDATE* NOW AVAILABLE IN SYNAPSE UNDER THE "EXTRAS TAB"
ChargingTweak: Same as above but change "adaptive_fast_charging" to 0. This is only IF you are having issues which kernel driver-level fast charge. *UPDATE* NOW AVAILABLE IN SYNAPSE UNDER THE "EXTRAS TAB"
MASSIVE THANKYOU to @Andycar for making the above two fixes possible via Synapse!
SuperSU: I'm seeing a lot of permisison errors. Make sure, when using custom roms and kernels, that SuperSU is set to be as permissive as possible so you don't get knox blocked. Here are the crucial settings:
- ENABLE SU during boot
- DISABLE (untick) Mount namespaces separation
- Install SuperSU into /system
- ENABLE Trust System User
- Though I know many have security issues with the idea of allowing apps by default, doing so will make your experience way faster and provide you with less interuptions. At the very least I would set allow by default for Synapse.
These SU settings are kinda par for the course when it comes to android modding.
build.prop: Here is a list of property removals/changes recommended for our device:
REMOVE(lines containing):
ANYTHING with "fps/FPS" in it.
persist.sys.NV_FPSLIMIT
persist.sys.NV_POWERMODE
persist.sys.NV_PROFVER
persist.sys.NV_STEREOCTR
persist.sys.NV_STEREOSEPCHG
persist.sys.NV_STEREOSEP
persist.af.resampler.quality
af.resample
persist.af.resample
ro.telephony.default_network
telephony.lteOnCdmaDevice
dalvik.vm.dexopt-flags
ro.media.enc.jpeg.quality
ro.media.enc.hprof.vid.fps
ro.ril.power_collapse
ro.ril.sensor.sleep.control
pm.sleep_mode
power.saving.mode
persist.cust.tel.eons
persist.sys.dalvik.hyperthreading
boot.fps
shutdown.fps
debug.egl.profiler
hw2d.force
hw3d.force
video.accelerate.hw
debug.mdpcomp.maxlayer
debug.egl.buffercount
debug.enabletr
ro.hwui.renderer.disable_opaque
persist.sys.media.use-awesome (this is default anyway, and is controlled via the nuplayer checkbox in developer settings, so it's unneccesary)
CHANGE:
persist.sys.storage_preload=0 to persist.sys.storage_preload=1
tunnel.decode=false to tunnel.decode=true
af.resampler.quality=4 (or anything else) to af.resampler.quality=255
ro.config.dha_ils_enable=false to ro.config.dha_ils_enable=true
#ro.config.dha_cached_max=4 (remove the #)
#ro.config.dha_empty_max=36 (remove the #)
#ro.config.dha_lmk_scale=0.594 (remove the #)
sys.config.samp_spcm_enable=false to sys.config.samp_spcm_enable=true
sys.config.spcm_preload_enable=false to sys.config.spcm_preload_enable=true
ro.security.mdpp.ux=Disabled to ro.security.mdpp.ux=Enabled
For those having gaming issues, try removing them if you have them or adding them if you don't:
debug.performance.tuning=1
persist.sys.ui.hw=1
This might solve some issues for some folks.
---------------------------------------------------------------------------
INSTALLATION NOTE: Your first boot will probably take longer than usual, because this kernel makes significant (but safe, and auto-backed-up) changes to your core operating system.
This kernel includes drivers that TW has been compatible with since JB (I checked),
but didn't update the kernel drivers for (the best example of this is Autosleep). That said, there are userspace controllers like thermald and mpdecision (a binary linked to kernel code)
that interfere with custom governors, hotplug drivers, etc, so I've made the decision to back them up in the kernel script, and have them disabled while using this kernel.
The UNINSTALLER restores everything to the state it was in before flashing machinex, which is why I so strongly emphasize its use.
PERFORMANCE AND POWER-SAVING
Regarding the age-old performance/battery-life settings questions floating around, I'm gonna go ahead and suggest the following website created by a very dedicated fella who started out with the exact line of questioning, and built a genius guide for users of custom kernels. Heck, it's useful for developers too.
His username here is @gsstudios and he is a recognized developer here on XDA. Deserves it too
http://androidmodguide.blogspot.ca/
and on XDA:
http://forum.xda-developers.com/general/general/ref-to-date-guide-cpu-governors-o-t3048957
I encourage you to rate that thread 5 stars, as it is the most comprehensive guide to kernel tunables you ever did see.
Note that I *probably* don't incorporate feature requests, as I have enough on my plate with bringing up the subsystems to a point where I can call this a stable release thread. Don't like it? YOU try backporting linux 3.9 scheduling code to a Samsung 3.4 base
On that note, if anyone here is savvy regarding kernel, C and (not "or") git development, I welcome coding partners because working with a team means better quality, better time management, and a better chance of incorporating fancy tweaks.
Cheers.
SYNAPSE:
Synapse has a default "warning" that comes up the first time you open it.
{
"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"
}
The initial warning is just a bug in the app because it's just been installed.
It's a design flaw in the app itself.
Synapse bases its stability check on whether the device is rebooted within 2 mins of being turned on.
Synapse does this on first boot for every single kernel that uses it,
because it has no previous internal boot settings to base its decision on,
and also because the app expects saved defaults when none have been established yet.
It is nothing to worry about.
Untick the option in settings called "stability check" going forward.
Breathe.
Does it work?
I'm on imperium kernel on Thor s7 rom, I was wondering if your kernel works with m919, tmo gs4, I was looking forward to trying out your rom.
Thank you
-jeff
Hey Jeff,
The answer is...maybe/probably. I know that's probably not what you want to hear, but let me explain.
My device is actually an i337m (which is why i included it in the thread title), but I've been using the international kernels and roms without *major* issues ever since I've owned it. This is built from international sources, and it is running well on Albe's awesome 9.0 rom, so I imagine it will perform well for the ported/upgraded roms for our phones.
So if you've been using the international roms/kernels without problems, I see no reason why this wouldn't work for you other than the bugs/current issues listed in the op.
Sent from my GT-I9505 using XDA Forums
Can you create kernel for cm 13?
Wysłane z mojego GT-I9505 przy użyciu Tapatalka
Welcome to s4 community Bro.
Congratulations . Downloading. ......
Sounds nice bro, good Job! Try this Kernel later as soon as possible on my GT-I9505 with THOR S7 v1.5!
Sent from my SM-G935F using XDA-Developers mobile app
r2089 said:
Can you create kernel for cm 13?
Wysłane z mojego GT-I9505 przy użyciu Tapatalka
Click to expand...
Click to collapse
Sorry man, but CM is not on my list of priorities.
NAROUTO said:
Welcome to s4 community Bro.
Congratulations . Downloading. ......
Click to expand...
Click to collapse
Thanks! Though I've been around here for a while
xell75 said:
Sounds nice bro, good Job! Try this Kernel later as soon as possible on my GT-I9505 with THOR S7 v1.5!
Sent from my SM-G935F using XDA-Developers mobile app
Click to expand...
Click to collapse
Thanks! I hope you enjoy!
Everyone who uses this, feel free to provide feedback to help me assess what's needed for MarkTwo!
@robcore.
Im gonna try this to imperium rom v15.
So what is the best settings for more battery life ?
Playing clash of clans a few times a day browsing tapatalk and using youtube all day.
I want my device to run cool. Lol
Update:
Got a random reboot from the first initial setup.
==========
Will let it run for a couple of days with the preset default settings.
I will use my old 2600mah for now and later on swap my 7500mah once i get some good battery stats.
droidblitz said:
@robcore.
Im gonna try this to imperium rom v15.
So what is the best settings for more battery life ?
Playing clash of clans a few times a day browsing tapatalk and using youtube all day.
I want my device to run cool. Lol
Update:
Got a random reboot from the first initial setup.
Click to expand...
Click to collapse
Msm sleeper is a pretty sold hotplug for battery. I've noticed power efficient workqueues tend to slow things down/eat battery. Honestly I would try out msm sleeper for battery savings. Just note that games+youtube by design will eat into battery life. I will add some more power conscious governors soon. Also the usual stuff, the power your screen brightness the better, and turning off vibration/haptic will help.
robcore said:
Everyone who uses this, feel free to provide feedback to help me assess what's needed for MarkTwo!
Click to expand...
Click to collapse
I'm using this Kernel now on my GT-I9505 with THOR S7 v1.5 and so far a stable Kernel for me, many settings and alot settings I had never seen before as I like, very good! Just one thing til yet, Trying to set "Hellsactive" as CPU governor causes a freeze and a full reboot. Otherwise Kernel seems stable, using "Stockdemand" CPU Governor now. Keep going your work!
Sent from my SM-G935F using XDA-Developers mobile app
xell75 said:
I'm using this Kernel now on my GT-I9505 with THOR S7 v1.5 and so far a stable Kernel for me, many settings and alot settings I had never seen before as I like, very good! Just one thing til yet, Trying to set "Hellsactive" as CPU governor causes a freeze and a full reboot. Otherwise Kernel seems stable, using "Stockdemand" CPU Governor now. Keep going your work!
Click to expand...
Click to collapse
You know what, the interactive-based governors gave me trouble for the longest time. But I have found the issues in a great patchset, and am working on a fix that should be ready in a couple of hours. Until then EVERYONE STICK TO ONDEMAND-BASED GOVS!!!!
droidblitz said:
@robcore.
Im gonna try this to imperium rom v15.
So what is the best settings for more battery life ?
Playing clash of clans a few times a day browsing tapatalk and using youtube all day.
I want my device to run cool. Lol
Update:
Got a random reboot from the first initial setup.
==========
Will let it run for a couple of days with the preset default settings.
I will use my old 2600mah for now and later on swap my 7500mah once i get some good battery stats.
Click to expand...
Click to collapse
I'm guessing interactive based gov? If so, see my post above, MarkTwo is coming tonight.
robcore said:
You know what, the interactive-based governors gave me trouble for the longest time. But I have found the issues in a great patchset, and am working on a fix that should be ready in a couple of hours. Until then EVERYONE STICK TO ONDEMAND-BASED GOVS!!!!
Click to expand...
Click to collapse
Nice mate that's ok, thanks for the information! I'm looking forward for your new version!
Sent from my SM-G935F using XDA-Developers mobile app
xell75 said:
Nice mate that's ok, thanks for the information! I'm looking forward for your new version!
Click to expand...
Click to collapse
Dude thank YOU. I can't tell you how much I appreciate you and the others for testing this out and helping me iron out the remaining bugs, and being so understanding that "interactive based govs are broken" which is super embarrassing. Lol.
droidblitz said:
@robcore.
Im gonna try this to imperium rom v15.
So what is the best settings for more battery life ?
Playing clash of clans a few times a day browsing tapatalk and using youtube all day.
I want my device to run cool. Lol
Update:
Got a random reboot from the first initial setup.
==========
Will let it run for a couple of days with the preset default settings.
I will use my old 2600mah for now and later on swap my 7500mah once i get some good battery stats.
Click to expand...
Click to collapse
Update: simple gpu gov is snappy at stock settings and sooooo much better for battery consumption.
Also if memory serves me correctly, aren't you a cm kinda guy ; )
robcore said:
I'm guessing interactive based gov? If so, see my post above, MarkTwo is coming tonight.
Click to expand...
Click to collapse
Nope havent touched anything
There was a failed message when i booted the synapse app.
Something link kernel image failed but not sure should have taken a screencapture and the log.
Either way its working now.
robcore said:
Update: simple gpu gov is snappy at stock settings and sooooo much better for battery consumption.
Also if memory serves me correctly, aren't you a cm kinda guy ; )
Click to expand...
Click to collapse
More into like AOSP rom but had to use Tw for camera/video
I just noticed something.
My display colors somewhat changed? I think in a good way. Lol
simple gpu gov in marktwo?
droidblitz said:
Nope havent touched anything
There was a failed message when i booted the synapse app.
Something link kernel image failed but not sure should have taken a screencapture and the log.
Either way its working now.
More into like AOSP rom but had to use Tw for camera/video
I just noticed something.
My display colors somewhat changed? I think in a good way. Lol
simple gpu gov in marktwo?
Click to expand...
Click to collapse
Well it's great to see you here man! Lol with screen colour I made some fixes and changes to sammy's mdnie code. Upon checking the code against their roms, it turns out they've never bothered to fix discrepancies between the values in settings and the driver itself! "Standard" and "dynamic" have been switched this whole time. Also "auto" has been a placebo all along, they have had the backend in place all along but never initialized it in the list of available screen modes. On that note, for even cooler stuff check out the "video_mode" scenario in synapse. It's AWFUL for battery life, but sharpens everything to a crisp. I'm pretty sure kcal helped with color too(?).
As for simple gpu gov, works just fine on MarkOne! Franco's simplification to it made it a freakin' powerhouse while being better for battery somehow.
Building MarkTwo as we speak, then I'll test it and it's out! I'm working on the gov settings in synapse while building too. The tunable settings are ticking me off.