How to Install and Root PixelExperience ROM for OnePlus 6T
Installing the PixelExperience ROM took me more than 4 hours of my time and took a week total from the time I first tried installing the ROM. Some feedback for Android Custom ROM developers and tutorial writers/youtubers are: link to instructions in the original XDA post, do not assume that the user knows how to “enter” a recovery image, write thorough instructions rather than one portion of it, and stop promoting incorrect and unhelpful instructions. I have put everything I’ve learned together here for you and me to extend our phone’s life.
Table of Contents
Back up your data
Make sure to backup everything. Some things to back up:
- Pictures folder
- DCIM/Camera folder
- Your two factor authenticator app (to google)
- Backup your google 2FA keycodes so that you can login to google with ease if you are away from home
- Backup your contacts to a VCF file
Platform tools
Download platform tools and extract it to a folder android/platform-tools
. This folder should be added
to your PATH environment variable. My Windows guide for adding a directory to Path
Open a terminal window in the folder that will contain all android ROM related files. For me, this would be "...android\oneplus-6T-fajita"
.
To open a terminal window, either search up cmd or windows terminal from Windows search.
Upgrading to the Latest OxygenOS Firmware
You need to be running the latest firmware, else the recovery image might not work properly. This only applies if you soft-bricked your phone and unbricked it using my instructions. It’s better to download the Stock ROM once on your PC and reuse it rather than make your phone download every time you reset your phone to OOS 10.
adb push OnePlus6TOxygen_34.J.62_OTA_0620_all_2111252336_f6eda340d7af4e3e.zip /sdcard
To perform a local upgrade, go to Settings > System > System updates > ⚙️ (top right) > Local upgrade.
Unlocking the bootloader
This will wipe your device, so again, backup everything.
- Enable developer options by clicking “About phone” and then “build number” at least 5 times until you see a toast notification informing you that developer options are enabled
- To get to developer options, click System (a menu before the above step) first and then “Developer options”
- Enable “OEM unlocking” and “USB debugging”
- Connect your device to your PC
- A popup should come up asking for USB debugging permissions
- run
adb reboot bootloader
- Once your phone shows the green “START” text, run
fastboot oem unlock
- On your phone, select “UNLOCK THE BOOTLOADER”
- Press the volume down key twice on your phone and then press the power key
- Wait 5 minutes for your phone to wipe and boot
- Skip setup so that you can access your phone’s settings and re do steps 1 to 4
Flashing the PixelExperience ROM Corrected
Downloads for ROM Installation
copy_partitions.zip
,vbmeta.img
,boot.img
,super_empty.img
from evolution-x- PixelExperience Plus ROM ZIP
Flashing the ROM
Like before, enable USB debugging.
- Enable developer options by clicking “About phone” and then “build number” at least 5 times until you see a toast notification informing you that developer options are enabled
- To get to developer options, click System (a menu before the above step) first and then “Developer options”
- Enable “OEM unlocking” and “USB debugging”
- Connect your device to your PC
- A popup should come up asking for USB debugging permissions
-
adb reboot bootloader
-
Flash the new retrofit dynamic partitions boot image & recovery
fastboot flash vbmeta_a vbmeta.img fastboot flash vbmeta_b vbmeta.img fastboot flash boot_a boot.img fastboot flash boot_b boot.img
-
Erase the old android partitions with the following
fastboot erase system_a fastboot erase system_b fastboot erase odm_a fastboot erase odm_b fastboot erase vendor_a fastboot erase vendor_b
-
From the bootloader, use volume buttons, and click “Recovery Mode” to boot into recovery
-
Volume down 3 times to Advanced and click power button.
-
Click power button to enter fastboot
-
Initialize the retrofit super partitions for each slot
fastboot wipe-super super_empty.img fastboot set_active other fastboot wipe-super super_empty.img fastboot set_active other
-
Now enter recovery
-
Apply update > Apply from ADB
-
adb sideload copy-partitions.zip
-
On phone, select “Install anyways”
-
Select “Apply from ADB” again
-
adb sideload PixelExperience_Plus_fajita-13.0-20230419-2046-OFFICIAL.zip
(different filename for you) -
Select “Install anyways”
-
To go back, you can press the up arrow key first and then the power key
-
Factory reset (Format data)
-
Reboot to system (go back first)
Updating the ROM
We’ll get to this in the future.
Rooting
Downloads for Rooting
- Python and add this to your Path environment variable
- Download or
git clone
payload_dumper and extract its contents to a folder likeandroid/payload_dumper
Installing Magisk
- Inside the
payload-dumper
folder, runpython -m pip install -r requirements.txt
- Extract the PixelExperience.zip in another folder (e.g.
oneplus-6T-fajita/
) and runpython payload_dumper.py path/to/payload.bin
- Copy
payload_dump/output/boot.img
to your phone’s deviceadb push boot.img /sdcard/Download
- Follow Magisk instructions to patch the boot image
- Download and install the Magisk app
- On your phone, patch
boot.img
with the Magisk app- Click “Install” beside Magisk
- Method is “Select and Patch a File”
- “LET’S GO”
- Open a terminal in your oneplus-6T-fajita folder
adb pull boot.img /sdcard/magisk_patched_[random_strings].img
- Reboot into recovery (enabled advanced restart in phone settings)
- Flash the patched boot image
fastboot flash boot path_to_magisk_patched_[random_strings].img
- Reboot, launch Magisk app and beside “App” click install
- Install Root Checker from Google Play Store
- In Root Chcker, Click “verify root” and see if there is a popup from Magisk
Passing Play Integrity / SafetyNet Attestation
-
To your phone, download MagiskHide Props Config
-
To your phone, download Universal SafetyNet Fix
- In case these instructions don’t work in the future, see if the original fork has a more recent release
-
Open the Magisk app, click modules, install the two zip files from storage, and reboot only after installing the second zip
-
After reboot, open Magisk, click ⚙️ (top right), configure DenyList and add apps that you need to bypass
- Show System apps
- Deny all Google apps except for YouTube by searching “google”
- Deny any apps that require safety checks like some banking apps
-
Enable denylist
-
Restart phone
-
Install Termux
-
Edit props (just in case)
su # GRANT ACCESS TEMPORARILY props 2. Force BASIC key attestation d 7 # Google 5 # Google Nexus 6P. Don't know why this worked? y # confirm prop changes e # don't reboot # editing device fingerprint might not be needed props 1. Edit Device fingerprint f # certified fingerprint 21 # OnePLus 9 # 6T 2 # Android 10 y e # don't reboot yet
-
In Magisk settings ⚙️, click hide the Magisk app and rename to “Manager” or whatever is easy for you to remember
-
Clear all data of Google Play Services, Google Play Store, and Google Wallet through the phone’s settings
-
Confirm that the three apps above are on the deny list of Magisk
-
Restart phone
-
Open Google Wallet app / banking app
-
Check integrity status with the Play Integrity API Checker
- First two lines should be green
- Third line should be red, DO NOT LOCK THE BOOT LOADER
-
Check integrity status with the YASNAC - SafetyNet Checker
YouTube ReVanced
- Download ReVanced Manager
- Open the manager
- Patchcher
- Select YouTube application
- Check if current version matches recommended. If not install the recommended version from apkpure
- Close and reopen the manager
- Select Patcher > YouTube > Selected patches > Recommended > Uncheck microG
- Done.
- Click patch and wait for 10 seconds
- Click install root
The root install does not remove ads from the home screen, but it’s not that big of a deal.
Troubleshooting
To get out of CrashDump and into bootloader
This error occurs when the TWRP version you flashed is incompatible with the Android version running on the phone. For example, a _12 TWRP version is incompatible with Android 11 and a _11 TWRP version is incompatible with Android 12.
- Hold Pwr+Vol Up until phone buzzes and then immediately
- Hold Pwr+Vol Up+Vol Down to boot bootloader (let go when you read fastboot mode)
- Flash the correct TWRP boot image version for your device
Unbricking your Phone
- Download MSMDownloadTool and extract to a folder
- download link one
- download link alternative
- I keep all my android ROM related files in a folder called
android/device-name
- Download and install Qualcomm HS-USB QDLoader 9008 Drivers
- Reboot PC
- Open MSM Download Tool
- Power off and disconnect phone
- Hold volume up and down buttons on phone
- While holding the buttons, connect the phone to the PC
- Press start in MSM Download Tool
- Takes 10-20 minutes