yashsingh1/xdaforums huggingface dataset:
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
Yeah, I don't know. I just tried it on the new EX kernel and it still works on my phone. I also use the EX manager with no ill effects (although nothing is set on boot). The reason the sleep 100 is at the beginning of the script is to make sure it is applied after any kernel app settings! I'm really sorry I can't figure this out for you easily.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] Lessaj:
Hi,

I ran the script manually just to verify all the commands were working, first time I didn't have busybox but added the module as suggested, and wanted to report what I'm seeing since a couple of the commands fail but otherwise working. Stock 8.1 with EX kernel.

taimen:/magisk/.core/service.d # ./94pks2.sh
See swapoff --help
swapoff: Unknown option a
./94pks2.sh[80]: can't create /sys/class/net/bonding_masters/tx_queue_len: Not a directory

taimen:/magisk/.core/service.d # swapoff --help
usage: swapoff swapregion

Disable swapping on a given swapregion.

taimen:/magisk/.core/service.d # cd /sys/class/net/
taimen:/sys/class/net # ls -l
total 0
lrwxrwxrwx 1 root root 0 2017-12-15 22:11 bond0 -> ../../devices/virtual/net/bond0
-rw-r--r-- 1 root root 4096 2017-12-15 22:11 bonding_masters
lrwxrwxrwx 1 root root 0 2017-12-15 22:11 dummy0 -> ../../devices/virtual/net/dummy0
lrwxrwxrwx 1 root root 0 2017-12-15 22:11 lo -> ../../devices/virtual/net/lo
lrwxrwxrwx 1 root root 0 2017-12-15 22:11 p2p0 -> ../../devices/soc/18800000.qcom,icnss/net/p2p0
lrwxrwxrwx 1 root root 0 2017-12-15 22:11 r_rmnet_data0 -> ../../devices/virtual/net/r_rmnet_data0
lrwxrwxrwx 1 root root 0 2017-12-15 22:11 r_rmnet_data1 -> ../../devices/virtual/net/r_rmnet_data1
lrwxrwxrwx 1 root root 0 2017-12-15 22:11 r_rmnet_data2 -> ../../devices/virtual/net/r_rmnet_data2
lrwxrwxrwx 1 root root 0 2017-12-15 22:11 r_rmnet_data3 -> ../../devices/virtual/net/r_rmnet_data3
lrwxrwxrwx 1 root root 0 2017-12-15 22:11 r_rmnet_data4 -> ../../devices/virtual/net/r_rmnet_data4
lrwxrwxrwx 1 root root 0 2017-12-15 22:11 r_rmnet_data5 -> ../../devices/virtual/net/r_rmnet_data5
lrwxrwxrwx 1 root root 0 2017-12-15 22:11 r_rmnet_data6 -> ../../devices/virtual/net/r_rmnet_data6
lrwxrwxrwx 1 root root 0 2017-12-15 22:11 r_rmnet_data7 -> ../../devices/virtual/net/r_rmnet_data7
lrwxrwxrwx 1 root root 0 2017-12-15 22:11 r_rmnet_data8 -> ../../devices/virtual/net/r_rmnet_data8
lrwxrwxrwx 1 root root 0 2017-12-15 22:11 rmnet_data0 -> ../../devices/virtual/net/rmnet_data0
lrwxrwxrwx 1 root root 0 2017-12-15 22:11 rmnet_data1 -> ../../devices/virtual/net/rmnet_data1
lrwxrwxrwx 1 root root 0 2017-12-15 22:11 rmnet_data2 -> ../../devices/virtual/net/rmnet_data2
lrwxrwxrwx 1 root root 0 2017-12-15 22:11 rmnet_data3 -> ../../devices/virtual/net/rmnet_data3
lrwxrwxrwx 1 root root 0 2017-12-15 22:11 rmnet_data4 -> ../../devices/virtual/net/rmnet_data4
lrwxrwxrwx 1 root root 0 2017-12-15 22:11 rmnet_data5 -> ../../devices/virtual/net/rmnet_data5
lrwxrwxrwx 1 root root 0 2017-12-15 22:11 rmnet_data6 -> ../../devices/virtual/net/rmnet_data6
lrwxrwxrwx 1 root root 0 2017-12-15 22:11 rmnet_data7 -> ../../devices/virtual/net/rmnet_data7
lrwxrwxrwx 1 root root 0 2017-12-15 22:11 rmnet_ipa0 -> ../../devices/virtual/net/rmnet_ipa0
lrwxrwxrwx 1 root root 0 2017-12-15 22:11 sit0 -> ../../devices/virtual/net/sit0
lrwxrwxrwx 1 root root 0 2017-12-15 22:11 wlan0 -> ../../devices/soc/18800000.qcom,icnss/net/wlan0
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] veetoe:
So just an update, I was seeing errors in smanager when trying to run it so I redownloaded the script and it looks the same as what I was trying to run but it works now? Lol. Also I think the first go round when I would try to DL the script it would just show all the text instead of download it so I think I had copy and pasted that into a .txt file. Must have been the problem something got goofed. How dumb.

