yashsingh1/xdaforums huggingface dataset:
[Nexus 4 Original Android Development] rossbeck:
Or, if it means less work, offer a kernel with the stock color settings so we can more easily use color-correction apps? Just a thought. :)
[Nexus 4 Original Android Development] _motley:
Google has been improving in so many ways these days :good:

The kernel already supports configuration of the basic RGB color scheme as does the stock kernel. Any apps that support changing the stock kernel RGB settings via sysfs should work since I haven't changed anything that would make it incompatible. All I have done there is tweaked the stock RGB default. Many have complimented on this default, so that is staying in. However, you can still change it if you like, I have not taken away that ability.

Even if you don't have an app to change RGB, you can set the RGB scheme using a script and my kernel will honor those settings on screen off/on without having an app (see post 2). The screen on/off support (without an app) has been provided by my own modification to the kernel source.

I will likely provide some tweaks for the default gamma color settings in the next version. You may be able to change the gamma using other apps too. I can't tell you with any confidence either way. If anyone knows of any open source apps that do this, please let me know.

Hope this helps clarify things a bit for you in this area. Suggestions are always welcome:)
[Nexus 4 Original Android Development] ptesmoke:
Thank you motley. The gamma settings and gamma presets are precisely what I was referring to! Apparently quite a few people have found some pretty impressive combination of those settings.

And yes I was aware of your RGB preset and I have no issue with it :) I'd just like to be able to tweak the gamma etc as well. And of course stay on this kernel :)
[Nexus 4 Original Android Development] _motley:
Build 50 posted

Build 50 has been posted. Nothing earth shattering, just setting the foundation and checking for stability before we move forward.

For those wondering about the added "faster" table default settings, look in git here:

https://github.com/motley-git/kernel-Nexus4/commit/d626068b09bed23ea90ffd2df5d6c07d91f2b72f

Let me know how it goes!
[Nexus 4 Original Android Development] pitjago74:
Do you mean....spanish team..htcspain??

Nexus4-HTCSpain
[Nexus 4 Original Android Development] richteralan:
I was able to run those voltages with my "fast" binned N4.

I'm pretty sure those will be stable for "faster".
[Nexus 4 Original Android Development] JmPTaz09:
This is last night with Motley's build 48 ,so the above is not that impressive.
[Nexus 4 Original Android Development] chemita:
50 Mhz???? Spanish team
[Nexus 4 Original Android Development] guapinoy:
Great kernel! I got a "fast" binned cpu. I've been running kernel 48 1.2 - 304 on demand . I got 304-1024 uv'd to 700 mV. With project butter and the powerhal min always bounces around after screen wake. Since I have 700 mV for 304-1024 is the power draw still the same?

I'm currently experimenting running 1024-1024 max-min performance. I'm benching with geek bench and antutu to see how hot I can get my phone with these settings. So far 46 C was the hottest.

The cpu is running super cool. Around 32C-37C regular with no real performance decrease.

So is the power draw for 304 MHz @ 700 mV the same as 1024 MHz @ 700 mV?

Thanks.
[Nexus 4 Original Android Development] giantflash:
Is there a way to disable this "jumping" of the minimum frequence after touching? Because I think this is the real advantage of franco's kernel.

I didn't noticed any negative effect on the performance but it used 354 mhz more often then all the others and so I think that would be a great improvement to the battery life.

@guapinoy

No you'll need more battery in the higher frequences, I had read something in wikipedia where there was a way to calculate this. And a higher frequence needs more power.

But 700mV for 1024 is just... oO
[Nexus 4 Original Android Development] meangreenie:
guapinoy.. that can't be right ?
[Nexus 4 Original Android Development] DroidRC1:
Must be nice i get a reboot if i UV 150mv
[Nexus 4 Original Android Development] dwang:
I personally find Franco kernel laggy due to this so I wouldn't want thus unless it was an option.
[Nexus 4 Original Android Development] guapinoy:
I did not do a global uv. I was playing with each cpu freq step till I found the lowest one. I test each step with some bench marking and using the camera. I found that at 1.5 I can uv to 987.5 but the default camera freezes so I run 1.5 @ 1000 mV.

