yashsingh1/xdaforums huggingface dataset:
[Nexus 4 Original Android Development] drawde40599:
It already is 384 , or deep sleep depending on what your doing but set cpu app in play store will do what u want , is NOT !! recommended cause its 100000% unnecessary and prob going to cause more issues than good but there u go ;)
[Nexus 4 Original Android Development] Hanny:
its a feature on the galaxy nexus since long time ago, franco just did not optimize the share feature to delete unnecessary lines on the new devices he supports. just ignore the line.
[Nexus 4 Original Android Development] cobyman7035:
Re: [KERNEL][GPL][N4] franco.Kernel - r90

So stock everything; when screen is off...what is the CPU load n speed?

Google Voice via my r72 NeXus⁴ using XDA Premium
[Nexus 4 Original Android Development] scream4cheese:
Re: [KERNEL][GPL][N4] franco.Kernel - r90

0 Mhz.
[Nexus 4 Original Android Development] paulpoco:
Re: [KERNEL][GPL][N4] franco.Kernel - r90

Is there anything that can be done while playing Ingress that the phone will charge and not drain?
[Nexus 4 Original Android Development] Pheno.menon:
Re: [KERNEL][GPL][N4] franco.Kernel - r90

These are my favorite settings so far, I've tried about ten different ones.

Sent from my Nexus 4
[Nexus 4 Original Android Development] jtwlbz:
that's actually the worst setting i ever tried. color banding like crazy...
[Nexus 4 Original Android Development] Pheno.menon:
Re: [KERNEL][GPL][N4] franco.Kernel - r90

I only saw a small amount of banding in the black-gray zone. Different screens, perhaps..

Sent from my Nexus 4
[Nexus 4 Original Android Development] vickpick:
I personally love fraco's recommended settings but these settings are not very different than his. Not sure why u're getting color banding. You probably have a different screen type. Just reduce RGB for ur screen and keep the gamma setting the same and see if you the banding goes away.
[Nexus 4 Original Android Development] jtwlbz:
i am using type H from another color thread. both K and H are very good and natural no banding at all and gammas are not far away from 2.2.
[Nexus 4 Original Android Development] Haomuch:
Re: [KERNEL][GPL][N4] franco.Kernel - r90

The patch is removed from r90 or 90 test or both? Why do we do that?
[Nexus 4 Original Android Development] illuzi0n:
thats not his latest color calibration use his final one, works perfect for me and the colours are vibrant, best ive seen on a nexus 4
[Nexus 4 Original Android Development] benblb:
I'm getting the best battery life ever! I accidentally got stuck in a bootloop this weekend and had to wipe my phone completely and re-flash Android. I immediately started using r86, and could not be happier. If I didn't want to, I wouldn't even need to charge my phone tonight. I could go another day. Thanks, Franco!
[Nexus 4 Original Android Development] Haomuch:
Re: [KERNEL][GPL][N4] franco.Kernel - r90

Which one is for 4.2.2? I didn't see anything in post 2
[Nexus 4 Original Android Development] lightosx:
Re: [KERNEL][GPL][N4] franco.Kernel - r90

After 32 min of playing on r90-test the cpu temp was at 45C. Couldn't really feel much heat at all on the device.
[Nexus 4 Original Android Development] drawde40599:
Y wouldn't u ask this there on the actual dev' page instead of here ..... ? . u have the link .....
[Nexus 4 Original Android Development] Vangelis13:
Re: [KERNEL][GPL][N4] franco.Kernel - r90

You flashed the stock image you mean?

Next to do on my list. Always did that, every few months, start fresh..
[Nexus 4 Original Android Development] schizophrenia:
is everyone waiting for the moment that franco goes "after work"? ha
[Nexus 4 Original Android Development] noneabove:
Re: [KERNEL][GPL][N4] franco.Kernel - r90

Could still be tonight, he's usually up pretty late
[Nexus 4 Original Android Development] Archmag3:
may be you have different screen or may be you wanna try my new settings on page no. 525-526 ;) also if you worry too much about gamma its not gonna get you anywhere..reason being if you see the PA default kernel colors they look good and give good gamma but the images are over saturated and blotches appear :p

