Jump to content

OnePlus 6 (oneplus-enchilada)

From postmarketOS Wiki
Revision as of 22:33, 5 August 2021 by Aissa (talk | contribs) (Remove out-of-date Bluetooth section)
OnePlus 6
Running phosh!
Running phosh!
Manufacturer OnePlus
Name 6
Codename oneplus-enchilada
Released 2018
Hardware
Chipset Qualcomm SDM845 Snapdragon 845
CPU Octa-core (4x 2.8 GHz Kryo 385 Gold & 4x 1.7 GHz Kryo 385 Silver)
GPU Adreno 630
Display 1080 x 2280 AMOLED
Storage 64/128/256 GB
Memory 6/8 GB
Architecture aarch64
Software
Original software Android 8.0 (Up to Android 11) on Linux 4.9
postmarketOS
Category community
Pre-built images yes
postmarketOS kernel 5.12.15
Unixbench Whet/Dhry score 6029.9
Features
Flashing
Works
USB Networking
Works
Internal storage
No data
SD card
No data
Battery
Partial
Screen
Works
Touchscreen
Works
Multimedia
3D Acceleration
Works
Audio
Partial
Camera
Broken
Camera Flash
No data
Connectivity
WiFi
Works
Bluetooth
Works
GPS
Broken
NFC
No data
Modem
Calls
Broken
SMS
Broken
Mobile data
Broken
Miscellaneous
FDE
Works
USB OTG
Partial
HDMI/DP
No data
Sensors
Accelerometer
Broken
Magnetometer
No data
Ambient Light
No data
Proximity
No data
Hall Effect
No data
Haptics
Works
Barometer
No data

This page documents the status of mainline Linux on the OnePlus 6!

The OnePlus 6 is an incredibly powerful and efficient mobile device, well regarded and (bar the notch) an excellent portable work horse, getting mainline Linux working means not only freedom from proprietary software, and security updates at OnePlus' discretion, but also the ability to boot any mobile or desktop distro as long as the required software is packaged.

The phone is currently capable of booting modern Linux with only a few patches, check the table on the right (or above on mobile) for the hardware support checklist.

How to enter flash mode

Unplug from USB, hold Power and Volume Up until you see "Fastboot Mode" text.

For the OnePlus 6T, hold Power and both Volume Up and Volume Down to get in Fastboot Mode.

Installing

Note For dual booting with Android, see "Dual booting" below.

Prebuilt images

Choose an image for your device from the download page.

Download the files ending in .img, you may also want to download the hashes for verification. On Windows you can use a tool like 7zip to decompress the files, on Linux use unxz. Then use fastboot to flash with the following:

fastboot erase dtbo
fastboot flash boot <date>-<time>-postmarketOS-edge-phosh-6-oneplus-[enchilada|fajita]-boot.img
fastboot flash userdata <date>-<time>-postmarketOS-edge-phosh-6-oneplus-[enchilada|fajita].img

For prebuilt images, the default username is user and the default password is 147147. It isn't possible to set up full disk encryption with prebuilt images yet.

Manual build

The vendor is OnePlus, the codename is "enchilada" for the OnePlus 6 and "fajita" for the OnePlus 6T.

Follow the general installation guide, return here when told to (at the "installation and flashing section").

Note phosh and plasma mobile only support numeric passwords currently, phosh is the most tested user interface

Now run the following, pick a password when prompted.

pmbootstrap install

Reboot back into flash mode (explained above) after each of the following commands (if you encounter weird behaviour like the command getting stuck before the flashing starts).

By default the rootfs will be flashed to system, this doesn't leave much free space for your applications / data, if you don't mind factory resetting the device you can instead flash to userdata by specifying the partition like below.

fastboot erase dtbo
pmbootstrap flasher flash_rootfs --partition userdata
pmbootstrap flasher flash_kernel

Reboot and you're good to go!

If you have flashing or booting issues, try first flashing the latest OxygenOS to the slot you want to install postmarketOS to (ie, flash in TWRP from your other slot). If you still have no luck, try flashing OOS 9 as the bootloader can be more forgiving.

Dual booting

It is possible to dual boot with Android when flashing postmarketOS to the system partition, although this severely limits the space available.

In fastboot mode run fastboot getvar current-slot to get the currently active slot (where Android is installed). For this example we'll use a as the slot with Android, if your current slot is b then simply switch "a" with "b" and vice versa. To install postmarketOS to the inactive slot, run

fastboot set_active b

before following the flashing steps above, as well as replacing userdata in the flashing commands with system so as to preserve your Android userdata partition.

You can now switch back to Android by entering fastboot mode and running

fastboot set_active a

Fastboot bugs

If you encounter "weird" errors from fastboot, such as "device does not support slots":

Once the device is in fastboot mode unplug it, then run the flasher commands above until you see the "<waiting for device message>", now choose "reboot bootloader" on the device and press the power button to select, reboot the device while it reboots.

Building

Feel like helping? Want to learn kernel development?

Check out the mainlining guide

For detailed SDM845 specific instructions on initial device porting and building. Feel free to contact @caleb (or anyone) in the #postmarketos-mainline matrix channel if you're stuck.

Info

Partition map

oneplus-enchilada:~$ ls -lah /dev/disk/by-partlabel/

Bugs

Phosh scaling reset

There is an issue with the device-oneplus-enchilada-phosh subpackage being removed causing the phosh scaling to reset on upgrade / reboot. If this happens you can just run

