OnePlus One (oneplus-bacon)

From postmarketOS
Jump to: navigation, search
OnePlus One
OnePlus One running Weston
OnePlus One running Weston
Manufacturer OnePlus
Name One
Codename bacon
Released 2014
Original software Android 4.4.2 on Linux 3.4
Chipset Qualcomm MSM8974AC Snapdragon 801
CPU Quad-core 2.5 GHz Krait 400
GPU Adreno 330
Display 1080x1920 IPS
Storage 16/64 GB
Memory 3 GB


  • flacks

What works

  • Kernel compilation
  • Flashing system
  • Booting kernel via fastboot
  • initramfs boot
  • Flashing kernel
  • USB network
  • SSH connectivity
  • Weston
  • Touchscreen

What doesn't work

  • Wi-Fi (blob needed)
  • Hardware-accelerated graphics
  • ...

Display refresh

There is a bug whereby the screen is not automatically refreshed. To work around this, run the following command as root on the device:

# while [ ! ]; do cat /sys/class/graphics/fb0/modes > /sys/class/graphics/fb0/mode; done

Graphics (hardware-accelerated)

The Adreno 330 GPU is supported by Freedreno. The firmware is required, and is available in the adreno-firmware package.

The MSM_KGSL_DRM kernel flag must be set to provide the DRM interface to kgsl.

The latest commit of xf86-video-freedreno will compile, but crashes in libdrm when it tries to initialize kgsl+fbdev. The kernel log states that it won't initialize a drawing context using the "legacy method".

linux-oneplus-bacon uses an old (~3.4) kernel version from LineageOS, which most likely uses an incompatible implementation of kgsl. Getting graphics up will probably require the kernel to be mainlined. I (jrg) think that's what flacks was most recently working on.


Additional info

Entering fastboot mode

From a power off state, hold the volume up and power buttons until the device vibrates. The display should then light up and say "Fastboot Mode".