at the end of the day whatever pleases your eyes ;)
[Nexus 4 Original Android Development] CaspaTheGhost:
Re: [KERNEL][GPL][N4] franco.Kernel - r90

I'm sure its about 22:30 in Franco's neck of the woods so maybe he's working late! :beer: ;)

You know we're all waiting with bated breath! :rolleyes:

Sent from my N4 Asylum
[Nexus 4 Original Android Development] tonysac:
Re: [KERNEL][GPL][N4] franco.Kernel - r90

+1:thumbup:

Keep walking Greece
[Nexus 4 Original Android Development] rocklee80:
where can i find his latest color calibration?
[Nexus 4 Original Android Development] kin24173493:
May I know what is type K and type H?
[Nexus 4 Original Android Development] franciscofranco:
I'm home for the last 4 hours reading GPU drivers code. Minooch told me that he found out that the ****ing GPU is always always on max clock, if not always which correlates with the testing I did 2 months ago, but I didn't pursue that anymore for lack of patience. So after talking with Miasmic I decided to make a ****ing lock to block the 4 cores online while we're playing and the GPU is on heavy duty because you know we're playing games, we don't care about battery life, we care about smooth playing. So after some debugging I found out that in the daemon that controls the GPU frequencies that the busy time was being kinda wrongly reported and it was showing high counts when I was just idling in my home screen and it was immense when swiping the home screens.

So we have something called Trustzone policy that acts like a governor for the GPU that sets the freqs based on that busy time. Since the busy time is either too high or badly reported (playing a gaming and seeing intermitent 7000 (high busy count) and 5 (low busy count)) it kinda derps.

I just figured where the busy stats are being set after going to wrong stats drivers a few times and its a simple ****ing function that does this:

static void z180_power_stats(struct kgsl_device *device,
struct kgsl_power_stats *stats)
{
struct kgsl_pwrctrl *pwr = &device->pwrctrl;
s64 tmp = ktime_to_us(ktime_get());

if (pwr->time == 0) {
pwr->time = tmp;
stats->total_time = 0;
stats->busy_time = 0;
} else {
stats->total_time = tmp - pwr->time;
pwr->time = tmp;
stats->busy_time = tmp - device->on_time;
device->on_time = tmp;
}
}

So everytime that **** is queried it gets the current time using the ktime_get, and then based on the amount of time the GPU is not idle (device->on_time) it gives me a value with a subtraction between those two values. In theory this is not TOO bad, but since the bloody cores are always going idle, out of idle, idle, out of idle, the stats go all ****ed up and derp big time.

I already managed to make that lock to block the four cores online when the GPU is busy but I have to figure out how to make this busy time behave correctly or I fear that it may lock the device to four cores based on a ****ing wrong report of busy time.

Fun times eh? Anyone wanna help me out with this? It would be very much appreciated.
[Nexus 4 Original Android Development] noneabove:
Re: [KERNEL][GPL][N4] franco.Kernel - r90

Hm. Clearly some sort of averaging is needed with a polling interval, maybe have an average_busy_time object which holds the previous X readings, a function which takes in a new one, compares it to the others, and passes back a value indicating what the GPU clock should be? Please tell me if that made any sense at all.. XD not sure if kernel programming is similar to any of my programming knowledge haha :rolleyes:
[Nexus 4 Original Android Development] franciscofranco:
Write me some pseudo-code so that I make sure I got it correctly. Averaging between the previous and new val? Thats only 2 samples.
[Nexus 4 Original Android Development] franciscofranco:
This are the values when swiping in the home drawer:

