OnePlus 6 (oneplus-enchilada)
![]() 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 |
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
and until you see "Fastboot Mode" text.For the OnePlus 6T, hold
and both and to get in Fastboot Mode.Installing
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").
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
- Kernel sources
- pmaports!1221 Initial merge request.
- pmaports!1271 Updates to add panel mode and WiFi support.
- pmaports!2088 Move the OnePlus 6 to "community" devices category
- pmaports!1967 Switch to common linux-postmarketos-qcom-sdm845 kernel instead of device specific kernel
- pmaports!2206 Update to 5.12.8 and add support for the speaker / headphone jack on the OnePlus 6
- pmaports!2215 Support automatic kernel updates for Android devices (including A/B!)
- Enchilada device package
- Fajita device package
- Kernel package