Qualcomm Snapdragon 845 (SDM845)
![]() | |
Manufacturer | Qualcomm |
---|---|
Name | SDM845 |
Architecture | aarch64 |
CPU | 4x 2.8 GHz Kryo 385 Gold, 4x 1.8 GHz Kryo 385 Silver |
GPU | Adreno 630 |
Year | 2018 |
Process | 10nm |
Mainline | yes |
Community Page | https://gitlab.com/sdm845-mainline |
Components | |
CPU |
Works |
UART |
Works |
Storage |
Works |
USB |
Works |
Display |
Works |
GPU |
Works |
Pinctrl |
Works |
I²C |
Works |
SPI | |
Audio |
Works |
Video |
Works |
Thermal |
Works |
WiFi |
Works |
Bluetooth |
Works |
Modem |
Partial |
GPS | |
Camera |
Works |
Suspend |
Works |
SDM845 (or Snapdragon 845) is a Qualcomm SoC released in 2018, with mainline support originally added for the Dragonboard 845c. It is currently one of the fastest mobile SoCs booting Mainline with full support for hardware accelerated graphics, CPU frequency scaling and wifi/bluetooth, with more features on the way.
Contents
Devices
SDM845 (Snapdragon 845)
Device | Codename | Mainline |
---|---|---|
Google Pixel 3 | google-blueline | P |
Google Pixel 3 XL | google-crosshatch | |
LG G7 ThinQ | lg-judyln | Y |
LG V35 ThinQ | lg-judyp | Y |
Meizu 16th | meizu-m1882 | Y |
OnePlus 6 | oneplus-enchilada | Y |
OnePlus 6T | oneplus-fajita | Y |
Samsung Galaxy S9 (SM-G9600/DS) | samsung-starqltechn | |
SHIFT SHIFT6mq | shift-axolotl | Y |
Xiaomi Mi 8/Mi 8 Pro | xiaomi-dipper, xiaomi-equuleus | Y |
Xiaomi Mi Mix 2S | xiaomi-polaris | Y |
Xiaomi Pocophone F1 / POCO F1 | xiaomi-beryllium | Y |
UFS internal storage
![]() |
WARNING: IF YOUR DEVICE IS A SONY XPERIA DO NOT NEVER EVER EVER TRY TO ENABLE UFS ON NON-VENDOR/NON-SODP KERNELS! IT WILL ERASE THE CHIP CLEAN (INCLUDING THE BOOTLOADER!) CONSIDER YOURSELF WARNED |
Join Us!
If you own an SDM845 device and want to get postmarketOS & mainline booting, head over to the #mainline:postmarketos.org postmarketOS mainline channel.
We also discuss packaging, other distros and various other non-porting stuff on matrix: #sdm845:postmarketos.org and IRC: #sdm845-mainline.
Feel free to ping @caleb:postmarketos.org.
Adding yours
If you have an SDM845 based device that isn't in this list you should definitely do something about that, checkout the SDM845 Mainlining Guide for instructions on porting new devices. It is fairly straightforward to get core functionality working on most devices.
SDM845 Mainlining
Audio
The kernel side audio stuff is mostly functional on SDM845, the largest lacking feature is headphone jack plug detection.
Modem
The modem is booted by the Q6V5 MSS Peripheral Image Loader, it is required to boot the WiFi adapter. It is exposed via the QRTR_NET layer, a custom shared memory transport layer developed by Qualcomm. Over this the standard QMI interface is exposed. ModemManager has great support for QRTR and thus it is possible to send/receive SMS, use mobile data and make calls.
References
- pmaports!1356 Relevant discussion on renaming the msm-modem package as rpmsgexport is not needed on SDM845.
WiFi
Wifi is functional! Firmware for the modem and ath10k module must be loaded in order to have functional wifi.
3 packages are required for functional wifi:
rmtfs, pd-mapper and tqftpserv can be installed with
apk add rmtfs pd-mapper tqftpserv
This readme can then be followed to fixup the firmware.
Some devices need this quirk enabled for ath10k probe to succeed.
More details may also be found on the Snapdragon 835 SoC page.
Display
The Adreno 630 is relatively easy to work with, after adding a driver for your panel, obtain the firmware from your device and either compile into the kernel (in addition to enabling CONFIG_DRM_FBDEV_EMULATION for early dmesg)) or add to the right subdirectory under /lib/firmware.
I2C
I2C and the Geni hardware is functional and supported, however it is missing a driver for special GPI DMA mode used by a few devices (e.g. touchscreen on Enchilada). As of 5.11-rc1 geni is capable of DMA, however not through the GPI hardware. The issues previously discussed here no longer apply.
- WIP GPI DMA driver in mainline: https://patchwork.kernel.org/patch/11732405/
Bluetooth
Bluetooth works!
Haptics
Haptics is supported! See Haptics for more details.
Bootloaders
In progress u-boot port exists
See also
- OnePlus_6_(oneplus-enchilada)
- SDM845 Linux mainline kernel fork a common near-mainline kernel tree for SDM845 device development, this is the kernel shipped in postmarketOS and Mobian.
- https://gitlab.com/postmarketOS/pmaports/-/tree/master/device/community/linux-postmarketos-qcom-sdm845 SDM845 kernel package]
- Caleb's 2022 FOSDEM talk on mainlining the Snapdragon 845
Who's working on it
- User:kalube (@caleb:postmarketos.org on Matrix)
- User:venji10 (@venji10 on Matrix)
- User:Joel (@jo:jsfamily.in on Matrix)
- User:Dsankouski (@dsankouski on Matrix) - u-boot porting for Samsung_Galaxy_S9_(samsung-starqltechn)
![]() |
TODO: add more devs :D |