Skip to content

Releases: ProtonKernel/ProtonForA572Q

ProtonPlus 1.0

16 May 05:51
5cd3e59

Choose a tag to compare

Proton Kernel v1.0 For A52 and A72 Release

Stability , performance, multi tasking, battery optimizations, etc

User-Friendly Changelog


⚡ Performance Improvements

  • Enhanced task scheduling with better load distribution across big.LITTLE cores.
  • Optimized CPU frequency scaling for smoother transitions and improved responsiveness.
  • Faster system ramp-up, especially noticeable on 90Hz displays.
  • Improved LZ4 decompression with ARM64 assembly for faster and more efficient compression.
  • Reduced scheduler slice granularity for more fluid multitasking.
  • Reworked task balancing logic: tasks stay on idle CPUs or are migrated more intelligently.
  • Enabled PELT (Per-Entity Load Tracking) for better scheduling precision.
  • Multiple micro-optimizations to remove redundant spinlocks, acquire barriers, and queue scanning.
  • Improved scheduler wakeups to reduce CPU contention.
  • Improved I/O performance by disabling I/O stats overhead.
  • Fast ramp-up of CPU utilization using EWMA for smoother user interaction.
  • Lowered minimal imbalance threshold in load balancing.

🔋 Power Management & Sleep Enhancements

  • Switched to the new TEO governor for more efficient idle state management.
  • Asynchronous suspend/resume support added for multiple components (UFS, rotator, IPA).
  • Lowered latency requirements and fixed unnecessary wakeups during deep sleep.
  • Improved S2Idle behavior to avoid excessive wakeups and better battery efficiency.
  • Disabled debug tracing and IRQ monitoring during suspend to reduce power drain.
  • Reduced freeze_timeout to 1s to avoid long screen-off delays.
  • Avoided CPU wake-ups caused by DMA latency changes (CDSP tuned to 67μs).
  • Dropped unused debug logic in cpuidle and PM subsystems.
  • Enabled polling idle state with time limit for efficiency during race conditions.
  • Multiple improvements to PM QoS: smarter latency control and IRQ balancing.
  • CPU idle state tracking improved for late-stage idleness to prevent unnecessary IPIs.

🎛️ Scheduler & UClamp Tuning

  • Introduced CASS (Capacity Aware Superset Scheduler) to improve CPU selection based on task needs.
  • Refined UClamp support: system and task-level utilization limits are more accurate and predictable.
  • SchedTune Assist v3 added for advanced tuning of foreground/background processes.
  • Numerous scheduler upstream/backport patches to reduce latency, boost interactivity, and avoid race conditions.
  • Optional SchedBoost tuning based on cluster priority and CPU utilization.
  • Enabled uClamp system-wide, with default boost for RT tasks.
  • UClamp aware frequency selection and boost decisions.
  • Extended sched_setattr() to fully support task-specific clamp values.
  • Better propagation of clamp limits across parent/child tasks and cgroups.
  • Clamps now correctly enforced and dynamically updated on wakeups.
  • Enabled schedutil tuning for more efficient frequency scaling.
  • Reworked loadavg and wakeup logic to prevent data races and improve responsiveness.

📱 Device & Hardware Support

  • Specific tuning for Atoll platform: watchdog disabled on suspend, fixed IRQ issues, and adjusted GPU DDR speed.
  • Adreno 6xx-only driver compilation: removed legacy code for faster builds.
  • Qualcomm devfreq boosting added for better dynamic GPU/CPU scaling.
  • WireGuard support enabled.
  • Fixed regressions in binder and UFS drivers improving stability and compatibility.
  • GPU idle timeout adjusted to 64ms for better balance between power and performance.
  • GPU coresight and snapshot logging disabled to reduce logging overhead.
  • CPU frequency tables now overrideable via Device Tree (DT) for better tuning.
  • Fixed frequency inconsistencies and enabled higher DDR frequency for GPU on Atoll.
  • Disabled Spectre v2 mitigations deemed redundant for this platform.
  • Enabled XFRM_MIGRATE for IPsec address handoffs (useful for some VPNs).
  • Disabled watchdogs and unused memdump regions for faster suspend/resume.

🔐 Debugging & Security Cleanup

  • Removed Samsung and Qualcomm debug logs to reduce kernel size and log spam.
  • Disabled unnecessary kernel debug features (e.g., DEBUG_FS, self-hosted debug, HW tracing).
  • Addressed multiple security issues: UAFs, null dereferences, memory leaks, and race conditions.
  • SELinux tweaks: now allows init to execute ksud under nosuid contexts.
  • Kernel logs cleaned: removed unnecessary pr_debug() and debug macros.
  • DebugFS, HW tracing, RKP, and SM_DEBUGCC disabled for production-grade security.
  • Kernel now warns when IRQ affinity notifiers are overwritten — helps detect conflicts early.
  • KernelSU scope-minimized hooks added, reducing the risk of exposure while rooted.