sudo apk add device-oneplus-enchilada-phosh
sudo service tinydm restart

This will reinstall the package and restart phosh, scaling should be back to normal now.

This issue is being tracked here

Status

Audio

The speaker and headphone jack now both work in postmarketOS! Unfortunately we currently can't detect when something is attached to the headphone jack.

The earpiece speaker has been left disabled as it interfers with the headphone jack, we should be able to resolve this in the future (when call audio is possible).

Community Info

postmarketOS users that own the device

  • Aa13q
  • Aleksander (Notes: WWAN stack tinkering)
  • Antonok
  • AppleCross (Notes: PostmarketOS Gnome)
  • BenTheTechGuy (Notes: On loan)
  • Blacklight
  • BotchedRPR (Notes: dead (crashdump mode))
  • Breakfastisready (Notes: 128GB)
  • CalcProgrammer1
  • Caleb (Notes: 256GB postmarketOS daily driver)
  • Caleb (Notes: 3rd party touch screen to be fixed)
  • Caleb (Notes: lab rat)
  • Chainbits (Notes: daily driver, available for testing)
  • Chayleaf (Notes: 8/128; runs NixOS)
  • Clygro (Notes: 8GB/128GB, current main pmOS)
  • Craftyguy
  • DanSman (Notes: pmOS (v24.12 + FDE) UI: plasma-mobile)
  • Deathmist (Notes: 8/128 GB model)
  • DevelLevel
  • DrGit (Notes: 256GB)
  • DylanVanAssche (Notes: LineageOS)
  • E-v (Notes: [available for testing] 128 GB, dual boot with DivestOS, userdata partition split in two)
  • Earboxer (Notes: formerly sxmo-sway on pmOS edge. current daily driver(2023). Still using pulseaudio, custom alsa UCM to fix thing. using Hyprland)
  • Elagost (Notes: family device running Android, can't wipe)
  • Emacsevangelist (Notes: Runs pmOS with a custom EXWM-based UI)
  • EnderNightLord
  • EspiDev (Notes: 8/128 GB Plasma Mobile)
  • Fossdd (Notes: edge, systemd, gnome mobile: experimental device for testing purposes)
  • Frankwalter (Notes: [6GB/128GB] I bought it to experiment with Linux mobile, so I can help mainlining it and learn about drivers development in the process! (fajita))
  • FuchtelJockel (Notes: daily driver (DivestOS))
  • Gbhdrew (Notes: About to start testing for daily use)
  • Giannidunk (Notes: 128 GB)
  • Hacker420 (Notes: Daily driver, dualbooted with Android and pmOS on the other slot. (8/128))
  • Hastalavista (Notes: LineageOS)
  • Haui2 (Notes: Running pmOS stable and phosh)
  • Iramosu (Notes: 8/128GB GNOME)
  • Jrg
  • Juliaff7 (Notes: Testing pmOS)
  • JuniorJPDJ
  • Kbingham
  • Ksqeib (Notes: Using as Minecraft Server)
  • Langfingaz (Notes: Running PostmarketOS edge)
  • Linmob (Notes: Kupfer with Phosh)
  • Lolgzs (Notes: 128GB, PMOS daily driver)
  • Manut (Notes: edge, phosh)
  • Mattdaha (Notes: 1x pmos, 1x lineageos daily driver)
  • Memoryfile (Notes: spare phone running GNOME mobile)
  • Naproxen (Notes: Daily Driver)
  • NekoCWD (Notes: 6/64GB postmarketOS daily driver)
  • No112 (Notes: currently non-functional with a dangerous looking battery)
  • Okias (Notes: 8G/128G)
  • Operachi (Notes: Android + PostmarketOS (Main PostmarketOS Phone))
  • PanzerSajt
  • Plata (Notes: Plasma Mobile)
  • Proycon (Notes: daily driver with sxmo)
  • QC8086
  • R00t (Notes: running ubuntu touch, screen blacks out randomly)
  • Rabbit (Notes: Daily driver, GNOME mobile, 128GB)
  • Retourmy (Notes: Powerfull indeed, but no VoLTE. Reinstalled "from" OOS 9.0.8 to have GPS working with all cariiers)
  • Robert.mader (Notes: Development / Testing)
  • Russanandres (Notes: PMOS)
  • Sado1 (Notes: x4, one with screen replacement)
  • SevralT (Notes: My second phone for Linux ;p)
  • Some Chinese Guy (Notes: daily driver)
  • StephanieBread (Notes: pmOS edge with Gnome-Mobile, daily driver)
  • Sulu
  • Susurrus (Notes: Broken front camera)
  • Syboxez (Notes: (128G/8G) Daily driver on one slot, kupfer on the other)
  • Techwizz (Notes: Running postmarketOS)
  • ThatGeekZen (Notes: PMOS Daily Driver)
  • Thenightterrorx (Notes: Now running lineageOS,pmOS used as daily driver for a while, but call audio kept breaking)
  • TQMatvey (Notes: Third-party Touchscreen, dualboot linux and CrDroid)
  • Usia (Notes: running e/os/)
  • Usia (Notes: running PostmarketOS)
  • WhyNotHugo (Notes: Running postmarketOS. Mostly for experimentation.)
  • Wjtje (Notes: Second phone for running PostmarketOS edge)
  • Xanadul (Notes: 128 GB)

Maintainers

See also