6,724 posts
Thanks Meter: 20,316
Post Reply Email Thread
Announcement from bgcngm: TWRP 3.2.2-0 is out!
Team Win Recovery Project 3.x, or twrp3 for short, is a custom recovery built with ease of use and customization in mind. Its a fully touch driven user interface no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.

CHANGELOG for 3.3.1-0:

- Fix selinux issues during formatting - dianlujitao
- Various fixes for toybox and toolbox builds - CaptainThrowback and bigbiff
- Flash both A and B partitions when installing a recovery ramdisk - Dees_Troy
- Add option to uninstall TWRP app from /system - Dees_Troy
- Create digest for subpartitions - bigbiff

CHANGELOG for 3.3.0-0:

- Merge AOSP 9.0 r3 (Dees_Troy)
- Use ANDROID_ROOT variable instead of hard coding to /system (CaptainThrowback)
- Decrypt FBE on 9.0 and metadata decrypt (Dees_Troy)
- vold decrypt updates (CaptainThrowback and nijel8)
- Support vibration on LED class devices (notsyncing)
- Metadata decrypt support for Pixel 3 (Dees_Troy)
- Support rotating the display via build flag (vladimiroltean)
- Reboot to EDL mode button (mauronofrio)
- Support MTP on FFS devices (bigbiff)
- Update FDE decrypt to support keymaster 3 and 4 (Dees_Troy)
- Detect mkfs.f2fs version to properly format on f2fs partitions (Dees_Troy)
- Allow TWRP to use md5 and sha256 checksums for zip installs (bigbiff)
- TWRP can use /data/cache/recovery and /persist/cache/recovery on AB devices with no cache partition (bigbiff)
- Switch part of advanced menus in TWRP to use a listbox of options (Dees_Troy)
- Use magiskboot to allow repacking boot images for installing TWRP (Dees_Troy with thanks to topjohnwu of course)

CHANGELOG for 3.2.3-0:

- Fix automatic installing of OTA zips on encrypted devices
- Remove SuperSU from TWRP
- Support both md5 and md5sum file extensions when doing MD5 checking for zip files

CHANGELOG for 3.2.2-0:

- adb backup fixes
- OTA style update zips will now install automatically without prompting for decrypt
- minor tweaks to handling date/time on Qualcomm devices
- updates to some language translations

CHANGELOG for 3.2.1-0:

- minui fixes (cryptomilk)
- Better android-8.0 compatibility in ROM trees (Dees_Troy)
- Fix missing library in android-8.0 (nkk71)
- Fix inconsistent SDCard naming (DevUt)
- Default to TWRP restore instead of adb backup restore to fix restore on fresh TWRP boot (jlask)

CHANGELOG for 3.2.0-0:

- Allow restoring adb backups in the TWRP GUI (bigbiff)
- Fix gzip backup error in adb backups (bigbiff)
- Fix a bug in TWRP's backup routines that occasionally corrupted backup files (nkk71)
- Better support for installing Android 8.0 based zips due to legacy props (nkk71)
- Support vold decrypt with keymaster 3.0 in 8.0 firmwares (nkk71)
- Decrypt of synthetic passwords for Pixel 2 (Dees_Troy)
- Support newer ext4 FBE policies for backup and restore in libtar (Dees_Troy)
- v2 fstab support (Dees_Troy)
- Bring TWRP forward to android 8.0 AOSP base (Dees_Troy)
- Various other minor bugfixes and tweaks

CHANGELOG for 3.1.1-0:

-Backups will now include adopted storage keys (Dees_Troy)
-Fixed an adb restore issue (bigbiff)
-Fixed rebooting when no OS is present (Dees_Troy)
-Fixed line wrapping in the GUI terminal (_that)
-Updated TWRP source code to AOSP 7.1.2 (Dees_Troy)

CHANGELOG for 3.1.0-0:

