Releases: ProtonKernel/ProtonForA572Q
Releases · ProtonKernel/ProtonForA572Q
ProtonPlus 1.0
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_timeoutto 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
initto executeksudundernosuidcontexts. - 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
AUTOCGROUPand 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_LABELfor 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_DONTUNMAPhandling. - 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...