[kernel] tweaks and trix - Galaxy S I9000 Android Development

I make this tread to show developer/user different tweak and trix in the kernel.
The goal is to make the developer/user an easy source to choose from what they want in the kernel.
Just to get the perfect kernel for them
When you post a tweak, do explain exactly what it is and what is does.
Sent from GT-I9000 jpo. My own kernel for z4mod and with 342MB Ram

Reserving it for future use
Sent from GT-I9000 jpo. My own kernel for z4mod and with 342MB Ram

DamianGto said:
I make this tread to show developer/user different tweak and trix in the kernel.
The goal is to make the developer/user an easy source to choose from what they want in the kernel.
Just to get the perfect kernel for them
When you post a tweak, do explain exactly what it is and what is does.
Sent from GT-I9000 jpo. My own kernel for z4mod and with 342MB Ram
Click to expand...
Click to collapse
Maybe if you added your tweaks/script first others would join.

That's a great idea !!
well, I'm new to the Galaxy S (got mine a month ago!), but I was a Hero developer back then.
in my kernel fork I used some small tweaks like:
1- bigger steps between CPU frequencies like in line 187:
https://github.com/maxo/HeRo-2.6.29-GoDmOdE/blob/master/arch/arm/mach-msm/acpuclock-arm11.c
I read that in a Linux forum, "I dont remember where". on my laptop Ubuntu is doing the same thing, here is the content of /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies:
1733000 1333000 1067000 800000
Click to expand...
Click to collapse
in benchmarks it resulted in a liiiitle bit more numbers, but mainly it kept my ROM's quite smooth.
2- another thing is Voltage control. you can see from the table from line 128 to 160, that frequencies up to 710400 uses VDD_6 which is 1.2 Volts instead of VDD_7 which is 1.325 Volts.
I got this from a professor in our University, where I explained that we are overclocking the CPU.
he answered that higher frequencies doesn't mean the CPU needs more Voltage.
I tried that and found the same performance, with more battery life, and less overheating while heavy testing.
that's mostly it .. I don't think Samsung's kernel is any different. but I hope this helps all developers somehow.

PAGOT said:
Maybe if you added your tweaks/script first others would join.
Click to expand...
Click to collapse
Yea, I think the OP should post some of the tweaks first.

I suggest to start with how to dump a zImage and make a working initramfs and so on...

I did think it was a great idea. But I don't thinks so now.
We all do different things and focus on different stuff.
It would also take alot of time to do it.
And if you are a developer then you find the tweaks anyway.
Some stuff do we all use.
Also most of the things is on the first post on every kernel tread.
To unpack the zImage I use my z4mod system and use the program z4ziggy and RyanZA did.
But this tools need to be compiled before you can use them. But I don't remember how right now.
**DamianGTO ultimate kernel v1.3 * 600Hz * 346MB RAM * OC/UV * 1280MHZ**

Related

Leankernel: ( JB4.2 - 7.1, JB4.3 - 8.3 - , KK 9.0 beta 11/25)

Ok guys i have got permission to bring over lean kernel and offer support for it on xda. I will keep this post up todate with all the most recent kernel updates and news. All credit goes to imoseyon as the original op and rootzwiki for original posting. I am posting this with full permission and support from imoseyon
Mod Type:: Kernel
Difficulty:: Very Easy
Mod Status:: Stable
Apply In:: CWM Recovery
Requires Root:: Yes
Exp builds are also up and includes a bunch of Android/OMAP updates not in stable.
SOURCE:
ICS
JB
This is a minimalistic Galaxy Nexus kernel. My philosophy is to keep the kernel as lean and stable as possible, at the same time to keep the kernel as modern and close to latest mainstream linux as possible. You will see that my kernels will lack some of the bells and whistles from other kernels.
sorry host4droid is still down. Mirrors:
kk4.4 LK 9.0 beta (use at ur own risk)
JB4.3 [ stable builds | exp builds ] [ change log | exp changes ]
JB4.2:Stable
Stock JRN84D kernel
Terminal Emulator not finding scripts? Read this post.
CHANGE LOG JB 4.2
FEATURES
Patched to latest in Linux 3.0.x branch.
All unnecessary kernel components removed to make kernel lean and fast!
OC to 1.65ghz. Boot speed is maxed at 1.2ghz within kernel (in addition to ramdisk) for stability.
User voltage control
InteractiveX V2 (screen-off hotplug of cpu1) added. Select it using setcpu if you want to use it.
Ramdisk tweaks (sysctl, vm, filesystem speed, etc.)
SWAP & zram (next generation compcache) support. Run "zram enable" in terminal.
init.d support in ramdisk.
lk.conf for basic kernel configuration.
HotplugX governor (Hotplug optimized and modified for screen-off suspend).
wakelock tweaks for wlan and lte modem
lkflash - script to flash latest versions of leanKernel from Terminal (type "su" without quotes, hit enter, then type "lkflash" without quotes and then hit enter)
checkv - voltage checking script (for custom undervolting) - detailed at bottom of this post.
checkt - script that displays 1) your current temp, 2) # of times you were throttled due to temp "recently", 3) CPU trim type, and 4) CPU silicon type, etc.
Fast USB charge (by chad0982) and "ffc" toggle script by me. (Open terminal, and type "ffc" without quotes then enter)
ColorControl from both CM9 and Ezekeel (compatible with all ROMs). Helpful posts: 1and 2.
TempControl - sysfs interface to control the CPU temp threshold. Read these two posts: 1 and 2.
Variable GPU OC - sysfs interface to select GPU max speed between 307MHz (stock), 384MHz and 512Mhz. The changes take effect immediately. Check FAQ for more info and how to use it.
Custom SR Tuning - override kernel default minimum voltage for SR calibration.
SoundControl
Gamma Control
ROW scheduler v4
DIRECTIONS
Uh.... flash the zip in clockworkmod.
Thanks to forum member maddler for providing file hosting
FAQ
How do i change voltage? - Use the latest version of setcpu, leantweaks, cputuner, or your ROM's built-in tools.
Do i need to wipe dalvik/cache? - in general there's no need, but it doesn't hurt so if you have time go ahead. Posted Image I don't wipe.
​Can we OC higher or add more frequency slots? - You can find the extra slots in my experimental versions.
​Will this work on GSM gnexus as well? - It should. I don't have a GSM phone to test so let me know if it stops working.
What is interactiveX V2? Read this post and thttp://rootzwiki.com/topic/13092-kernel-leankernel-minimalistic-kernel-120-123111/page__view__findpost__p__342571
Are you getting Screen-Off/Sleep-Of Death (SOD), general instability, or unusual battery drain?
Before you post here (especially if you're running the experimental version), try the following steps in order:
0) dude, disable screen-off profiles if you're running interactiveX.
1) If you're running the experimental version, do you have 180mhz/230mhz and/or 1.42ghz slots enabled? If so disable them both!
2) If the above doesn't help, do you have custom undervolting enabled? If so disable it! (keep in mind that the kernel is already undervolted by default).
3) If the above doesn't help, are you using interactiveX or hotplug governors? If so change to interactive.
4) If the above doesn't help then you should not be running the experimental version. Install the stable version and try both interactiveX and interactive without custom undervolting.
If you're still getting SOD with stable/interactive, report it here.
What about call-recording? - First the app needs to support Galaxy Nexus. Find out if it does and then find out from the author of the app what kernel changes are required and let me know.
Should i set up screen-off profile? - ICS kernels have built-in screen-off profile for all governors at 700mhz. So you don't need it unless you want to set it lower than 700mhz. In general there isn't a whole lot to gain by setting it lower.
Hotplug vs interactiveX? - Read this post. HotplugX vs interactiveX
What is zram and why do i need it?
zram basically takes a portion of your RAM (10% using my script) and turns it into a compressed swap device. So in layman's terms you're extending the size of your memory (potentially from ~700mb to close to 1000mb depending on the compression ratio).
To answer the 2nd question, no you don't really need it but if used properly (using custom LK zram script) it could help you in two different ways:
1) Android OS is based on Linux OS and the OS will try to use a growing portion of your RAM for file and inode caches and if you keep your phone up without rebooting after a while you may notice things getting a little sluggish. That's because the OS is not doing a good job in dropping the caches and freeing up memory for the apps.
2) more RAM and tweaked minfree (also handled by custom LK script) could potentially allow your apps to stay in memory longer (this may or may not be desirable based on your preference of course).
In conclusion, I'd say if you're curious it doesn't hurt to try. To revert, just type "zram disable".
What's the low-down on the GPU OC?
My kernel's GPU is now set to stock 307Mhz by default. You can adjust that by using Variable GPU OC (see a separate FAQ entry below).
When you go from say 307 to 512Mhz, you will not experience near double performance increase. Due to the factors outside the GPU module (ie. memory bandwidth limitation), you can't truly OC the GPU. In fact, most people can't tell the difference between 307, 384 and 512. Nenamark2 will roughly give you the following scores: 307/25fps, 384/28fps, and 512/31fps.
Some of you have seen the note from Colin, the Google kernel engineer, not to OC the GPU because using the OV_UV voltage slot will drain the battery. My kernel uses the same voltage for both OV and OV_UV slots. So there's no danger of battery drain there.
Why are the IO benchmark test scores lower than another kernel?
Some of the kernels out there have fsync disabled to increase benchmark scores. I believe that is unsafe and could cause data corruption. I do have hooks in my kernel to disable it but I don't use it.
In real world there will not be any user perceivable difference whether you have fsync enabled or disabled.
Is there a way to tune hotplug via sysfs?
yes. Advanced users only!
My phone doesn't seem to be deep-sleeping, what gives?
(assuming you checked in the right place like cpuspy) In terms of deep-sleep, there's not a whole lot going on in the kernel. It works or it doesn't - and I can assure you that I test every release (well almost every release) for deep-sleep before I release.
19 out of 20 times it's either 1) some sort of background process that's preventing your phone from going into deepsleep, or 2) something's misconfigured in your ROM, or both. Also connecting to USB will prevent phone from going into deepsleep.
I'm having unusual battery drain - help!
First of all, our gnex has very poor battery life while in active use. It's downright horrible while screen is on - screen is definitely the main culprit and there's not a whole lot I can do about that.
Custom undervolting can help or can hurt. This is mainly due to SmartReflex (class1.5) which auto-calibrates the ideal voltages for you. In fact, with SR you don't really need to use the custom undervolting feature for frequencies other than the 2 lowest. It does a great job calibrating higher frequencies. I personally don't touch it.
The "notrim" versions are an exception because I had to disable SR1.5 for the trim override to work. There's no auto-calibration going on there. Feel free to mess with custom undervolting on the notrim versions.
Now, if you've already accepted the horrible battery life while screen is on, but have questions about battery drain while idle - read the next question.
I'm having unusual battery drain while screen is off, or phone is sleeping - help!
First, let's find out if you're phone is going into deep-sleep. Install CPUSpy, unplug phone, turn off screen, and leave the phone alone for 5-10min. Turn the screen back on, launch CPUSpy, and see if you see an active entry for Deep Sleep. If so congratulations - read on.
If you've determined that your phone is not entering deepsleep by using the above method, read my entry above that says "My phone doesn't seem to be deep-sleeping". I've heard that removing SDM.apk helps as well as rebooting the phone. Also try turning your bluetooth on and off, and launching camera app and closing it.
If you've determined that your phone is entering deepsleep fine but still feel like battery drains, read the next question.
I'm having unusual battery drain while phone is in deep-sleep - help!
First make sure you are absolutely positive that deep sleep is working (read the previous question).
While on my kernel *and* connected to Wifi, you shouldn't drain more than 1% battery per hour *average* while in deep sleep (based on 5-8 hour continuous deep sleep). With wifi turned-off, my guess is probably no more than 1-3% per hour, depending on signal strength.
tip 1: If above is not happening for you, first charge the phone all the way and reboot. Let things settle a bit - give it a day or so. If you're using Battery Monitor Widget (which is not accurate for gnex), things should eventually settle between -2mA and -60mA per sample.
tip 2: Install BetterBatteryStats and look at which wakelocks dominate. Google search for names of the wakelocks to see how you can fix them.
tip 3: http://checkthis.com/d87t
If nothing seems to help, you can try the "notrim" version, but stick to speeds between 350 and 1350 (don't use OC slots). The notrim version has SR1.5 disabled which could help for those of you with drain issues on my other kernels.
What is tempcontrol and how do I use it?
First, read these two posts: 1 and 2.
Although tempcontrol was designed to be used with the experimental notrim builds because the cpu gets hotter in notrim frequencies, you can actually use tempcontrol to throttle lower frequencies. I haven't tried myself, but theoretically you can set your top speed at say 1.2Ghz and use tempcontrol to throttle at say 60C (instead of the stock value of 63C) resulting in slightly cooler phone. Theoretically.
What is SmartReflex?
SmartReflex performs continuous dynamic voltage scaling around the nominal operating point voltage according to silicon characteristics and operating conditions.
My stable and experimental builds will have SR Class 1.5 enabled by default.
You can disable SR via sysfs
How do I use Variable GPU OC?
You can use Lean Tweaks by Jake, or use the built-in "oc" script. Both leantweaks and my oc script will create an init.d script so the setting sticks at boot. My "checkt" script will also show the current GPU max speed. Note that 512MHz will probably not work for everyone.
307Mhz (stock) is set default by the kernel.
Open Terminal, and type for stock speed of 307Mhz: oc gpu 0
for 384MHz: oc gpu 1
for 512Mhz: oc gpu 2
What are the available sysfs options?
Check this post (thx byrong)
Which governor should I use on JB?
As usual I'd recommend trying all the governors and see which one works best for you. Stock JB, however, is optimized for interactive. The OS will automatically modify various interactive governor parameters on the fly while you're using the phone as part of "project butter". Namely, the following parameters are constantly adjusted by the OS: boostpulse, timer_rate, min_sample_time, hispeed_freq, go_hispeed_load, and above_hispeed_delay.
I hope this helps people if there is any other information you might want added just ask and i will do my best to come up with a comprehensive guide.
Donate to your favorite charity, or donate to imoseyon.
Did you ask Imoseyon before you posted this?
Thanks for bringing the thread over to XDA. Hopefully you got the necessary permissions, for the sake a peaceful thread. Its good to have most developments of the GNEX here and I finger tip away.
Sent from my Galaxy Nexus using xda premium
I've heard a lot about this kernel!
yes this is with his permisson
ajf64 said:
No i didn't ask him but i did put all due credits in it and it is in every other gnex forum but the sprint one all brought over by other people so if he has a problem with this he can feel free to pm me and i will get it removed i just figured it give us some easier access to his great kernel. In no way am i claiming this to be my work all support should be directed at the original thread op. I was just trying to make access to his kernel a bit easier for all xda users
Click to expand...
Click to collapse
That's all hunky dory but just doing things without asking the developer is just not right. Regardless if he has an issue or not. Its like you make something you work diligently on and then somebody just posts it somewhere else.
I dunno maybe its just me but its just common courtesy.
Sent From My Toro+ via SkyBlue Tapatalk
Thanks op.
#inb4close
#ReOpened
Sent from my Galaxy Nexus using Tapatalk 2
all fixed
ajf64 said:
well then sorry for posting it will a mod please delete this thread before it becomes a flame pit
Click to expand...
Click to collapse
Doesnt need to be deleted.. if just ask him if its alright.. thats fine enough
ÜBER™ said:
Doesnt need to be deleted.. if just ask him if its alright.. thats fine enough
Click to expand...
Click to collapse
Why do you always ruin the flaming? With your...good nature...and your rap music.
Thanks for linking. You can still ask dev for permission but I get what you're trying to do. I prefer xda since this is where I have gotten help with every phone since my nexus 1.
Sent from my Galaxy Nexus using XDA Premium HD app
Well i have gotten permission to post this from imoseyon and to keep this thread updated on xda sprint forums for him so it looks like we are all set he got back to me alot faster then i thought he would so every thing should be all good guys
and yes jayare313 i am so used to finding every thing i need on xda some times it s a pain having to check 3 or 4 sites to see if any of your mods for your rom are updated
Sorry. 3 issues here:
1) I need to verify permission from the developer and he needs to verify that he is going to support it here. If someone downloads it, flashes it, and somethings wrong.......who is going to give answers and support it? We have an active community who can help, sure, but the developer has to actively support it here. If he were ready to give support here, he would have posted it here already. And even then it would have to go in general unless he started the thread.
2) There is no source provided in the OP. Kernels must be GPL compliant and listed in the OP.
3) If you did not create it, do not post it in the development section.
Alrighty. Everything should be good now. I'll be keeping an eye out.
OP will be updated soon, with source and I've spoken to the developer.
Thank you guys.
---Jay--- From the GNex
Well, I will say I like having this thread here. So thanks to the op.
Sent from my Galaxy Nexus using Tapatalk 2
I will be updating the thread when i get home today and be offering any support you guys may need for this kernel
MichaelMcEntire said:
Well, I will say I like having this thread here. So thanks to the op.
Sent from my Galaxy Nexus using Tapatalk 2
Click to expand...
Click to collapse
I totally agree. Thanks to OP for the thread and imoseyon for the kernel
Sent from my Galaxy Nexus using xda premium
Np guys any time and if there is any thing i can help with just ask i plan to provide full support for this kernel. Also if there are things you wish to have added feel free to post them as well i have permission to compile my own versions of lean kernel with cherry picked features from his repository and to add features to it. I look forward to your feedback.
is 4.2 jb cm10 compatible
twoeleven99 said:
is 4.2 jb cm10 compatible
Click to expand...
Click to collapse
Yes
Sent from my Galaxy Nexus using xda app-developers app

Request: Enable OC/UV-support for CM9-kernel

Hi all,
would someone else be interested in a OC/UV-enabled version of arco's kernel for CM9?
I know there are already some out, but they seem to contain tons of other modifications - as a result, they all run very unstable.
As far as i now, OC/UV support can be enabled relatively simple, by adding entry to the frequency and voltage tables. When i remember right, those are hardcoded directly in the kernel.
So this would combine the stability of arco's kernel with the possibility to overclock/undervolt, if needed.
Thanks for any comments or suggestions, maybe some has already some experience (and interest)in this area and could work on this.
Greets
XR-7 said:
Hi all,
would someone else be interested in a OC/UV-enabled version of arco's kernel for CM9?
I know there are already some out, but they seem to contain tons of other modifications - as a result, they all run very unstable.
As far as i now, OC/UV support can be enabled relatively simple, by adding entry to the frequency and voltage tables. When i remember right, those are hardcoded directly in the kernel.
So this would combine the stability of arco's kernel with the possibility to overclock/undervolt, if needed.
Thanks for any comments or suggestions, maybe some has already some experience (and interest)in this area and could work on this.
Greets
Click to expand...
Click to collapse
if i'm not mistaken (almost) all of kernel present in this dev section based on arco's source, so if there's something that make the kernel unstable it is maybe caused by the tweak made by the kernel builder not sources itself (assuming u are talking about 2.6 kernel)
kindly correct me if im wrong
Sent from my GT-I8150
hadidjapri said:
if i'm not mistaken (almost) all of kernel present in this dev section based on arco's source, so if there's something that make the kernel unstable it is maybe caused by the tweak made by the kernel builder not sources itself (assuming u are talking about 2.6 kernel)
kindly correct me if im wrong
Sent from my GT-I8150
Click to expand...
Click to collapse
you'r right,
oc/uv it's not simple just adjusting the clock and tables. it will affect to other part. so other tweaks is required.
if you want try to compile you own mod, you can grab arco's kernel from his git.
I strong suggest trying out CastagnaIT Kernel. It's very stable, and the additions he had done all make sense.
-- xda app / Pristine NoMod CM9b3 / CastagnaIT Kernel / DXKL1 baseband / Samsung GT-I8150 --
pepoluan said:
I strong suggest trying out CastagnaIT Kernel. It's very stable, and the additions he had done all make sense.
-- xda app / Pristine NoMod CM9b3 / CastagnaIT Kernel / DXKL1 baseband / Samsung GT-I8150 --
Click to expand...
Click to collapse
i have tried all kernels versions with a very attention to every small detail inside all of them.... they all suck except V1 by forfivo .....i really respect him because of the smooth and stability of V1 he even included V1 with a minimum 122mhz frequency as an under voltage extra option in the CPU frequency section which of course saves the battery's life ,and i wonder why he didn't go for add the 66mhz too!
so i give him A :good:
vetusa2 said:
i have tried all kernels versions with a very attention to every small detail inside all of them.... they all suck except V1 by forfivo .....i really respect him because of the smooth and stability of V1 he even included V1 with a minimum 122mhz frequency as an under voltage extra option in the CPU frequency section which of course saves the battery's life ,and i wonder why he didn't go for add the 66mhz too!
so i give him A :good:
Click to expand...
Click to collapse
First off its not called under voltage its called underclocking the CPU frequency.
second , the reason why u dont see kernels with min freq of 61 MHz is because for running stuff like music u need a min of 122mhz to play smoothly.
Sent from my GT-I8150 using xda app-developers app
coliv_aja said:
you'r right,
oc/uv it's not simple just adjusting the clock and tables. it will affect to other part. so other tweaks is required.
if you want try to compile you own mod, you can grab arco's kernel from his git.
Click to expand...
Click to collapse
i think the main thing that OC/UV affect is the hardware. basically you are degrading your hardware's life span by doing OC, considering UV if your hardware can't sustain very low voltage then you will get some weird reboot

[KERNEL] AndromadusMod [CM10.1][27/04/13]