-vold decrypt on a few select HTC devices, TWRP will now attempt to use the system partition's vold and vdc binaries and libraries to decrypt the data partition (nkk71 and CaptainThrowback)
-adb backup to stream a backup directly to or from your PC, see documentation here (bigbiff)
-tweak MTP startup routines (mdmower)
-support new Android 7.x xattrs for backup and restore to fix loss of data after a restore (Dees_Troy)
-support POSIX file capabilities backup and restore to fix VoLTE on HTC devices and possibly other issues (Dees_Troy)
-better indicate to users that internal storage is not backed up (Dees_Troy)
-improve automatic determination of TW_THEME (mdmower)
-minimal getcap and setcap support (_that)
-try mounting both ext4 and f2fs during decrypt (jcadduono and Dees_Troy)
-shut off backlight with power key (mdmower)
-timeout during FDE decrypt (Dees_Troy and nkk71)
-support for FBE decrypt and backing up and restoring FBE policies (Dees_Troy)
-boot slot support (Dees_Troy)
-TWRP app install prompt during reboot (Dees_Troy)
-support for AB OTA zips (Dees_Troy)
-support new Android 7.x log command (Dees_Troy)
-update recovery sources to AOSP 7.1 (Dees_Troy)
-numerous bugfixes and improvements by too many people to mention

CHANGELOG for 3.0.2-0:

-Fix a bug with the input box that affected masked inputs (passwords). This fixes decrypt of full device encryption on devices that support decrypt. This bug also impacts encrypted backups. Users are highly encouraged to stop using 3.0.1 if you use encrypted backups or if you need decrypt of data in TWRP.
-Add Greek translation to some builds.

CHANGELOG for 3.0.1-0:

