Code:
*** Disclaimer ***
All flashing is done at your own risk!
While nothing from this thread should break your device,
don't come back here blaming anyone if it does!
Hello Guys and Girls,
the title is obvious: Here is a twrp build for the HTC U12+. I spent quite a bit of time together with the dear @Captain_Throwback to get everything working.
At this place a huge thanks to @Captain_Throwback for helping me, even though not having the device at his hands!
Instructions:
With A/B devices the command
Code:
fastboot flash recovery recovery.img
So how do we get TWRP on it?
The first option is to just boot TWRP temporarily with the command
Code:
fastboot boot twrp.img
The second option is to use the twrp flashable installer zip to install TWRP permanently to your ramdisk from the booted TWRP or magisk manager! Installing from Magisk Manager was made possible by @osm0sis!
So you see there are generally 2 steps needed on A/B devices now.
First booting TWRP. Second flashing the installer zip.
But and now comes HTC into play. When permanently flashing TWRP zip touchscreen gets disabled, because HTC added a nasty little check into the touchscreen driver. If it detects that the phone is in recovery mode it disables the touchscreen.
Luckily we found 2 ways around that!
First way is to have a custom kernel, that has this check patched out!
Second option is to use a zip we provide here, that also patches your kernel, to avoid tripping this check. The downside of flashing this zip is that all commands like
HTML:
adb reboot recovery
How to temporary boot TWRP:
1. You need a working fastboot and adb environment! Your device´s bootloader must be unlocked!
2. Download the twrp.img provided in this thread and copy it to your fastboot folder (pay attention that firmware version matches)
3. Open a command prompt in your fastboot folder!
3.a While your phone is booted to the OS and USB debugging is enabled, type:
Code:
adb reboot bootloader
Code:
fastboot boot <filename of the twrp.img>
Code:
fastboot boot twrp-3.2.3-2-ime.img
6. You´re now in TWRP
7. Please note that you need to fastboot boot the TWRP every single time you need it. After a reboot it will be gone!
8. Important:
Please note that
Code:
fastboot boot twrp.img
How to permanently flash TWRP via the .zip installer
1. Make sure you have a working fastboot and adb environment! Your device´s bootloader must be unlocked!
2. Download the flashable TWRP installer zip provided in this thread!
2a. If you´re on a stock kernel that has no touchscreen fix for recovery included please also download the touchscreen_hexpatcher.zip
3. Flash the TWRP-Installer.Zip from the booted TWRP or Magisk Manager on your phone (hit the + while in modules section)
3a. Important: Directly afterwards flash the magisk zip from TWRP or Magisk Manager
If you don´t flash it you will only be able to reboot to TWRP, regardless of the option you choose
4.Only needed when on stock kernel without touchscreen fix:
also flash the touchscreen_hexpatcher.zip from TWRP or Magisk Manager
Be aware that flashing touchscreen_hexpatcher.zip will make touch work when using stock kernel but render all recovery related commands unusable.
This includes
Code:
adb reboot recovery
To get into TWRP you first have to reboot to bootloader and from there on to TWRP/Recovery!
5. Reboot
6. Congratulations: you can now reboot into your permanently flashed TWRP
How to permanently flash TWRP via the TWRP.img file inside TWRP
1. Make sure you have a working fastboot and adb environment! Your device´s bootloader must be unlocked!
2. Download the twrp.img file from the offical twrp site
2a. If you´re on a stock kernel that has no touchscreen fix for recovery included please also download the touchscreen_hexpatcher.zip
3. Boot to TWRP. Navigate to Advanced -> Install Recovery Ramdisk -> Choose the twrp.img downloaded earlier. Wait for the flash to be completed successfully and do either 3a or 3b.
3a. If you want to be rooted flash the magisk.zip
3b. If you don´t want to be rooted navigate to Advanced -> Fix Recovery Bootloop to be able to boot into system
4.Only needed when on stock kernel without touchscreen fix:
also flash the touchscreen_hexpatcher.zip from TWRP or Magisk Manager
Be aware that flashing touchscreen_hexpatcher.zip will make touch work when using stock kernel but render all recovery related commands unusable.
This includes
Code:
adb reboot recovery
To get into TWRP you first have to reboot to bootloader and from there on to TWRP/Recovery!
5. Reboot
6. Congratulations: you can now reboot into your permanently flashed TWRP
Few tips and tricks:
1. You need to mount ext_sd card before you can access it in the file manager
2. Go to mount and click on mount usb storage to access the ext sdcard when connected via USB
3. Don´t forget you can connect an usb device via usb-otg to backup/flash stuff from/to an usb storage device
Official Changelog: twrp.me
22.06.2020 3.4.0-0
- HTC Firmware on Android Pie can´t be decrypted.
- Add support to be able to decrypt Viper GSI - Huge Thanks to @Captain_Throwback
20.05.2019 3.3.1-0
- Decryption on devices running firmware 1.68.xxx.y with security patch state of 1st April 2019 when fastboot booting the twrp.img
17.04.2019 3.3.0-0
- Decryption on devices running firmware 1.62.xxx.y with security patch state of 1st February 2019 when fastboot booting the twrp.img
- Future TWRP.img files can be flashed via the "Install Recovery Ramdisk" option inside TWRP´s advanced settings (for now the twrp.zip is also still available)
- If you don´t flash magisk there is also option to "Fix Recovery Bootloop" inside TWRP´s advanced settings to be able to boot to system
- you are able to take screenshots via power + home button
- busybox is included instead of toybox
01.01.2019 3.2.3-5
- Add support for successfully decryption devices on firmware 1.57.xxx.y with security patch state of 1st December 2018
01.01.2019 3.2.3-4
- System is no longer being mounted R/W when booting TWRP
01.01.2019 3.2.3-3
- Add support for successfully decryption devices on firmware 1.53.xxx.y with security patch state of 1st December 2018
Older versions:
05.10.2018 3.2.3-2
- [Fix] TWRP Image 3.2.3-2 successfully decrypts devices on 1st September Security patch state! Also see the information below.
- [Tweak] resetprop included statically, remove dependencies for it thanks @Captain_Throwback, @topjohnwu and @nkk71
07.09.2018 3.2.3-1
- [Fix] MTP now enabled/working! (@Captain_Throwback)
- [Fix] Vibration feedback now enabled/working (@notsyncing)
- [Fix] Maximum brightness fixed - you need to manually adjust brightness in Settings using the slider to update (@Captain_Throwback)
- [Tweak] Zip now automatically unroots the device when flashing to allow device to reboot to system normally if root isn't immediately flashed afterwards (@osm0sis)
- [Tweak] /data/cache contents now mounted to /cache on flashed version (@Captain_Throwback)
07.08.2018 3.2.3-0
- Official TWRP release
Unofficial Changelog:
21.07.2018 3.2.2-0
28.07.2018 3.2.2-1
02.08.2018 3.2.3-0
05.08.2018 3.2.3-1
- Initial Release
28.07.2018 3.2.2-1
- Decryption is now working
02.08.2018 3.2.3-0
- fix system not getting mounted by magisk installer!
- fix no OS message upon reboot
- flashable installer for permanently installing TWRP!
05.08.2018 3.2.3-1
- fix system not being mountable as R/W in twrp
- display a message asking you to reflash magisk after flashing twrp installer zip
Download:
Official
twrp.me
NOTE: The official TWRP image will only decrypt devices on the 1 June 2018 security patch if fastboot booted. If you are on the 1 March 2018 security patch, you will need to fastboot boot one of the unofficial 1.15 TWRP images. The zip installer, however, will work on any patch level, but if you're on stock kernel, you will still need to flash the hex patcher or a custom kernel to have working touch when rebooting into recovery mode.
Unofficial
Additional Downloads
Touchscreen hexpatcher | Mirror (AFH) - SEE IMPORTANT NOTES BELOW:
- Only needed when on stock kernel without touchscreen fix
- Flashing touchscreen_hexpatcher.zip will make touch work when using stock kernel but render all recovery related commands unusable.
- This includes "adb reboot recovery", reboot to recovery from Magisk Manager and reboot to recovery from inside TWRP. To get into TWRP you first have to reboot to bootloader and from there on to TWRP/Recovery!
Known Issues:
MTP is disabled in official TWRP. This is currently an issue on several A/B devices.- Enabled since 3.2.3-1
- Official TWRP can´t decrypt HTC Firmware on Android Pie!
- fastboot booting TWRP mounts the system RW and breaks ability to take an OTA.
Please take a look at FAQ, found in the 2nd post here. It contains more information
Bug Reporting:
If you have an issue, the first step is to post a recovery log so we can determine the cause of the issue. This is done in recovery using Advanced -> Copy Log, or adb pull /tmp/recovery.log. Once a log is uploaded we can determine how best to proceed. NOTE: Posts that are reporting bugs or issues without an accompanying recovery log will be ignored! Additionally, providing details about your device setup, including variant, firmware version, and exact steps to reproduce your issue will also be helpful in diagnosing the problem.
We need your help!
Join the TWRP Testing group on Slack to help us test TWRP prior to official releases!
Tips on how to build TWRP for the U12+ yourself:
To build TWRP you need to use this branch as your device tree:
https://github.com/freak07/android_device_htc_ime
Additionally you these commits from gerrit to your twrp tree!
https://gerrit.omnirom.org/#/c/android_bootable_recovery/+/31760/
https://gerrit.omnirom.org/#/c/android_bootable_recovery/+/31207/
https://gerrit.omnirom.org/#/c/android_bootable_recovery/+/31021/
Depending on the base you're building for, you may need to comment/uncomment the PLATFORM_SECURITY_PATCH flag for your respective build if you want to fastboot boot the twrp.img. If the patch level of the image doesn't match the patch level of the current system, decryption will not function when fastboot booting the image. If installed via zip, the patch level doesn't matter, as it is automatically updated from system using @topjohnwu & @nkk71's resetprop.
XDA:DevDB Information
TWRP for HTC U12+ aka Imagine, Tool/Utility for the HTC U12+
Contributors
Freak07, Captain_Throwback, nkk71, topjohnwu, Dees_Troy, bigbiff, _that
Source Code: https://github.com/TeamWin/android_device_htc_ime
Version Information
Status: Stable
Current Stable Version: 3.4.0-0
Stable Release Date: 2020-06-22
Created 2018-07-21
Last Updated 2020-06-25
Last edited: