yashsingh1/xdaforums huggingface dataset:
[X Style (Pure) Android Development] elite001mm:
I've noticed that cpufreq seems to be a small miracle in terms of smoothness. I can run the conservative cpu governor at stock frequencies as long as I'm using cpufreq, and it's still totally smooth. Much smoother than stock. I was wondering though, roughly what cpufreq was? I mean in terms of a governor, what's it either based on or how does it scale frequencies? I'm interested in how much battery life its *supposed* to sacrifice. It's the only gov I couldn't find info on.
[X Style (Pure) Android Development] HikingMoose:
Just for information sake, conservative is one of the smoothest governors for me. You just have to know how it works and how to set it up. It doesn't mean it conserves battery. It conserves the clock speed you're at. It doesn't ramp up and down as fast it "conserves". But I typically lower the up threshold and increase the down threshold. It makes for a very snappy and responsive governor.
[X Style (Pure) Android Development] dirtyhank:
cpufreq GPU governor scales along with main CPU load. It reads max CPU frequency across all cores and use that value to proportionally scale the GPU frequency. Pretty simple concept but very effective in terms of smoothness.

In terms of battery it's not the most battery friendly (that would be probably "powersave") but it's not much worse than the default msm-adreno-tz, with much better performance. I've tested most of the GPU governors and cpufreq is my daily driver.
[X Style (Pure) Android Development] gpz1100:
[MENTION=2400758]dirtyhank[/MENTION],

I installed the v0.10 100 mhz variant. Configured both clusters for interactive (used to be bluactive) governor. Too early to draw conclusions about battery life but one thing I am seeing is all 6 cores online - under idle conditions the 4 small cluster cores appear to be at 960 mhz, while the 2 big cluster at 302 mhz. Under bluactive, when loads were low, cores would get unplugged, often times with only 1 or 2 cores online.

Hot plug section in KA is configured for

min cpu online: 1

max cpu online: 6

max cores screen off: 1

Any thoughts?
[X Style (Pure) Android Development] dirtyhank:
Did you modify interactive tunables in any way? If you disable and enable again Hotplug are all cores still online?
[X Style (Pure) Android Development] gpz1100:
I did not. After discovering this issue I made one change, go_hispeed_load , changed it from 85 to 95 to 100 back to 85 (percent) with no change in hotplug behavior.

Disabling/re-enabling hotplug altogether made no change either but that did give me an idea. Prior to making the kernel change I made no changes at all to KA - specifically all the parameters set to be enabled at boot were left that way. I simply flashed the new kernel only.

Disabled the apply at boot for cpu and hotplug, then rebooted. Made the adjustments in KA, then re-enabled apply at boot. That seems to have resolved it. Maybe KA settings should be reset in this manner when switching kernel versions?

My guess is some previous erroneous values that were applied at boot (no longer applicable to .10 perhaps) were causing this. Doing the above in essence allows default values to populate instead of anything saved in KA from before.
[X Style (Pure) Android Development] dirtyhank:
Yep, for some reason Kernel Adiutor sometimes retains old settings. I tend to use Kernel Adiutor Mod and go to the Start-Up Commands tab when I want to make sure there are no old settings lying around.
[X Style (Pure) Android Development] gpz1100:
^^My bad, that's the one i'm using too (KA-mod). Something I'll keep in mind for future updates.
[X Style (Pure) Android Development] rehpyc:
Some people may have different results with the smoothness of .10 300hz vs 100hz, based on what apps they typically use (some do poorly with the 300hz version), but battery life has consistently seemed the same for me. As usual, attached are screenshots.. SOT: 6hr 37m, off charger for 2d 8h. Kernel settings I use can be found HERE.

For those that get poor battery life, I wonder.. what's your Awake (Screen Off) time in BBS?
[X Style (Pure) Android Development] gpz1100:
Having a strange notification behavior with the v10-100 build.

Specifically, I have moto display enabled, but approach disabled. With the old kernel, the screen would light up _once_ for a notification alert. With the current build, the screen pulsates until the notification is acknowledged. Pulse at apprx 2sec on, 6 sec off.

If the prox sensors are covered then no notifications appear. I suppose this is good as the screen doesn't light up then if in case or pocket.

