TWRP 3.2.3-1 for Pixel 3 XL

Search This thread

bigbiff

Senior Recognized Developer
Jun 8, 2010
6,964
7,245
Awesome, yeah I figured as much - I forked your branch which is only two days old!

I'm really super keen to get it working though, I don't mind doing parallel work - you know the "official" rules better than I do, I'm just happy to help.

So take a look at my fork for some tips if you like, I made a push recently.

EDIT: Nevermind the following rant. Things started being predictable and sane now that I'm using android-11.0.0_r46 tag for dependencies (latest October 2021 update is built against r46).
Recent findings, and some questions for you if you don't mind:
- Is it a requirement (or even possible?) to have SELinux enforcing under Recovery? I've been trying to get that working for stock kernel compat (obviously can't add permissive to commandline) but now I'm wondering if it we should just call setenforce 0 early - is that enough? I did notice the permissive.sh script but I have't investigated when/where that's called yet.
- I was talking to flex and he said he thinks it's practically impossible to "fastboot boot" a modified stock kernel; you need some kernel hacks to get it to mark as a successful boot. Is this something TWRP can fix, or does everyone build TWRP with a custom zImage (like I'm already doing)?
- I removed some prebuilts in the tree and added some required dependencies. Namely missing sepolicy for pixel and the included kernel modules for touch. Do you know where those touch modules came from? Are they source-built from CAF maybe? Using the modules from crosshatch-kernel instead like I do seems to work fine, regardless of kernel I'm using. Not a big deal, but I'm curious if there's better/newer blobs compared to crosshatch-kernel prebuilts from android11-release branch.

Anyway, take a look at recent commits: the commit messages should be descriptive enough for you to decide if anything is interesting or not: https://github.com/cosmicdan/android_device_google_crosshatch/commits/android-11

If you could take a look at these two commits, I believe they're both important:

The immediate two problems I can see are:
- Data not being mounted (I might take a look at that)
- Fastbootd not working (no USB device). I noticed you did a lot of the work for that in TWRP so you'll probably figure that out before I do :)

Thanks for your work!

EDIT: Just to be clear, I'm more than happy for you to re-author my changes as your own - no stress or drama here, it's not my original code or anything lol all I want is a working TWRP :p
I haven't looked at your tree. I am using my branch and trying to figure out why the device doesn't work with the legacy encryption option mode.
 

CosmicDan

Senior Member
Jun 19, 2009
5,906
7,746
37
Sydney
Xiaomi Poco X3 Pro
I haven't looked at your tree. I am using my branch and trying to figure out why the device doesn't work with the legacy encryption option mode.
Fair enough, I couldn't figure it out. I tried with TW_INCLUDE_CRYPTO_FBE and also TW_CRYPTO_USE_SYSTEM_VOLD - both resulted in build errors that were beyond me. Maybe they're TODO at TWRP's end or there's some missing dependencies.

I'll let you get on with it, I don't intend to do any more - they're only little tweaks to make an initial GSI setup easier (e.g. mounting system and resizing it, flashing gapps, etc) and all I really did was get it booting/compile-able anyway with the twrp dependency file.

Good luck and thank you!
 
Last edited:
Thanks here is a new test build. I was able to replicate it locally and now the time is correct on backups:

https://build.twrp.me/test/crosshatch/twrp-3.4.0-0-test2-crosshatch.img
Hopefully someone can assist me with, I have rooted in the past and this is by far the most complicated root I've ever done. I have flashed pretty much ever TWRP and nothing, then I found this. I flashed this after I noticed I did not have the rom on my SD so I rebooted the system and boot loop. What am I missing or doing wrong. It is a Pixel 3 XL for Verizon. I should mention I have the rooted right now with Magisk.
 

swieder711

Senior Member
Hopefully someone can assist me with, I have rooted in the past and this is by far the most complicated root I've ever done. I have flashed pretty much ever TWRP and nothing, then I found this. I flashed this after I noticed I did not have the rom on my SD so I rebooted the system and boot loop. What am I missing or doing wrong. It is a Pixel 3 XL for Verizon. I should mention I have the rooted right now with Magisk.
There is no TWRP support on the Pixel 3 when running Android 11 or 12.

Also, if your phone came from Vz then it cannot be bootloader unlocked or rooted.
 
There is no TWRP support on the Pixel 3 when running Android 11 or 12.

Also, if your phone came from Vz then it cannot be bootloader unlocked or rooted.
I currently have the bootloader unlocked and it is rooted with Magisk, my issue is getting twrp to flash and work, it gets stuck on the logo and or the touchscreen wont work.
 
I currently have the bootloader unlocked and it is rooted with Magisk, my issue is getting twrp to flash and work, it gets stuck on the logo and or the touchscreen wont work.
I should mention it is running Verizon service but the phone was purchased from Straight Talk with no service plan.
 

Attachments

  • Screenshot_20211201-230601.png
    Screenshot_20211201-230601.png
    126.9 KB · Views: 71
  • Like
Reactions: Slim2none4u

dishe2

Senior Member
Dec 2, 2020
213
55
Sorry for the noob Q, but will installing TWRP on my Pixel help prevent this new randomly dying Pixel thing that's been going on with the 3 for the last couple of months?

I just picked this up and made sure to get a bootloader unlockable version so that I could use custom ROMs to keep the software relevant, but now I'm confused as to what's going on. First I find out that random P3/P3XLs are dying overnight and having their bootloader corrupted (goes into EDL mode and no way out). Then looking here I see that TWRP only works on Android 9 and 10, so I'm just confused. I thought a used Pixel would be the kind of thing for longevity after EOL, but now I'm second guessing it all. What do you guys think?
 

Spannaa

Recognized Contributor / Themer
Sep 13, 2010
7,431
16,793
Cardiff
Huawei Nexus 6P
Google Pixel 6
Sorry for the noob Q, but will installing TWRP on my Pixel help prevent this new randomly dying Pixel thing that's been going on with the 3 for the last couple of months?

I just picked this up and made sure to get a bootloader unlockable version so that I could use custom ROMs to keep the software relevant, but now I'm confused as to what's going on. First I find out that random P3/P3XLs are dying overnight and having their bootloader corrupted (goes into EDL mode and no way out). Then looking here I see that TWRP only works on Android 9 and 10, so I'm just confused. I thought a used Pixel would be the kind of thing for longevity after EOL, but now I'm second guessing it all. What do you guys think?
Since there is no working TWRP for the Pixel 3 running Android 11 or 12 and the article says "there’s currently no way to recover the Pixel 3 or 3 XL from EDL mode." then I think you can safely assume that installing TWRP won't help you.
 

dishe2

Senior Member
Dec 2, 2020
213
55
Since there is no working TWRP for the Pixel 3 running Android 11 or 12 and the article says "there’s currently no way to recover the Pixel 3 or 3 XL from EDL mode." then I think you can safely assume that installing TWRP won't help you.
Can't I downgrade to an earlier build?

And the idea is to provent whatever bug is causing the bootloader to delete itself, not just to recover from edl mode.
I'm wondering if people who have run a modified bootloader are less likely to get it.
 

Spannaa

Recognized Contributor / Themer
Sep 13, 2010
7,431
16,793
Cardiff
Huawei Nexus 6P
Google Pixel 6
Can't I downgrade to an earlier build?
You could - Android 10 would be the latest with TWRP.

Personally, I wouldn't bother as there's no reason to think it would help and you'd be running an old, insecure rom.

I'll stick to Android 12 on my Pixel 3 and if it dies, so be it - it's over three years old and the battery isn't great anymore.
 
Last edited:

dishe2

Senior Member
Dec 2, 2020
213
55
So if I'm understanding correctly, there aren't any custom roms past A10?
Dang, I got the bootloader unlockable version on purpose to keep support past Google's EOL, but what's the point if the customs are stuck on 2 versions ago?
 

Spannaa

Recognized Contributor / Themer
Sep 13, 2010
7,431
16,793
Cardiff
Huawei Nexus 6P
Google Pixel 6
So if I'm understanding correctly, there aren't any custom roms past A10?
Dang, I got the bootloader unlockable version on purpose to keep support past Google's EOL, but what's the point if the customs are stuck on 2 versions ago?
There are, but I stopped using custom roms when Dirty Unicorns stopped.

Check out the Google Pixel 3 XL ROMs, Kernels, Recoveries, & Oth forum
 

Homeboy76

Recognized Contributor
Aug 24, 2012
4,200
2,729
Google Pixel 8 Pro
There are, but I stopped using custom roms when Dirty Unicorns stopped.

Check out the Google Pixel 3 XL ROMs, Kernels, Recoveries, & Oth forum
So if I'm understanding correctly, there aren't any custom roms past A10?
Dang, I got the bootloader unlockable version on purpose to keep support past Google's EOL, but what's the point if the customs are stuck on 2 versions ago?
Google will be releasing one last Pixel 3 and 3 XL update in Q1 of 2022 Abner Li - Nov. 2nd 2021 11:24 am
 
  • Like
Reactions: Slim2none4u

NepoRood

Recognized Contributor / Retired Forum Moderator
So if I'm understanding correctly, there aren't any custom roms past A10?
Dang, I got the bootloader unlockable version on purpose to keep support past Google's EOL, but what's the point if the customs are stuck on 2 versions ago?
This is totally OT, however, I still support the Pixel 3XL, I have a solid Android 12 build running on it right now. LineageOS also supports, so you can keep an eye out there too.

After getting my 2 cents; This is a recovery chat, not a ROM chat, my fellow members. Hopefully no one will call a FSM on us...
 
  • Like
Reactions: sliding_billy

dishe2

Senior Member
Dec 2, 2020
213
55
This is totally OT, however, I still support the Pixel 3XL, I have a solid Android 12 build running on it right now. LineageOS also supports, so you can keep an eye out there too.

After getting my 2 cents; This is a recovery chat, not a ROM chat, my fellow members. Hopefully no one will call a FSM on us...
Thank you and sorry for veering off course. I guess I don't quite understand how the recovery works then, so I hope this still counts as relevant?
Don't you need twrp to flash custom roms? If this recovery does not support a12, how do such Roms exist?
 

NepoRood

Recognized Contributor / Retired Forum Moderator
Thank you and sorry for veering off course. I guess I don't quite understand how the recovery works then, so I hope this still counts as relevant?
Don't you need twrp to flash custom roms? If this recovery does not support a12, how do such Roms exist?
It happens. TWRP isn't the only way, you just needs to browse the custom ROM threads, see what's happening there
 

Top Liked Posts

  • There are no posts matching your filters.
  • 97
    ADB does not work! On the Pixel 3XL, TWRP takes a while to boot up. Be patient, it will boot!

    Note, I don't own a Pixel 3 XL, just the regular Pixel 3 (blueline). I personally won't be able to fix ADB. If you have some talent with init scripts and fixing ADB, feel free to work on it and submit a patch.

    MTP does not work in TWRP on the Pixel 3 and will not work until we have time to update the TWRP MTP implementation. You will either have to transfer files while in Android or use a USB OTG cable and a thumb drive.

    Pixel devices have 2 "slots" for ROMs / firmware. TWRP will detect whichever slot is currently active and use that slot for backup AND restore. There are buttons on the reboot page and under backup -> options to change slots. Changing the active slot will cause TWRP to switch which slot that TWRP is backing up or restoring. You can make a backup of slot A, switch to B, then restore the backup which will restore the backup of A to slot B. Changing the slot in TWRP also tells the bootloader to boot that slot.

    The zip install method installs TWRP to both slots.

    Installation:
    If you already have TWRP installed: Download the latest zip and install the zip using TWRP.

    If you do not already have TWRP installed: Download both the img and the zip. Copy the zip to your device. You will need to have fastboot binaries and the correct drivers installed. Power off your device completely. Hold volume down and turn on the device. Your device should now be in the bootloader. Connect the device to your PC. Open a command window and run the following command from the proper location:

    fastboot boot path/to/twrp.img

    This will temporarily boot TWRP on your device. If you are using a lockscreen pin/pattern/password and do not get prompted to enter your passord, reboot to the bootloader and try again. Go to install and browse to the zip and install the zip. If you are currently rooted, you will need to reflash the stock boot image before installing TWRP. After installing the stock boot image, follow the instructions for installing TWRP. Once TWRP is installed, you will need to reflash root.

    If you accidently flash TWRP to your device using fastboot instead of temporarily booting the image, you will need to download the latest factory image for your device and reflash the boot image.

    3.2.3-0: Initial release for the Pixel 3 devices
    3.2.3-1: Fix touch when TWRP is installed on the 3 XL

    Pixel 3:
    https://twrp.me/google/googlepixel3.html
    https://dl.twrp.me/blueline/

    Pixel 3 XL:
    https://twrp.me/google/googlepixel3xl.html
    https://dl.twrp.me/crosshatch/
    60
    FYI, I was able to get decrypt working on the Pixel 4 yesterday. You can follow my code commits at my github https://github.com/bigbiff

    When I am done with flame and coral, I will try to update Pixel 3 XL. I don't have blueline/Pixel 3 so I will need testing for that.

    My patchsets might take a few months to go into the official mainline. We are anticipating having one release for all existing devices on the android-9.0 branch for TWRP. I am hoping to have SAR and multi-user encryption patches for this release.

    Currently the android-10.0 branch is a WIP. It was enough to get flame booting a GUI and hopes that other people will test their devices out. My encryption, super and apex patchsets are based on android-10.0.

    I anticipate not doing any more backwards compatibility for android-10.0 branch. We will have to come up with a decent release scheme for any device that isn't compiling under android-10 trees. For now I anticipate cherry-picking patches from android-9.0 to android-10.0 for features and bugs.
    33
    Hello, I have been able to fix touch in TWRP by loading the correct kernel modules on init. I uploaded 3.2.3-1 to https://twrp.me

    Please let me know if you encounter any issues. I am currently looking at why the dwc3 controller doesn't seem to initialize properly when fastbooting TWRP. This is the reason adb doesn't work in fastbooted TWRP.
    28
    @Dees_Troy and other TWRP Devs: please do check this thread https://xdaforums.com/pixel-3-xl/how-to/android-10-sensors-bug-t3964904.

    Implementing TWRP to use the /persist partition to store logs and caches can cause major issues. Essentially, this partition is only 40MB in size and the logs (for those who make nandroid backups, in particular) can run larger than 20MB, thereby corrupting the factory calibration and configuration files on Pixel phones. Suggestion would be to not write to this partition at all, if possible - or to put a check to clear log files if they exceed a certain date or size.

    Related bug report was filed by someone here: https://github.com/TeamWin/Team-Win-Recovery-Project/issues/1506

    I am working on having the target log compressed in the stored partition such as persist to reduce the amount of space it takes. I am close to pushing a patchset to gerrit.
    23
    Currently we are still targeting Android 9 for the time being. I might release some test builds for crosshatch soon.