[OnePlus 7 Pro Guides, News, & Discussion] LoganDark:
For me, pwning my new phone was a 7-hour process that required incredible learning capacity. Not everyone is prepared to go through a process like that, and it can easily take multiple days or weeks. This is a guide outlining a version of the exact process that got me to this point. It should be easy for anyone to follow, even people without much technical knowledge. (although, do be careful with the resulting root access)

I started with a GM1915, which is the T-Mobile model. You'd think it would require an unlock key from T-Mobile in order to work, but actually it doesn't. That's what they don't want you to know. ;)

A well-known method for bypassing that requirement is to install an international OS and then upgrade it to a certain developer preview, causing the phone to update the bootloader to a non-crippled version that doesn't require an unlock key. So that's what I did.

However, the process is easier said than done. For someone like me who's done it, it's not too hard, but for a beginner it's intensely confusing. I was a beginner just yesterday and struggled with dumb error messages like "packed image not exist".

The guide is below. Sections starting with "T-MOBILE ONLY" and ending with "END OF T-MOBILE ONLY" are only to be performed on T-Mobile phones with T-Mobile firmware and a locked bootloader. If you have an unlocked bootloader then you can skip those steps.

Make sure you have a Windows machine. The Qualcomm drivers are only available for Windows, the programs are only available for Windows, people on this forum only know Windows. I have a Mac, personally, because Unix is awesome, but unfortunately nobody has thought about us and all the tools are Windows-only. I am just as disappointed as you, trust me. I used a virtual machine, but YMMV, depending on how good your hypervisor's USB passthrough is. You may want to use bare metal if you only have VirtualBox; it's not worth the effort. You will be hot plugging A LOT, and your phone will show up as many different types of USB devices.

You must have fastboot installed, but ADB is not required.

--- T-MOBILE ONLY ---

Install the "L2 drivers" for the phone. You can find them here. Just install as many of them as you can by right-clicking every `.inf` file you find and clicking Install on each one of them. Some of them will have missing files. Some of them won't have a signature. It doesn't matter, as long as you try every one of them, something will work. For me it was the 64-bit driver, in the 64 folder. All the others are 32-bit.

--- END OF T-MOBILE ONLY ---

You should probably plug the phone into your computer now and install the official OnePlus drivers as well. This is so that you can easily access the phone storage, which will become very important soon. Reboot your computer to apply the driver updates.

--- T-MOBILE ONLY ---

Download the "MSM Download Tool" from here (same link as above). Place it in its own folder. This is crucial because you must now download the guacamole-whatever.7z file and extract the .ots file into the same folder as the MSM Download Tool.

MSM Download Tool always looks in its folder for the image and pops up a cryptic error message if it's not found ("packed image not exist"). This is not very widely documented because MSM Download Tool is often distributed in the same folder as the image anyway. That's not the case when you are forced to download them as separate files.

Note that this is the only time you will have to use MSM Download Tool and all other updates can be installed by the phone itself. On international variants you don't have to do this because the bootloader will already be unlockable, which is why this is T-Mobile only.

You need to start downloading three updates. This patched version of international OOS is where you will start, the developer beta will upgrade the bootloader, and the full downgrade will roll you back so you can start updating. Start the downloads now, but you do not have to wait for them to finish yet; it will be a few steps before you have to use them.

Now is about the time to back up any data you want to keep. Everything on your phone will be wiped by the next step, including bootloader unlock status, all your data, the entire operating system and so on.

Now it's time to install international OOS. Place it inside the folder with MSM Download Tool and then start it up. Uncheck the SHA-256 checkbox!

Unplug your USB cable and THEN turn off your phone completely. If the USB cable is plugged in while it's turned off, it will automatically boot into the charging mode which is not what you want. Have your USB cable, and computer mouse, on the ready. You don't want to waste any time, because this may be physically painful: Hold down both volume buttons at the same time for at least 5 seconds, and then plug the USB cable into your phone. Make sure some COM port appears in the tool, then click the "Start" button in MSM Download Tool WHILE STILL HOLDING THEM DOWN. You can only let the volume buttons go AFTER you click "Start", or else the phone will drop out of EDL mode into fastboot.

The process will take a few minutes depending on how fast your USB connection is. Leave the phone plugged in until it is complete. This also gives time to download those two updates, which are together about four gigabytes in size.

Once MSM Download Tool is done flashing, you can reboot the phone and set it up using the setup wizard. Feel free to move fast and enable nothing. You don't need internet, you don't need a correct clock, you don't need accounts or telemetry or anything like that. All data will be wiped again later.

Use your computer to copy the developer preview update to the phone. Don't copy it to the Download folder or anything, copy it into the root (just inside the internal storage). Go to settings > local updates > settings icon in the top right > local update and update to the developer preview.

Once you're in the developer preview, enable OEM unlocking in developer options, reboot into fastboot mode (I do this by also enabling advanced reboot in developer options) and use fastboot oem unlock. Your bootloader is now unlocked! But we're not nearly done yet, there's still lots to do.

After rebooting, since the unlock wiped the phone, you'll have to set it up again. Just breeze through like before, then copy the rollback zip to the phone just like you did for the developer preview.