How do I stop this? (rebooting doesn't help, nor do I see any options in KA to actually control this).
[X Style (Pure) Android Development] somecro:
What's the performance/smoothness like with your Kernel settings? Especially with lowering the GPU frequency?
[X Style (Pure) Android Development] rehpyc:
Phone still feels smooth. Will be testing out other setups to see if they positively affect the speed of opening of apps or such. I don't really play games, so the GPU doesn't seem to even go above 300 anyways, except with watching a YouTube video.
[X Style (Pure) Android Development] krohme:
Will be trying this setup for few days - that's legendary screen on time lol :thumbup:
[X Style (Pure) Android Development] HikingMoose:
I believe you'll need to use a ROM with doze settings to be able to turn off the standard ambient display pattern. Otherwise, it sounds like the way it's always worked (even though I agree with you, it's wrong and should only flash once).

I've never understood why Moto display - supposedly a discreet way to display notifications, I'd so non-discrete. If I'm in a meeting, I don't want my screen lighting up 15 times because my weather updated or I got a text. Only fix I've found is a custom ROM.
[X Style (Pure) Android Development] screech:
Xt1575

Mphs24.49 stock ROM with feb update

Moto camera app 5.1.13.12

With 0.10 the focus is much better, but I did something simple.

Took a photo of something in my living room, flashed Vadim's optimized kernel and took that same photo.

Under 2x magnification the difference is clear.

Also did one other thing, take some motion videos with the 720p slow motion option. U will see the focus hunting and make portions of the video unusable. Again similar scene with v4tk .. Did not have that issue.

OTOH .. Battery life with .10 and blueactive/ondemand governor's was about 40% better than stock afaict.
[X Style (Pure) Android Development] gpz1100:
I'm not using ambient display. I'm specifically using moto display (which disables ambient display). More so, with the older kernel it worked correctly - screen lite up once for the notification and that's it. It would not pulse on/off.
[X Style (Pure) Android Development] HikingMoose:
Yes, but the screen wake pattern for ambient and Moto display is always the same for me. I haven't seen it work properly yet. It's always continually flashed for me. I've posted about it a while back.

---------- Post added at 01:18 PM ---------- Previous post was at 01:17 PM ----------

If you find a version where it only flashes once, let me know. Because that has always bugged me.
[X Style (Pure) Android Development] Makalicious:
In custom ROMs that have advanced ambient options there is a toggle switch that turns off the 1,3,5,10,20 second pulse schedule that ambient triggers. The xposed module enable ambient also has this option
[X Style (Pure) Android Development] gpz1100:
I was running the rom in my sig (v2.6.2) with frankenclark .9ß (not the official .9, DH can comment on any differences). Moto display flashed any notifications only once then went blank. The pulsing behavior was noticed the evening I flash v.10. Was watching tv in a dark room and kept seeing the display light up/go dark in the corner of my eye.

The only change was the kernel, nothing else.
[X Style (Pure) Android Development] HikingMoose:
I just downloaded and enabled the module mentioned to see if it fixes the pulsing! Waiting for a text now. Lol

Nope. Still pulsing even though it's set to only pulse once.
[X Style (Pure) Android Development] TGiFallen:
Yeah this pulsing or breathing is happening to me as well. Otherwise I have my Moto X Pure set up exactly how I like it, Battery time is amazing. Lots of thanks to Dirtyhank for this awesome kernel, v.10 with kernel adiutor mod is excellent.

Edit: I've found a fix (if you want to call it that, I like this behaviour). Go to your Moto Display settings, Enable "Keep Screen Dark" and set the times from 12PM to 11:59AM. Notifications no longer pulse but your screen won't wake up when you first get the notification.

On a side note, has anyone using Google Keep noticed that when you get a notification it'll appear on the moto display screen a few times, then get removed? even from the notifications drawer, doesn't happen with Google Calender notifications.
[X Style (Pure) Android Development] gpz1100:
That works too, but is flawed. Try calling yourself between those hours. Phone won't light up.

It does seem the pulsing stops after a minute or two. Also, touching the notification makes the pulsing stop too.

I even flashed back my backup to confirm this wasn't the behavior in the older version. Very strange.
[X Style (Pure) Android Development] TGiFallen:
Just tried calling my self, my screen lights up when I'm receiving a call. Using google dialer.
[X Style (Pure) Android Development] gpz1100:
I'm using the google dialer too. Just tested this myself as well. My behaves like yours. Very strange. When I did this with the previous kernel version it disabled all notifications including the phone/incoming call notification.

While doing the above test I noticed if there's several unread notifications, it'll ring once then immediately go to the lockscreen while the phone continues ringing.
[X Style (Pure) Android Development] TGiFallen:
What exactly do you mean? sorry.

It'll ring a few times then the ringer screen will disappear and it'll go the lockscreen where you can enter your password?

How did/do you answer the call after it disappears?
[X Style (Pure) Android Development] gpz1100:
That's exactly what I mean. I don't have a lock screen password, just swipe to unlock. I actually double tap on the phone notification rectangle which opens up the phone notification and I can swipe right to answer, left to ignore.
[X Style (Pure) Android Development] dirtyhank:
Can you pinpoint the issue to a specific kernel version? I mean, is there any version that works fine on your device and the next doesn't?
[X Style (Pure) Android Development] dirtyhank:
Guys, what's the easiest way to reproduce this pulsating notification bug?
[X Style (Pure) Android Development] countryfolk07:
If you read about moto display I believe on Motos site, I can't be for sure, that pulsing is actually normal reaction. Of it only pulsed once any other time, that would be the bug. That pulsing is must a feature of the moto display. I'll look around and try to find that information.
[X Style (Pure) Android Development] TASL:
I posted a bit back about having this problem, found out it was my kernel settings. Running Franken's stock settings my camera works as it should, but when I started tweaking gov/min/max/n5x profiles my camera would, at some point, become fuzzy.

Haven't gone back to figure out which settings exactly cause the problem, because once it was working I stopped. I know for sure it isn't vibration, but it could have been gov (bluactive), min/max cpu on big or little, or n5x profile user profile settings (butterfly or impulse).

Previously I thought it was the kernel version, but when I tried flashing around .8/.9/.10 and wiping dalvic/cache the camera stayed the same... until I uninstalled EX Kernel manager (wiping kernel tweaks/set at boot) then miraculously my camera was able to focus correctly.
[X Style (Pure) Android Development] alershka:
Android Pay

Anyone have experience with installing this kernel and using Android Pay with systemless root? I am assuming that this is enough of a change that it will trip up Android Pay. I have only used pay a handful of times and have been considering walking away from it but for now, I'm trying to keep it going.

Thanks!
[X Style (Pure) Android Development] dirtyhank:
Interesting, anyone else having the issue can try to reset all custom settings and test?
[X Style (Pure) Android Development] dirtyhank:
This kernel doesn't modify the system partition so there's a fair chance AP might work if you use the proper systemless root.
[X Style (Pure) Android Development] dirtyhank:
Could be, I've installed stock, 100Hz and 300Hz v0.10 and haven't noticed any difference. I've called myself to trigger the missed call notification and behavior is the same with the three kernels.
[X Style (Pure) Android Development] screech:
Unfortunately I have not seen a good run on any version. For .9 ->.10 .. I feel the autofocus hunting for pictures got better, but it is still jumpy.

Currently switched kernels as I needed a working camera .. But can run .10 tonite and see if adb logs have anything .. Or if u have an instrumented kernel .. I can try that too.
[X Style (Pure) Android Development] dirtyhank:
Can you test on an older kernel version? Like v0.4.1 for instance. My goal is to isolate the issue as much as possible.
[X Style (Pure) Android Development] screech:
If it will work .. Then sure .. Tonite.
[X Style (Pure) Android Development] HikingMoose:
I don't think it's a bug, is just how Moto decided to design it. Rather than making it a discrete notification system, then decided to make it an obtrusive one. To see what we mean, make sure Moto display is active. Then text someone and wait for a response. Leave the phone sitting next to you. When they respond, it will continually pulse the Moto display, over and over and over. Instead of what the general public would want (which is once). Again, it's not something you did, it's how it functions bone stock if I remember correctly.

But, if you think you can find a way to make it flash only once... That would be awesome!
[X Style (Pure) Android Development] TGiFallen:
As HikingMoose said, but instead of texts, you can do it with google calendar notifications. Set one, make sure screen is off and asleep, when the notification fires it'll cause the pulsing.

Thanks for looking into this.

I don't think it was a design decision by Motorola either, I don't seem to remember this behaviour when I was using my default stock phone with moto display.
[X Style (Pure) Android Development] klaxeus:
The Moto Display pulsing is definitely by design. The point of it is that you can just glance at your phone and see if there are any notifications.
[X Style (Pure) Android Development] thaatz:
Just got a moto x the other day, unlocked my bootloader, updated OTA to 6.0 with Feburary security patches. Rooted my phone, but everything else is stock. Stock firmware and stock kernel. I'm a perspective frankenclark user but I have not tried it yet because I am cautious of bugs. I can tell you right now though that when I get notifications, moto display

does

pulse for about five minutes or until you touch the screen. You dont even need to unlock the screen, touching the screen to view notifications from moto display will stop the pulsing. Otherwise I am fairly certain that this is by design because I have not modified my kernel and this characteristic of my own phone, but If people have pulsing for more than five minutes, then perhaps it is some kind of bug.

edit: (addendum) I used this phone for about one day before updating OTA to 6.0, so I can't say what behavior was like on 5.1.1, but I think that for those of you who don't remember the pulsing, I think it is a possibility that this is new behavior in 6.0. Motorola has made a few changes with their software in 6.0 (they removed moto assist, moved driving mode to moto voice, removed sleeping mode in favor of android's "do not disturb", etc.) so this could be one of those changes. In any case I still think that this pulsing is intended by Motorola at least in 6.0.
[X Style (Pure) Android Development] screech:
Just loaded default kernel with .5.2 and .10

Stock kernel

0.5.2

0.10

Older kernels did not install, and the frankenclarks were with default settings.

The problem becomes clearer as u zoom in.
[X Style (Pure) Android Development] dirtyhank:
I see, v0.5.2 looks the worst, right? Are you taking the pictures with Moto camera app default settings? Just point and shoot? Just trying to find a way to replicate the issue (I haven't been able yet).
[X Style (Pure) Android Development] screech:
Yup .. Simple camera, no HDR ..
[X Style (Pure) Android Development] guardian715:
Is there sound on this kernel? If not will there be sound options available?
[X Style (Pure) Android Development] dirtyhank:
Unlikely, I've tried several approaches and all failed. Motorola customized the sound driver and none of the popular mods work.

I tried to do it myself from scratch but failed miserably. At this moment I'm afraid it's beyond my skills :(
[X Style (Pure) Android Development] fdc77:
hi, maybe camera focus problem can be related to hotplug mechanism, i have tried to disable hotplug and camera seems to focus better or at lest most faster.
[X Style (Pure) Android Development] kevev:
Thank You dirtyhank for your hard work. Is there any chance of adding charging led notification into the kernel? Lightflow sometimes misses notifications.

MXP has it in this custom kernel: http://xdaforums.com/moto-x-play/orig-development/kernel-squid-kernel-moto-x-play-t3200039

The source is linked in that thread's OP.
[X Style (Pure) Android Development] unitz0mbie:
how come the hotplug in kernel auditor does not work, i set it, and after a while it goes back to normal and i see all cores running. when i did the battery profile while im at work.
[X Style (Pure) Android Development] rehpyc:
For those using my settings above, go ahead and change the governor for cluster 1 to interactive. Same battery endurance, but things seem more snappy.

I'm also working on tweaking the governor some. Attached is showing promising results.
[X Style (Pure) Android Development] zeeebs:
No matter what kernel settings I try, I seem to be having massive battery drain. Not sure the problem. Clean Flashed .10 on TruePure and am still showing lots of Miscellaneous drain.
[X Style (Pure) Android Development] dirtyhank:
Some other app must be messing with it, I've never seen the hotplug disable itself. It's enabled by default, you shouldn't need Kernel Adiutor to enable it.
[X Style (Pure) Android Development] gpz1100:
I've seen this happen a few more times now.

Further research indicates it's RILJ/phone services under partial wakelock that's keeping the cores active. I'm still trying to track down under what conditions are causing this. I've messed around with placing calls, trigger prox sensor (so screen is blank), hotspot, airplane mode, etc.

I discovered this by noticing unusual cpu load for "Phone Services" in OS monitor while there was no call in progress.

It seems to somehow be related to 3g (sprint/cdma/ehrpd). I'm still testing to figure out exact actions that cause this condition.

---------- Post added at 01:07 PM ---------- Previous post was at 12:35 PM ----------

Update:

Ok, it seems to be the act of switching from lte to 3g (on sprint/cdma) that causes rilj/phone services to go stay active. It makes no difference if 3g is evdo or ehrpd. Switching back to lte does not stop this condition. Neither does toggling airplane mode on/off. Only way to fix is to either reboot or kill the rilj/phone services process.

This is the app i'm using to view cpu usage of specific apps/services - https://play.google.com/store/apps/details?id=com.eolwral.osmonitor&hl=en

You will need to enable root options in settings, otherwise it'll only show user apps and rilj/phone services is a system service.

Edit: Same behavior if phone is at 3g and switched to lte. So any network mode switch is what triggers this runaway.
[X Style (Pure) Android Development] daniel.1983:
This would be a great feature! This is the only thing from custom roms I really miss...

Is it possible to merge these changes into this kernel easily?
[X Style (Pure) Android Development] pradeepvizz:
Led control is already available.. If thats what you ask for.. You need to use ex kernel manager app.. Go into miscellaneous and choose led trigger...
[X Style (Pure) Android Development] TGiFallen:
Anyone using Sleepbot and Amplify/Greenify. Through my messing around I've broken the alarm. I know it's not exactly kernel related but it may be... Anyone got ideas?
[X Style (Pure) Android Development] HikingMoose:
Sounds like you're using too many apps to control what Android already controls on its own. Those apps always cause battery drain.
[X Style (Pure) Android Development] kevev:
Does this activate the led when notifications come in while the device is & is not charging?
[X Style (Pure) Android Development] Deonta23:
quick question are you referring to cluster two as small?
[X Style (Pure) Android Development] bradym512:
I'm loving this kernel. Beats the battery life of any AOSP ROM. Amazing battery life.
[X Style (Pure) Android Development] JeffreyM:
Is it necessary to do a clean flash if you're on stock rom and frankenclark 0.9 (100hz)?

I want to update to 0.10 (300hz).
[X Style (Pure) Android Development] bradym512:
Afaik you can dirty flash. Just wipe Cache and Dalvik. And reconfigure with KA.
[X Style (Pure) Android Development] siddharthjharia:
dirtyhank,can you pls share your kernel settings with me?It would be really useful.I am not getting decent battery life on my moto x pure.
[X Style (Pure) Android Development] hbar98:
If you read the OP (original post) he has listed three different profiles that you can use. There's a performance, balanced, and battery profiles that you can apply.
[X Style (Pure) Android Development] bradym512:
They're the recommended battery optimized settings in OP
[X Style (Pure) Android Development] dirtyhank:
Unfortunately lux and clark are quite different devices in many areas and led driver is one of those. So it's not like you can port the stuff directly.

The good news is, like someone already pointed out, there's a basic led control already in place. You can select which trigger activates the led by writing to the file /sys/class/leds/charging/trigger. This is the full list of triggers:

[none]
fg_adc-online
bkl-trigger
MOTOSH-ANTCAP-PSY-DRIVER-online
usb-online
flash0_trigger
torch0_trigger
usb-parallel-online
bms-online
battery-charging-or-full
battery-charging battery-full
battery-charging-blink-full-solid
dc-online
rfkill0
mmc0
mmc1
backlight
default-on
bcl-online
rfkill3

Most of them are pretty useless IMHO but if you would run this command:

echo battery-charging-blink-full-solid > /sys/class/leds/charging/trigger

The led would blink when the device is charging and stay on when battery is fully charged. You get the drill...
[X Style (Pure) Android Development] kevev:
Ya that's how lightflow activates the led. Was hoping for a way to have the kernel do this.
[X Style (Pure) Android Development] TGiFallen:
But that's the proper way to do it, The kernel is implementing the /sys/class/leds/charging/trigger device to handle the different codes you pass it. I guess maybe there could be more modes implemented.
[X Style (Pure) Android Development] newHere:):
For LED notification you can use Moto Led enabler app

https://play.google.com/store/apps/details?id=br.com.itsmeton.motoledenabler&hl=en

it's a bit buggy, but it does the job :)
[X Style (Pure) Android Development] *.jpg:
Thank you! I was pleasantly surprised to discover that this actually allows the LED to light/blink before the bootanimation screen disappears.
[X Style (Pure) Android Development] browcantor:
thanks for the kernel, I wonder, for your settings you use the kernel auditor or former mananger kernel? which do you use?
[X Style (Pure) Android Development] rehpyc:
Kernel Adiutor Mod provides the most options
[X Style (Pure) Android Development] chibichuba:
I think cluster two is the big CPU, as the limits for those only go up to the limits on the big CPUs