Repository navigation
Releases: erg-raphael-5-4/android_kernel_xiaomi_sm8150
Release list
RaphGhost-5.4.302-b29e8f247229-20261013
RaphGhost kernel for raphael (Redmi K20 Pro / Mi 9T Pro), Linux 5.4.302.
All three zips are built from commit b29e8f247229 (derp-17). It is the same kernel DerpFest 17 13/10/2026 ships as its non-root kernel.
| Kernel | Zip | Commit |
|---|---|---|
| KernelSU-Next v3.4.0-legacy (root) | RaphGhost-5.4.302-KSUN-v3.4.0-legacy-b29e8f247229-20261013-0831.zip |
b29e8f247229 |
| No root | RaphGhost-5.4.302-NoRoot-b29e8f247229-20261013-1032.zip |
b29e8f247229 |
| KernelSU-Next v3.4.0-legacy + Droidspaces | RaphGhost-5.4.302-KSUN-v3.4.0-legacy-Droidspaces-b29e8f247229-20261013-1036.zip |
b29e8f247229 |
Flash any one zip from recovery (AnyKernel3). It replaces the kernel, dtb and dtbo and keeps the ROM's boot ramdisk. uname -r shows the type and commit, e.g. 5.4.302-RaphGhost-KSUN-b29e8f247229.
Root (KSUN zips): use the official KernelSU-Next v3.4.1 manager from https://github.com/KernelSU-Next/KernelSU-Next/releases (the kernel side speaks uapi 5, which v3.4.0 doesn't). If Magisk was ever installed, dirty-flash the ROM zip first to get a clean boot image, then flash the KSUN zip.
Changes since the previous zips (0e9e286)
Charging
- USB PD / PPS fast charging works. raphael's SMB1390 charge pump is now driven by the Qualcomm PSY driver, and the legacy charging ABI that the QC3/hvdcp_opti charging service and Xiaomi's charging logger use is restored (
62bdc274b1f3; ABI from Helium-Studio7042c443320band XiaoYeZi236d5a3f8431,c0b7f98feb04,ae4890cba456;4f0c3ca7eb73,cd361098ac2a). Tested on Samsung 25 W and Anker 140 W chargers. - PPS requests are capped at the 9 V the input can take. The charging service used to step a 140 W charger up to 10.4 V, the input collapsed, and charging dropped and reconnected every ~35 s (
03b185aeeb72,7f65a99f7638). - The charge pump stops 50 mV below the battery's float voltage and the main charger finishes the charge, so an aged, high-resistance battery can't overshoot into the over-voltage cutoff (
7615ecf5ef3a).
Battery level
- The fuel gauge can learn a worn battery's real capacity: learning may now start while the phone is already charging, and may lower the capacity by up to 30 % per cycle instead of 10 % (
8a3fef00901c,b29e8f247229). Without it, a worn battery showed e.g. "34 %" and then shut down empty. Learning needs one uninterrupted charge to full that starts at 15 % or lower. Nothing about capacity or health is hardcoded. - No bogus state-of-health at boot: the fuel gauge reports no SOH until userspace sets it (
7a315c2671fc).
Sleep and standby
- Deep sleep: fixed a typo in the CPU cluster idle state (entry latency 2411 µs instead of 241 µs), which kept the cluster out of its deepest state far more often than it should. Ported from HeliumStudio-Dev (
f056087e9615). - The two PCIe controllers (nothing is attached on raphael) are disabled, and the NPU's DDR bandwidth vote is dropped while the CPU sleeps. Ported from HeliumStudio-Dev (
07648b143f09).
Bluetooth
- Headphones and earbuds reconnect on their own again after being turned off and on. The Bluetooth UART now keeps its RFR line ready while it sleeps, so the controller can wake it (
3878d80636da).
Display
- Panel idle state and early wake-up sysfs nodes, ported from the SOVIET kernel (
8140534cdd41by Adrian Salido,f3ab4ec8207bby Midas Chien). The DerpFest 17 device tree uses them for idle power and faster wake-up; on other ROMs they are unused.
Memory
- Fixed a memory-cgroup accounting warning triggered by ART's garbage collector through userfaultfd (
455d9dfc47a3).
Logs
- Less charging-driver log noise (
7fa2ac02b711,0916497e2d62).
KernelSU-Next
- Synced with upstream legacy
8869bd768d66(v3.4.0-legacy): the service stage is no longer triggered repeatedly (Riefe 24,06ab25d80d56), and the manager package name is pinned (ThRE Team,9ac3b5167734). - Not in these zips yet: upstream legacy
d652a89d(10/10: sepolicy avtab/xperm fixes, package-observer deadlock fix) andbda55da7(12/10: rewrite of the SELinux hide feature). They come in the next release after testing.
MD5:
23e4ab2cc71a2523c38308dcdee7980d RaphGhost-5.4.302-KSUN-v3.4.0-legacy-b29e8f247229-20261013-0831.zip
843473ca38753b7f5c61bd4276d8ba7b RaphGhost-5.4.302-NoRoot-b29e8f247229-20261013-1032.zip
10a0d8ac72c39b05dc781506c081dbb3 RaphGhost-5.4.302-KSUN-v3.4.0-legacy-Droidspaces-b29e8f247229-20261013-1036.zip
RaphGhost-5.4.302-gbde19bd69353-20261001
RaphGhost kernel for raphael (Redmi K20 Pro / Mi 9T Pro), Linux 5.4.302.
All three zips are built from commit 0e9e286e2b49 (derp-17). The tag name predates this update.
| Kernel | Zip | Commit |
|---|---|---|
| KernelSU-Next v3.4.0-legacy (root) | RaphGhost-5.4.302-KSUN-v3.4.0-legacy-0e9e286e2b49-20261001-1357.zip |
0e9e286e2b49 |
| No root | RaphGhost-5.4.302-NoRoot-0e9e286e2b49-20261001-1402.zip |
0e9e286e2b49 |
| KernelSU-Next v3.4.0-legacy + Droidspaces | RaphGhost-5.4.302-KSUN-v3.4.0-legacy-Droidspaces-0e9e286e2b49-20261001-1407.zip |
0e9e286e2b49 |
Flash any one zip from recovery (AnyKernel3). It replaces the kernel, dtb and dtbo and keeps the ROM's boot ramdisk. uname -r shows the type and commit, e.g. 5.4.302-RaphGhost-KSUN-0e9e286e2b49.
Root (KSUN zips): use the official KernelSU-Next v3.4.0 manager from https://github.com/KernelSU-Next/KernelSU-Next/releases. If Magisk was ever installed, dirty-flash the ROM zip first to get a clean boot image, then flash the KSUN zip.
Changes since the previous zips (32a274f)
- KernelSU-Next: fresh installs get root again. Fixes "Failed to grant root! Tap to restart manager process", which needed a manual
ksud installbefore. - KernelSU-Next: synced with upstream legacy (execveat flags fix, selinux_hide fixes, includes cleanup).
- selinux_hide: the
/sys/fs/selinux/contexthook is retried after selinuxfs is mounted (it never attached on kprobes builds). - The kernel name and zip names now show the plain commit sha (no
gprefix).
MD5:
5e04e771a26857f71fe92e203760852d RaphGhost-5.4.302-KSUN-v3.4.0-legacy-0e9e286e2b49-20261001-1357.zip
6c464901c560e96809cc3be4486c08af RaphGhost-5.4.302-NoRoot-0e9e286e2b49-20261001-1402.zip
6a1c1f75fd737b53d206725094fdceab RaphGhost-5.4.302-KSUN-v3.4.0-legacy-Droidspaces-0e9e286e2b49-20261001-1407.zip
RaphGhost-5.4.302-g040fc4f98a98-20260929
RaphGhost kernel for raphael (Redmi K20 Pro / Mi 9T Pro), Linux 5.4.302.
RaphGhost-5.4.302-KSUN-v3.4.0-legacy-g32a274f5c984-20260929-2117.zip- rooted, KernelSU-Next v3.4.0-legacyRaphGhost-5.4.302-NoRoot-g32a274f5c984-20260929-2115.zip- no rootRaphGhost-5.4.302-KSUN-v3.4.0-legacy-Droidspaces-g32a274f5c984-20260929-2119.zip- rooted, KernelSU-Next v3.4.0-legacy plus Droidspaces container support
Flash any one zip from recovery (AnyKernel3). It replaces the kernel,
dtb and dtbo and keeps the ROM's boot ramdisk. uname -r shows which
one is installed: -RaphGhost-KSUN-, -RaphGhost-NoRoot- or
-RaphGhost-KSUN-Droidspaces-, followed by the kernel commit.
Root (KSUN zips): use only the official KernelSU-Next v3.4.0 manager from
https://github.com/KernelSU-Next/KernelSU-Next/releases (forks such as SukiSU
or WildKSU and older 1.x managers won't work). If Magisk or another root was
ever installed, dirty-flash the ROM zip first to restore a clean boot image,
then flash the KSUN zip. AnyKernel3 keeps the existing boot ramdisk, so a
Magisk-patched one stays and can cause "Failed to grant root".
Kernel commit: 32a274f5c984 (derp-17). The tag name predates this
update; the zips above are built from 32a274f.
MD5:
4e68b32354b57bf4e0f029d5662ce27c RaphGhost-5.4.302-KSUN-v3.4.0-legacy-g32a274f5c984-20260929-2117.zip
422890935ff3c78c33ad90c0c7275ff8 RaphGhost-5.4.302-NoRoot-g32a274f5c984-20260929-2115.zip
e5f57dda3f56b847580d997619ffa872 RaphGhost-5.4.302-KSUN-v3.4.0-legacy-Droidspaces-g32a274f5c984-20260929-2119.zip
Changes since 040fc4f:
- scsi: ufs-qcom: Don't read the FSM state from a failed UIC command's dump (fixes a storage hang)
- power: qpnp-smb5: Don't log unsupported battery and pc_port properties
- kernelsu: Log per-process hook and per-exec unmarking decisions at debug level
- raphael: Build the ROM kernel without KernelSU-Next
- cgroup: Optionally add prefixed aliases in noprefix hierarchies
- AnyKernel3: new Droidspaces zip; kernel and zip names now include the variant and commit