💾 File System & Storage Optimizations

  • Massive update to EROFS with:
    • Per-CPU buffer decompression.
    • Big physical cluster support (multipage, configurable).
    • Workqueue-based decompression for smoother multitasking.
    • Full move from staging to mainline fs/erofs.
    • Dozens of bug fixes, including corruption detection and recovery paths.
  • Tweaked ZRAM to use LZ4 with 64KB dictionary for performance.
  • Enabled LZ4 v1.9.4 with ARM64 SIMD acceleration.
  • ext4, F2FS, and nilfs2 all updated for stability, better memory usage, and metadata accuracy.
  • Enabled on-disk compression settings and sanity checks.
  • Improved inode tracking and atime updates to match upstream expectations.

🤖 Android-Specific Enhancements

  • Reduced jank by disabling AUTOCGROUP and other problematic features.
  • Input boost logic improved: now respects user-defined CPU frequency limits.
  • Configurations tweaked for 4GB RAM devices: optimized swappiness and memory pressure values.
  • Unity games are now prevented from overriding CPU affinity for better thermal and performance behavior.
  • Added compatibility with KernelSU Next with full feature integration.
  • Input Boost logic optimized:
    • Respects user-defined CPU frequency limits.
    • Avoids spamming boost events too frequently.
  • Custom input boost interval ensures no double boosts.
  • Log buffer allocation simplified to reduce memory usage.
  • Enabled JUMP_LABEL for faster tracepoint execution.
  • Added full support for KernelSU hooks and process management.

🌐 Networking, Drivers & Connectivity

  • Improved Wi-Fi stack reliability: fixed several memory issues and security checks.
  • Kernel updated with newer drivers for HID, audio, USB gadgets, and PlayStation DualSense controller.
  • UFS and SCSI improvements to avoid data corruption, wake lock mismanagement, and improper power sequencing.
  • Updated to WireGuard 1.0.20220627 (Linux-compat module).
  • USB gadget stack modernized: NCM, UVC, and UETHER functions support modern descriptors.
  • Updated USB DualSense support: new rumble modes and calibration fix.
  • DualSense calibration and HID updates from upstream for improved compatibility.
  • Fixed multiple memory leaks and null dereference bugs in USB, net, and WiFi stacks.
  • Enhanced power efficiency and wake-lock handling in ICNSS, IPA, and WLAN drivers.

🛠️ Build System & Compiler Tweaks

  • Switched to Clang LTO + Polly optimizer for enhanced runtime performance.
  • Adjusted build flags for Kryo 470 architecture (-O3, Cortex-A76 tuning).
  • Improved kallsyms memory layout and sorting for smaller binaries.
  • Disabled stack conservation flags for GCC and Clang.
  • Removed unnecessary constant merging to avoid runtime conflicts.
  • Disabled leftover debug features in defconfig.

⚙️ IRQ & SBalance Improvements

  • Introduced SBalance, an IRQ load balancer that:
    • Avoids overloading little cores.
    • Ensures better interrupt distribution during I/O.
    • Fixes misreporting of CPU IRQ stats.
  • IRQ affinity masks refined: now only one CPU is used by default.
  • Support for big.LITTLE cpumask tracking added.

✅ Miscellaneous Fixes & Stability Patches

  • Updated userfaultfd system with improved MREMAP_DONTUNMAP handling.
  • Memory remapping operations sped up by 20x for large regions.
  • Massive patch sync with upstream (USB, ext4, JFS, DRM, Bluetooth, NFS, etc.).
  • Improved crash resilience: avoids kernel panics on corrupted EROFS and other FS types.
  • Patched many race conditions, use-after-free scenarios, and invalid memory accesses.
  • Enabled faster page reclaim and reduced memory stalls.
  • Better handling of OOM scenarios: less spam, more graceful fallback.

Full Changelog

  • fix build warning wen KernelSU Next is present
  • kill samsung debug
  • kill more samsung debug *Aditionally, actually enable CONFIG_SEC_LOG_BUF and CONFIG_SEC_LOG_LAST_KMSG
  • arm64: make atomic helpers __always_inline
  • arm64: lse: Fix LSE atomics with LLVM
  • arm64: lse: fix LSE atomics with LLVM's integrated assembler
  • kbuild: Allow Clang to merge globals when DLKM support is disabled
  • kbuild: Don't try to add '-fcatch-undefined-behavior' flag
  • dts: atoll: enable GPU DDR 2.1Ghz
  • ANDROID: kallsyms: increase KSYM_NAME_LEN
  • Fix build break for Argument list too long
  • binder: fix test regression due to sender_euid change
  • UPSTREAM: binder: use euid from cred instead of using task
  • UPSTREAM: binder: fix null deref of proc->context
  • UPSTREAM: binder: prevent UAF for binderfs devices II
  • UPSTREAM: binder: prevent UAF for binderfs devices
  • FROMGIT: binder: fix test regression due to sender_euid change
  • UPSTREAM: binder: use euid from cred instead of using task
  • arm64: dts: atoll: Optimised energy model
  • arm64/configs: add Sched Tune, Sched Assist and Wireguard
  • cpufreq: schedutil: Give explicit hints to compiler
  • Rip out samsu...
Read more