Here's the rest of my voltage setting s.
[Nexus 4 Original Android Development] UZ7:
If you guy are talking about governor behavior then this kernel is set to OnDemand for default while franco's is set to Interactive. You can easily change them and the frequency behaviors will change a little. From my personal experience franco did have good battery life but on some instances it felt like it needed a couple of seconds to kick in to what it needed to do. I was using interactive at the time and with interactive it throws in the apps or program to a core/thread that has already hit max frequency. With Ondemand it will gradually go back down before it picks up another task but for interactive it will use that thread so theoretically it will have a seamless transition, only con to that is the longer you stay at higher frequencies the more battery it will take up but I saw some advantages to it as from my testing it was better on battery but responsiveness was a little laggy. Others may feel differently but thats just based on my testing.

So I would switch OnDemand and Interactive and see how it fairs for you. Another thing is I/O which is the behavior on how the phone reads/writes to the phone. On franco its set on deadline and on this one default is sio. I personally like noop and sio over deadline but this setting can also give responsive and sensitivity feeling. Overall though I think noop is better but sio is faster in my book. But I would test them out and see which one works for everyone as everyone will have a different results or perspective as I do.
[Nexus 4 Original Android Development] Rafase282:
How do I know the type of cpu I have? like "fast" or "faster" and so on.

Nevermind, it is on the OP
[Nexus 4 Original Android Development] DroidRC1:
Okay ill do some testing then
[Nexus 4 Original Android Development] Ghisy:
I'm sorry if I'm being stupid but where can I read the kernel log? Does system tuner do it? I also have LogCat but didn't find any info in there. Thanks!

edit: I've attached a screen capture of the default voltage table right after flashing build 50. Can you tell what chip I have and can I UV it more?
[Nexus 4 Original Android Development] ethoss:
Build 50 link doesn't work for me :(

Sent from my Nexus 4
[Nexus 4 Original Android Development] hol17:
View the topic in a web browser and click the link or download the kernel through the attachment at the very bottom.

For some reason, the Tapatalk app won't open the links correctly.

Install Terminal Emulator, reboot your phone. Once the phone starts up, open Terminal Emulator and type the following in:

su
dmesg | grep PVS

That should give you the information you are looking for ;)
[Nexus 4 Original Android Development] UZ7:
Get Terminal Emulator

Type in SU

Type in dmesg | grep PVS
[Nexus 4 Original Android Development] cpom1:
Im running build 50 and its fine.

Im really liking this kernel. My only complaint is the powerhal issue where it jumps to 1026mhz. Other than that I really like the kernel. Thanks. :)
[Nexus 4 Original Android Development] Ghisy:
I just did that, I got nothing. I did grant superuser access to Terminal Emulator though.
[Nexus 4 Original Android Development] giantflash:
Just reboot your phone and try it again just after that.
[Nexus 4 Original Android Development] UZ7:
Try rebooting the phone then doing it again.

Another way you can do it is through adb:

adb shell dmesg | grep PVS

or

adb shell dmesg | grep acpuclk
[Nexus 4 Original Android Development] Ghisy:
Alright, it worked after rebooting. Sadly, I have a nominal chip :/

How low can I go? It's currently at 1100 mV @ 1.51 Ghz (kernel default).
[Nexus 4 Original Android Development] ctfrommn:
I also have nominal and have no issue at 1037.5. 1025mz usually causes reboots.
[Nexus 4 Original Android Development] Ghisy:
@ctfrommn, thanks, I'll try 1050 mV for now and see if I can go further down.
[Nexus 4 Original Android Development] JmPTaz09:
I cannot for the life of me get any output when I type that into terminal emulator... Tried rebooting many times, etc. My voltages defaulted to 1100 at 1.5 GHz and 750 at 304; can anyone tell me what category I'm in?
[Nexus 4 Original Android Development] ctfrommn:
Those should be nominal as mine are the same.
[Nexus 4 Original Android Development] JmPTaz09:
Bummer, lol. Not that it matters much, as my machine runs smooth as butter and gets good battery life. Thanks for the answer :thumbup:
[Nexus 4 Original Android Development] magestic1995:
Been using this Kernel from the start and really enjoying it! Thanks for all your work motley

Turns out I got a lvl "Fast" phone, so im happy
[Nexus 4 Original Android Development] bamsbamx:
please, is there any way to manually change cpu temperature limits for thortle???