<6>[ 159.194017] BUSY TIME: 237
<6>[ 159.311796] BUSY TIME: 1897
<6>[ 159.464672] BUSY TIME: 2
<6>[ 159.494002] BUSY TIME: 3
<6>[ 159.524675] BUSY TIME: 3
<6>[ 159.545521] BUSY TIME: 1598
<6>[ 159.550862] BUSY TIME: 5309
<6>[ 159.556264] BUSY TIME: 3131
<6>[ 159.579612] BUSY TIME: 2043
<6>[ 159.594201] BUSY TIME: 2291
<6>[ 159.610865] BUSY TIME: 2096
<6>[ 159.627407] BUSY TIME: 2421
<6>[ 159.647947] BUSY TIME: 1965
<6>[ 159.661101] BUSY TIME: 2066
<6>[ 159.680054] BUSY TIME: 2253
<6>[ 159.698092] BUSY TIME: 2212
<6>[ 159.713596] BUSY TIME: 2204
<6>[ 159.732092] BUSY TIME: 2200
<6>[ 159.748969] BUSY TIME: 2244
<6>[ 159.764382] BUSY TIME: 2254
<6>[ 159.780558] BUSY TIME: 2274
<6>[ 159.794384] BUSY TIME: 2311
<6>[ 159.811170] BUSY TIME: 2325
<6>[ 159.827681] BUSY TIME: 2375
<6>[ 159.847459] BUSY TIME: 2407
<6>[ 159.864123] BUSY TIME: 2477
<6>[ 159.878284] BUSY TIME: 2534
<6>[ 159.895040] BUSY TIME: 2542
<6>[ 159.912986] BUSY TIME: 2567
<6>[ 159.928246] BUSY TIME: 4135
<6>[ 159.933496] BUSY TIME: 5248
<6>[ 159.947504] BUSY TIME: 1177
<6>[ 159.955775] BUSY TIME: 8145
<6>[ 159.965084] BUSY TIME: 4
<6>[ 159.979887] BUSY TIME: 3763
<6>[ 159.984953] BUSY TIME: 2383
<6>[ 159.991637] BUSY TIME: 6599
<6>[ 159.996642] BUSY TIME: 157
<6>[ 160.013001] BUSY TIME: 3628
<6>[ 160.103952] BUSY TIME: 3785
<6>[ 160.122020] BUSY TIME: 10
<6>[ 160.164504] BUSY TIME: 7
<6>[ 160.171005] BUSY TIME: 6497

Those are s64 vars returned from this ktime_to_us(ktime_get()). Interesting enough when gaming the values aren't much higher.
[Nexus 4 Original Android Development] noneabove:
Re: [KERNEL][GPL][N4] franco.Kernel - r90

Nah I'm thinking this object holds an array of some past values, no clue how many is reasonable tbh, and then you would call say new_clock_speed(new val) and it would compare the new load to the past values and using those extra values would help to deal with odd blips of high and low load, the GPU speed would change but only a bit and only briefly, and then it passes back what the new GPU speed should be

---------- Post added at 02:20 AM ---------- Previous post was at 02:15 AM ----------

Okay so here this sounds to be more a problem of, is this an element of the ui that can be handled by the GPU instead of CPU, or are we playing an intensive game that requires both, correct?

Purely for my curiosity, is s64 a signed 64 bit integer?
[Nexus 4 Original Android Development] franciscofranco:
Yes thats easy to do. I'm doing some more tests trying to understand the real behaviour, its kinda foggy.
[Nexus 4 Original Android Development] franciscofranco:
Sorry I didn't understand what you mean!

I might completely wrong with all the debugging I've made, as I can be 100% right. I've never quite understood how this driver scaled to be honest.
[Nexus 4 Original Android Development] noneabove:
Re: [KERNEL][GPL][N4] franco.Kernel - r90

