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

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 ===
=== Snapdragon 625 ===
=== Snapdragon 626 ===
=== Snapdragon 632 ===
=== APQ8053 ===
== 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 ==
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.