Qualcomm Snapdragon 450/625/626/632 (MSM8953)
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)
SDM450/SDM625/SDM626/SDM632/APQ8053 are Qualcomm SoCs released from 2016. According to Wikipedia, SDM450/625/626/632 are all pin and software compatible.
|Motorola Moto G6||motorola-ali||P||testing|
|Samsung Galaxy A6+ (2018)||samsung-a6plte||Y||testing|
|Samsung Galaxy J8 (2018)||samsung-j8y18lte||N||testing|
|ZTE Blade V9||zte-p450f10||testing|
|Motorola Moto G5 Plus||motorola-potter||Y||testing|
|Motorola Moto Z Play||motorola-addison||testing|
|Xiaomi Mi A1||xiaomi-tissot||Y||testing|
|Xiaomi Mi A2 Lite||xiaomi-daisy||Y||testing|
|Xiaomi Redmi 4 Prime||xiaomi-markw||Y||testing|
|Xiaomi Redmi 5 Plus||xiaomi-vince||Y||testing|
|Xiaomi Redmi Note 4||xiaomi-mido||Y||testing|
|Fairphone 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|
Camera is able to perform RAW capture only.
GPU preemption (only supported on some 5xx GPUs) is disabled because of deadlock problem in msm drm driver.
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 .
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
The modem boots, but unlike older qcom modems which use SMD to communicate, it uses QRTR. QRTR is not yet supported by some userspace tools, which limits modem usability. Modem Manager recently added support with this MR, however it does not work on MSM8953 just yet. A patched version of ofono with rudimentary QRTR support is available here: https://github.com/msm8953-mainline/ofono . With this fork it is possible to make calls and send/receive SMSs too.
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 . Phone calls require
q6voiced, with the following in
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: https://gitlab.com/postmarketOS/pmaports/-/blob/master/device/testing/firmware-motorola-potter/moto-modem-rfs-setup.openrc Other device quirks will be listed here as they are discovered.
MSM8953 is almost as great platform to get started with mainlining as MSM8916! The MSM8916 Mainlining guide is quite relevant to it.