Qualcomm Snapdragon 450/625/626/632 (MSM8953)

From postmarketOS Wiki
Qualcomm MSM8953
Manufacturer Qualcomm
Name MSM8953
Codenames msmtitanium/apqtitanium
Architecture aarch64
CPU

8x 1.8/2.0/2.2 GHz ARM Cortex-A53 (SDM450/625/626) 4x 1.8 GHz Kryo250 Gold +

4x 1.8 GHz Kryo250 Silver (SDM632)
GPU Adreno 506
Year 2016
Process 14nm
Mainline partial
Community Page https://github.com/msm8953-mainline
Components
CPU
Works
UART
Works
Storage
Works
USB
Works
Display
Works
GPU
Works
Pinctrl
Works
I²C
Works
SPI
Works
Audio
Works
Video
Works
Thermal
Works
WiFi
Works
Bluetooth
Works
Modem
Partial
GPS
Partial
Camera
Partial
NPU
Suspend
Partial
Ethernet


SDM450/SDM625/SDM626/SDM632/APQ8053 are Qualcomm SoCs released from 2016. According to Wikipedia, SDM450/625/626/632 are all pin and software compatible. Qualcomm Snapdragon 425/427/430/435 (MSM8917/MSM8920/MSM8937/MSM8940) are software compatible with them.

Devices

Snapdragon 450

Device Codename Mainline Category
Motorola Moto G6 motorola-ali Y testing
Samsung Galaxy A6+ (2018) samsung-a6plte Y testing
Samsung Galaxy J8 (2018) samsung-j8y18lte N testing
Xiaomi Redmi 5 xiaomi-rosy Y testing
ZTE Blade V9 zte-p450f10 testing

Snapdragon 625

Device Codename Mainline Category
Asus Zenfone 3 asus-zenfone3 Y testing
Huawei Maimang 5 huawei-milan Y testing
Lenovo P2 lenovo-kuntao Y testing
Motorola Moto G5 Plus motorola-potter Y testing
Motorola Moto Z Play motorola-addison testing
Qualcomm Snapdragon 625 qcom-msm8953 Y community
Xiaomi Mi A1 xiaomi-tissot Y community
Xiaomi Mi A2 Lite xiaomi-daisy Y community
Xiaomi Redmi 4 Prime xiaomi-markw Y community
Xiaomi Redmi 5 Plus xiaomi-vince Y community
Xiaomi Redmi Note 4 / 4X xiaomi-mido Y community
Xiaomi Redmi S2 / Redmi Y2 xiaomi-ysl Y community

Snapdragon 626

Device Codename Mainline Category
BQ Aquaris X / Aquaris X Pro bq-bardock / bq-bardockpro Y testing

Snapdragon 632

Device Codename Mainline Category
Fairphone 3 fairphone-fp3 Y testing
Motorola Moto G7 motorola-river testing
Motorola Moto G7 Play / Moto G7 Optimo motorola-channel testing
Motorola Moto G7 Power motorola-ocean Y testing
Xiaomi Redmi 7 xiaomi-onclite Y testing

APQ8053

Device Codename Mainline Category
Lenovo TAB4 10 Plus lenovo-tb-x704f N testing
Lenovo ThinkSmart View lenovo-cd-18781y Y

Camera

Camera is able to perform RAW capture. It can be used with megapixels or libcamera based applications like kamoso or gnome-snapshot.

GPU

GPU preemption (only supported on some 5xx GPUs) is disabled because of deadlock problem in msm drm driver.

Audio

Audio works. MSM8953 uses an updated codec from as MSM8916 (cajon-v2). Each device needs its own alsa ucm conf file, you can find examples from MSM8916 here: https://github.com/msm8916-mainline/alsa-ucm-conf or MSM8953 https://github.com/msm8953-mainline/alsa-ucm-conf

Video Encoder / Decoder (Venus)

Venus works. It exposes 2 v4l2 devices, one for encode and one for decode. They can be used via gstreamer, or mpv. For mpv, you need to add hwdec=auto to your ~/.config/mpv/mpv.conf. Sample files can be obtained from http://samplemedia.linaro.org/ SDM450 based devices are limited by the firmware to 1080p encode/decode, while SDM625/632 based devices are able to do 4Kp30 decode, and 1080p encode. Supported formats are: VP8, VP9, MPEG2, H.264 and H.265.

Alternatively, gstreamer can be used to test v4l2:

$ # test h264
$ gst-launch-1.0 -e filesrc location="/path/to/video.mp4" ! qtdemux name=d d.video_0 ! h264parse ! v4l2h264dec capture-io-mode=dmabuf ! kmssink d.audio_0 ! queue ! aacparse ! faad ! autoaudiosink
$ # test h265
$ gst-launch-1.0 filesrc location=big_buck_bunny.mp4 ! qtdemux ! queue ! h265parse ! v4l2h265dec ! imxvideoconvert_g2d ! queue ! autovideosink

Modem

Note Note: Mobile data not works on every device.

Modem works since 6.7.2. To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.

After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.

Phone calls require q6voiced, with the following in /etc/conf.d/q6voiced

q6voice_card=0
q6voice_device=4

For dual sim devices, these instructions may be needed : https://wiki.postmarketos.org/wiki/User:TravMurav/Dual-Sim_QMI_draft#Now_you_can_try_to_select_an_application_on_your_SIM .

Motorola devices need IPA support for the modem to work. They also need a patched tqftpserv: https://github.com/sirSireesh/tqftpserv . Modem related firmware files need to be copied into /tmp as done by this script. Other device quirks will be listed here as they are discovered.

GPS

GPS can be used through ModemManager a working SIM card will be needed for it. It can be used with pure-maps, gnome-maps and with satellite.
Sometimes it does not report values then you will need qmicli -d qrtr://0 --loc-set-engine-lock=none

See also GPS

Mainlining

MSM8953 is almost as great platform to get started with mainlining as MSM8916! The MSM8916 Mainlining guide is quite relevant to it.