I'm also seeing a couple of those failed commands.

Glad I finally got it working though!
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
The swap issue is my bad - it was "working" but throwing an error on execution. I fixed it (see update).

The tx_queue_len error is just a notification and is by design:

I am trying to echo this value into a file in many different subdirectories - and there is on file (not folder) in the directory that throws this note.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
Update Version 3!

Updated!

See new file (94pks3) in OP, change log in second post. Corrected the swap off and tx_queue_len error codes found by [MENTION=4903174]Lessaj[/MENTION], with his help on the latter. (Thanks!)
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] Lessaj:
Now that I'm more awake, can I recommend one more change for the tx_queue_len section? :) You can include this next time you update another part of it since it doesn't really matter either way, just ignores the one non-linked file.

for i in `find /sys/class/net -type l`; do
echo 128 > $i/tx_queue_len;
done;
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
Thanks for the suggestion!

Unfortunately, I can't get that code to work, seems something is a little off that needs some trial and error on my part. If I can get it working, I'll keep it in the script for the next update.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] Lessaj:
I tested it by running manually via an adb shell but I just rebooted and it seems to have applied as best as I can tell.

taimen:/ # for i in `find /sys/class/net -type l` ; do cat $i/tx_queue_len ; done
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
Got it! It was the (lack of a) space between the single quote and semi-colon in the first line that was causing my problem. It's always something simple like that!

It's working every way I try it now without outputting any errors or messages after running - so I just swapped out the file in the OP (same name, just updated code based on the discussions on the last page or so).

If you've already downloaded version 3, you can do so again and replace the file with the once currently in the OP.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] methuntt:
I'm still figuring out. Viper4android is still not working if i use script.

I'm on stock.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] Badger50:
Are you running any other sound mods with it? If so, do you have AML installed? If so, what version are you using, and, have you tried removing/installing it again?
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] methuntt:
Yeah I'm using aml and acp.

Aml version 1.9.4

Yeah i tried to use viper4android without aml and acp but not working when script is used.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] Badger50:
Are you using the material or stock UI version of V4A, and the new or old drivers, and, did you install it as a system or user app, and did you decline the lib work around during the install?
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] methuntt:
I'm using material v2.7.0

Driver new.

User app
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] Badger50:
Ah, that one. I'm using the 3.4 version from the magisk download section which works fine. Never had much luck with the one your using.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] methuntt:
Ok ok Thanks I will try that one
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] sublimaze:
[MENTION=4793042]pkgnex[/MENTION], thanks again for keeping this mod & thread updated.

94pks26 is giving the most efficient battery I've ever seen on my P2XL. And some people wonder why root is still useful :D
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
Thanks for helping out!

Glad it's working for you - and thanks again for the testing help!
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pushpendrayadav:
Hi PK,

Thanks for such nice script.

