[Google Pixel 3 XL ROMs, Kernels, Recoveries, & Oth] Freak07:
Update to 2.0.0_R

Hey guys and girls,

Here´s the long awaited updated. It took quite long for a few reasons.

I guess they might be more obvious after this release post.

As some of you might remember I wasn´t able to rebase the kernel on CAF-Upstream when Android 10 became stable a year ago. This nagged me constantly over a year now.

I updated the OP in advance with a bit of info about CAF-Upstream trying to put how it works into simple words. I´ll post the relevant section here again.

CAF is short for Codeaurora-Forums. This is the place where development from Qualcomm for their SoCs happens. This includes the Snapdragon 845 that´s built into Pixel 3 and Pixel 3 XL.

The kernel-bases available on the Codeaurora-Forums, are basically the foundations OEMs use, to build their own kernel additions on top for devices featuring Qualcomm SoCs.

The Qualcomm developers push regular updates to the bases of the different SoCs, a bit similar to how Linux-Upstream works. OEMs usually stop updating the initial base after the phone is released.

This kernel focuses amongst the other features to provide the latest CAF-Updates merged in a regular manner, to provide updates, improvements and enhancements for SoC specific drivers and subsystems! This might take a while, because a lot of device specific testing is done on my end to ensure stability.

Here´s also a link to the Release 3.0.0 that included CAF-Upstream for the first time. It might help with additional information.

A few months ago I decided to try Android R-Preview on my Pixel 3 XL. Usually I don´t bother with previews, but with my main phone being the Pixel 4 XL anyway I wanted to give it a shot.

I compared the sources and decided to give CAF-Upstream one last chance again. To spoil the result, it worked in the end. :)

To give a bit of context. Over the years I became more and more familiar with the kernel and I became more efficient at merging CAF-Upstream. After all we´re on XDA so learning and sharing this knowledge is ultimately why we are here.

The only exception to this was the Pixel 3 XL. I Merging CAF results in an absurd amount of code conflicts for some reason. Solving all of these conflicts takes basically all my free time during a weekend.

Furthermore there are conflicts that prevent the phone from booting. Each of these conflicts needs to be identified and solved, which takes a lot of time as well.

I was finally able to successfully merge CAF-Upstream and got the kernel to a point where I´m very confident in release it here.

What ultimately enabled me to be able to merge CAF-Upstream was the work on all other devices and the things I learned there.

I´m very happy that this project now is fully rebased on an Upstream CAF-Base again. It took very much of my freetime, but it´s finally were I want it.

Just a little heads up:

FKM doesn´t seem to work on A11 as of now. It needs an update as it seems.

Now everybody enjoy :)

Just in case:

If you face issues or bugs when running the kernel, please return to a stock environment, only your rom plus magisk root, without any modules, scripts, tweaks or mods and see if you can reproduce the issue.

Tell me the exact steps needed to reproduce.

Then send me a dmesg and a logcat (if the kernel crashes not) or a ramoops (in case the device reboots). Take a look at the second post for a guide on how to obtain these.

My kernel.zip flashes both boot.img and dtbo.img. So if you want to return to stock, you need to extract both from factory image and flash them via fastboot if on stock rom.

If you’re on a custom rom you will need to dirty flash your custom rom or learn how to extract both images from a payload.bin

Special thanks to [MENTION=4487388]jcmm11[/MENTION] and [MENTION=336855]melgar[/MENTION] for testing and keeping up with me!

I wish everybody a nice day/evening! :)

Changelog:

- Fully rebase kernel on CAF-Upstream

- Update google sources to latest Android R Sources

- Linux Upstream to 4.9.236

- update wireguard to latest snapshot

- clang 11.0.3

- carry over all existing improvements from the Q kernel

Important :)

All flashing errors are now fixed. If you experience the ramdisk error please take a look at the FAQ.

Have fun flashing and enjoy your device with latest linux-stable :)

Why is linux-stable important?

Download is below :)

Download:

https://www.androidfilehost.com/?fid=8889791610682942533

or following the link in the op to the correction version

How to flash the Kernel:

1. Make sure you are rooted, are using the latest magisk suited for your OS version and a kernel manager capable of flashing a zip is installed. If available you'll can use TWRP as well. Download the kernel.zip to your device.

2. Flash kernel zip in via your favorite method. Kernel Managers and Recoveries need to be updated to work with a specific Android Version. It's your job to ensure compatibility! :) Root will be preserved! (Make sure to be on the latest firmware the kernel is made for)

3. Reboot and profit! Before reporting any issues make sure to read the first three posts of this thread!

Instructions can be found in the OP too!

Have fun, enjoy the kernel and your phone.

If you like my work please consider a donation.

Donations are not mandatory but very welcome.

If you like my work and want to buy me a coffee/green tea: http://paypal.me/freak07