Team Win strives to provide a quality product.  However, it is your decision to install our software on your device.  Team Win takes no responsibility for any damage that may occur from installing or using TWRP.


Support Status: Current

Maintainer: kaneawk, erfanoabdi

Code Name: nash

Device Tree / files

NOTE: Monthly security updates may break decryption of /data in TWRP. MTP does not work at this time, but you can use adb to transfer files.

Download Links:

Current and past versions of TWRP can be found at one of the mirrors below:


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. Use adb to push the zip onto your device:

adb push path/to/twrp.zip /sdcard

Go to install and browse to the zip and install the zip. The zip will install TWRP on boot partition of both slots.

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


  • Marc Bourgoin
    Revert "Revert "nash: Go back to prebuilt update_engine_sideload"" This reverts commit b0620507a611944415f7e3844924805f67dd1a6d. Unfortunately this does not work for us and our prebuilt bootctrl HAL that we must use, so we are going back to prebuilt update_engine_sideload. It fails with our prebuilt bootctrl HAL being unable to select a slot causing the flashing process to fail. Change-Id: Ifd702a5ff91d8089219f93bffeaaedafc50270dd

  • Marc Bourgoin
    nash: set product back to embedded This was changed by accident. TWRP doesn't need full telephony device Change-Id: I846daf72b5d6f8b384c8977f40cbc5dfac89bb96

  • Marc Bourgoin
    nash: delete our bootctrl again * It turns out that minimal TWRP manifest does not sync hardware/qcom/bootctrl like OmniROM does... So I now have to shamefully nuke this bootctrl again and in the future only build TWRP with a full OmniROM sync. Change-Id: I2c0b434fcf3bd020eb26651cb29d9a26654d81a9

  • LuK1337
    nash: Override platform version to 16.1.0 * That way we can have TWRP that decrypts userdata on more than just <= Android 9. Change-Id: I0d18187b13c2b5a1a9a5a592010b604c57543c03

  • Song Fuchang
    nash: Set PLATFORM_SECURITY_PATCH far into the future This fixes decryption on every android security patch update. Change-Id: I6121ebe6c9d79f89ecde4a06b3be5490c6b4799c