Skip to content

ASB-V15.4

Choose a tag to compare

@krilikd krilikd released this 02 Mar 03:27
· 4636 commits to main since this release
bc01aab

ASB-V15.4 — Changelog


[V15.4] — 2026-03-02 · 🔋 Battery Release

Focus: Targeted battery savings from diagnostic log analysis.
Estimated gain: +17–32 mAh/h depending on scenario.

⚡ GPU

Parameter Old New Effect
kgsl-3d0/idle_timer 80 ms 250 ms GPU enters deeper CX power-collapse between frames
force_rail_on — 0 Allows Adreno 840 power rail to fully collapse
force_clk_on — 0 Allows GPU clock gate when idle
force_bus_on — 0 Allows GPU bus to power-gate

Saves: +3–6 mAh/h (gaming transitions, audio background, menu navigation)

📶 Wi-Fi

New function apply_wifi_pm():

iw dev wlan0 set power_save on       # 802.11 PSM
/sys/module/wlan/parameters/wlan_pm  # QCA WCN7750 module param

Re-applied at 30 s / 90 s / 300 s after boot.
Saves: +5–10 mAh/h (screen-off with Wi-Fi connected)

😴 Doze / DeviceIdle

New function apply_doze() with aggressive constants:

Key constant Default V15.4 Meaning
inactive_to 30 min 30 s Doze starts 60× faster
sensing_to 4 min 0 Skip accelerometer phase
locating_to 30 s 0 Skip GPS location phase
motion_inactive_to 3.5 min 0 No motion wait
idle_to — 60 min Long deep-idle cycles
min_time_to_alarm 72 min 1 min Suppress short wake-alarms

FCM/push (Telegram, WhatsApp) not affected — high-priority channel bypasses Doze.
Saves: +4–7 mAh/h (pocket/screen-off idle)

🖥️ CPU — WALT Input Boost

New function apply_walt_boost() (delayed 5 s after boot):

policy0/walt/input_boost_freq = 0   # little cores
policy4/walt/input_boost_freq = 0   # mid cores  
policy7/walt/input_boost_freq = 0   # prime core
input_boost_ms = 0                  # boost duration

Eliminates per-touch CPU frequency spike on all 3 SM8750 clusters.
Saves: +2–4 mAh/h (active screen use, scrolling)

🌐 Network

tcp_keepalive_time:   7200 s → 1800 s   (dead connections freed faster)
tcp_keepalive_intvl:  75 s   → 30 s
tcp_keepalive_probes: 9      → 3
tcp_max_tw_buckets:   32768  → 16384    (halve TIME_WAIT memory pressure)

Saves: +0.5–1 mAh/h (cellular connections)

🛑 Stop-list +11 services

Added to service stop list:
mdnsd · oplus_sensor_fb · vendor.oplus.sensor.fb · statsd · oplus_crash_report · oplusdebuglogauto · vendor.oplus.logkit · oplus_logctl · qcom_diag_relay · vendor.qti.diag · oplusd · mlipay

Saves: +1.5–3 mAh/h

🧠 Memory

vm.oom_kill_allocating_task = 1   (kill requester instead of scanning all tasks)

✅ Non-regressions

  • All V15.3 patches retained (uclamp multipath, ZRAM 8G, vfs_cache 50)
  • All V15.2 patches retained (Dolby, radio/IMS suppression, GPU min_pwrlevel removed)
  • 144 fps CODM: unaffected (uclamp.min=45 floor still active)
  • Push notifications: unaffected (FCM bypasses Doze)

📊 Statistics

service.sh:    715 → 790 lines  (+75)
New functions: apply_wifi_pm(), apply_doze(), apply_walt_boost()
Stop-list:     26 → 37 services (+11)
Syntax:        PASS (bash -n)