Oh, well see the problem you're concerned with is maxing out CPU when GPU is under heavy load right? Obviously scrolling through the app drawer won't require a maxed CPU. However, scrolling through the app drawer can instead draw power from the GPU to achieve its goal, in the same way it draws from the GPU for gaming. The difference is, the app drawer only requires the GPU and the game requires the GPU AND cpu. So to me it seems the problem is that we need to be able to tell when the GPU is under load because its taking over for the CPU (app drawer) and when the GPU is under load because the system needs a lot of power (gaming) (if that made no sense I blame it on the fact that its 2 in the morning and I'll rexplain myself in 10 hours :P)
[Nexus 4 Original Android Development] Pheno.menon:
Re: [KERNEL][GPL][N4] franco.Kernel - r90

Can you link me his latest ones? I couldn't find them.

Sent from my Nexus 4
[Nexus 4 Original Android Development] tonysac:
Re: [KERNEL][GPL][N4] franco.Kernel - r90

http://xdaforums.com/showthread.php?p=58

After lot of tweaking I'm at peace finally coz of following settings : franco kernel.

R 233

G 232

B 242

Gray 1

Mids 119

Black 103

Contrast 29

Brightness 6

Saturation 23

Whites 2

￼ Hope they work nice for you too

Keep walking Greece
[Nexus 4 Original Android Development] illuzi0n:
After lot of tweaking I'm at peace finally coz of following settings : franco kernel.

R 233
G 232
B 242

Gray 1
Mids 119
Black 103
Contrast 29
Brightness 6
Saturation 23
Whites 2

Hope they work nice for you too

that is his latest version of color calibration and its the exact one i use atm
[Nexus 4 Original Android Development] GuestK00150:
Can anyone help me with this please?

1 Has anyone put together a few of the best colour profiles as files that can directly be loaded in the app? would appreciate it very much!

2 Is enabling the fast usb charge in the franco pro app the same fast charge everything is talking about here? If yes, after every reboot a message appears that this option is enabled and my computer would not detect the device. Can I get rid of that?
[Nexus 4 Original Android Development] jayjay2244:
Re: [KERNEL][GPL][N4] franco.Kernel - r90

For two I believe that he's making a faster version.
[Nexus 4 Original Android Development] rocklee80:
thanks yeah these calibration looks awesome. deep blacks rich colors no banding. NICE thanks :)
[Nexus 4 Original Android Development] Martin_Ro:
Ok, looks to me, this are the ?ns? that the GPU has been busy since last call.

So you would have the % by 100/((Time-Last_time)*100000)*Busy_Time.

For instanc this:

<6>[ 160.013001] BUSY TIME: 3628

<6>[ 160.103952] BUSY TIME: 3785

(160.103952-160.013001)*100000=9095.1 = 100%

100/9095.1*3785=41% Usage

Big question would be: Why the hell should the GPU have such high usage because of touch ? Or is this not the gpu-usage but the cpu-usage (but again, why should that be so high ?).

Maybe some derp in the drawfunction of the screen, that will draw screen permanently because of touch because it asumes that there must be some changes (silly kind of UI handling but would explain the values) ?
[Nexus 4 Original Android Development] cobhc:
Re: [KERNEL][GPL][N4] franco.Kernel - r90

Anyone else experience the ui being smoother using the conservative governor? It's slower in games, but quicker around the ui in general.
[Nexus 4 Original Android Development] davidsavenberg:
Sv: [KERNEL][GPL][N4] franco.Kernel - r90

Havent tried conservative but its like that for me with ondemand. Havent noticed slower gaming though.

Skickat från min Nexus 4 via Tapatalk 2
[Nexus 4 Original Android Development] ceejay83:
Re: [KERNEL][GPL][N4] franco.Kernel - r90

Nice color settings arched
[Nexus 4 Original Android Development] Whosdaman:
Re: [KERNEL][GPL][N4] franco.Kernel - r90

Sounds more like a bad hardware acceleration algorithm. Is there anyway to fix the busy time producing code?

Edit: What I'm asking is it open source? Because it may be that the hardware acceleration code is causing the GPU to act nuts every time movement is required. It could be what is causing the insane busy time reports.
[Nexus 4 Original Android Development] franciscofranco:
I dunno. Still debugging.
[Nexus 4 Original Android Development] iammudd:
I might be wrong but I believe you're off by 10. Multiply by 1,000,000 (for microseconds) not 100,000. Nano would be 1000 times bigger again.

So the percentage in the example would be only 4.1%... which would make a peak of 99.96% at 159.933496

edit:

<6>[ 159.928246] BUSY TIME: 4135
<6>[ 159.933496] BUSY TIME: 5248

Otherwise your calc would yield a busy time of 5250 in 524.8 units which would be an impossible util%. By my calc, the util is normal for simple swiping -- mostly 10-15%
[Nexus 4 Original Android Development] Whosdaman:
Re: [KERNEL][GPL][N4] franco.Kernel - r90

I figured as much. Just hoping to give you some ideas and areas to debug. Because there are a lot of variables that could contribute to this...unfortunately. I hope you are able to discover it right away and it is something relatively easy to fix.
[Nexus 4 Original Android Development] hospital349:
Is it a Google derp/Franco derp?

