Getting deep sleep states (S2Idle) to work requires precise coordination between the kernel and the hardware's power controller.
The foundation of any driver on ARM64 is the . For the MSM8953, the hardware is described in arch/arm64/boot/dts/qcom/msm8953.dtsi .
module_init(dummy_init); module_exit(dummy_exit); MODULE_LICENSE("GPL");
The resulting Image.gz and dtb must be packed into a boot.img . 5. Resources and Community msm8953 for arm64 driver
| Use Case | Recommendation | |----------|----------------| | | Stay on CAF 4.9 (Android 9/10 vendor kernel) | | Linux-on-phone hobby | Try mainline, but keep a serial console | | Embedded/IoT board (e.g., DragonBoard 410c-like) | Mainline is okay if you don't need audio or deep sleep | | Custom Android GKI kernel | Merge CAF 4.9 into GKI 5.10 – huge effort |
Always use a cross-compiler like aarch64-linux-gnu-gcc when building drivers for the MSM8953.
Last updated: 2025 – still relevant as long as MSM8953 devices refuse to die. Getting deep sleep states (S2Idle) to work requires
| Driver | Test command | |------------|---------------------------------------------------| | GPU | glmark2-es2 or vkcube | | Audio | tinyplay /sdcard/test.wav -D 0 -d 1 | | Camera | libcamera-hello --camera 0 (for Linux) | | Sensors | adb shell getevent -l (watch /dev/input/eventX)| | Wi-Fi | iw list and wpa_cli status |
static void __exit dummy_exit(void)
Utilizes the msm DRM/KMS driver in upstream Linux, requiring complex memory allocation (ION or DMA-BUF) and power management configurations. Last updated: 2025 – still relevant as long
Look for branches like LA.UM.x.x which target the MSM8953/SDM450 platform. 3. PostmarketOS & Mainlining Initiatives
It typically uses LPDDR3 RAM with frequencies up to 933 MHz. GPU: The integrated Adreno 506 GPU
Getting an MSM8953 device to act as a functional ARM64 computer requires several crucial drivers to communicate correctly with the kernel. Here is the status of the primary subsystems: Display Subsystem (MDP5/DPU)
| Component | 32-bit blob name | Impact on ARM64 ROM | |--------------------|------------------------------------|----------------------------| | Camera HAL | camera.msm8953.so | No 64-bit camera → black preview or crash | | Audio HAL | audio.primary.msm8953.so | Crackling sound or no audio | | DRM/Widevine | libwvdrmengine.so | No HD Netflix on 64-bit | | Fingerprint HAL | fingerprint.fpc.so / goodix.so | FP sensor dead | | Lights HAL | lights.msm8953.so | Backlight/brightness issues|