Skip to content

Kernel source request: Redmi Pad 2 Pro / POCO Pad M1 (codename: flute) #41112

Description

@asykaminhaj

Device: Redmi Pad 2 Pro / POCO Pad M1
Codename: flute
Chipset: Qualcomm SM7635 (Snapdragon 7s Gen 4)
Current firmware: OS3.0.301.0.WPWIDXM (Android 16, security patch 2026-06-01)
Kernel version: 6.1.138-android14-11-g0c3d559bcd85-ab14529422

The problem
No kernel source has been published for flute in this repository. I searched thoroughly and could not find a matching branch, tag, or release anywhere in MiCode/Xiaomi_Kernel_OpenSource.
Since the device ships GKI-based kernel (Linux 6.1.138), I attempted to build a compatible kernel using Google's public kernel/common source (tag android14-6.1.138_r00) as a substitute, hoping the shared GKI base would be enough. It was not.

What I verified, step by step
Toolchain match — confirmed exact clang version match (clang version 17.0.2 ... based on r487747c) between my build environment and the device's /proc/version.

Kernel version match — same base sublevel (6.1.138).
Vermagic match — after correcting LOCALVERSION, module vermagic strings matched the device's stock modules exactly (6.1.138-android14-11-g0c3d559bcd85-ab14529422), byte for byte. This was verified against real vendor modules extracted from /vendor_dlkm/lib/modules/ on-device.

Vendor modules exist and are extensive — confirmed hundreds of .ko files under /vendor_dlkm/lib/modules/, including msm_kgsl.ko, msm_drm.ko, phy-qcom-ufs-qmp-v4.ko, xiaomi_touch.ko, and many Qualcomm proprietary DLKMs.
Ruled out patch/config issues — even a fully vanilla kernel build (no config changes beyond vermagic correction) failed to boot on-device (repeatable freeze/bootloop at logo, confirmed via fastboot boot and fastboot flash testing on the inactive A/B slot).
Cross-referenced against a public SM7635 tree — OnePlus publishes kernel source for the same chipset (OnePlusOSS/android_kernel_common_oneplus_sm7635, OnePlusOSS/android_kernel_modules_and_devicetree_oneplus_sm7635). Diffing shared files (drivers/soc/qcom/*, drivers/ufs/host/ufs-qcom.c) against the public Google GKI source showed no differences — meaning the divergence causing the boot failure is not in code that's publicly available from any source, OEM or otherwise.
Conclusion

The chipset (SM7635) is not a blocker — other OEMs using the same SoC publish working kernel source under GPLv2. The gap is specific to Xiaomi not having released the flute kernel tree, which per GPLv2 §3 is required to be made available since the device ships modified Linux kernel binaries.

Request
Please publish the kernel source (including the device tree and any kernel-side modifications) for flute, consistent with your obligations under GPLv2 §3 and with the precedent set by your own repository for other devices.
Happy to provide any additional diagnostic output (/proc/config.gz, vendor module list, crash logs, dmesg) if it helps confirm the request or narrow down what's missing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions