yashsingh1/xdaforums huggingface dataset:
[LG Optimus 2x] Stefan Gündhör:
Proudly presenting, based on great 1.4.1 release: guestekrnL v1.4.2

Basically like 1.4.1, but should provide even lower power consumption @ same or higher performance and same or higher stability

vadonka lite battery driver integrated (in fact it's "lite", not "dark")

Android Logging completely disabled in kernel (saving some juice)

switched to SIO (Simple IO Scheduler) for maximum reliability

1st/only current stock based P990 kernel offering 4 Overclocking Steps (1,1 GHz - 1,2 GHz - 1,3 GHz - 1,4 GHz)

new cpu speed steps are (in MHz): 216 - 456 - 760 - 1015 - 1100 - 1216 - 1312 -1408

only available stock kernel with Andrev OC Adjuster (easiest to use OC tool) directly integrated

featuring "liquid-scroll" for best scrolling smoothness

lowered max. ScreenOff frequency to 456 MHz for better power saving - wakeup from sleep is still quick

various power consumption tweaks

slightly increased low corner voltages for better stability

no more undervolting possibility for the user as the kernel is already slightly undervolted - to provide better stability

even higher benchmark results

smallest stock-based kernel (+ smallest kernel modules)

Credits for lite battery driver go to Vadonka - credits for the Andrev OC Adjuster go to TrymHansen!! :)

As always you can rely on stability and accuracy, instead of facing boot-loops, freezes or having to deal with ~ backup files

Enjoy the fastest developing, most advanced and highest tweaked P990/O2X custom stock kernel available.

All additional versions (ZRam, noOC,...) will come as soon as I have tested them!

As always: feedback is very welcome - especially on 1.4.1 vs. 1.4.2 ;)

Edit: I'm not completely satisfied with 1.4.2 performance and battery compared to 1.4.1 -- please wait for a revised release. The curren't one doesn't do any harm, but I want my users to get best performance and good battery, so I will take out the links of current 1.4.2 kernel. You can fall back to 1.4.1 or continue using 1.4.2 anytime ;-)
[LG Optimus 2x] vadonka:
hi!

the battery driver is not my work basicly, i just make some fix in there, the original driver pulled out from the su660 kernel :)

but thx for the credit anyway!
[LG Optimus 2x] vpaulve:
DJ 1.1 + guestekrnL v1.4.2 show me this , with guestekrnL v1.4.1 works fine.
[LG Optimus 2x] vadonka:
its depend from a kernel option, probably the UV dont allowed then the voltage table is read only, ask Stefan about this
[LG Optimus 2x] ryaneu:
Stefan has probably disabled undervolting in the kernel.
[LG Optimus 2x] montresor60:
That's correct:
[LG Optimus 2x] gumiteve:
Same here on GoodBye 1.1 ROM...

Battery consuption is great, ~16hours of usage ate 30% of battery (with wifi/3g on, no games, just a few calls and some internet usage)

Battery monitor widget pro history:

standby consuption: ~-15-22mAh

during a call: ~-400mAh

during games: ~-800/-1000mAh
[LG Optimus 2x] KillerbeeNL:
AFTER deleted all initd files and restored the original from django 1.1

i flashed your kernel over spica's latest (also a great kernel).

Angry Birds Space first screen stutters no more :D

Thanks
[LG Optimus 2x] vadonka:
since this kernel have the "light" battery driver, you need a few charging cycle to reach the maximum battery life
[LG Optimus 2x] Stefan Gündhör:
Could you tell me please why the mV scaling * 1000 is necessary?

@all: In fact, I'm about to release a revised version of 1.4.2, as especially battery life in StandBy doesn't seem to be very good to me. Maybe it's because I set pm_sleepmode to 2 instead of 1? So CPU will not be completely shut off on ScreenOff.

Also in my opinion 1.4.1 is a bit smoother than 1.4.2.

Please be patient, testing and configuring everything right needs time :) Fall back to 1.4.1 if you have any problems with 1.4.2 until then!
[LG Optimus 2x] vadonka:
guys