Go to local update again and use the rollback. This is required in order to go back to a stable OS that can accept OTAs. After this your data will be wiped. This is the real setup wizard. You can set it up with real data; your data will not be wiped again for the rest of this guide.

--- END OF T-MOBILE ONLY ---

If your bootloader is not already unlocked, enable OEM unlocking in developer options and then run `fastboot oem unlock` in Fastboot mode.

Next, you will want to install Magisk. This is a slightly complex process but once it's done your phone will become fully untethered.

First download a tool called Payload Dumper. Extract the entire archive into its own folder. Get an OTA update for your version of OxygenOS (if your phone is T-Mobile, that is the rollback update you just installed; if you aren't following the T-Mobile guide, you may have to download an OTA update from Google), and use WinRAR or similar to extract the `payload.bin` inside into the payload dumper's input folder.

Run the payload dumper. You don't need to run all of it; wait for "boot" to show up in the console window, then wait until something else shows up and then close the window. Inside the output folder there should be a `boot.img`; there may be other img files but the boot is what we're interested in.

Transfer this boot.img to your device and use Magisk Manager to patch it. Transfer the magisk_patched.img to your computer, reboot the phone into fastboot mode and use `fastboot flash boot magisk_patched.img`. Reboot the phone into Android.

If you start Magisk Manager you should see that Magisk is installed. Great. Next step is to install TWRP.

In my experience, flashing TWRP or using `fastboot boot twrp.img` didn't work. You're not clever if you try installing OxygenOS 9.5.4 which adds `fastboot boot` support to the bootloader; it still won't work. In my experience the only correct way to install TWRP on the OnePlus 7 Pro is to use Magisk.

(Someone in the replies below stated that you need to upgrade all the way to OOS 10 in order to boot TWRP using fastboot. This guide details the easier method using Magisk Manager.)

On the phone, go to the TWRP downloads page for the OnePlus 7 Pro, and download the latest installer. Then flash the zip using Magisk.

Crucially, at the end of the installer log it says "you are now unrooted". DO NOT IGNORE THIS MESSAGE! If you reboot now, Magisk will be gone and the stock ROM will immediately overwrite TWRP. You must use Magisk Manager to reinstall Magisk using a "Direct Install". That way, your boot.img will be patched again and your Magisk (and TWRP) will persist across reboots.

Go ahead and try it out. Reboot a few times, sometimes into recovery, sometimes into Android to test Magisk.

We're still not done yet. Wouldn't you love to stay rooted and still be running the latest version of OxygenOS? I sure would. Next I'll describe the process of applying an OTA update while keeping your root and everything. Thanks to A/B you can stay untethered.

Please note that, if you'd like to proceed with the EU version of OxygenOS, you should go grab 9.5.4 before proceeding to the next step, for example from here (MD5 fcec14e2ec053d67c793a27bfdef17d0), and use local update to install it. (note GM21BA instead of GM21AA) The EU version is supposed to have better privacy options and less bloatware, so that's what I personally went with. Converting your OxygenOS from GM21AA to GM21BA has no harmful side effects and should work on any phone. It affects the OTA you'll receive in the next step, and this is possibly the only chance you'll get to switch (or not). So choose wisely.

You can find other versions of OOS in this XDA post.

Remember to turn off all auto-updating in the OxygenOS settings. You don't want your phone suddenly losing Magisk and TWRP after any old reboot. Then you can use the OxygenOS updater to accept an official OTA update. It will recognize you're rooted and install an entire fresh new system to your inactive slot, which is exactly what we want.

There are two steps you need to perform before rebooting. The first is TWRP persistence and the second is Magisk persistence. For TWRP persistence you need to go into Magisk Manager and flash a module called "TWRP A/B retention script". Then for Magisk persistence you need to go install Magisk again, but this time to the inactive slot. You must do TWRP persistence first.

After this you should be good to go back to the update screen and hit reboot. You should still have TWRP and Magisk, but now on the very latest version of OxygenOS. Customize your phone to your heart's content now; it's all yours.

Recommended tweaks:

- install a Magisk module called "Debloater (Terminal Emulator)". Install a terminal emulator like Termux and use `su` to enter a root shell. Then you can run `debloat` and go through the list of apps, removing things you don't want. Certain services need to be watched out for, like PlayAutoInstallConfig (lets your carrier silently install apps without your consent). You can find tidbits online explaining what certain things do, like this pastebin, or this one. Houdini is the kernel driver which is very important.

- enable MagiskHide and hide yourself from Netflix and other DRM-enabled apps. Also hide yourself from Google Play's snet service.

- there is a Magisk module called F-Droid Privileged Extension, it's quite nice.

- use MagiskHide Props Config to set `net.tethering.noprovisioning=true`. This will prevent the carrier from knowing when you are using hotspot features, so they will not immediately cut your connection

- don't install a custom ROM. OxygenOS is high quality and everything you could ever want from a phone honestly. It has all the drivers and stuff for the phone and all of that cool stuff.

Small curiosities:

- SMT download mode is a special flashing mode used by the factory and it can overwrite things like the IMEI. Don't mess with it, you do not know what you're doing.

- Now that you have the software, you can literally just install a Dual SIM tray and have dual SIMs. Your phone is essentially the same as the international OP7P

- Feel free to post if you have any issues or need help with something.