Mi Mix 2

I purchased the Mi Mix 2 because of its hardware specs, cellular support, and Lineage OS support.

The Lineage OS installation guide (here) seemed to be missing some details, though.

The Lineage OS XDA thread (here) also seemed light on information.

The XDA page says "make a factory reset", and then reference the Lineage OS installation guide if you need more details.

Things to note:

* Everything I've written here assumes a few things: 1) your device is already unlocked (unlocked bootloader), 2) you know how to use "adb" and "fastboot" on your computer, 3) you're familiar with wiping/flashing Android devices, and 4) you're OK with erasing/deleting EVERYTHING on your device.

* The latest 2019 builds of Lineage OS for the Mi Mix 2 require older 2018 firmware from Xiaomi. Having current or updated firmware causes "error 7" in TWRP. You have to downgrade your firmware if your device is already up to date!

* Wiping Data and Internal Storage while in TWRP seemed to blow away the emulated internal SD Card, so I could not copy anything to the device to flash. I had to sideload Lineage OS using ADB on my computer.

* Current versions of Open GApps have several annoying bugs. Builds from September 11th, 2018 until now (current as of January 24th, 2019) break things like Android Auto and have incomplete setup scripts if using some of their larger packages (any package that installs the Google Phone app fails to remove the AOSP Phone app, leaving you with two Phone apps, for example). Because of this it's recommended to use an older Open GApps release (although, I've also found a bug in the mini and micro packages from 20180110 that leave two Messages apps).

* It seems the encryption used by MIUI and Lineage OS is not compatible. Going from one to the other requires wiping Internal Storage (your internal SD Card), not just Data! Make sure to move any data that you want/need from the Internal Storage off the device before wiping it.
If you don't do a full wipe, you may end up with a "clean" install of Lineage OS or MIUI where it asks for a passcode or pattern and nothing you enter will work.

In short, what I did:

* Started the device in Fastboot mode (hold Volume Down while device powers on or before boot).
* Flashed TWRP to recovery using the "fastboot" command.
* rebooted to the device to Recovery mode (hold Volume Up while device powers on or before boots).
* While in TWRP Recovery, wiped the Dalvik, Cache, System, Data, and Vendor partitions (these are all replaced by Linage OS).
* Entered ADB Sideload mode
* flashed the old 8.4.19 firmware (from April 19th, 2018) with the "adb" command.
* re-entered ADB Sideload mode
* flashed the latest Lineage OS build with the "adb" command.
* re-entered ADB Sideload mode
* flashed the "pico" or "nano" Open GApps package (from September 10th, 2018) with the "adb" command.
* re-entered ADB Sideload mode
* flashed the latest Magisk with the "adb" command.
* Rebooted

With Lineage OS set up and running, I then loaded Magisk Manager.

Tap the SafetyNet check button to make sure the device passes.

Open the menu and go to Magisk Hide, then enable it for anything that checks for root or a modified system.
Some suggestions:

* Google Pay
* Games with online checks, like Super Mario Run, Dragalia Lost, Pokemon Go, etc.
* Any banking or financial apps.

If you've previously ran an app or game without using Magisk Hide on it, it may have saved the "invalid" status for your device. It might refuse to run even if you then set Magisk Hide on it. In this situation you can try to clear the app's data to reset it back to defaults.

For Pokemon Go, using Magisk Hide was not enough. In Magisk Manager, go to Settings, then Hide Magisk Manager. It reinstalls itself with a random package name. Once I did that, Pokemon Go seemed to run just fine.

Files used:

Mi Mix 2 firmware, version 8.4.19, "fw_chiron_miui_MIMIX2Global_8.4.19_fa49b22402_8.0.zip" (63.0 MB)
Download: SourceForge Official
Download: Local Mirror

TWRP, version 3.2.3-0, "twrp-3.2.3-0-chiron.img" (26.5 MB)
Download: TWRP Official
Download: Local Mirror

Open GApps, arm64 / 8.1, "pico" package, September 10th, 2018 build, "open_gapps-arm64-8.1-pico-20180910.zip" (109 MB)
Download: GitHub Official
Download: Local Mirror

If you like using a package larger than "pico" (such as "nano" - although it's not recommended to go above "full"), here are all the September 10th, 2018 downloads: GitHub Official
This page has information on the differences in Open GApps packages.

Current Lineage OS 15.1 nightly build (~583 MB)
Download: Official Lineage

Latest Magisk Manager, "Magisk-v18.0.zip" (18.0 at the time of writing this, ~4.2 MB).
Download: Official GitHub
Download: Local Mirror

Official XDA Thread