This is best battery friendly as well as performance script.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
My pleasure! Thanks for the feedback.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] qwer777:
[MENTION=4793042]pkgnex[/MENTION] could you please update the title with the date of the last update? It's very helpful to at a glance know if there's been an update to the script and not just a new thread comment.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
Sure thing - I understand completely.

I'll start doing that with the next release.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] loadie:
Just saying thanks..
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
Not bad!
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
New Version

Updated!

Version 27 (94pks27.sh) now available in the OP.

- The script now works on Q Beta-3, so it should work on everything from Android 8.0 to 10.

- Do NOT use previous versions on Q, as there was a parameter change that could actually cause very frequent freezes and reboots.

Enjoy!
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
Generic Also Added

Updated generic (device-universal) script (v27) has been added to the OP.

You should be able to use the generic version on any device running any Android version.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] MrBrady:
So use the generic version if running Pie?
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
Run the normal version 27 on Pixel 2 or Pixel 2XL (any android version).

Run the generic v27 if you have any other device.

(I know this is a Pixel 2 XL forum, but some people with other, or multiple, devices have asked for it).

Just don't run anything prior to v27 on Q. :)
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] LolHacker17:
any update?
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
Not really. I'm testing one small change, but it's not very substantial.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] LolHacker17:
i think this mod make my phone had to only can keep minimal apps in memory , lul
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] catharsis724:
I am also curious about memory management and the decision to axe ZRAM. Is this because we are relying on the memory killer to be less aggressive, so that app switching is still fluid? Or, for example, things like simple LMK are present in a custom kernel?
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
ZRAM, while much better and faster than previous swap compression methods, is still slower than physical memory. Android has multiple ways of dealing with available memory allocation, and it works with or without ZRAM...

However, to your point(s), you will likely not be able to retain as many apps in memory running this script since ZRAM is disabled. The trade-off is that the apps that are in memory will switch more quickly / fluidly since they are always in physical memory and not compressed disk space acting as memory. I don't keep tons of apps in memory on my devices (maybe 2 or three at a time, and I swipe them away when I'm done with my "session" and turn my screen off), so this set-up reduces app-switching latency in MY usage case... but YMMV.

If you like to retain many apps open in memory and this mod doesn't work well for your usage case, you can either: not use the mod, delete or comment out the swap/zram disabling section (to still retain the rest of the mod's benefits), or use another utility or kernel app to turn zram back on after boot.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] catharsis724:
Thanks for such a detailed reply :) I'll try and figure out what my usage is like before trying any of the options you suggested. I think right now the only issue I sometimes have are gaming apps (i.e. Pokemon Go) that tend to eat up way more memory. Actually this is a good thing because it means I'll play the little bit I can actually afford, before going back to using my phone for other things. It's too annoying to keep gaming if it means waiting for the load screen! Haha
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
New Version

Updated!

Version 28 (94pks28.sh) now available in the OP.

Changelog in 2nd post.

Note, device-generic version was also updated, but was left with noop scheduler as stock Android usually does not offer deadline.

Enjoy!
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] loadie:
Feeling cleaner, quicker and a quite a bit smoother. Battery has never been this good, awesome sleep%. 2xl July, w/ex kernal.

Thanks for this..
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] Juzman:
Thanks for this. :) I downloaded the one for Pixel 2, however changed "# Tweak Block-level Scheduler Queue" to same as generic version as running Sultan+ Kernel which doesn't have deadline, and removed the "echo "noop" > $i/scheduler; # stock is cfq" line as cfq and EAS work great together.

Also removed the wakelocks as Sultan+ kernel doesn't have boeffla_wakelock_blocker either.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] tejkumarvusirikala:
Dafaqq.. is this even real??
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] loadie:
The times are since a reboot. The percentage of battery use is real, yes. I. E. Idle time%.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
No problem, guys.

Glad to hear its working well for you!
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
New Version

Updated!

Version 29 (94pks29.sh) now available in the OP.

Change-log in 2nd post. (Sorry if version 28 caused anyone issues)