This is kylon's AndromadusMod kernel, originally for Saga / Desire S, but compiled by me from source for our Vision. Massive thanks to the Andromadus team and to kylon for his awesome mods. Built with the Linaro toolchain.
From kylon's original thread:
Code:
Only experimental [COLOR="Red"] (=)[/COLOR]
Features:
sync with Andromadus: Apr 17 2013
Gov: intellidemand, dyn interactive, conservative, ondemand, userspace, powersave, ondemandx, performance, smartassH3
Sched: noop, deadline, row, cfq, bfq, sio
Overclock up to 2.0Ghz (=)
Cpu aligned access
ext4 optimizations
LZO kernel compression
KMS
SLUB allocator(default) with some optimizations
dynamic file sync (=)
UnderVolt / OverVolt
The kernel is already uved (post #3 )
vmstat, MM, shmem updated to linux 3.4
Tweaked gov and scheduler to work better on android
some optimizations here and there
expire time about each entry of scan results: 15 *Hz
force AC charger for unknown chargers(like carKit)
ck1 patchset
enabled clean cache
enabled zRam
NLS-UTF8
enabled power collapse to save battery(?)
Removed almost any debug message to improve the performances
USB OTG (=)
NTFS r/w (=)
CIFS (=)
Power saving when the wifi is off
More RAM for us
what i forgot..
Bugs:
Same as Stock Andromadus
USB otg: usb sticks are not working
Click to expand...
Click to collapse
I know USB otg definitely won't work, and at the moment I haven't used LZO kernel compression. I'm not sure if there will be "more RAM for us", being as the original kernel was for the Saga, which had more RAM in the first place. Other than that, all the visible changes, such as governors, I/O schedulers, OV/ UV, etc., appear to be working.
Downloads:
At the bottom of the post you can find the flashable zip, I have also attached the original Andromadus 3.x kernel (Original.zip) in case you want to revert, the only thing I've changed about this is I've added CPU idle PM support, this should help with battery life but it's nothing drastic, and other than that I've left it alone.
Changelog from original thread, red changes are mine:
Changelog:
Code:
[COLOR="red"]27/04
First build for Vision.[/COLOR]
25/04
sync with Andromadus
3.0.74
10/04
sync with Andromadus
3.0.72
Added LZ4/LZ4HC kernel compression(disabled for now, the zImage cannot be flashed)
Now LZO kernel compression(Hope it will help the reboot a bit)
No debug msges for the camera
04/04
sync with Andromadus
3.0.71
Added a tweak that should help to save some RAM
17/03
sync with Andromadus
3.0.69
08/03
sync with Andromadus
3.0.68
added more freqs
added 1.9Ghz and 2.0Ghz (exp)
Overvolt up to 1600
compiled with linaro 13/02
25/02
sync with Andromadus
3.0.66
tweaked bfq
prevent a possible crash on suspend/resume event
17/02
sync with Andromadus
3.0.64
power saving when the wifi is off
08/02
stability fix
minor changes(see github)
05/02
Sync with andromadus
3.0.62
USB OTG enabled and working(Only experimental)
NTFS r/w(Only experimental)
CIFS(Only experimental)
New Gov. SmartassH3
a few improvements(see github for a full changelog)
19/01
Sync with andromadus
18/01
sync with andromadus
linux 3.0.59
updated the android logger to linux 3.8
new voltage for 1.2Ghz (test) - 1.2 should not be higher than 1.3
more robust compaction
less modules
minor changes
13/01
forgot to upload this version, sorry (my real life is an hell)
added ck1 and dynamic file sync
OverVolt up to 1550
Click to expand...
Click to collapse
Credits from original thread:
Credits:
Flinny- Help with my first compile
Andromadus TM- the kernel
thewadegeek- Help with some compile errors
Fraux123- His dynamic file sync and more
ziggy- ck1 patchset
H3ros- smartassH3
engelmarkus- USB OTG(http://forum.xda-developers.com/show....php?t=1887073)
and Who i forgot..
Click to expand...
Click to collapse
Credits:
The Andromadus team for all their amazing work
kylon, for letting me release this kernel for you, and also for helping me with compiling and everything else!
Linaro, for their fantastic toolchain
All the above
RESERVED
reserved
Great Job! ill for sure be testing this out!
Thank you so much, this kernel looks very promising, will definitely test it out.
Update: It doesn't feel as fast as the original kernel, however the Mod kernel does give me 1MB(one) of additional user accessible RAM.
This could be flash over the 10.1 Andro or on the 4.2.2 AOSP?
Thanks
Kéno40 said:
This could be flash over the 10.1 Andro or on the 4.2.2 AOSP?
Thanks
Click to expand...
Click to collapse
It's originally for CM10.1, so I doubt it'll work with AOSP, especially due to the nature of the test builds (for this reason it's probably not compatible with build 20 or below either). That said, it's worth a try. I don't know if there are any mods of the AOSP kernel, I haven't got much experience so I probably couldn't mod it myself, but I'll look into it
sharptv said:
Thank you so much, this kernel looks very promising, will definitely test it out.
Update: It doesn't feel as fast as the original kernel, however the Mod kernel does give me 1MB(one) of additional user accessible RAM.
Click to expand...
Click to collapse
Thanks for the feedback, I would try out some of the included governors, there's quite a few! I personally find dyninteractive more responsive and smoother than the default SmartassH3.
HTCDreamOn said:
It's originally for CM10.1, so I doubt it'll work with AOSP, especially due to the nature of the test builds (for this reason it's probably not compatible with build 20 or below either). That said, it's worth a try. I don't know if there are any mods of the AOSP kernel, I haven't got much experience so I probably couldn't mod it myself, but I'll look into it
Thanks for the feedback, I would try out some of the included governors, there's quite a few! I personally find dyninteractive more responsive and smoother than the default SmartassH3.
Click to expand...
Click to collapse
I tried both kernels on perf governor like i always do, and the Mod kernel i significantly slower, for me at least. I suspect that it's due to the LZO compression.
Anyway, it's good to see another kernel Dev, i really appreciate your work and i look for ward to your next release.
good work:good:
if you need help just pm me and i ll try to help you as best as i can (even if i m a still a noob xD )
sharptv said:
I tried both kernels on perf governor like i always do, and the Mod kernel i significantly slower, for me at least. I suspect that it's due to the LZO compression.
Anyway, it's good to see another kernel Dev, i really appreciate your work and i look for ward to your next release.
Click to expand...
Click to collapse
He said this kernel is not using lzo and i don t think the kernel compression can affect the performances
it can only affect the boot/reboot/shutdown time
"more ram for us" is working because it is a generic tweak, every kernel/phone can have it
kylon said:
good work:good:
if you need help just pm me and i ll try to help you as best as i can (even if i m a still a noob xD )
He said this kernel is not using lzo and i don t think the kernel compression can affect the performances
it can only affect the boot/reboot/shutdown time
"more ram for us" is working because it is a generic tweak, every kernel/phone can have it
Click to expand...
Click to collapse
Thanks for pointing that out. I have reverted to the original kernel as the Mod kernel is really slow in comparison. The original kernel with the added CPU idle PM support has significantly increased my battery life.
sharptv said:
Thanks for pointing that out. I have reverted to the original kernel as the Mod kernel is really slow in comparison. The original kernel with the added CPU idle PM support has significantly increased my battery life.
Click to expand...
Click to collapse
That's an interesting point.
 @HTCDreamOn, could you please share how did you enable that CPU idle PM feature?
sharptv said:
Thanks for pointing that out. I have reverted to the original kernel as the Mod kernel is really slow in comparison. The original kernel with the added CPU idle PM support has significantly increased my battery life.
Click to expand...
Click to collapse
NeverGone\RU said:
That's an interesting point.
@HTCDreamOn, could you please share how did you enable that CPU idle PM feature?
Click to expand...
Click to collapse
That's interesting :silly: not gonna lie, I didn't realise it would actually make a difference. In menuconfig, under CPU Power Management there's an option for CPU idle PM, right next to the Governor bit.
I'm personally finding the kernel alright in terms of speed, I guess I could try the latest Linaro tool chain and/ or look into some other kernel stuff, although I'm hardly an expert
HTCDreamOn said:
That's interesting :silly: not gonna lie, I didn't realise it would actually make a difference. In menuconfig, under CPU Power Management there's an option for CPU idle PM, right next to the Governor bit.
I'm personally finding the kernel alright in terms of speed, I guess I could try the latest Linaro tool chain and/ or look into some other kernel stuff, although I'm hardly an expert
Click to expand...
Click to collapse
Also, just to point it out. I think you have accidentally packed the Original kernel inside the Mod package.
Anyway, i'm looking forward to your next release, this kernel looks very promising, i think it just needs to be polished.
sharptv said:
Also, just to point it out. I think you have accidentally packed the Original kernel inside the Mod package.
Anyway, i'm looking forward to your next release, this kernel looks very promising, i think it just needs to be polished.
Click to expand...
Click to collapse
can't of done, the AndromadusMod is double the size of the original so I've definitely got them the right way round. thanks for the feedback though
Great Job!
sharptv said:
Also, just to point it out. I think you have accidentally packed the Original kernel inside the Mod package.
Anyway, i'm looking forward to your next release, this kernel looks very promising, i think it just needs to be polished.
Click to expand...
Click to collapse
You are right, inside the modded kernel update.zip you will also find another update.zip, wont do anything but just is why the package is so much bigger!
HTCDreamOn said:
can't of done, the AndromadusMod is double the size of the original so I've definitely got them the right way round. thanks for the feedback though
Click to expand...
Click to collapse
I was about to give the same answer but i see what he means, at first i was like how could it be double *scratches head* then i see you have two kernels packed into one! no bigge!
oh and so far nice performance running smartassH3, this is great stuff!!!
i just got done adding into the aroma installer if anyone would prefer, found here
http://forum.xda-developers.com/showthread.php?t=2194964
will be there from build 1.5.2 and beyond so happy flashing fellas!!
demkantor said:
You are right, inside the modded kernel update.zip you will also find another update.zip, wont do anything but just is why the package is so much bigger!
I was about to give the same answer but i see what he means, at first i was like how could it be double *scratches head* then i see you have two kernels packed into one! no bigge!
oh and so far nice performance running smartassH3, this is great stuff!!!
i just got done adding into the aroma installer if anyone would prefer, found here
http://forum.xda-developers.com/showthread.php?t=2194964
will be there from build 1.5.2 and beyond so happy flashing fellas!!
Click to expand...
Click to collapse
Oops my bad, must've been 'cause I packed it using terminal, and must have left the normal kernel.zip in the same directory. I'll try the new Aroma ASAP!
HTCDreamOn said:
Oops my bad, must've been 'cause I packed it using terminal, and must have left the normal kernel.zip in the same directory. I'll try the new Aroma ASAP!
Click to expand...
Click to collapse
Just to point out one more thing: I'm definitely getting stronger WiFi signal with the Mod kernel, I'm also getting less disconnects when using 802.1x networks.
I am gonna do a full wipe and try this kernel again, and hopefully i will get the speed advantage this kernel technically should offer me.
P.S would you be kind enough to compile the original kernel with CPU PM idle support and also force ac charge? Thanks SOOOO much in advance.
sharptv said:
Just to point out one more thing: I'm definitely getting stronger WiFi signal with the Mod kernel, I'm also getting less disconnects when using 802.1x networks.
I am gonna do a full wipe and try this kernel again, and hopefully i will get the speed advantage this kernel technically should offer me.
P.S would you be kind enough to compile the original kernel with CPU PM idle support and also force ac charge? Thanks SOOOO much in advance.
Click to expand...
Click to collapse
It already has CPU Idle PM support and I'll look into Force AC charge.
HTCDreamOn said:
That's interesting :silly: not gonna lie, I didn't realise it would actually make a difference. In menuconfig, under CPU Power Management there's an option for CPU idle PM, right next to the Governor bit.
I'm personally finding the kernel alright in terms of speed, I guess I could try the latest Linaro tool chain and/ or look into some other kernel stuff, although I'm hardly an expert
Click to expand...
Click to collapse
i can't understand how to enable cpu idle PM
zofox said:
i can't understand how to enable cpu idle PM
Click to expand...
Click to collapse
Haha no you don't need to, it's something I enabled in the kernel before compiling. You will only notice a difference when the device is sleeping, so try leaving your phone on (aeroplane mode if possible) overnight, and you should notice very small battery drain. Basically you don't need to do anything

Teach me to Android

マスター!どのようにコーディングを教え!
So since i couldent find any guides that actualy helped me to do with C, Linux,Android, android kernels , kernel modifying CODING IN C or anything like such... i then decided ill make a thread
Almost all devs i know are strapped for time or just dont have a XS anymore if not that they just ignore me :crying:
So this was originaly posted by our Well known RaymanFX and it seems his questions are exactly what i want to ask
[Q1] How to overclock a kernel
which files are needed -> kernel source
what files need to be edited ?
is the cpufreq driver related ?
how to determine which frequencies need higher voltage and how high exactly ?
[Q2] Undervolting
which files are needed -> kernel source ..
what files need to be edited
is the cpufreq driver related
how to determine which frequencies can use lowered voltage and how to calculate them ?
#ifdef not RaymanFX's Questions
[Q3] how to overlock your GPU
which files are neeeded
what files need to be edited
what determines your GPU voltages/clocks
how to determine what your hardware can handle
[Q4] how to add features like fastcharge
What files i need
what files need to be edited
where are great places to learn about sutch things
[Q5 Addapting
adding features from other kernels may work but if they dont then how will i addapt them to work (wide horizon to cover but lets use display drivers for an example)
if not adding features, lets say Porting 4.4 from Sony Xperia ZU (which is a nightmare for devs (or so says one of the many gods of developing we know as letama) couldent we just use most of the coding for the drivers which was officialy release by sony?
(in short, could we use drivers from our (SXS(L)4.1.2 to port 4.4 from ZU)
If we were to use drivers from official firmware to use on a unofficial firmware, what would we have to do for them to actualy work with the firmware that we are porting
#endif
- i know some tiny bits of this already from playing around with ForzaFerrarileo and DooMLorD's Kernel Source (only enough to fix the smallest of problems)
Envious_Data said:
マスター!どのようにコーディングを教え!
So since i couldent find any guides that actualy helped me to do with C, Linux,Android, android kernels , kernel modifying CODING IN C or anything like such... i then decided ill make a thread
Almost all devs i know are strapped for time or just dont have a XS anymore if not that they just ignore me :crying:
So this was originaly posted by our Well known RaymanFX and it seems his questions are exactly what i want to ask
[Q1] How to overclock a kernel
which files are needed -> kernel source
what files need to be edited ?
is the cpufreq driver related ?
how to determine which frequencies need higher voltage and how high exactly ?
[Q2] Undervolting
which files are needed -> kernel source ..
what files need to be edited
is the cpufreq driver related
how to determine which frequencies can use lowered voltage and how to calculate them ?
#ifdef not RaymanFX's Questions
[Q3] how to overlock your GPU
which files are neeeded
what files need to be edited
what determines your GPU voltages/clocks
how to determine what your hardware can handle
[Q4] how to add features like fastcharge
What files i need
what files need to be edited
where are great places to learn about sutch things
[Q5 Addapting
adding features from other kernels may work but if they dont then how will i addapt them to work (wide horizon to cover but lets use display drivers for an example)
if not adding features, lets say Porting 4.4 from Sony Xperia ZU (which is a nightmare for devs (or so says one of the many gods of developing we know as letama) couldent we just use most of the coding for the drivers which was officialy release by sony?
(in short, could we use drivers from our (SXS(L)4.1.2 to port 4.4 from ZU)
If we were to use drivers from official firmware to use on a unofficial firmware, what would we have to do for them to actualy work with the firmware that we are porting
#endif
- i know some tiny bits of this already from playing around with ForzaFerrarileo and DooMLorD's Kernel Source (only enough to fix the smallest of problems)
Click to expand...
Click to collapse
Cannot answer all of your questions but i'll try to answer as many as i currently know
Every device is specific but some parts are same..For example i'll take Xperia S as an example..
Q1..
For overclocking you need. acpuclock-8x60.c for xperia S. You will find it under kernel/arch/arm/mach-msm/
You will find a few lines defined under the structure struct clkctl_acpu_speed
so lets say you wish to add frequency 1782000...
based on the pattern add:{ {1, 1}, 1782000, ACPU_SCPLL, 0, 0, 1, 0x21, L2(22), 1325000, 0x03006000},(you will recognize the pattern from the lines in the file itself.
that is just an example of changes to one line. There are many more to edit. A good place to start would be to study someone else's OC kernel's features. You can study his/her github source to see the changes added for overclocking.
is the cpufreq driver related??: Didnt understand your question. technically you can add OC to any device. Only point is if the board gets heated up badly, it will shut down. Not burn itself to death. So there is a limit to how much u can overclock a processor..Try increasing step by step and then test. If board gets heated up to the point of shutdown, you will know ur processor's limit.
higher frequencies would require a higher voltage if performance is concerned. One suggestion here is to to give a 25 V increase per line of freq you add. What you might be asking is undervolting. What if your cpu is running at a higher freq and if u give it less voltage.right? In such scenarios your phone will be at a medium state. Where it is giving a minor compromise in performance to save battery. Giving high voltage with high freq will give you the best performance but at the cost of your battery.
Q2] three files(xperia s)
avs.h,board_semc_fuji.c
vreg-fuji_nozomi.c all under mach-msm folder
which freq and use less voltage...any freq can use less voltage. you give it less voltage and cpu wont perform as well as it would if you give it more voltage. udervolting is added so that you can have a minor compromise in performance to save ur battery. Eg: you are OCing your device at 1.8 Ghz. now you give it 1.3 V...It is running very very fast with a lot of battery drain. Now you undervolt it. you give it 0.8 V..Processor doesn't run as fast as 1.8 GHZ should run but still faster than normal but your battery is preserved.
Q3] I have forgotten totally,sorry. But i had studied Doomlord's kernel sources to find out about GPU. It would be a good place for you to start as well
Q4 and Q5] I have vague knowledge about these so wont be able to help you much. By porting do you mean porting some kernel modules from a different device to your kernel??
ty, i cant realy work off of a notepad for ever
ill look into playing with things more
i know what to do for porting lets say 4.4 from the default device but not how
Sent from my LT26i using XDA Premium 4 mobile app
Envious_Data said:
ty, i cant realy work off of a notepad for ever
ill look into playing with things more
i know what to do for porting lets say 4.4 from the default device but not how
Sent from my LT26i using XDA Premium 4 mobile app
Click to expand...
Click to collapse
haha..true..Try installing virtualbox and install ubuntu...you'll learn way faster how a linux kernel based OS just like android works...
Dark Wraith said:
haha..true..Try installing virtualbox and install ubuntu...you'll learn way faster how a linux kernel based OS just like android works...
Click to expand...
Click to collapse
i allready have ubuntu
not virtualbox
i have been playing with kernels and compiling, i am able to get around some issues
same goes with my aosp 4.4 build, it boots but crashes when certain graphic modes are needed (aka openGL based games)
takes on avarage about 32hours to compile on a normal day (if im lucky 17hours)
Sent from my LT26i using XDA Premium 4 mobile app
Envious_Data said:
i allready have ubuntu
not virtualbox
i have been playing with kernels and compiling, i am able to get around some issues
same goes with my aosp 4.4 build, it boots but crashes when certain graphic modes are needed (aka openGL based games)
takes on avarage about 32hours to compile on a normal day (if im lucky 17hours)
Sent from my LT26i using XDA Premium 4 mobile app
Click to expand...
Click to collapse
hehe...takes me 2days and crashes half the time.....(on a 512 mb ram stupid laptop)
Dark Wraith said:
hehe...takes me 2days and crashes half the time.....(on a 512 mb ram stupid laptop)
Click to expand...
Click to collapse
i got 4gb but my harddrive slows down and then it just starts messsing up
got a bug where mount ntfs starts generating errors and causes its self to use 99% of my cpu
so compiling can take estimated upto a week
also a laptop
Sent from my Xperia S using XDA Premium 4 mobile app

[KERNEL][BETA/TEST][CM12][1/12/15] E980 Kernel+ V0.8.1

E980 Kernel+​
***I am not responsible for you bricking your device or causing any other unwanted outcomes to your device. Be careful and smart. If you don't know what you're doing you probably shouldn't be flashing this.***
This is the E980 Kernel+​The end goal here is to have a kernel with more features and potentially much better battery life. I can only guarantee it will work on E980, not sure if it will work on other devices. I also do not know what ROMs it will work on. That is up to you to share. Rule of thumb is, if it's CyanogenMod, it'll work.
Suported Devices:
E980
E988
***If you are interested in building your ROM with my kernel, you have my permission to do so. However, if you could just let me know, that'd be nice. Also a credit would be appreciated but is not necessary either.***
DOWNLOAD​[11/12/14]: E980Kernel+V0.7.3.4: http://goo.gl/yMqgrP
[11/12/14]: E980Kernel+V0.7.3.3: http://goo.gl/eUfbQY
[10/11/14] E980Kernel+V0.6: http://goo.gl/XvQg7Z
[9/29/14] E980Kernel+V0.5: http://goo.gl/tJ9JGs
[9/23/14] E980Kernel+V0.4: http://goo.gl/cxphLB
[9/15/14] E980Kernel+V0.3.1: http://goo.gl/vtmnRR
Original Kernel: https://drive.google.com/file/d/0BxhkPfIzMhriQ0pqdGN0TnFDb2c/edit?usp=sharing
CHANGES​[11/12/14] V0.7.3.4:
Removed Undervolting
Removed GPU Tweaks
No more (or at least a lot less) random reboots
[11/12/14] V0.7.3.3:
Added Intelli-Plug V3.8
Added Intelli-Thermal
Added Undervolting
Tweaked GPU a little (more to come later)
Updated Intellidemand to V5
***If you are experiencing reboots upon setting CPU governors, set the voltage higher on your CPU thru Trickster or similar Kernel Settings App!***
[10/11/14] V0.6:
Compiled with Linaro (Should notice some minor performance improvements)
Other minor changes
[9/29/14] V0.5:
Added I/O Schedulers:
SIO, VR, Zen
Fixed Faux
Updated Faux Drivers to V3
[9/23/14] V0.4:
Removed Governors:
SmartassV2, Hyper (Only in config, they are still in source)
Added Faux Sound Controls (Thanks to Faux123 for his work)
Updated to CM11 Nightly 9/23/14 boot.img
[9/15/14] V0.3.1:
Added Governors
Dancedance, Intellidemand, SmartassV2, Hyper. (Hyper seems to be buggy, same with SmartassV2)
Added TCP Congestion Control
Westwood, Highspeed, Hybla, Htcp, Vegas, Veno, Scalable, Lp, Yeah, Illinois.
Flashing Instructions:​Make sure you use Mack's TWRP or Gummy CWM.
Flash a supported ROM
Flash E980 Kernel+
Wipe Cache & Dalvik
I highly suggest you are rooted and busybox'd.
Note: If flashing fails and you are on a CM11 ROM, you may want to try flashing original kernel or earlier version before reflashing your ROM or clean installing.
To-Do List:
-Faux Sound - Done.
-Governors/IO schedulers - Done.
-More TCP congestion controllers - Done.
-Replacement for Qualcomm's MP-Decision (Intelli-Plug) - Done.
-Support for actual GPU underclocking (Maybe save battery since it always runs at top freq when it doesn't have to.) - In the works.
-Support for undervolting - Removed for now.
-Lower clock speeds than 384 MHz
-Higher clock speeds than 1728 MHz
-Intelli-Thermal - Done.
-Fast Charge - Soon.
-Battery Life eXtender - Soon.
-Knock On/DT2W (May not add due to battery drain issue that comes with)
-Keyboard USB support
-Linaro Performance Toolchain - Done.
-Support for F240 - In the works.
-Anything else?
***Make note I do not know if I can implement all of these but I will try my best***
Source: https://github.com/Snepsts/kernel_e980
Toolchain: https://github.com/Snepsts/linaro4.7gcc
HOW TO BUILD​
At this point if anybody wants to try out the kernel before I make releases, you are free to compile it yourself. I would like to ask that you do not share compilations just because I like to track how many people download and use the kernel through my goo.gl links and the afh download counter. I don't like it when people rehost my kernel since it gives me misguided numbers on how many people are following my work. It's just personal though, I'm not going to stop you. I just like it because it gives me an idea of how many people are using my work and kind of makes me want to keep working on it since I know how many people still use it.
Anyways, I'll leave instructions to compile right here:
This is assuming you're using a Linux distro (VM or not, has to be 64-bit) Pretty much everybody recommends Ubuntu, and that's fine, but if you want my suggestion Mint runs like a dream. Anyways to building!
You'll need to get the required packages. I forget these off the top of my head, but they're something like this:
Code:
sudo apt-get install -y build-essential kernel-package libncurses5-dev bzip2 abootimg
There might be more, idk. This should get you through the build. Let me know if there's anything else.
Next we'll make a directory and grab the sources.
Go to your main directory to store the android folder in (for tidiness sake), if you have a preference you can do this differently. If you're not sure what you're doing here, just go from where you are (should be your main dir):
Code:
mkdir android
cd ~/android
git clone https://github.com/Snepsts/kernel_e980.git
This might take a while... when it's done you should have a folder called "kernel_e980" in your android directory.
While we're downloading, go get the latest M build or the latest nightly of CyanogenMod: https://download.cyanogenmod.org/?device=e980
This will be useful later.
Now we go grab a toolchain. My favorite is this one: http://www.mediafire.com/?x7lgbeprpg8gn choose the cortex A-15 one. Untar it and move the folder wherever you like. I suggest the android folder to follow the rest of the guide.
Code:
cd ~/Downloads
tar -xvf arm-cortex_a15-linux-gnueabihf-linaro_4.7.4-2014.06-build_2014_09_13.tar.xz
Now move this folder through the GUI (Graphical User Interface), much easier than more commands imo.
Now rename the folder toolchain, just because it's easier.
Now we're ready to build. The username is whatever your Linux username is.
Code:
cd ~/android/kernel_e980
export ARCH=arm
export CROSS_COMPILE=/home/username/android/toolchain/bin/arm-cortex_A15-linux-gnueabihf-
make cyanogenmod_e980_defconfig
All ready to go
One last thing, before you make it, if you are a little more advanced and need to toggle something or do anything else, use:
Code:
make menuconfig
You probably don't need that.
The # means the amount of cores in your computer's processor +1. For example, my Linux virtual machine has 4 cores allocated to it, so I assign it -j5. Now to make the kernel:
Code:
make -j#
And watch the words flyyyyy.
If anything fails, double check you didn't mess up. Also, the current Github build is never guaranteed to succeed.
Once the build is completed, you should see something like:
zImage is created!
Or something. Now go to your Downloads and get the boot.img out of the CyanogenMod build whatever way you wish to.
We'll leave it in the Downloads folder for the sake of the guide:
Code:
cd ~/Downloads
abootimg -x boot.img
Now you should have a zImage, intrid.img, and a bootimg.cfg. Ignore the zImage, move the intrid.img and bootimg.cfg to the ~/android/kernel_e980/arch/arm/boot folder.
Now we finish the kernel:
Code:
cd ~/android/kernel_e980/arch/arm/boot
abootimg --create boot.img -f bootimg.cfg -k zImage -r intrid.img
Done! Your kernel will be the boot.img file.
Replace a current kernel.zip's boot.img with this one, you can use any of the E980Kernel+ .zip folders for this. Just remove the boot.img in that one then put yours in it. I always upload my kernel to Gdrive and then download it to my phone to flash. But whatever you wanna do from here is fine.
And now you have the latest version of E980Kernel+ Unofficial. Yay you!
Click to expand...
Click to collapse
XDA:DevDB Information
E980 Kernel+, Kernel for the LG Optimus G Pro
Contributors
Snepsts
Source Code: https://github.com/Snepsts/kernel_e980
Kernel Special Features: Faux Sound, CPU Governors, TCP Congestion Controllers, I/O Schedulers, Intelli-Plug/Intelli-Thermal
Version Information
Status: Beta
Current Stable Version: V0.7.3.4
Stable Release Date: 2014-11-12
Current Beta Version: V0.8.1 TEST
Beta Release Date: 2015-1-12
Created 2014-10-19
Last Updated 2015-1-12
About E980 Kernel+
In this post we will go over some of the things in this kernel and shed some light on what they do... Let me know if you have any information to contribute or anything else
Intelli-Plug
Intelli-Plug is developed and updated by Faux123.
Intelli-Plug is a hot plug replacement for Qualcomm's proprietary MP-Decision. MP-Decision essentially decides the final factor on clock speeds, when cores go offline, how long they go offline, and they generally manage your CPU. There is a lot of discussion over whether or not Qualcomm's solution to hot plugging is efficient or not. Intelli-Plug is an open-source and updated version of MP-Decision in which anybody can contribute to and improve. It uses different methods for arguably better performance and better battery life. The current version used is optimized for MSM-8960 chipsets (like ours). It is updated and even offers convenient profiles to optimize battery life, performance, balance the two, or do a little between each option. Some of the profiles allow an eco-mode like experience. Eco-mode is a depreciated feature of Intelli-Plug that turned a quad-core processor into a dual-core, effectively optimizing the processor to run like a dual-core and save more battery power. In order to toggle the profiles option without paying 5 dollars for the Faux Clock app, you may use a root explorer (like ES File Explorer), go to sys/module/intelli-plug/parameters/nr_run_profile_sel and input a number anywhere between 0-5.
I prefer this option ON and do not currently have a profile preference. In my experience it improves the overall device (performance/battery life) with no noticeable drawbacks.
Intelli-Thermal
Intelli-Thermal is developed and updated by Faux123.
Intelli-Thermal is a thermal replacement to Qualcomm's proprietary thermal solutions. It is open-source and anybody can contribute to it. It has optimized thermal performance and is arguably more efficient than stock thermal settings. In addition to being an open-source and updated module, Intelli-Thermal offers customization such as: personal selection of cores to throttle at a self-determined value, and a similar selection for cores to offline (minus core 0, since it must be online at all times). Intelli-Thermal allows you to set your own rules (do not set the limit too high) and thermal values are in Celsius.
I prefer this option ON, and set Frequency Throttle Limit to 70 C, Core Offline Limit to 65 C, enable all cores for Frequency Throttling Cores, and enable Cores 2 & 3 for Offline Cores. Rarely do I ever experience heat, and if so it is very minimal. The device may lag or get hot depending on your settings, so please be careful or mindful of what you set. This works better on some ROMs than others.
*** Personal Note: These two are of my favorites because they are optimized and make for a better experience with little to no performance drops. This is just my preference, and it can be chosen to follow as a guideline by your discretion. ***
Multi-Core Power Saving
This is a normal kernel feature.
Multi-Core Power Saving is a basic feature that, depending on the profile selection, groups tasks to a certain amount of cores. 0 is off, so the device runs as normal. 1 is on, and will try to group tasks into single cores or multiple cores at lower frequencies to save power, but will not force it. 2 is aggressive, and depending on the user, may find that this causes a little more lag as the phone really hates using any extra CPU juice for anything, processes may be clustered and slowed down from this, but battery life is also the best at 2.
I prefer this option set to 1, as it has no noticeable lag and seems to still optimize the battery a little more. This option varies from user to user.
Faux Sound Control
Faux Sound Control is developed and updated by Faux123.
Faux Sound Control is a custom feature that enables sound manipulation on the kernel level. This feature will allow you to modify the gain (Make sound louder at the potential cost of music quality or lower for ear protection) and other various settings from a kernel level. This is completely user preference and will vary from user to user.
Intelli-Demand CPU Governor
Intelli-Demand CPU Governor is yet another feature developed and updated by Faux123.
Intelli-Demand means Intelligent On Demand. On Demand is a kernel CPU Governor that comes as the stock setting for most phones. But it tends to be a little less than optimized and such results in sub-par battery life. Intelli-Demand is a tweaked version by Faux that will allow for similar performance and better battery life. It is also popular for gaming as when the GPU 3D load gets heavy it will perform like On Demand as not to interfere with game loads.
This is my current preferred CPU Gov as it has never given me problems and works like a charm.
I/O Scheduling
I/O Schedulers are different ways of controlling the input/output stream of information in with the memory of a phone. These generally do not vary too much in performance or battery-life but everybody seems to have a preferred one. I don't have a favorite and switch between noop, row, and zen from time to time again.
My only preferred setting here is setting the read-ahead buffer to 4096, as it increases speed and performance without any real hit to the battery.
TCP Congestion Control
I am not very well versed in TCP protocol or anything in the sort, but this basically controls how your phone interacts with Wifi/Data packets.
My preference (and, from what I've read, the general consensus) points to the Westwood TCP Congestion Controller. Never had any problems with it, too lazy to benchmark them.
I will add more later, and as I add features to the kernel, I will add explanations! Also, I plan on buying the Faux Clock app soon simply to figure out which profile is which (since the information is nowhere to be found) and then I'll return it and report the numbers back here. Also, whenever Cyanogen decides we're ready for CM12 official, the kernel will be ready for CM12 too. Please bear in mind that I hate updating and am not one with the Github (nor do I have time to learn about Github). Cheers! :good:
GOOD JOB:good::good::good:
And a little cpu overclock like 2ghz plzzzz ^^
Is it possible that you can create a kernel for F240?
Name... Hmmm
2SHAYNEZ
MitoTakatori said:
Is it possible that you can create a kernel for F240?
Click to expand...
Click to collapse
Hmmm... You posted the kernel for F240 to be compatible with E980 CM11 ROMs... right? If you can give me source for that I can try and add the same things to it as I am the e980. But I am by no means a dev or anything.
Snepsts said:
Hmmm... You posted the kernel for F240 to be compatible with E980 CM11 ROMs... right? If you can give me source for that I can try and add the same things to it as I am the e980. But I am by no means a dev or anything.
Click to expand...
Click to collapse
Nice. I will check the source then pinpoint it to you. Thanks in advance.
MitoTakatori said:
Nice. I will check the source then pinpoint it to you. Thanks in advance.
Click to expand...
Click to collapse
I hope I am able to deliver a kernel to you. By the way, what is the difference between F240 and E980/E988? I know E988 is international. Is F240 Viet or something? And what are hardware differences?
Snepsts said:
I hope I am able to deliver a kernel to you. By the way, what is the difference between F240 and E980/E988? I know E988 is international. Is F240 Viet or something? And what are hardware differences?
Click to expand...
Click to collapse
That's a good question... But u did build this on vmware? What steps did u take?
Snepsts said:
I hope I am able to deliver a kernel to you. By the way, what is the difference between F240 and E980/E988? I know E988 is international. Is F240 Viet or something? And what are hardware differences?
Click to expand...
Click to collapse
F240 is korean. I really don't know the exact difference between the E98x variants and the F240x. Maybe some kernel thingy.
bountyman334 said:
That's a good question... But u did build this on vmware? What steps did u take?
Click to expand...
Click to collapse
Yes. VMware using Linux Mint 64-bit. My main machine is a Windows 7 with AMD FX-6350 (3.9 GHz) and 8 GB of RAM.
Here, read the guide mukwing gave me in this thread: http://forum.xda-developers.com/optimus-g-pro/general/making-cm11-0-kernel-e980-t2870820
That should be everything you need. Props to him he knows what he's doing!
MitoTakatori said:
F240 is korean. I really don't know the exact difference between the E98x variants and the F240x. Maybe some kernel thingy.
Click to expand...
Click to collapse
I do believe there are some slight hardware differences which is what I read. I'm guessing the kernel you posted tells it to emulate an e980 somehow with the hardware. Maybe do something a little different to behave like e980. I don't really know though, that's just my guess. But yes I'll totally give it a shot if you can give me source.
Name it "Spartan" kernel or "Taco" kernel ?
2SHAYNEZ
shayneflashindaily said:
Name it "Spartan" kernel or "Taco" kernel ?
2SHAYNEZ
Click to expand...
Click to collapse
Is the Taco kernel a reference to the flashaholic thread?
I like Spartan kernel though...
I was thinking of something like the "Ignis" kernel. Ignis is Latin for flame. Or maybe "Phoenix" kernel.
Knock on/double tap to wake please
Just tried to add some governors. Picked them right off of another kernel... I also copied and pasted the kconfig, makefile, and cpufreq.h files hoping that it would be the same... didn't work. Haha, guess I'll try typing in the config stuff myself and see where that gets me.
Adding features is the most headache things haha.
The commits from other device's kernel always not so compatible with e980 kernel.
Even commits from similar device's kernel like oppo n1 or G Pad 8.3 i still can't sucessfully incorporate them.
Without knowledge of programming, hard to find out what's wrong in the code.......
BTW, i have compiled a TWRP which can mount/read/write to F2FS formatted sdcard. But it lack the ability to format the sdcard to F2FS, need to do it in linux.(i am not sharing it because it still have chance of recovery bootloop)
mukwing said:
Adding features is the most headache things haha.
The commits from other device's kernel always not so compatible with e980 kernel.
Even commits from similar device's kernel like oppo n1 or G Pad 8.3 i still can't sucessfully incorporate them.
Without knowledge of programming, hard to find out what's wrong in the code.......
BTW, i have compiled a TWRP which can mount/read/write to F2FS formatted sdcard. But it lack the ability to format the sdcard to F2FS, need to do it in linux.(i am not sharing it because it still have chance of recovery bootloop)
Click to expand...
Click to collapse
Wow really? Damn I would have thought for sure HTC One kernels would have some similarity (Since we have identical processors).
Guess I'm learning C. I've actually made sense out of some of the programming already, but it's gonna be a ***** to get working. Thanks for the info though.
Good if you know programming language!
Waiting your kernel
But i will stay with stock lg for a while, haha.
Running this with acid and its running great, lost 2% between 11pm-6 in deepsleep:beer:
Sent from my LG-E980 using XDA Free mobile app
Snepsts said:
Is the Taco kernel a reference to the flashaholic thread?
I like Spartan kernel though...
I was thinking of something like the "Ignis" kernel. Ignis is Latin for flame. Or maybe "Phoenix" kernel.
Click to expand...
Click to collapse
Lol love tacos .... How about "La flama Blanca" The white flame lol .. Jk
2SHAYNEZ

Categories

Resources