I'm really interested in finding out what is actually causing it. A needle in a haystack comes to mind. I really don't envy you Franco. :eek:
[Nexus 4 Original Android Development] franciscofranco:
Yeah the thing is that when gaming something heavy it doesn't change much from those values. It peaks like 50000 once every 10 second, but the rest of the time its reporting busy time as 4000-7000.

I won't call it derp, maybe they designed it on purpose. I'm just reporting what I found and getting feedback :)
[Nexus 4 Original Android Development] hospital349:
Awesome. I was automatically drawn to the idea that it was. I never thought for a moment after reading the last 5 pages that you guys were actually doing some good, old fashioned research/study. :)

Keep at it, guys.

I wish I could participate in some way, though I really suck in this area.
[Nexus 4 Original Android Development] steviewevie:
Re: [KERNEL][GPL][N4] franco.Kernel - r90

See http://xdaforums.com/showthread.php?p=38195968

Sent from my Nexus 4
[Nexus 4 Original Android Development] iammudd:
Yes, but what was the Delta Time? It seems that the reporting interval is SHORTER (~5-6ms vs 15-20ms) when the busy time% is high. If so, perhaps, you can simply use delta time as your indicator of how often the GPU is activated. (There was a reporting period of 152.8ms at the beginning when the busy time was only 2.)

(The following is non-contiguous.)

Time Code Delta T(μs) Util%
159.550862	5,341	99.40%
159.556264	5,402	57.96%
159.933496	5,250	99.96%
159.955775	8,271	98.48%
159.991637	6,684	98.73%
160.171005	6,501	99.94%
[Nexus 4 Original Android Development] strikelight:
Re: [KERNEL][GPL][N4] franco.Kernel - r90

Quick way to tell if it's googles derp or not would be to get the measurements from stock.. We know the CPU is ramped for project butter.. Maybe GPU has modifications related to butter as well..
[Nexus 4 Original Android Development] kite86:
Hello, I got franco.kernel app, what are best combination of governors + schedulers to preserve battery ?

and is it safe to UV by 50Mv any step in the frequencies? I got no errors so far! Ty
[Nexus 4 Original Android Development] franciscofranco:
How do you calculate the delta? I'm horrible at math.

Probably not anybodies derp, just a strange implementation thats why we're here trying to figure it out :)
[Nexus 4 Original Android Development] franciscofranco:
r92:

* Its 's 3am, I'll write this tomorrow.
[Nexus 4 Original Android Development] iammudd:
Haha, I rely on spreadsheets for my math. I only took the diff in time codes and multiplied by 1,000,000. It seemed to fit with the busy time you posted earlier (from 0 to 99% util). The range was very large -- from 5005 to 152876

<6>[ 159.311796] BUSY TIME: 1897
<6>[ 159.464672] BUSY TIME: 2

152,876 microseconds difference ... whereas when the GPU was busier, the delta was only ~5k
[Nexus 4 Original Android Development] strikelight:
Re: [KERNEL][GPL][N4] franco.Kernel - r92

Delete.
[Nexus 4 Original Android Development] fipsib:
AW: [KERNEL][GPL][N4] franco.Kernel - r90

Hey franco,

First thanks for this kernel & your hard work! I really like it & it's a perfect fit for my N4!

But there is one thing I am missing in your app:

An option that automatically loads a selected (saved) colorprofile after every reboot. Atm I have to do this every time by myself. Not a that big problem but it would be a nice to have feature:)
[Nexus 4 Original Android Development] dhruvmalik:
Good, was waiting for this.

Flashing it now after waiting all day on STOCK...
[Nexus 4 Original Android Development] rocklee80:
flashed r92 still reboots if i set governor to conservative and open the governor contol.
[Nexus 4 Original Android Development] franciscofranco:
I know, r92 is based on r90-test and that was a known bug, I didnt find time to fix it.
[Nexus 4 Original Android Development] rocklee80:
ok thx i know that what a problem on r90-test and i thought r92 is based on r90. Btw thanks for r92!!

