OnePlus 3T (oneplus-oneplus3t)

From postmarketOS Wiki


OnePlus 3T
OnePlus 3T with Plasma Mobile UI
OnePlus 3T with Plasma Mobile UI
Manufacturer OnePlus
Name 3T
Codename oneplus-oneplus3t
Released 2016
Type handset
Hardware
Chipset Qualcomm Snapdragon 821 (MSM8996Pro)
CPU 2x 2.35 GHz Kryo & 2x 1.6 GHz Kryo
GPU Adreno 530
Display 1080x1920 AMOLED
Storage 64/128 GB
Memory 6 GB
Architecture aarch64
Software
Original software Android
Original version 6.0 Marshmallow (OxygenOS 3.x)
postmarketOS
Category testing
Pre-built images no
Mainline yes
Features
Flashing
Works
USB Networking
Works
Internal storage
SD card
Battery
Works
Screen
Partial
Touchscreen
Works
Multimedia
3D Acceleration
Partial
Audio
Partial
Camera
Camera Flash
Connectivity
WiFi
Works
Bluetooth
Works
GPS
NFC
Works
Modem
Calls
SMS
Mobile data
Miscellaneous
FDE
USB OTG
Works
HDMI/DP
Sensors
Accelerometer
Magnetometer
Ambient Light
Proximity
Hall Effect
Haptics
Barometer
This device is based on the Snapdragon 821.
See the SoC page for common tips, guides and troubleshooting steps

Contributors

  • DrGit
  • MartinL

Maintainer(s)

Users owning this device

Good luck.

Unlocking the Bootloader

WARNING: Doing this will wipe ALL data on your device. Please backup all your personal data before continuing!

  1. Enable Developer options by tapping the build number 7 times in Settings > About
  2. Go to Developer options and enable both USB Debugging and OEM Unlocking
  3. Open a terminal window and type adb devices to verify your device is visible.
  4. Type adb reboot bootloader to reboot your device into fastboot mode.
  5. Type fastboot devices to verify once again that your device is visible.
  6. Type fastboot oem unlock. To navigate the on screen options use Volume Up/Down and select an option with the Power button.
  7. Congrats, your bootloader is now unlocked!


How to enter flash mode

  1. After the bootloader is unlocked press the Power button and you should see the warning screen. Press Volume Up/Down to open the boot options.
  2. Select Fastboot and press Power

You are now ready to flash.

Installation

$ pmbootstrap init
$ pmbootstrap install
$ pmbootstrap flasher flash_rootfs
$ pmbootstrap flasher flash_kernel

If the fastboot flash fails use the recovery mode:

Note NOTE: The original recovery fails to sideload the zip file, flash TWRP recovery first
$ pmbootstrap install --android-recovery-zip
$ pmbootstrap flasher --method=adb sideload

Mainline

MSM8996 common mainline kernel fork

Feature Components Status
USB Onsemi FUSB301 (extcon)

PMI8996 SMBCharger (OTG supply)

Y SMBCharger OTG VBUS driver not upstream.
UFS SAMSUNG KLUDG8J1CB-B0B1 (128GB) Y
Display MDSS1,2

Samsung S6E3FA3

Samsung S6E3FA5

Samsung S6E3FA5R9S

P Panel does not resume from suspend, drivers not in mainline yet
GPU Adreno 5301 Y Somewhat glitchy, causes some artifacts and tearing in GNOME and GTK4 due to a possible mesa bug. Can be mitigated by disabling binning by setting FD_MESA_DEBUG=nobin.
WiFi QCA6174a Y
Bluetooth Y Tested and working using bluetoothctl
Modem MSS1 N Calls and SMS untested. Mobile data requires WIP IPA 2.5 support in IPA driver and modemmanager.
GNSS N requires PDS support in gpsd
NFC NXP PN66T (PN548 C2 + SmartMX) Y NFC tags are detected, SmartMX secure element on SPI is not configured
Audio Codec WCD9335 (Headphones, earpiece, microphones)

NXP TFA9890 (Speaker)

P Headphone output works
Video Codec Venus1 N Untested
Battery TI BQ27541 3400mAh

PMI8996 SMBCharger/Fuel gauge2 SMB13512

P Fuel gauge works. Charger can reach its maximum current at 5V. Faster charging (9V) will require extra handling in the PMI8996 SMBCharger driver, and for better efficiency (and possibly even faster charging) a new driver for SMB1351.
Rear Camera Sensor: Sony IMX298

Lens actuator: ROHM BU63165GWL

N Needs dts, untested, no mainline driver
Front Camera Sensor: Samsung S5K3P8SP N Needs dts, untested, no mainline driver
Sensors SLPI/SSC1,2

Gyroscope/Accelerometer: LSM6DS3

Magnetometer: MMC3416PJ

Pressure

Proximity + Light: APDS-9922

N Work in progress SSC driver.
Touchscreen Synaptics S3320 Y
Touchkeys Synaptics S1302 Y Synaptics F1A driver not in mainline yet
Fingerprint Reader fpc1020 N Must confirm if SPI and/or GPIOs leading to it are accessible from the normal world. Work in progress fingerprint subsystem. Needs driver.

If SPI and GPIOs are secure, a driver for QSEECOM will be needed to load the vendor-provided trusted app, as well as something to communicate with it.

Buttons TLMM1,2/PM8996 GPIO2 (Volume Up, Volume Down)

PM8994 PON2 (Power)

Y
Tri-state switch TLMM1,2/PM8996 GPIO2 Y
Haptics PMI8996 Haptics2 P Driver not upstream yet, direct play mode support is missing
LEDs PMI8996 MPP2 (touchkeys backlights)

PMI8996 LPG/Flash2 (Status light, Flash)

P Status light and touchkeys backlights work. Flash will probably require a driver.

1: Internal component

2: Driver of component

Known issues

See also