please copy the output of this command:

cat /sys/devices/platform/star_battery_charger/power_supply/battery/voltage_now
[LG Optimus 2x] Stefan Gündhör:
I can already tell you wat you want to know.

For your Etana kernel the * 1000 seems to be necessary for correct mV representation, for stock kernel it is wrong - 4xxx000 mV instead of 4xxx mV.

So you can't use this *1000 on stock kernel

val->intval = batt_dev->batt_vol * 1000;

needs to be

val->intval = batt_dev->batt_vol;

on stock.

In first version of 1.4.2 kernel I had this right without "* 1000" but then I read in HP thread spica's posting that it will increase battery life even more, having 4xxx000 instead of 4xxx mV.

Of course I know now this is completely made up, so I will fix it for my revised release of 1.4.2 kernel.
[LG Optimus 2x] vadonka:
yeah i figured out too :rolleyes:
[LG Optimus 2x] spica1234:
Nope its increasing battery life alike D's battery driver which does also show more 000 in stock. It actually fools batt_guage with true_gauge:) that's why it'd have linear throughput of mV . I did test with and without *1000 before test release and *1000 seems to give more accurate mv reading and long battery life.
[LG Optimus 2x] Stefan Gündhör:
I have different opinion. I will use correct mV representation for my kernel.
[LG Optimus 2x] spica1234:
Then before blind merging in hurry you should have test. Then you'd realise what you've done is right. But it needs one-twice full battery cycle to notice.
[LG Optimus 2x] TrymHansen:
Stefan, I've updated the Andrev OC Adjuster to set default values a little differently. Before it set the index of what was supposed to be 1GHz, now it searches for the value closest to 1Ghz for max screen on and closest to 500Mhz for max screen off. (Since you've changed the positions for the frequencies in 1.4.2.)

Reduced the size as well, now only 14KB.
[LG Optimus 2x] Stefan Gündhör:
Have to re-think if I even use the lite battery driver in revised 1.4.2

battery with normal driver is quite good with the performance of kernel in mind.
[LG Optimus 2x] spica1234:
Does software works on to CPU min freq and Max freq info or scaling min and Max freq info through reading /sys
[LG Optimus 2x] TrymHansen:
I have no idea what that meant. What is /says?
[LG Optimus 2x] vadonka:
this row:

val->intval = batt_dev->batt_vol * 1000;

or this:

val->intval = batt_dev->batt_vol;

it just for the scaling, but for the cm7 need the first otherwise show me the voltage like 0.004 mV

it seems for the stock rom its not needed to multiply this value.

by the way im making a kconfig option for the stock and the lite driver, now can easily change the multiplier on or off.

the ds driver doesn't have this part.

the point is that the sysfs file, what i mentioned before. the stock rom read this file correctly the cm7 not, thats why need to fool the cm7 readings.

the better battery life is probably because the lite driver dont have most of the LG crap :D
[LG Optimus 2x] Stefan Gündhör:
Ahh that's very nice!! You are great :)

I have a question too, is it even necessary for Andrev OC to set screen-off freq if it is implemented directly in kernel?

But the automatic determination is really cool! Will include the latest release in next kernel release :)
[LG Optimus 2x] spica1234:
Performance and battery life is a different thing
[LG Optimus 2x] TrymHansen:
If you set it in the kernel, then no, the daemon is not needed. I can modify the app (preferably call it something else as well) to store the min and max screen off values someplace else. Unless it's hardcoded in the kernel of course, then I can just remove the screen off completely.
[LG Optimus 2x] Stefan Gündhör:
I guess he means that with

# CONFIG_CONSOLE_EARLYSUSPEND is not set
CONFIG_FB_EARLYSUSPEND=y

Andrev OC will work and with

CONFIG_CONSOLE_EARLYSUSPEND=y
#CONFIG_FB_EARLYSUSPEND is not set

It won't, as the necessary files for aroc to read states won't be exported to file system in second case.
[LG Optimus 2x] Stefan Gündhör:
I know this and what I said was that both performance and battery in 1.4.1 were quite good, and it uses normal battery driver.

But honestly I don't want to argue with you anymore in my thread, and kindly ask you to stop posting here.
[LG Optimus 2x] vadonka:
using sysfs instead of console on earlysuspend causing issues on cm7, so use the CONFIG_CONSOLE_EARLYSUSPEND=y anyway
[LG Optimus 2x] spica1234:
But not with cm9. Did you try it with cm9 it has no such issue.
[LG Optimus 2x] vadonka:
yes, its true but with the cm7 have problem :)

by the way guys, try to use linaro gcc 4.6 with this Makefile patch

Makefile
@@ -351,7 +357,12 @@ KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
-fno-strict-aliasing -fno-common \
-Werror-implicit-function-declaration \
-Wno-format-security \
- -fno-delete-null-pointer-checks
+ -fno-delete-null-pointer-checks \
+ -march=armv7-a \
+ -mtune=cortex-a8 \
+ -mfpu=neon \
+ -funsafe-math-opt
+ -mno-unaligned-access
KBUILD_AFLAGS := -D__ASSEMBLY__

# Read KERNELRELEASE from include/config/kernel.release (if it exists)
[LG Optimus 2x] Stefan Gündhör:
stock kernel uses sysfs by default! no issues noticed on stock at least... don't want to break AndrevOC compatibility.
[LG Optimus 2x] spica1234:
May be some changes have been made in cm7 rom with PowerManager in framework and/or service:/
[LG Optimus 2x] TrymHansen:
I think I understand the question now.

The app reads the frequencies available from cat /sys/devices/system/cpu/cpu0/cpufreq/frequency_voltage_table. Since the app is just a GUI for the andrev_oc daemon it needs to store the selected value to the damons config-files. However, it does set the screen on frequency as well by writing to /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq (and ..._min_freq).
[LG Optimus 2x] vadonka:
stock rom and cm7 rom are different :)
[LG Optimus 2x] Stefan Gündhör:
I will! .
[LG Optimus 2x] spica1234:
You mean 4.6.2?
[LG Optimus 2x] vadonka:
arm-eabi-gcc-4.6.3 (Linaro GCC 4.6-2012.03-1~dev) 4.6.3
[LG Optimus 2x] TrymHansen:
+ -mtune=cortex-a8 \
+ -mfpu=neon \

These look weird for the Tegra2, but I'm sure I'm missing something.
[LG Optimus 2x] spica1234:
Pre built android-eabi tool chain 4.7 from linaro?

I tried previously with arm-linux-gnueabi-gcc 4.6.2 and I was unable to boot. Obviously w/o these your mentioned flags.
[LG Optimus 2x] spica1234:
Yes thats what ive been thinkingwe don't have neon HW accelarated floating point.

We have bad vfp. Neon is very good:/
[LG Optimus 2x] vadonka:
this is only for the optimizations, the architecture is still arm, so no problem. even the cortex-a9 optimizations is compatible with our kernel.

---------- Post added at 02:41 PM ---------- Previous post was at 02:39 PM ----------

i can boot with that flags compiled with 4.6.3, plus the building warn log file is much smaller like with the 4.6.2

i cant see any issues for now.

yeah the neon row is unneded :) it just not used at all
[LG Optimus 2x] spica1234:
You mean with android-toolchain 4.7 from linaro.org?
[LG Optimus 2x] vadonka:
there is a stable 4.7 version already? i have the 4.6.3 currently
[LG Optimus 2x] spica1234:
today I checked linaro site in the morning and there is pre build android-ics-toolchain 4.7 there in download. Don't try yet
[LG Optimus 2x] Stefan Gündhör:
smoothest, most lag-free, most reliable stock kernel coming tomorrow evening (if battery is good in testing phase :) ) -- will be revised version of 1.4.2

the kernel will provide smoothest scrolling amongst all available stock kernels. you can and should test and compare yourselfs tomorrow.
[LG Optimus 2x] Nicodroid:
I've installed a spica kernel today and my problem with the camera app is gone, it starts much much faster. So I guess it was kernel-related after all. I will try your next release nonetheless.
[LG Optimus 2x] KillerbeeNL:
Stephan, yesterday i notice a strange problem.

Recently made photo's (after installed the kernel) disappeared from galery.

Some apps also disappeared

A restart resolved this but the problem comes back after a while.??

Django 1.1 and your kernel
[LG Optimus 2x] Stefan Gündhör:
Maybe I cherry-picked some bugged source from SR3 when I tried to increase smoothness. I think I'll unmerge the stuff again since up to 1.2.1 I didn't cherry-pick from HP repository and everything was good and stable and suddenly after picking parts from HP kernel problems began.

Don't need HP parts anymore as I have found my own way of increasing smoothness.

So hopefully in 1.4.2 the problem(s) will be gone, if not I will remove remaining questionable cherry-picks.
[LG Optimus 2x] vadonka:
Stefan, you dont need to multiply he voltage scale with 1000 since the stock rom calculated the battery voltage right. this multiply only need for the cm based roms.

you can remove that from the light battery driver for safe
[LG Optimus 2x] chipper36:
Fantastic work Stefan smoothness is best i've seen yet.

Congratulations, i will carry on testing.

Many thanks
[LG Optimus 2x] EasyWorld:
Stefan, thank you so much for the incredible work you are doing! I have been waiting for the revised 1.4.2 but have suddenly gotten six versions of 1.5 :).

Which one should I pick? What is the basic difference between lite, normal and DS battery drivers? Which one saves more juice?

Thank you again for you wonderful work!
[LG Optimus 2x] kkyoiori2001:
versions with normal, lite and DS battery driver

Stefan,

Can I ask a question about different with ＂versions with normal, lite and DS battery driver＂?

And what recommend version should I take?

Thank you:)
[LG Optimus 2x] ryaneu:
Thanks i wanna know that too.
[LG Optimus 2x] Lo_RaT_PeNaT:
stefan max, OC to 1.2?
[LG Optimus 2x] ryaneu:
Vadonka if you are reading this,

do you mind sharing more information about your lite battery driver like what it does exactly?

or is there a thread about it in this forum?
[LG Optimus 2x] spica1234:
Seems good, i will try:) thanks

Btw just for information:

free_cpumask_var(policy->cpu) above free_cpumask_var(policy->related_cpus) is responsible for full fixed cpu memory leak. Not other highlighted parts. Its a single commit to avoid multiple git commits.

Removing user_sched was linux towards patch It wasnt mentioned in sr3r2 changelogs as an invention.

Nevermind:)

I am eager to flash thank you:)

Edit: flashed, seems good. Thank you:)
[LG Optimus 2x] Stefan Gündhör:
:)

If you don't need OC, take a noOC version (should save juice and maybe is a bit smoother but lately I mostly tested the OC version due to OC tool) ,,, concerning Battery Driver I dunno which is best, normal is the standard LG one, lite is the one from vadonka without LG crap (should save power), DS is the one with funky readings, so you won't know exactly how much juice is left because it varies up and down.
[LG Optimus 2x] Stefan Gündhör:
Yeah trying this because I want to save juice and believe it increased smoothness to have more lower cpu speed steps than higher.

Just try the kernel the (especially scrolling) smoothness is outstanding.

Also I noticed a small bug when the 2nd core jumps in and I believe all OC kernels have this bug as it is related to Nvidia Scaling driver and faked OC code:

Run OC kernel @1GHz unplugged from power (plugged the bug doesn't happen), make a stress test in GuesteOC tool and you will see a peak to 1,2 GHz for a very short time although it is limited to 1 GHz and after this it goes down again.

So I believe there is a general Bug in OC kernels, causing CPU to speed up to maximum OC speed for a very short time when second core jumps in (goes on) and this in fact causes higher power consumption than stock kernel has, especially when max. OC step is very high (1,4 or 1,5 GHz).

I dunno yet if only my kernel has this or all, but it would be an explaination on why non-OC kernels save more juice than the OC ones.

So in general you have to know what you want ... maximized smoothness, good battery or an 1,4 GHz OC step you only use once in a while for Benchmarks? Be honest who really runs the phone by default @ more than 1,2 GHz? ;)

Didn't write the lowering to 1,2 GHz OC in changelog because I don't want people to see it and scream "ooooo nooooo only 1,2 GHz, no good for me", instead I want them to experience the incredible smoothness first and find out about the missing third OC step lateron :D:D

Edit: I might reintroduce or additionally introduce versions with higher OC again in future. But let's first see how this works :)

Edit2: Also I'm planning an additional "One-Core-Wonder" Edition with 2nd CPU core permanently disabled for powersaving freaks. Scrolling smoothness shouldn't be affected.
[LG Optimus 2x] CaptainHook8:
I don't think this is useful...you should point your efforts somewhere else.

If people want 2nd core off,they should buy a single core phone!

:D

Just my 2 cents....

Thank you for all your gorgeous work ;)

Inviato dal mio LG-P990 usando Tapatalk
[LG Optimus 2x] gumiteve:
Titanium Backup (4.8.4.1 pro) freezing all the time... not sure its kernel releated... GoodBye 1.1 + 1.5 OC,normal battery driver... can someone try this for me?! (just start TB, wait about 30sec then pops up that TB not answering)

Thanks
[LG Optimus 2x] Stefan Gündhör:
I think there might be a target group for this. On stock kernel 2nd Core usually goes on after CPU load is over about 750 MHz for 1 second and off again after load is 1,5 seconds below about 485 MHz . So usually when only scrolling in menu or opening apps or opening SMS you don't even use second core. You will use it if you begin scrolling websites for a longer time p.ex or when you are playing etc.

But for people who just got the phone for some reason and don't care about second core, but want to use it for phoning, messaging, browsing etc., a 1-core version of the kernel wouldn't be bad, because they would have increased battery life. Also it requires only typing one number in kernel and 2nd core will be disabled permanently, so no effort to put in. :) As always, having freedom of choice and many versions does never harm.

For the people reading only this post: don't be confused, second core is of course working in current 1.5 release, we were just talking about a possible additional version with 2nd core disabled ;-)
[LG Optimus 2x] EasyWorld:
Titanium Backup is working just fine here. The OC version with the lite battery driver.
[LG Optimus 2x] gumiteve:
Stg wrong for me... tried reinstalling TB but it didn't help... you are also in GoodBye rom?!

ps.: it also works for me... about 30sec... it begins to backup my apps, and at ~7% stop/freeze... or if I dont start backup, just scrolling the main screen up/down the freeze also comes after ~20-30sec...
[LG Optimus 2x] Lo_RaT_PeNaT:
stefan congratulations, the kernel is really smooth, very sensitive and reacts perfectly fine, however I have noticed one thing when the mobile charges, and to achieve 100% load, immediately after disconnecting from the mains, the percentage of load instantly returns to 98%, this makes it over and over again, I imagine that for any matter not properly terminated, could check?, thanks

PD version OC + DS
[LG Optimus 2x] Stefan Gündhör:
Thank you!

DS battery driver isn't supposed to show correct battery percentage values afaik! Values are wrong but instead battery will last longer. Don't expect correct values of it!

@gumiteve: I fear it is related to gueste-ROM! There have been several problem when combining my newer kernels with my own ROM unfortunately :o You can try

1st: Uninstalling GuesteOC app and retrying using Titanum

2nd: Deleting Data/Cache of the TB app

3rd: switching to DjangoManouche instead if you really need TB
[LG Optimus 2x] CaptainHook8:
Thanks for explaining!

We should find a way to maybe tweak this things on the fly...can you integrate spica OTF in your kernel? :D :p