i would like to try to set them lower, to try if battery life gets better ;)
[Nexus 4 Original Android Development] seriouslyjeff:
What is mp decision?? I can't find an answer anywhere
[Nexus 4 Original Android Development] noneabove:
Hrm.. Whenever I touch screen in system tuner, min CPU frequency jumps to 1ghz :S is this intentional? How can I make it not do this? Or does it not really cause any battery life problems?
[Nexus 4 Original Android Development] aventu:
just look for Project Butter
[Nexus 4 Original Android Development] yumcax:
Motley, would you consider adding the downgraded E015 touch drivers to this kernel? I've been using the init.d version of the mod from here, and the difference in responsiveness is absolutely phenomenal. The problem is, the phone is unresponsive for 30 seconds after boot, and half of the time TWRP will not respond to touches.

Anyway, if you could integrate this on a kernel level it would be amazing. I don't see any downsides, and once you try the downgraded driver you won't be able to go back.

Thanks!
[Nexus 4 Original Android Development] robto:
Hi,

My nexus cpu is "faster". Tried build 50 and "seems" a little bit slower. Dos it makes sense to anyone? Just my impression?

Enviado desde mi Nexus 4 usando Tapatalk 2
[Nexus 4 Original Android Development] _motley:
Thanks for the feedback. Did you come from build 48 prior I assume? To help do some diagnosis for me, use System Tuner to increase voltage +25 mV across all frequencies. This will set you back the way it was before for "fast" and "faster" chips in the prior build. If that makes a difference, perhaps we are a bit too low in the faster table for the default.

I would be curious to hear from others with "faster" chips. Depending on what we decide, I may do some tweaking in the faster table, or maybe we will just go back and share the "fast" table since it already contains a decent amount of UV as compared to stock. We need to have a setting out of the box that works well for all, and then folks can UV from there if they wish.

I am on the fence on this one. I flashed the old driver manually when it first became available. Many, including me, couldn't really feel much of a difference. I am not sure why this is, hardware diffs or just the way folks use touch. I do admit that I would have to go back and test again and do better testing to give a proper review. I didn't keep the change for long. I was also concerned that while some general feel was changed, that we would regress with the other things the patch set out to fix. Before I would make such change that would impact all users, I would want to really know that a large portion of the users would also want this change. I would also want to go back and re-read that commit and do full testing to see how it works after a couple days of use.

If anyone else has any experiences to share or additional feedback on the touch driver, I would like to hear it.

You can try looking at /system/etc/thermald.conf. I have seen some other mentions of users editing this file to increase the temp, but I have not tried myself. I'm sure you will find some info if you look around. I am considering removing the need for the stock thermald daemon (/system/bin/thermald) and replacing with kernel level thermal control. If I do that, we can likely give sysfs control so you can set the max temp via a script.

Yes, this is part of project butter in action. It is Google's implementation that ramps up the CPU on touch for a bit so that the experience is more fluid.

There is a lot of info out there and it can be confusing if you aren't familiar. It's an OS daemon that runs on QualComm devices (the proprietary binary lives in /system/bin). It makes calls to the SoC to manage the cores. For project butter, as discussed above, the OS (PowerHAL) makes a request to the mpdecision socket and then mpdecision makes a request to the first two cores and tells them to ramp up. After a bit, it tells them to ramp down.
[Nexus 4 Original Android Development] ptesmoke:
Hey motley. I'm undervolted well below your table. And I'm "faster", no speed issues here. Look back a page to see my voltages.

As for the touchscreen I'd be willing to test the change but I dunno how I feel about using an older driver. I have yet to test it so, its not a big deal to me.
[Nexus 4 Original Android Development] meangreenie:
I prefer the older touch driver too. My only concern with it is seems impossible to remove the 'pause' at startup even when removing the init.d script, tried going through the instalation script and executed .sh but can't make head or tails of it.
[Nexus 4 Original Android Development] whittikins:
Touch driver makes a big difference to me, my brother, and mom. We're running matr1x because it's included, but I found yours runs smoother from my experience.

Older driver doesn't necessarily mean worse.
[Nexus 4 Original Android Development] dwang:
matrix's kernel just removes the code that automatically upgrades the touchscreen fw if its running the older one. You still have to manually downgrade the touchscreen firmware first.

I'm running the older touchscreen fw and I'm noticing a difference as well.

