Jump to content

Generic MSM8956 (qcom-msm8956)

From postmarketOS Wiki
Qualcomm Snapdragon 650/
652/
653
Manufacturer Qualcomm
Name Snapdragon 650/
652/
653
Codename qcom-msm8956
Released 2015
Type generic
Hardware
Chipset Qualcomm Snapdragon 650/652/653 (MSM8956/MSM8976)
GPU Adreno 510
Display 720x1280
Storage 8-32 GB
Memory 2-4 GB
Architecture aarch64
Software
Original software Android
postmarketOS
Category testing
Pre-built images
Whether pre-built images are available here.
no
Mainline
Instead of a Linux kernel fork, it is possible to run (Close to) Mainline.
yes
pmOS kernel
The kernel version that runs on the device's port.
Mainline
Features
USB Networking
After connecting the device with USB to your PC, you can connect to it via telnet (initramfs) or SSH (booted system).
Works
Internal storage
eMMC, SD cards, UFS, ...
Works
SD card
Also includes other external storage cards
Works
Battery
Charging and battery level reporting works
Works
Screen
Display works. Ideally with sleep mode and brightness control.
Works
Touchscreen
Works
Multimedia
3D Acceleration
Works
Audio
Audio playback, microphone, headset and buttons.
Broken
Camera
Broken
Camera Flash
Broken
Connectivity
WiFi
Works
Bluetooth
Works
GPS
Broken
NFC
Near Field Communication
Broken
Modem
Calls
Broken
SMS
Broken
Mobile data
Broken
Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.
Works
USB OTG
USB On-The-Go or USB-C Role switching
Works
Sensors
Accelerometer
Auto screen rotation works in desktops e.g. Phosh or Plasma Mobile
Works
Haptics
Untested

This is a generic port for Qualcomm Snapdragon 650/652/653 (MSM8956/MSM8976) based devices.

Supported Devices

All msm8956 devices are supported which have lk2nd port and supported by linux-postmarketos-qcom-msm8956 kernel.


Device Codename Category
Xiaomi Redmi Note 3 Pro xiaomi-kenzo testing

Possible Supported Devices

These devices can be find in the kernel but was not tested yet:

Installation

Note Warning: Flashing lk2nd is required, as it is a hard dependency. Without it the mainline kernel will not select the display panel (resulting in black screen on boot).
$ pmbootstrap init # choose Vendor: qcom Device codename: msm8956
$ pmbootstrap install
$ pmbootstrap flasher flash_lk2nd
$ pmbootstrap flasher flash_rootfs

Limitations

CPU

CPU only works with 4 cores because A72 cores make the booting unstable.

Add a new device

  1. Make lk2nd support your device. msm8916-mainline/lk2nd Platform: lk2nd-msm8952
  2. Make a mainline devicetree for it and open a PR for msm8956-mainline/linux on Github.
  3. (Optional) Open a PR for generate panel drivers for your device. msm8956-mainline/linux-panel-drivers
  4. Update the modules-initfs file with the necessary modules (panels, touch, ...)

See also