[Google Pixel 4 XL Real Life Review] ta0m1:
The Pixel 4 XL has enough performance for me and is very stable without upgrading, I have been keeping the official last version of Android 10 - 10.0.0 (QQ3A.200805.001, Aug 2020)

I chose to stay with Android 10 because I often download files that are easier to read in /mnt/sdcard/Android/data/, although I have patched the boot.img file with Magisk.

The software versions I use are based on the above-mentioned 10.0.0 (QQ3A.200805.001, Aug 2020) system version number;

Tasker Add a task, name is Boot/Select Action Category/Code/Run Shell/

SU
setenforce 0

select Use Root,

This is helpful for Viper4Android and rooted file managers to enter the system path.

I learned that the gamma value of the Pixel 4 XL screen has some problems at low brightness, I used the CleanSlate kernel to fix it,

After testing some versions, I found that the [Pixel4Xl (coral) boot image CS 1.5.0] version of the kernel works best with the [Companion App 2.12.17] program on my phone.

My requirements for gaming or watching movies on a handheld device are not strict. In order to reduce the graphics calculation and power consumption of the device, I use the command to change the display resolution of the device to 720P, which can make the content pixel by pixel. displayed on the screen.

adb shell wm size 720x1520
adb shell wm density 280

At this time, the rounded corners around the screen will be enlarged, and use the command to restore the normal ratio.

adb shell settings put secure sysui_rounded_size 1
adb shell settings put secure sysui_rounded_content_padding 5

At home and at work I use the Pixel 4 XL as a portable router to filter the network, so it's plugged in for long periods of time to charge, but I've had battery bulges with the Pixel 3 XL before, and that's why I use the Pixel 4 A big reason for the XL Root, I use the Magisk module [Advanced_Charging_Controller] to limit the charge to 80%, start using the battery to discharge to 70% and start charging, cycle, and charge it to 100% once every one or two months.

I use [Clash for Android] and [AdGuard for Android] for the system network proxy, and I use [VPN Hotspot] to share the outbound network to computers, mobile phones, and devices such as Google TV or Nest Audio.

First configure Clash for Android,

Settings/Override/General/

HTTP Port fill in 7890,

Socks Port fill in 7891;

DNS/

Listen fill in 127.0.0.1:5450

Append System DNS, select Enabled

Name Server, Fallback Name Server, Default Name Server both fill in 1.1.1.1, 8.8.8.8.

Configure AdGuard for Android, open

DNS Filtering/Select DNS server/My DNS servers/Add custom DNS server,

DNS server name fill in Clash for Android,

DNS upstreams one per line fill in 127.0.0.1:5450, SAVE AND SELECT;

Open Network/Proxy/ADD PROXY SERVER in the upper left menu,

Proxy name fill in Clash for Android,

Proxy type select SOCKS5,

Proxy host fill in 127.0.0.1,

Proxy port fill in 7891,

return to the previous layer,

Filtering method select Local VPN;

The basic settings of AdGuard for Android are configured, and the firewall and filtering rules of the user program can be customized according to their preferences.

After giving VPN Hotspot root permission, it is just like sharing hotspots normally, but after the above settings, WiFi enters the mobile phone, and Clash for Android forwards network traffic, filters it through AdGuard for Android, and then transmits it by VPN Hotspot. Generally, my hotspot will be Mount 5-6 personal devices, but I saw a blog saying there will be a device cap.

Then configure other user programs, log in to the account, set the save folder, etc., and use TWRP to back up the whole machine before the user program produces more caches:

adb reboot bootloader
fastboot boot *.img

Just a one-time entry into TWRP, the version I'm using is TWRP-3.5.2_10-0-coral, After the backup is complete, copy the /mnt/sdcard/TWRP folder to a USB flash drive to save and mark the backup date, Done.