One thing to note is that the cwm touch recovery will upgrade the touchscreen fw if it detects its running the older fw so even if motley modifies his kernel to disable the touchscreen fw check, going to recovery will cause the touch driver to be upgraded again. So you'll have to manually upgrade every time u flash a new kernel.
[Nexus 4 Original Android Development] robto:
By the way, I do love your kernel and my nexus 4 loves it too :)

Yes, I came from b48 It is the only kernel and build I flashed in my aokp, so should be clean from other kenels files. mmm ....I increased 25 mv each frequency but seems to be worst: everything looks slower navigating and scrolling. Quadrant score falled from 5100 to 4200. Yes, does not make sense to me too. So I restored original voltage. Will test a bit more. Mayble will wipe cache and dalvik (think I did but maybe......) and will fash b48 and b50 again to test.

About battery, I tested only one day with 2-3 hours in stand by, but seems there were a nice improvement.

mmm... my n4 is a bit .... special. For example, she does not like Franco Kernel at all whe most of people are getting good results. So, maybe ithis extrange behaviour is only in my nexus : (
[Nexus 4 Original Android Development] ghostrid3r:
You're not alone... I've also had less than exceptional results running Franco's r14 kernel, was only getting 10-12hrs per full charge cycle with 4hrs screen time. I have poor reception so that factors in, but getting 14-18hrs on _motley's builds, it is nice that franco added "fast charge" to his kernel tho.
[Nexus 4 Original Android Development] Beretta93:
Hi Motley, DL link for build 50 is broken when accessing from mobile. Is it just me ?
[Nexus 4 Original Android Development] jacklebott:
I can vouch that editing thermald.conf works perfectly to raise the throttle limits. You just have to know what you're doing
[Nexus 4 Original Android Development] JmPTaz09:
Just hit menu then web view, click the link from there and it will work.
[Nexus 4 Original Android Development] XupModz:
Won't boot coming from francos kernel on codefireX...tried wiping caches any ideas?
[Nexus 4 Original Android Development] konfuzed:
flash the stock kernel provided in op ... then reflash kernel 50
[Nexus 4 Original Android Development] yumcax:
Better yet, just flash your ROMs .zip again (as well as GAPPS). This will reset the kernel to stock. Then you are free to flash any kernel you want.
[Nexus 4 Original Android Development] extremecarver:
I also have big problems with the 1026 min speed due to project butter. It sets back itself to 304 only as long as I don't touch any of the voltages with system tuner or with trickster mod.

As soon as I change voltages with either of the programs, then it blocks slower speeds and I'm left with deep sleep and 1.02Ghz. Now I have 19h deep sleep time, a couple of secons 304Mhz, and 2 hours 1.02Ghz. I capped max speed at 1.02Ghz to save battery.

I'm also on faster Cpu batch. I can run up to 1.02Ghz all speeds at 700mv - leading me to believe maybe it doesn't work setting the voltages? For 1.5Ghz I need 1000mv to run stable (975 crashes on benchmarks, 987.5 maybe stable - but I alway go up two steps to be sure, so its 1000mv for me). So the 1050 default is plenty.

According as the kernel only uses deep sleep or 1.02Ghz - standby times are great, but using it drains batter very fast.

It would be great if intermediary speeds work again, and maybe project butter speed be set manually. I'm sure 702Mhz would be fast enough.

I don't have this bug, If I set max speed lower than 1.02Ghz or at 1.5Ghz. It does happen if max speed is set between 1.02 and 1.2Ghz.

Besides standby times are even better than with Franco for me, and the kernel scores better on benchmarks compared to Franco. Also on Franco no UV so even with the Franco kernel running intermediary speeds, it eats up battery just as fast.
[Nexus 4 Original Android Development] XupModz:
Thanks guys doing that now
[Nexus 4 Original Android Development] extremecarver:
Well now the lower speeds seem to be working again. Dunno why it stuck before even though I rebooted several times. Would still love configurable project butter speed, and a more aggressive ramp down on cpu speeds.
[Nexus 4 Original Android Development] dwang:
I don't know why people keep on wanting to get rid of project butter. That's what makes the phone fast and smooth and I still get outstanding battery life on motley kernel with it enabled.

With WiFi on, I regularly get 5+ hours of screen time.

With mobile data, 4+ hours of screen time.

Reading the Franco and faux threads I don't see people there getting much better.
[Nexus 4 Original Android Development] richteralan:
Hey Motley,

Any chance you are going to revert the Gamma ramp from 4.2.1 to 4.2 in your kernel?

I believe 4.2 Gamma ramp provides a much better color adjusting baseline.
[Nexus 4 Original Android Development] bamsbamx:
The thresholds values for battery in thermald.conf seems to be too high: 360!!!!

What units are used in that file??

What is the difference between threshold and threshold_clr???

Also can I set thresholds values of sensor lower and set action for cpu???
[Nexus 4 Original Android Development] _motley:
Hey, are you talking about the following commit? Also, what are you using to adjust the baseline thereafter? I am curious if faux123's app will work with this kernel. I read somewhere that he was saying that it could also work with the stock kernel. If that is the case, it should work with my kernel as well. I don't see any commits he has done to add a sysfs interface to allow gamma adjustments. I will do more study to understand how it works.

https://github.com/motley-git/kernel-Nexus4/commit/c1be92b7967f05ed5c6ea3b9c31060617541f96a

I am running a test build right now with this commit partially reverted (gamma settings only) like some others have done. Still not sure what to think about it. It's hard to tell when you can't compare side to side. I'd be happy to provide a test build if you want to take a look.

I haven't played with the config file myself, but those units appear to be deciCelcius, so 360 is 36 Celsius and so forth. These units are used in the kernel in some places.

Yeah, this is all normal project butter behavior and this kernel works like the stock kernel. However, there appears to be an easy way to remove the butter touchboost. I haven't done much research to see how it affects things overall, but it will stop the spiking. I have done this using ES file explorer manually, but you could most likely create a script to disable this on boot if you like. It will dull that buttery feel just a bit, but you may get extra battery if you are a high screen on person. Set permissions on the following to read-only:

/dev/socket/mpdecision/touchboost

In the kernels that remove mpdecision and modify PowerHAL etc., they are adding their own gov-based touchboost mechanisms to replace the stock way of doing it.

Agreed, is what makes the phone fast, smooth and responsive. Unless I was without a chargerfor a long period, I like it as it is. I have plenty of juice to get through a couple days as it is (my usage of course, YMMV)
[Nexus 4 Original Android Development] richteralan:
Thank you for the fast response! Yes that's the commit I was talking about. I'm actually not really requesting a Gamma adjusting interface because I know it will come when things are figured out.

The Gamma ramp setting previous to that commit IS so much nicer even unadjusted. If the starting point if better than we, in the future, can achieve much better Gamma adjustment ourselves.

I think if you have time and willing to, you can let everyone else think about the reverted Gamma ramp here.:cool:
[Nexus 4 Original Android Development] _motley:
Build 55 posted

Build 55 has been posted including some new features. Please give it a try and let me know what you think!

Thanks. It's out there now in b55, so we can all give it a try;)
[Nexus 4 Original Android Development] Logi_Ca1:
Thanks a lot for lowering voltage to 600mv! I shall test and report back! :good:
[Nexus 4 Original Android Development] richteralan:
Tried your build 55.

Very smooth as usual!

Have to revert the Green channel back to 255 from 247 to make the screen looks less green. But it's just my opinion.

Great work!
[Nexus 4 Original Android Development] julien30dusud:
Hello guys !!!

I would like to know the directory to read CPU temperature please ! And this directory on a stock ROM :fingers-crossed:

Anyways, thanks for your work !!! :good:
[Nexus 4 Original Android Development] yurilebbie:
Hey _motley,

Could you shorten the name of this post, or put the version number closer to the front? Because after your addition of fast charge, it has made it that tapatalk does not show the version number from the topic viewer.

Second question: how viable are -O3 optimizations? I thought linaro used -O3 on their toolchain.

Thanks for the work and amazing kernel
[Nexus 4 Original Android Development] ptesmoke:
How do we adjust gamma amps? Not showing up in faux app.
[Nexus 4 Original Android Development] whittikins:
Yep I updated it after flashing it :).
[Nexus 4 Original Android Development] JmPTaz09:
Love your kernels and have been running them quite a bit on my N4, but I do not like the gamma and or other color tweaks you've done to build 55, switching to another kernel for the time being. My phone luckily came pretty well adjusted colorwise out of the box.