-support new CM 13.0 pattern encryption (sultanqasim)
-fix slow flashing issue due to modprobe (present on only some devices) (#twrp)
-libtar updated to latest upstream and fixes (jcadduono)
-fixes for loading custom themes (_that)
-TWRP will now detect and install TWRP themes automatically through the normal zip install process (Dees_Troy)
-translation updates - added Italian, Czech and Polish and significant updates to Dutch
-progress bar improvements - progress bar updates during image flashing and better tracks progress during file system backups (tar) (Dees_Troy)
-fix input box text display (Dees_Troy)
-reboot option after zip install complete (bigbiff)
-other mostly invisible bug fixes and improvements

CHANGELOG for 3.0.0-0:

-Completely new theme - Much more modern and much nicer looking (by z31s1g)
-True Terminal Emulator - Includes arrow keys, tab and tab completion, etc. (by _that)
-Language translation - It won’t be perfect and especially some languages that require large font files like Chinese & Japanese won’t be availble on most devices. Also some languages may only be partially translated at this time. Feel free to submit more translations to OmniROM’s Gerrit. (mostly by Dees_Troy)
-Flashing of sparse images - On select devices you will be able to flash some parts of factory images via the TWRP GUI (by HashBang173)
-Adopted storage support for select devices - TWRP can now decrypt adopted storage partitions from Marshmallow
-Reworked graphics to bring us more up to date with AOSP - includes support for adf and drm graphics (by Dees_Troy)
-SuperSU prompt will no longer display if a Marshmallow ROM is installed
-Update exfat, exfat fuse, dosfstools (by mdmower)
-Update AOSP base to 6.0
-A huge laundry list of other minor fixes and tweaks

WARNING: This is our first release in a long time. We have a lot of new and somewhat aggressive changes in this new release. The changes to the graphics back-end may cause some devices to not boot up properly or have other display-related issues. If you are not in a position to reflash an older build of TWRP, then wait until you are or at least wait until others have tried the new version for your specific device. You don’t want to end up with a non-working recovery and have to wait several hours or days to get to a computer to be able to fix it.

Notes for themers: In addition to the udpated theme, we have introduced a theme version variable to the TWRP theme system. If the theme version does not match the version that TWRP expects, TWRP will reject the custom theme and load its stock theme. This change will ensure that people who update TWRP without updating their theme will still have a workable recovery. We have removed libjpeg support. The stock theme was only using a jpeg image for the splash / curtain. This change means that any custom themes will no longer be able to use jpeg images. It also means that tools used to repack recovery images with a different curtain / splash will need to be updated to use the new method.

Version number notes: For a while we’ve been using a 4 digit version number and reserved the 4th digit for device-specific updates. For instance, we find and fix a device-specific issue like decryption of data on Nexus 5, we would release that as a After a while, some people would start asking where was for other devices. So, going forward we have decided to change the numbering scheme to 3.0.0-2, etc. Our hope is that this version numbering scheme will more clearly identify that the 4th digit does not indicate a version change for the code base.

We need your help! The bulk of TWRP work is done by 3 people on a volunteer basis. We have pushed most of our device files to our github and we have a gerrit instance. If you have the ability, please help us maintain our official devices and/or add your device to our official device list. Thanks in advance!


-Initial ground work for software drawn keyboard (_that)
-Fix handling of wiping internal storage on datamedia devices (xuefer)
-Allow DataManager to set and read values from the system properties (xuefer)
-Fix crash when taking screenshots on arm64 devices (xuefer)
-Fix error message after an ORS script completes (Dees_Troy)
-Fix crashes / error when creating encrypted backups (_that, Dees_Troy)
-Add system read only option – more details below (Dees_Troy)
-Add resize2fs and GUI option to run resize2fs (Dees_Troy)
-Fix crash loop caused by empty lines in AOSP recovery command file (_that)
-Prevent duplicate page overlays such as multiple lock screens (mdmower)

Note: As always, be sure your custom theme is up to date (or remove your custom theme) before updating TWRP.

System read only option: Devices that ship with 5.0 and higher as their initial OS are using block level OTA updates. With this style of OTA update, the update script checks to see if the system partition has ever been mounted read/write. Further, the script also usually runs an SHA sum of the entire system partition to detect if any changes have been made. If any changes have been made, the OTA update will refuse to install. Since not all OEMs and devices have factory images available, we have created a new feature in TWRP that detects if the system partition has ever been mounted read/write. If not, you will be prompted asking if you want TWRP to mount system as read/write. If you choose not to allow TWRP to mount as read/write, TWRP won’t prompt to install SuperSU and TWRP won’t try to patch the stock ROM to prevent TWRP from being replaced by stock recovery. The goal of this option is to hopefully allow the user to make a raw system image backup that they can use to get back to a state where they can take OTA updates again.

resize2fs feature: On some devices like the Nexus 6, the factory images include a userdata image that is the proper size only for the 32GB units. If you flash the factory image to a 64GB Nexus 6, the data partition will appear as if it only has the free space of a 32GB device. Using the resize2fs option, TWRP can resize your data partition to take up the full space available. The resize2fs may also be useful to resize system partitions on devices where custom ROM system images don’t take up the full partition space. Lastly, resize2fs may be useful in some cases to reserve the proper space at the end of a data partition for a full disk encryption key, should your partition be formatted incorrectly for some reason.

This new version also marks our first set of full builds using our new jenkins build server. You can track the progress of builds at and we have taken additional steps to make it easier for device maintainers to step up and submit patches to our gerrit server at to help us keep devices up to date and working.

Current and past versions of TWRP can be found at one of the mirrors below:
- Primary (Recommended)
- Primary (Backup)

TWRP install (requires TWRP 2.8.4 or higher already installed):
1) Download the latest version of TWRP appropriate for your device/firmware
2) Reboot to TWRP
3) Hit Install and tap the "Install Image" button in the lower right
4) Browse to the location of the TWRP image on your device and select it
5) Select recovery from the partition list and swipe to flash
You can find other alternative installation methods on our website (direct link to your device)!

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 to SD, or adb pull /tmp/recovery.log. Once a log is uploaded we can determine how best to proceed.

If your issue is determined to be a bug, please consider posting it to our github issues log. It's pretty much impossible for us to keep up with the more than 40 threads that we have for the devices that we "directly" support. If you have a significant problem that cannot be answered in this thread, your best bet is to contact us via our website, or find us in our IRC channel below. If you see someone that's struggling, feel free to point it out to us. We need your help to help us keep track of all of our devices! Thanks!

Live support is available via #twrp on Freenode with your IRC client or just click this link.

XDA:DevDB Information
TWRP for Xiaomi Mi 5, Device Specific App for the Xiaomi Mi 5


Version Information
Status: Stable

Created 2016-07-06
Last Updated 2018-07-04
The Following 80 Users Say Thank You to bgcngm For This Useful Post: [ View ]
6th July 2016, 04:55 PM |#2  
bgcngm's Avatar
OP Recognized Developer
Flag Lisbon
Thanks Meter: 20,316
Donate to Me

CHANGELOG for 3.2.1-1:

- Update to O-mr1 based kernel (brings the latest F2FS updates as well as support for quota feature)
- Add support for pseudo-vendor partition (/cust is now mounted as /vendor)

