yashsingh1/xdaforums huggingface dataset:
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] :
Interesting stuff (potentially for the next build);

- performance enhancements

- battery saving enhancements

I think I've found a few tweaks that are suitable to leverage on 8.1 + my kernel.... My initial testing (just performance based, using YEBIS egl 3.1 Demo (Play Store)

Without changes;

average FPS = 50+ to 60+ fps

peak FPS = 70+ fps (low-to-mid)

With changes;

average FPS = 60+ to 80+ fps

peak FPS = 91fps

* Interactivity is significantly improved with teh changes though... && you don't even need to run tests to see / feel the difference.

The changes aren't doable (at least not fully) on the Stock Kernel ~ It requires SchedUtil and never EAS / scheduling code. So it's a good thing that my kernel is rocking all of this stuff. ;)

I'll need a day to sit on these particular changes - but based on documentation; it should also help improve battery life. We'll see.
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] greyhd:
Just want to be sure, you recommend using the temporary twrp via fastboot to flash your zip? Thank you for your hard work.
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] :
Yes, sir.

https://dl.twrp.me/marlin/twrp-3.2.0-0-marlin.img (link also on OP).

Also, as noted - make sure you are installing root. Magisk is recommended. Reason: I currently am not setup for non-rooted devices, due to some stuff applied in my init rc && to be honest, my kernel is a bit restrictive without root (you won't be able to manage settings, tunables or use certain features)...

I was considering adding non-root support, but the more I think about the more I'm against doing so.
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] :
[MENTION=1007992]everyone[/MENTION]

I've added notes on needing root and a link to the Magisk Beta thread / download links.... SuperSU could/can be used too - but since I don't use it and it tend to have more issues/breakage than Magisk - I'm recommending Magisk + It's opensource, so it automatically wins ;)
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] Donric13:
So just installed your kernel a few hours ago. Everything is running smooth and fast. Thanks a lot for your work. Think i gonna use it some cycles to say something about battery life. When i understood your posts perfd seems now to be enabled by default so dynamic stune boost is activated.
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] :
Hey, no no, it's the opposite;

Dynamic Stune Boost;

=> Perfd = DISABLED

=> Input boosting = ENABLED

PowerHal;

=> Perfd = ENABLED

=> (cpu-boost) Input boosting = DISABLED

If perfd is enabled with Dynamic Stune boost - the Powerhal gives "hints" and overrides Dynamic Stune Boost (which has the effect of causing battery drain, possibly significantly so.... which is why DTS is currently disabled)...

Ya, give it a couple of cycles - 1st release on 8.1 with changes (like using PowerHal), will take me a bit to tweak for battery life - I'm running some code / tweaks that may improve things. But I too have to let go through a couple of cycles to see.
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] :
Hey, I just thought I would post here too (as I just did in the Pixel forum), in the case that I have received any donations from anyone in this thread, as a few donations have trickled in today and.... ;

A user in the Pixel forum posted about how he really wished he could donate, but wasn't in the position to... I reassured him that was fine, but it did lead to posting some of my thoughts on donations, working on this project, etc... So i think i'll share my thoughts here too;

I think end-users underestimate the amount of time and effort that kernel devs put into their kernels ~ It's also something hard to monetize; I mean, I could create an App like EXKM but specific to my kernel; which *would* be one route to monetization / recouping some of the endless hours that I've spent on development, reading documentation, testing , etc... -> but EKXM is pretty good and it seems like I would just be duplicating efforts of EXKM or Kernel Aduitor (both great pieces of software, of which I have paid for to try and help support their continued development)....

From my perspective; The kernel is such a critical part of Android / our devices and something that at times can be tricky / frustrating to work on.... I DO hope more people recognize this fact and do decide to contribute - it would actually make a big difference;

So, if people are using my kernel and value my efforts; they can donate whatever they like, if they can afford to kick a buck or three my way; that would be amazing and great motivation for continued development.... If they can't afford to, I completely understand / all good.

anyway, that pretty much sums up why I appreciate donations and why I would add my PayPal to my XDA account. So if anyone here has ended up donating, as I know of a few specific people on The Pixel forum that have ~ You are freaking awesome! ;) .... so Thanks!

PS: I'm working on an update, some of the changes I've been working on seem to be panning out... No ETA; but soon!
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] bobby_digital234:
I was curious why z-ram in ex kernel manager always shows up as "stopping"
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] :
selinux / permission denial to EXKM... my kernel is a bit stricter on certain things being poked around...

zram is working fine though (I'be verified this)... it's nothing to be concerned over... also, IMHO, it's a semi useless feature to be giving users access to. it looks cool in EXKM, but the truth of the matter is that u would never need to adjust and if u ever actually did need to; that would mean u likely had bigger problems on your hands...

I should add; the whole reason that Google is using ZRAM on the Pixel is because it could help with rarely used dirty pages... they make that suggestion to other OEMs in their documentation... so ya, a pretty pointless feature to be exposing to end users, IMO.
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] bobby_digital234:
I wasn't planning in changing it I was just curious about the status inside my kernel manager. It is Def working properly but just seemed strange. No worries here all works flawlessly so far. Thanks for your hard work on here
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] :
I added a few clarifying details in my 1St reply on zram.

yeah. it does give the false impression that something might be wrong, but if you were to run logcat while opening the memory settings in EXKM - you would spot the permission denials right away... it's no big deal.

glad to hear that it is working flawlessly. I'm very happy with 8.1. + this release of exns-was kernel. Google has improved a ton of stuff in userspace (lots to with rt scheduling), which makes integration with my kernel much nicer/easier.
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] montbazon:
Hmm.. Has anyone android message issue?

I mean the message "Android System There's an internal problem with your device. Contact your manufacturer for details."

As soon as i flashed this kernel, it shows me that message. It didn't, when it was just 8.1 stock.

Regards.
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] Nil253259:
Search in this thread, you will probably get your answer. Discussed few times before
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] montbazon:
I have already done. Googled it as well.

Who did this discuss then?

Nevermind, I find it. But it is a bit weird.

When I installed just SuperSU without the custom kernel, there wasn't that message. Hmm Let me see...
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] natri23:
I have pretty bad battery life since upgrading to Oreo (before trying your kernel)

Maybe you have some ideas how to improve it?
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] :
I'm working on that. my observation is that 8.1 isn't as good as 8.0 for battery life, as well... and I'm testing some changes with my kernel, that should improve that.... but I need to test it for a bit...

as far as tips, I'll write some later, sleeping. sort of.
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] bobby_digital234:
Yeah 8.1 is amazing so far after a full night of use. Sat overnight and lost litterally 2% while sleeping 6. Hours ... Also I can't believe they made this phone even faster.... And then your kernel makes it soooo smoooth it's possible it is even better than any phone I've ever used. Pixel 2xl included
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] montbazon:
Kcal seems not to be compatible with Oreo 8.1

If nightlight is turned on, display became too much red.

With stock 8.1 it doesn't happen. I tried both and compared with Pixel und Pixel XL.

Regards
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] :
thanks.

hmmm. 2% loss, eh? do you know the cause? (an app?). I get pretty much 0% drain in deep sleep.

a lot of what makes 8.1 seem faster is android using more rt scheduling / prioritization in userspace and they've improved their binder driver, which leverages that... *everything in android uses binder... - I then replace binder with my version.

well, the pixel 2 has better multithreaded performance (and twice as many CPU cores), but in some ways, my kernel makes the pixel 1 more competitive with the pixel 2. the audio stack is probably as good, we have hardening/security features not in the Pixel2. binder is more deterministic in my kernel, uses priority inheritance, etc....

but yeah, Pixel 1 was a good purchase. it does keep improving, unlike lots of android devices. IMHO.
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] :
you can adjust the intensity for nightlight in android, just reduce the intensity... that doesn't mean Kcal is incompatible.

incompatible would mean it's broken / doesn't work or has some bigger issue. Kcal works fine and obviously provides more advanced colour control, then night mode...

I can have a look and see, if there is a tweak that could be done to the kcal patch; maybe there is a value that could be adjusted that affects night light.... that would be. low-mid priority though; I'm working on more important stuff right now.
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] montbazon:
Already done

Same valued intensity and same brightness

Pixel XL powered with exNoShadez-eas and Pixel just 8.1 stock
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] bbender716:
Anyone have the issue where when paired with magisk, I get a different Mac address every time I boot?
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] :
Thanks, but you completely ignored wrote I actually wrote. I understood you just fine without the screenshot :-|

What part of my reply did you not understand, that you are quoting?

=> Was it the part where I suggested reducing intensity until I look at the KCal code?

=> Or was it the part where I told you that I was actually more focused on top-priority stuff right now?

So by "already done" - you mean you have looked source code and have a patch to submit? Because If not, then maybe you should just do as I suggested and reduce the intensity on Night Light / until do look at that code.

and fyi; The XL and Pixel are not the same device. exactly. Their displays are different and other subtle differences due to the XL's larger display (like: the fact that the XL is more prone to audio glitches than the Pixel).... I assume the effect would be the same ~ but your comparison isn't 1:1.

Regardless, I'm not jumping on fixing this right this second. I already gave you a workaround, until I have a look.

thanks!
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] :
Well, that is a feature of the kernel; Wifi Mac Randomization (read the feature list on the OP please)

That said I did update the build to not enable it on boot in my init rc script - what build are you running?

I'll be updating the build, later today ~ my local build definitely is NOT setting it on boot anymore / verified and I'm leaving that feature for users to set themselves going forward (Even though, on my own device I repfer it set on boot).

fyi; has nothing to do with magisk - it's a kernel feature. Wifi Mac Randomization is useful for privacy. Mac addreeses are unique indentifiers - specific to your device and therefore, you as well...
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] montbazon:
I don't want to make you angry. Just this post let me know whether someone else has this weird one as well.

I posted the photo to inform this weird one better.

I'm sorry to hear that, if my replies border you

+ I now back to stock and compared the pixel from my sharemate. But that issue exists still. Google should break this.
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] :
You're not making me angry, just irritated; When I said that I would look into it, but it wasn't a top priority for me - I meant it.

I have other stuff that far outweighs looking into Kcal right now, that's why I told to just reduce the intensity, until I do look at it..... I need to to work on getting any performance hiccups sorted out and getting battery life to bge as good or better than what it was on 8.0 (8.1 is more battery drain), among other things; like making sure a few settings are persistent. etc - that are more pressing....

so we're all good. ;) Just please understand that this isn't a top priority. we don't need a bunch of people verifying it or not - I will look at it. possibly even today... thanks
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] bbender716:
Thank you for your patience! Sorry I missed that. I appreciate your thorough response. Mostly because my work authenticates wifi based on Mac address. I look forward to the next build! Thanks again man.
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] :
All good. that's why I'm ensuring that on boot - it won't randomize the Mac address. It was requested by someone else too;

But on updating the build; While I did ensure it wasn't set in my init rc script - I forgot that it actually requires a kernel change; https://github.com/nine7nine/Marlin_exns-eas/commit/a4a8f031e7e069d110fe97b93a4888e4173df4a5

I double-checked everything, so definitely fixed in the next build :)

I'm just debugging a minor boot issue, after I resolve that. I should be able to post a new build. It's just taking a bit longer than I thought it would... or I'd already have a new build up.
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] :
UPDATE: Available from the OP download

#1 -> Mac Address Randomization on Boot is fixed. You Mac address is now static (your real Mac Address)... I had overlooked the cnss wifi driver setting this by default to randomization, so I changed it, for those of you who may be subject to your workplace or home network that use/require Mac Filtering ~ I've fixed this specifically for you! ;)

* You will have to come up with a method / way of enabling/disabling Mac Randomization, if you would like to use it on other networks / in public. Read through the thread; as I have mentioned the rough info how to on this...

#2 cpu-boost / input boosting is enabled. I've kept the cpu frequencies a bit below peak and the boost will only last 100ms, so this might help with the cpu frequencies scaling up a bit quicker - while not having a huge impact on Battery life.

#3 Dynamic Stune boost has been disabled in the build.

#4 I've (re-)introduced a kernel scheduling feature that has to do with load balancing (across cores) of RT threads/tasks... I'm not sure why this code was ever removed (something I've inherited with the initial EAS commits), but after some research, I've not only merged the code back in; but also backported the newer simplified code for this from upstream/mainline linux....

#5 I've changed from using CONFIG_HZ_300 to CONFIG_HZ_1000 in my kernel.... This is a bit of an experiment, but not the kind where things might "go bang!" LOL.... From reading documentation (from AOSP/Google), this might actually be beneficial on the Pixel ~ as it could reduce RCU overhead - which could result in improved performance and potentially battery savings, as well....

even if #5 is a bit of an experiment - I thought that I would like to get it into more people's hands; as it is hard for me to test battery currently (to some degree) because I flash too many test builds.....

I'm still testing / researching Schedutil and adjusting some default settings, I've seen some examples ->> but people are setting them wildly different.... So I think I may actually contact the author and ask him a question or two, directly - sometimes that really is the best thing to do....

I'll look into the Kcal stuff later or tomorrow, as I would like to get that sorted out.

NOTE: I have not enabled the feature in this build that would enable using RT scheduling for the UI / Render Threads - if that is something that you are interested in; please read back through the thread - as I've given instructions on how to test that out.... It maybe be something where, I don't enable it in the builds; but adding a script to EXKM or Magisk to apply on boot is trivial to do.... I haven't decided on that yet....
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] aoaleman:
Hey nine, just making sure, the latest is labeled as sailfish, "Sailfish_EXNS_eas_98adabe". Still good for marlin? :D
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] :
yup. yer good... right now, they are exactly the same build....

I just label them differently because at one point during 8.0 Marlin (XL) had a couple of different tweaks.... ` That may end up happening again, who knows.

regardless - I've changed the link to the marlin labelled zip
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] bbender716:
You are the man! Thank you so much. Will flash!
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] :
no probz... I needed to nip that one in the butt and get it sorted out for you guys... it's more practical as an opt-in feature.

the only unfortunate thing is that I pushed that update pre-merging in 3.18.87 LTS, but not a big deal. next build will have that... already running it locally, along with some other commits / stuff I'm working on
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] aoaleman:
Thanks again, nine. Got it flashed on latest 8.1. Going to check everything out! Really appreciate your time and effort in this!! :D
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] :
cool. let me know how it's working out...

and keep in mind, I'm still working on ironing out performance tweaks and improving battery life - it's a bit tricky with 8.1 only being a few days old....and 8.1 generally seeming a bit heavier on battery than 8.0 (pretty typical of any new android release though)... plus, I'm trying a few things out on this build.

any questions, just ask; but also have a read/skim through the thread, before asking, if possible (just to avoid repeating myself. lol
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] Bryanx86:
Your kernel runs amazing on my phone. Thank you for all your hard work.:victory:

P.S. your rt_mutex reference link to GitHub gives 404 error. I'll try on a different browser...
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] :
oh ya. amazing, eh? how so?

I'm always interested in feedback. maybe some observations or specific things that might be working better?

btw, thanks!
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] Bryanx86:
Overall just smooth,snappy. Performance is great. And battery life is better than stock by far. A question if I may? Should it matter for me to decrypt my data partition to flash your kernel? So as not to have to remove my fingerprint every time, could I just flash from an otg? Just curious if it matters at all....
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] :
Yup, I know, it's a bit of an annoyance. Just do it for now / decrypt.

I do touch a system file to hook in my init rc (temporarily; but my zip will be fixed in the next update or two and won't do that anymore.... I'm not super used to the whole "systemless" stuff or AnyKernel2 ~ and as I really only like working on the kernel part... So I was a bit in the dark / uneducated on that until very recently ~ I'm just getting that last bit that sorted out ***but I need to backup and completely wipe my phone - to 100% test/verify that things, before pushing it in an update.... which I haven't had time to do yet this week - hopefully tomorrow night, I can have a go at that...).

The whole 8.1 twrp encryption thing is pretty annoying. I hope the TWRP guys get that resolved soon, regardless.
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] natri23:
Look like i lose about 3% battery every hour idling (not because of the kernel) and I cant seems to figure out the culprit. Maybe someone have a way to check for them?
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] montbazon:
Ok I will check that.

Btw Could you test, whether wake gestures work?

For me not cause I wonder know.
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] natri23:
Yes, I have doubletap2wake, sweep2wake and sweep2sleep all working but it seems inconsistent with the latest Marlin_EXNS_eas_98adabe update
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] montbazon:
For me sweep2wake and sleep both don't work at latest Marlin_EXNS_eas_98adabe, former kernel works well though.

DT2W didn't be tested.

+ I haven't found noticeable any battery drain at least until now
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] Donric13:
DT2W is working on latest release. So gonna play with that randomation thing. Long time ago i used kernel adiutor...

Edit: not working after some time... Seems a bit wonky in this release... Old release DT2W was working perfect. But not a big thing. Everything else seems buttery smooth and somehow even faster /snappier. Thanks.
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] Bryanx86:
Sweep2wake isn't working for me either on last release.
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] :
inconsistent how?. ... they work for me, bit I don't use that feature. day to day.

they work here. just tested. I've always found wake gestures to be a bit inconsistent and annoying to some degree though... but maybe we mean something different, by saying inconsistent? elaborate?

always disabled on my phone....

I'm going back to sleep for a bit, but overnight; phone not charging; a nice flat line in battery graph...

accubattery guesses around 5 1/2 hrs SOT for 99%.
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] Darian71:
I didn't see anyone else report this, but on my Pixel XL, although I was already on the December stock kernel and rooted, I decided to flash the December boot.img provided in the OP. Been up and running/rooted with latest twrp 8 hours + now and so far running very smooth. However on boot om getting that old familiar toast message that I have an internal problem ; aka vendor message. Anyone else experienced this? I was on the last Developer preview and manually flashed the December official OTA. Everything seems to have went well running it the last 5 days. Maybe I should reflash the entire images? Thank you for the hard work. Looking forward to testing. Finally glad to have my sweep to wake feature back! Lol
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] :
ya, all custom kernels are getting that on 8.1... not sire of the cause. mayne some integrity check on boot that is new...

it's harmless though' just annoying
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] :
I.ll look at this, when I get up and after coffee

it is faster, snappier. setting the kernel to 1000hz config gives a boost to runnable times..
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] Donric13:
No hurry. Take your rest! Great work!
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] :
I'll update the link. in a bit. thanks for pointing that out.
[Google Pixel XL ROMs, Kernels, Recoveries, & Other] natri23:
With the older release, it works everytime, almost annoyingly well.

But with the latest kernel, it doesnt work half the time. Like the phone was in deep sleep or not responding for a while. If the phone is flat on the table and double tap > nothing > double tap a few more time > it wakes

Sometimes it works normally though, very weird