For the generic version, I just reverted to v27 - not much changed from v27 to v29 anyways. I'll re-unify the versions for the next release.

Enjoy!
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
Request for Prior Version...

Does anyone have a version of the script V26 or prior still sitting around that they could post?

I usually only keep a couple versions of history, and there's something I want to check out on the "pre-Q" version.

Thanks in advance.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] nexidus:
Found versions 11 through 29. I've uploaded a few.

I think one is untouched with the typo for dirty writeback at 15000. The others I may have edited for personal use but values are similar.

Nvm, they are the original files
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] Juzman:
Thanks for the update. :) I just removed the wakelock blocking and noop scheduler. :)
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
Thank you!

No problem. I'm assuming you remove the wakelock blocking because your kernel of choice doesn't support it? Or is there another reason?
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] Juzman:
Correct mate. I switched from EX Kernel to Sultan awhile ago.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
New Version

Updated!

Version 30 (94pks30.sh) now available in the OP.

Change-log in 2nd post - Clean Q-Final / Android 10 release

No generic version update yet... I'll get to it one of these days.

Enjoy!
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] Gordietm:
Any particular kernel is works best on?
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] MrBrady:
I'm curious as well, although the OP states "It has also been trimmed to work on the Pixel 2 / Pixel 2 XL stock kernel whilst outputting no errors, on all android versions through Q"
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
It really shouldn't matter - it ought to provide a very modest bump on any kernel. I've used it successfully with both EX and stock recently, and all the other Wahoo kernels at some point or another!
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] Nightf0x_007:
Updated to android 10, magisk rooted and installed ported Q sultan kernel, v30 script causing my device to not connect to mobile data or after reboot will let it connect but if i turned data off then on it wont work wont connect
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
I'm not having any issues with same set-up except EX kernel, and I can't think of anything that could affect data connection.

Can you confirm the issue goes away if you remove the script and reboot, then comes back if you replace the script in service.d and reboot again?
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] Nightf0x_007:
The script is not the problem tried again, intially it was but then the same problem occured again, it think it Is becuase of the systemless hosts in magisk

Edit: neither systemless hosts is the cause
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
Thanks for verifying it's not the script - but sorry to hear you're still having issues. I'm using systemless hosts in magisk as well (for adaway), so I'm thinking it might be something else - perhaps a different module, or even the Sultan Q port.

Have you tried just rooted stock? It might be good to start there, then add the systemless hosts, then flash the kernel, then any other magisk modules one at a time to isolate the cause.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] Nightf0x_007:
It is not systemless hosts, i have not installed any modules yet, so last thing remaining that might be the cause is the kernel
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] MrBrady:
Not sure how to better diagnose but wanted to provide feedback. On the Q release with Magisk Canary. No ad blocking. Stock kernel. Google Fi.

Tonight driving home I had lots of reception but my call quality was horrible. Receiver said I was echoed and the audio on my end kept cutting out like I was going into deadzones. Called a landline and mobile line with the same quality issues.

Removed the script and rebooted and no more quality issues. Could be the reboot, could be the script. I'm not entirely sure.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
The script has nothing in it that influences the radio, so I really, really doubt it is the culprit.

If you can retry the script and verify the same issue repeats with the script and goes away without it, let me know.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] Juzman:
I believe the issue is with Magisk. I get the issue sometimes too on P. I reboot and have no RIL. Reboot again and all is good.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] Prey521:
Just jumped on this bandwagon! I seem to be having an issue. MagiskManager says that the script ran, but when I check FK Manager, the I/O scheduler still shows as cfq when it should be noop.... Any ideas? I'm running Elixir Kernel on stock 10, thanks.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
How long after the reboot did you wait to check in FK manager? You may need to wait for 2-3 minutes for the script to finish running.

Also, did a file get output in to your internal storage base directory (/storage/emulated/0)? What does it say when you open it?
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] Prey521:
I waited about 10 minutes. Also, the output file says that it completed successfully. I attached 2 screenshots from FK Manager.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
Hmm. That's definitely odd!