CHANGELOG for 3.1.0-1:

- Update to N based kernel (built with minimal defconfig, brings updated F2FS support)
- Fix decryption for N
- Add additional EFS partitions for backup/restore

CHANGELOG for 3.0.2-3:

- Fix EFS backup/restore
- Add NTFS support

CHANGELOG for 3.0.2-2:

- Exclude built-in SuperSU (device ships with M)
- Add F2FS support
- Update prebuilt kernel to source-built version (brings fully working touch for all hardware variants and support for every firmware)
- Add system image and EFS backup/restore feature
- Include extra languages
- Removed hbtp input device (no mouse arrow shown on recovery screen)

CHANGELOG for 3.0.2-1:

- Set default brightness

CHANGELOG for 3.0.2-0:

- First release for Xiaomi Mi 5 (gemini)
The Following 14 Users Say Thank You to bgcngm For This Useful Post: [ View ]
6th July 2016, 05:17 PM |#3  
bgcngm's Avatar
OP Recognized Developer
Flag Lisbon
Thanks Meter: 20,316
Donate to Me

CHANGELOG for 3.0.3-0:

- Built with android-7.1 tree
- Fixed compatibility with systemless SuperSU flashing on F2FS (thanks to @arter97 for the great finding)
- Updated to the latest N crypto libs (backward compatibility with M preserved)
Attached Files
File Type: zip - [Click for QR Code] (18.35 MB, 7084 views)
File Type: zip - [Click for QR Code] (18.30 MB, 2892 views)
The Following 49 Users Say Thank You to bgcngm For This Useful Post: [ View ]
7th July 2016, 11:23 PM |#4  
Senior Member
Thanks Meter: 40

Does OTG work?

Enviado desde mi MI 5 mediante Tapatalk
8th July 2016, 04:57 PM |#5  
azazello22's Avatar
Senior Member
Thanks Meter: 790
Donate to Me
Originally Posted by jobrima


Does OTG work?

Enviado desde mi MI 5 mediante Tapatalk

No it is not. You can't mount it.
The Following User Says Thank You to azazello22 For This Useful Post: [ View ] Gift azazello22 Ad-Free
8th July 2016, 11:00 PM |#6  
Ry2mkk's Avatar
Senior Member
Thanks Meter: 81
Does anyone know how to get around the freeze issue... Once the recovery has been installed via adb it's fine.. However when I come back to rebooting into recovery it's stuck after TWRP screen... Really annoying as I have to flash recovery for every time I need to install a new zip or rom
8th July 2016, 11:50 PM |#7  
Thanks Meter: 3
Originally Posted by Ry2mkk

Does anyone know how to get around the freeze issue... Once the recovery has been installed via adb it's fine.. However when I come back to rebooting into recovery it's stuck after TWRP screen... Really annoying as I have to flash recovery for every time I need to install a new zip or rom

Try with charger connected.

Sent from my MI 5 using XDA-Developers mobile app
8th July 2016, 11:54 PM |#8  
Ry2mkk's Avatar
Senior Member
Thanks Meter: 81
Originally Posted by sdujolo

Try with charger connected.

Used Flashify TWRP from the apps download... Works perfectly now

Thanks anyway
The Following User Says Thank You to Ry2mkk For This Useful Post: [ View ] Gift Ry2mkk Ad-Free
9th July 2016, 03:01 AM |#9  
5ne1ke's Avatar
Senior Member
Flag Rome
Thanks Meter: 1
It still needs the modified boot.img?
9th July 2016, 04:16 PM |#10's Avatar
Senior Member
Flag Munich
Thanks Meter: 508
Donate to Me
Originally Posted by Ry2mkk

Does anyone know how to get around the freeze issue... Once the recovery has been installed via adb it's fine.. However when I come back to rebooting into recovery it's stuck after TWRP screen... Really annoying as I have to flash recovery for every time I need to install a new zip or rom

Same Problem here... sometimes you can use it after you leave it after the screen goes black, but that more like a lucky game... it does not work everytime.
9th July 2016, 05:13 PM |#11  
bgcngm's Avatar
OP Recognized Developer
Flag Lisbon
Thanks Meter: 20,316
Donate to Me
For your info, this was fully tested with 6.6.23 firmware.

Sent from my MI 5 using Tapatalk
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes