Profile cover photo
Profile photo
Chainfire's posts

Post is pinned.
PSA: There is no support on G+

While Google Plus is a nice medium to share information, it is utterly unsuitable for any form of support.

All releases have their own discussion threads on, which are referenced in most posts here. If you need assistance, want to file a bug report, or discuss anything related to a release, please go the relevant XDA thread.

You will not receive any support here on G+.

Additionally, all posts should be English only.

Post has shared content
Patagonia and Easter Island 2015 (Panoramas only)

I know some of you guys here enjoyed seeing my older albums and there are proper photographers among you, but it seems I haven't re-posted from my personal account since 2014. So here are the missing albums :)
Some panoramas taken on my trip to Patagonia (during the rare moments it wasn't raining) and Easter Island at the end of 2015.

Edited to taste, so no arguing about that :)

Post has shared content
Tanzania 2015

I know some of you guys here enjoyed seeing my older albums and there are proper photographers among you, but it seems I haven't re-posted from my personal account since 2014. So here are the missing albums :)
Just a handful of shots from my trip to Tanzania in 2015. Not necessarily the very best shots in my collection, though.

Post has shared content
NYC 2015

I know some of you guys here enjoyed seeing my older albums and there are proper photographers among you, but it seems I haven't re-posted from my personal account since 2014. So here are the missing albums :)
Some shots of my short trip to NYC a few weeks ago
New York City 2015
15 Photos - View album

Post has attachment
Recently updated to v1.40

This update brings Nougat compatibility. And that's it, really :)

Post has attachment
CF.lumen updated to v3.70

This minor update primarily fixes 'performance mode' of the 'CF.lumen driver' on various Nougat devices. The grayscale filter is now scale from grayscale to normal saturation, instead of a plain toggle.

- (c) 2017
- Upgrade grayscale filter from a toggle to a saturation slider
- CF.lumen driver: fix 'performance mode' on Nougat (bypass new linker protections)
- CF.lumen driver: fix darken filter math issue (still doesn't work on invert, though)

Post has attachment
FlashFire v0.55 released

This update brings a lot of bug fixes, improvements, and new features. The latter is mostly related to Pixel devices, though.

There was a pre-release of this version on XDA (v0.54-PRE) a few weeks ago, without much further comment. This post and the changelog includes all the changes in that version as well.

As with any release, if an issue with a previous version of FlashFire has not been solved by this update, please report it again in the XDA thread linked below. Please link to your previous posts in your new post.

Partition layouts with slots

Initial support has been added for devices with multiple copies (slots) of some partitions, such as the new Google Pixel line. Slot management is mostly automatic, but most actions let you manually override the slot the action is performed on.

The new OTA format introduced with these devices is now also supported. Unlike traditional devices, FlashFire will even attempt to intercept the OTA download and launch its GUI to flash it when the download is complete. (It is questionable if this will work on future devices that are not made by Google itself)

File-based encryption

Initial support has been added for the new file-based encryption introduced with Android 7.0, which is the default encryption method for the new Google Pixel line.

Due to how this encryption method works, FlashFire can only be guaranteed to have full access to the data of the primary user. At this time, data of other users will not be backed up or restored.

Additionally, for a backup to be restored in encrypted form, it has to be both made and restored with the device in an encrypted state, and be restore by FlashFire. Restoring on an unencrypted device will always lead to an unencrypted result, as will an emergency restore with TWRP.


Aside from the already mentioned slot-OTA format, a number of issues with handling other OTA formats have been fixed, and support for 'uncrypted' (unencrypted files on an encrypted block device) OTAs has been added.


Basic support has been added for using FlashFire on a device with Magisk present, both with SuperSU as well as (only) topjohnwu's mod of superuser. I have only done basic testing, so your mileage may vary.

Read/write access to /system

FlashFire used to auto-detect whether /system was modified, and pre-set some flashing options based on this, if you selected a ZIP or firmware package to flash.

It turns out this detection (based on ext4 lifetime writes) is not completely reliable unless checked immediately after boot. As such, by default /system is now always treated as original. There is now an option in the settings screen to change this behavior.

ZIP intent

By request, I've added the capability for external programs to launch FlashFire and set up flashing a provided ZIP file. See the documentation site for further information.


Google Play:

XDA Developers:


Direct APK download:

- (C) 2017
- Improved 32/64 bit handling (fixes some blackscreens)
- Improved handling of devices that have a /vendor partition
- Add initial support for devices with multiple slots
- Add support for uncrypted OTA ZIPs
- Add support for A/B OTA ZIPs
- Add support for file-based encryption backup/restore (primary user only)
- Add additional Pixel partitions
- Add support for Magisk+SuperSU (preliminary)
- Add support for Magisk+phh (topjohnwu version only) (preliminary)
- Add circular icon (Android 7.1)
- Restrict app usage to primary user
- Make treating system/vendor/oem as original a setting (auto-detection is not completely reliable)
- File selection activity now remembers last location
- Fix drawer closing on back button press on tablets like Pixel C
- Fix overlay display visibility on S7@Nougat
- Detect and handle screen scaling on S7@Nougat
- Fix archive scanner freeze when reading password protected ZIPs inside another archive
- Fix seeking issue with custom recovery detector
- Fix archive scanner inconsistency with multiple files targeting the same partition
- Fix archive scanner scanning inside images
- Fix archive creator display inconsistency
- Fix unconditional block update ZIP detection
- Fix busybox/untar not setting SELinux file context on files that already existed
- Hide cache wiping options if no cache partition present
- Restart and re-check for root if root not found initially
- Refactor boot image analysis
- Preserve recovery: option hidden from devices without a dedicated recovery partition
- Replace update_engine service on A/B update devices
- Add intent to flash a specific ZIP file
- Workaround adb restore 'never-finish' issue by using adb push (temporary?)
- Embedded SuperSU updated to v2.79 SR3
- Adjust timebomb for non-Pro users to May 01, 2017

Post has attachment
SuperSU v2.79 SR3

This is a minor bugfix update, a new stable will be released soon.

Some users reported bootloops on SR1 and SR2, for whom the last stable worked fine. If this still happens on SR3, report it to the BETA thread on XDA, otherwise I will consider these reports fixed.


Download flashable ZIP:

SuperSU BETA thread on XDA:

- Fix erroneously deleting SuperSU's copy of app_process on 6.0 since 2.79-SR1
- GUI: Fix app_process requirement detection when supersu context used
- Fully eliminate sugote binary, no longer needed due to SELinux handling improvements in earlier versions
- Support /system/xbin/sush as default shell
- Adjust LD_PRELOAD filtering to exclude suhide's libraries
- ZIP: Motorola: default to systemless mode

Post has attachment
SuperSU v2.79 SR2

The SR1 release changed a lot of SELinux handling aimed at Android 7.x. A bug in this handling caused the installation to break on older firmwares. This update fixes that specific bug.

There were a number of reports of bootloops with SR1 on pre-7.0 firmwares, please re-report them (in the BETA thread) if they still happen with SR2 - otherwise I will assume them corrected by this patch.


Download flashable ZIP:

SuperSU BETA thread on XDA:

- supolicy: fix some segfaults(NPEs) in pre-7.0 sepolicy handling
- ZIP: write boot block device once instead of twice (@_alexndr)
- (c) 2017 + CCMT

Post has attachment
SuperSU v2.79 SR1

This update focuses primarily on SELinux changes for Nougat:

- SuperSU will now use it's own 'u:r:supersu:s0' context to run in, rather than reusing the 'u:r:init:s0' context. This can prevent some conflicts from occurring, but it may also cause some root apps (or complete firmwares) to suddenly stop working. Please report these in the BETA thread on XDA. In time this feature may be ported back to Marshmallow as well.

- SuperSU no longer modifies file_contexts[.bin]. This modifications caused issues on some firmwares, though why this happens exactly has not been identified. Regardless, it has been refactored away.

On app-heavy devices SuperSU may have been slow to grant root access, especially right after boot, when the device is very busy, or when it needs to popup a confirmation dialog. This should now be much better on Nougat firmwares, where the problem was most apparent. It has also improved for older firmwares, but not as dramatically - it will take some more work to backport the full patch.

Compatibility with the latest TWRP on the PIxel has also been fixed, and various other small changes are listed in the changelogs below.

CF-Auto-Roots have been needing updates for a while now, but it will have to wait some more, as I'm trying to push a FlashFire update out first. For the devs among you, I have slightly updated the How-To SU docs.


Download flashable ZIP:

SuperSU BETA thread on XDA:

How-To SU:

- Expand Samsung detection
- GUI: reworked portions to work with 'supersu' context on 7.0+
- GUI: fix binary update notice when superuser disabled by user in some cases
- su: reworked portions to work with 'supersu' context on 7.0+
- su/GUI: improve responsiveness when device busy on 7.0+
- sukernel: fix cpio restore failure with very short filenames
- sukernel: no longer patches file_contexts(.bin)
- sukernel: revert force seclabel (no longer needed with 'supersu' context)
- supolicy: add "create", "auditallow", "auditdeny" policy commands
- supolicy: support "*" for permission/range parameter of "allow", "deny", "auditallow", "auditdeny", "allowxperm" policy commands
- supolicy: -live/--file no longer apply default patches if custom patches are supplied
supolicy: -sdk=X option added (required for 7.0+)
supolicy: reworked all SELinux rules for 7.0+, run as 'supersu' context
- ZIP: Separate slotselect and system_root logic
- ZIP: Adjust system/system_root device and mount-point detection
- ZIP: Fix minor errors in documentation
- ZIP/frp: Explicitly label /su

Wait while more posts are being loaded