In that way we are going to have just one version of Gueste Kernel suitable for every needs!
[LG Optimus 2x] gumiteve:
Thank you... first two did not help :(

I have already plan switching to Django since I saw you use it too (instead of yours)... what do you think, can I flash latest Django and hope all my apps/data is maintained (django is no wipe rom), or revert back to krnl 1.2.1, save my data with TB, and then wipe+flash django?

Thanks and keep up the good work!
[LG Optimus 2x] Stefan Gündhör:
I'm sorry I always said I won't integrate OTF.

For me the only two features good to change on the fly would be strong vibration and 2nd core on/off.

And I even think you won't really switch often between normal and strong vibration, so a separate kernel version should also do.

I'm sure OTF is a good peace of work, but I'm just not so convinced of it and also want to have only really necessary things running in the kernel for providing max. performance, smoothness and battery.

So basically there are many features in OTF and I would like to have only one or two of them integrated, so I guess I won't integrate whole OTF just for this. Maybe it would even not be necessary to merge whole OTF, I've never checked on this.

Also it's spicas work and I don't want to create the impression I copy everything from HP kernel. I have no problem with OTF being HP-exclusive for stock kernel. guestekrnL has other advantages to present.
[LG Optimus 2x] PAIIITET:
I tested on kernel sr3 spica off the 2nd core.

powersave option 3 is completely off the second core, as its frequency of inclusion of 1,1 ghz

800Mhz and is always on the 2-core off gave me is not so much .... only 10-15% of normal use on the frequency of 1Ghz with 2 cores.
[LG Optimus 2x] Stefan Gündhör:
Yeah, plan was to create a new version of GoodBye ROM with better stability and so on, but I had to work on kernel first :) And now Django 1.2 is almost ready and maybe there will be no need for further ROM of me.

If Django is no Full-Wipe you can try of course! Make CWM backup. You can also try using another backup app instead of TB!
[LG Optimus 2x] Stefan Gündhör:
So the advantage of disabling 2nd core wouldn't really be worth it? Good to know!
[LG Optimus 2x] CaptainHook8:
It's your masterpiece man, so it's your pick! ;)

Anyway I was talking about making a Guest OTF, just to allow the possibility to change vibration and strong vibration, battery drivers, and profiles to save battery just in case.

Of course OTF is spica's work and revolution, but we are in the world of open source projects, it's the spirit of open source! I guess nobody is copying anything as long as credits are given.

Anyway i really like your work, and i think it is already great! I was just trying to give you some advices as final humble user! :)

;)
[LG Optimus 2x] Stefan Gündhör:
Thanks, I will look into it, but I won't have any time until next week. The vibration part can't be that hard, but I dunno if the battery drivers are even swapable or swapable that easy. Also why would you want to swap them? There are only 3 versions because I don't know yet which driver provides best consumption (also you can't include DS as only one with his funky readings), so it's up to the users to give feedback on this :)

By the way..

You won't need any profiles, StandBy consumption p.ex. will be outstanding in v1.5 (this is what I can already tell from the version with normal battery driver). Good battery + good performance with no need for such profiles or sth. has always be the plan. I know in standby I've already done it, under use I'm not so sure yet, will wait for further feedback of 1.5 users :)
[LG Optimus 2x] CaptainHook8:
You are right about battery drivers...no need to change them on the fly! We just have to test them and verify which one is more battery saver!

Even for the vibration, i don't mind i'm fine with the stock one...i was just thinking that for people that have the need of a strong vibration just in certain occasions!

What i really care about is "Gueste powersave profiles" ( :D )...i'm sure v1.5 got a awesome battery life (i'm still testing it :p ), but if i'm in some place where i can't charge my phone and i need some battery...it would be nice to switch to a profile more battery saver (and of course i guess with worse performance) till i get home and can charge the phone! Just emergency profiles to save battery and to activate just in case!

That's was my thought to improve the already amazing Gueste Kernel! And of course my thought was inspired by great spica's work!

:)