EDIT: i read that you changed things in fast charge, is it now forced to used? because the option isnt there in your app anymore, but i can acces my nexus via mtp. :)
[Nexus 4 Original Android Development] dhruvmalik:
Using These Settings.

RGB 255

Grays 0

Mids 55

Blacks 119

Contrast 10

Brightness 10

Saturation 3

Whites 3
[Nexus 4 Original Android Development] CaspaTheGhost:
Re: [KERNEL][GPL][N4] franco.Kernel - r92

Sleep man, sleep!

Sent from my N4 Asylum
[Nexus 4 Original Android Development] florichelle:
AW: [KERNEL][GPL][N4] franco.Kernel - r92

Ahahahahaha! :D :thumbup:

... Nexus 4 in da House
[Nexus 4 Original Android Development] vomer:
Lol best change log ever :D

Btw 90-test has epic idle drain - about 2% over 8hrs. Since this is based on that test I am sure it should be good too :good:
[Nexus 4 Original Android Development] jak3z:
Testing r92, interactive, hotplugging mode :) Will report when it reboots if it reboots.
[Nexus 4 Original Android Development] scream4cheese:
Re: [KERNEL][GPL][N4] franco.Kernel - r92

Default settings. Undervolt up to -100mhz is fine.
[Nexus 4 Original Android Development] noneabove:
Re: [KERNEL][GPL][N4] franco.Kernel - r92

Good enough for me ;)
[Nexus 4 Original Android Development] Vangelis13:
Re: [KERNEL][GPL][N4] franco.Kernel - r92

Also for nominal binned cpu's? Not sure, I don't think that would be stable..
[Nexus 4 Original Android Development] rocklee80:
i have a fast binned cpu and -100mV on 4.2.2 causing sometimes problems on 4.2.1 i could UV to -150 without problems, and i dont think that nominal can UV -100 without problems on 4.2.2
[Nexus 4 Original Android Development] Vangelis13:
Re: [KERNEL][GPL][N4] franco.Kernel - r92

That's what I meant, i had just edited my post as you wrote yours.. ;)

One should be careful with putting out statements like that, they cause angry pm's.. :p
[Nexus 4 Original Android Development] ectodroid:
I guess r92 is back with the hsic fixes :D
[Nexus 4 Original Android Development] steviewevie:
Re: [KERNEL][GPL][N4] franco.Kernel - r92

Indeed, and the other way round too, it's perfectly possible that one person's Fast CPU can't UV as well as someone else's Nominal CPU. Everyone needs to experiment and see what values are stable for them, and not just blindly follow someone else's values.

Sent from my Nexus 4
[Nexus 4 Original Android Development] scream4cheese:
Re: [KERNEL][GPL][N4] franco.Kernel - r92

Oops.
[Nexus 4 Original Android Development] vomer:
Re: [KERNEL][GPL][N4] franco.Kernel - r92

Sharing my settings here. Gives me the best combo of stability, battery life and colors ;)

Sent from my Nexus 4
[Nexus 4 Original Android Development] rocklee80:
agreed! same settings here :P
[Nexus 4 Original Android Development] Vangelis13:
Re: [KERNEL][GPL][N4] franco.Kernel - r92

Hear hear!

:p
[Nexus 4 Original Android Development] dhruvmalik:
Thanks, but way to dark for my taste.
[Nexus 4 Original Android Development] janosik47:
Re: [KERNEL][GPL][N4] franco.Kernel - r92

So lets assume, for simplicity, the current CPU scaling/on-off logic is correct and optimal for a system without GPU.

By introducing GPU whit a functionality to report how busy it is, the first thing I would do is check if the CPU management is properly holding the cores up and high longer than usually not putting them into low frequency or sleep state.

Is such way the start-up of a game could be laggy but a moment later once GPU starting reporting high load (as described above by iammudd, not only value but intervals count) the CPU is properly scaled up and all should be smooth ... I think ;)

To sum up I would follow with noneabove suggestion of a buffer to have a smooth GPU load value in given, static time interval. Base on that I woudl tune the CPU algorithms to keep cores up at high freq. longer than usualy and see how it goes ....

....That is just my two cents
[Nexus 4 Original Android Development] alanwyl:
http://www.youtube.com/watch?v=T2jmeaXz2nI

Franco is that you?