The other easy culprits I can think of:

Do you have the Magisk busybox module (by osm0sis) installed (if not, that's the problem)?

Do you have any other scripts in service.d that would run later and re-set the scheduler to CFQ?

Do you have a lot of Magisk modules running?

Are you having FK Manager reset anything on boot (if it happens to run later than the script, that could conflict)?

If none of the above apply, here's what I could use for trouble shooting:

Can you run the script from a terminal emulator and re-check the scheduler after it completes? This would rule out a kernel-type conflict and lead me to know it's a timing issue related to the later-start service in Magisk.

If the above works, can you edit the "sleep 100" line to something like "sleep 180" first and see if it works after reboot, and if that doesn't work try something shorter like "sleep 60" and see if that works?

It's working fine on my device, so I'll need some help to troubleshoot your issue!
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] Prey521:
I found the problem...... I'm an idiot! Noop is not an available scheduler in Elixir kernel! Lol of those in the list, which would be the next best one?
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] xFirefly93:
Either CFQ, Deadline or FIOPS.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
I like deadline or SIO.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] xFirefly93:
I've heard good feedback about the Anxiety IO scheduler too btw.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] xFirefly93:
[MENTION=4793042]pkgnex[/MENTION]

What's the reason behind reducing the nr_requests value, and what is the performance advantages that it introduces from a general "non-biased" perspective?
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
From kernel documentation:

nr_requests

-Specifies the maximum number of read and write requests that can be queued at one time. The default value is 128, which means that 128 read requests and 128 write requests can be queued before the next process to request a read or write is put to sleep.

- For latency-sensitive applications, lower the value of this parameter and limit the command queue depth on the storage so that write-back I/O cannot fill the device queue with write requests. When the device queue fills, other processes attempting to perform I/O operations are put to sleep until queue space becomes available. Requests are then allocated in a round-robin manner, which prevents one process from continuously consuming all spots in the queue.

I have had this lowered to 32 for a long time in my script to try to improve latency (reduce lag) during periods of high I/O on the device.

That said, I also read that having nr_requests set to half of queue_depth is "friendlier" for CFQ and deadline scheduler efficiency (doesn't matter for noop as used in my script, but I know some users revert to CFQ, and I've been playing a lot with Deadline recently). Given this, and since the queue_depth stock parameter value on A10/Q is 128, I recently increased nr_requests to 64. I haven't really noticed any difference between 32 and 64, but in theory either should reduce latency somewhat during heavy I/O periods compared to stock behavior.
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] xFirefly93:
What's the default queue_depth for Pie / 9.0?

EDIT: Have you btw tried with reducing read_ahead_kb down to a value of 64 for even more reduced app thrashing?
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
The default queue_depth has been 128 for a while - certainly on both 9 and 10.

My testing with read_ahead showed 1024 was the sweet-spot for throughput, I haven't noticed any "app thrashing" at that level, but maybe you can let me know what you've experienced and what that exactly means?
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
New Version

Updated!

Version 31 (94pks31.sh) now available in the OP.

Change-log in 2nd post.

Generic version also updated (finally!) in-line with device-specific version, for those who've been asking.

Enjoy!
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] Prey521:
What is the generic version of the script for.... Or better yet, who is it for?
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
It's primarily for people with other devices (i.e. NOT Pixel 2 / Pixel 2-XL), so they can get some of the "goodness" without having to worry about screwing something up (by the script trying to write values that aren't compatible with their CPU / GPU).
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] pkgnex:
New Version

Updated!

Version 32 (94pks32.sh) now available in the OP.

This is a relatively important update for current and future Magisk (19.4+) system-as-root compatibility.

Change-log in 2nd post.

Generic version also updated.

Enjoy!
[Google Pixel 2 XL ROMs, Kernels, Recoveries, & Oth] Sentheb3ast:
Are there certain requirements to use this mod? Like android 10, no performance magisk modules, etc?