Okitavera Kernel For Xiaomi Mi 9 SE
Version 8.4 Download
ChangelogThis is the final version for Android Pie (AOSP and MIUI)
- Merge Linux stable update v4.9.197
- Fix USB tethering data stall issues on RNDIS (Windows)
- Re-enable HBTP for better PowerHAL compatibility across Pie ROMs
- Remove boeffla_wl_blocker completely without ruining deep-sleep stats
- Disable unused CPRH Regulator
- Disable ARM arch timer virtual counter access for userspace
- Drop cgroup's memory controller for smaller overheads
Version 8.3-r3
Changelog
- Merge Linux stable update v4.9.196
- Add accounting stats for the android sys process
- Add bias schedtune boosted tasks sched feature
- Add hold functionality to schedtune CPU boost
- Add toggle for disabling newly added USB devices
- Improve code style of qpnp-haptics's dt parser
- Improve code style of Dynamic SchedTune Boost
- Reset back to cubic for default TCP congestion
- Drop blu_schedutil CPU governor
- Drop Input-Assisted SchedTune Boost (we'll rely on PowerHAL instead)
- Fix unbalanced mutex on MSM IPA
- Fix unbalanced mutex on compress_offload stream state
- Block IPA Resource Manager it from creating wakelocks
- Remove duplicate zstd test vector
- kernel/fork: nuke duplicate mem and ids allocation
- vhost: change vring ioctl args to be unsigned int
- qcacld-3.0: check peer availability before use
- Properly restore cached ratelimits on schedutil init
- Disable Qualcomm minidump support
- Remove experimental KVM support (not working yet)
- Kill showmem notifier framework driver (again)
- Silent debugfs warning on kgsl
- Add GPU driver memory consumption in vmstat
- Add ION heap-pool allocation stat into vmstat
- Cleanup devfreq-boost remnant
- Remove spammy process migration and IRQ hotplug messages warning
Version 8.2
Changelog
- Disable auditing completely
- Enable memory resource controller for cgroups
- Nuke compat vDSO32 since it doesn't compatible with 4.9-q anymore
- Let fod_status attributes managed by the ROM (just in case)
- drop unused changes on lmk and irq affinity
- Reduce down ratelimit to 5000
Version 8.1
Changelog
- Merge updates from CAF tag 'LA.UM.7.8.r1-07100-SDM710.0'
- Add dynamic PLL sysclk for grus's CS35L41
- Enable KVM with EL2 Level
- Re-init fod_status for MIUI compatibility
- Cleanup cpu_input_boost's remnants
- Cleanup unnecessary power logging
Version 8.0
Changelog
- Updated to linux-stable v4.9.194
- Merged Google kernel/common android-4.9-q
- fw-api: Merge branch wlan-api.lnx.1.0.r9-rel (LA.UM.8.8.r1-05100-SDM710.0)
- qca-wifi-host-cmn: Merge branch 'wlan-cmn.driver.lnx.2.0.3.r7-rel' (LA.UM.8.8.r1-05100-SDM710.0)
- qcacld-3.0: Merge branch 'wlan-cld3.driver.lnx.2.0.3.r7-rel' (LA.UM.8.8.r1-05100-SDM710.0)
- Fix qcacld's lost_link_info_cb compilation when control path stats is disabled
- Drop Xiaomi last-touch event recorder
- Kill CAF showmem notifier framework driver
- Enable Pressure Stalk Information
- Restore auditing support for proper vts testing
- Nuke unnecessary errata workarounds
- Reset energy model back to CAF for lesser consumption at high freq
Version 7.7
Changelog
- Updated to linux-stable v4.9.193
- Enable minidump support
- Allow CPU to drop to the lowest freq
- Re-align cluster cost data to match the cpu cost data
- Reset in-display fingerprint status when loading firmware config
- Assemble asm codes with gcc 9 (ARM/32)
Version 7.6
Changelog
- Updated to linux-stable v4.9.192
- Initial release of Input-Assisted SchedTune Boost
- Boost SchedTune on App Transition
- Remove deprecated Kerneltoast's CPU Input and Devfreq Boost
- Make iowait_boost optional in schedutil
- Fix idempotency issues on sched_boost value
- Fix frequency request issues when last raw_freq is invalid
- Allow tuning on group_idle per io cgroup for CFQ
- Expose cpu time information to userspace for further energy checking
- Reduce cpu time bottleneck by exclude invalid frequencies
- Support recording cpu frequency transitions on fast switch path
Version 7.5
Changelog
- Initial support for 32-bit vDSO
- Remove hardcoded vm.dirty_expire_centisecs
- Check touch interval before input-boosting
- Drop redundant stune boosting calls on cpu-input-boosts
- Tune disk-caching for better performance
- Align idle-timeout for idlestate to match screen-timeout
- Remove hardcoded top-app stune boost
- Increase the cgroup limit to 6
- Optimize cpu boosting mechanism on cgroups
- Nuke devfreq boost on zygote-forks scene
- Increase the boost time for zygote-forking
Version 7.4
Changelog
- Updated to linux-stable v4.9.191
- Add idle state sysfs node (for custom ROM that need it on their libperfmgr)
- Drop unused duplicate boosting on wake up scenarios
Version 7.3
Changelog
- Updated to linux-stable v4.9.190
- Merge latest blu_schedutil updates from engstk (blu_spark kernel)
- Reset CFQ to default io scheduler
- Re-apply aligned cost-data from the legacy kernel
Version 7.2
Changelog
- Merge update from CAF (TAG: LA.UM.7.8.r1-06900-SDM710.0)
- re-Introduce Exposure Adjustment (DC Dimming on crDroid)
Version 7.1
Changelog
- qcacld: Merge branch 'wlan-cld3.driver.lnx.2.0.3.r6-rel'
- qcacmn: Merge branch 'wlan-cmn.driver.lnx.2.0.3.r6-rel'
- fw-api: Merge branch 'wlan-api.lnx.1.0.r8-rel'
- Follows google recommended kernel timing (better ui/ux performance)
- Fix goodix_ts driver timing conversions
- Keep boosting time a little-bit longer on wakeup scenarios
- Properly set up/down ratelimit on schedutil
- Remove unnecessary registers monitoring on charging driver
- Reduce non-critical logs on goodix_ts and smb-lib
- Completely disable unused edl mode
- Disable more debugging
- Disable auditing infrastructure support
- Disable delay for backlight update
Version 7.0-r2
Changelog
- Rebased to CAF kernel.lnx.4.9.r14 with Linux Stable 4.9.189 merged in
- Reworked Xiaomi patchset with cleaned up unused MIUI-things and non-grus patches.
- Migrate camera driver to CAF (thanks to @krasCGQ)
R2 Changelog
- Add High-Brightness-Mode status for LineageOS's LiveDisplay
(Fix "phone is starting"-loop issues on XenonHD)
Version 6.1
Changelog
- Merge Upstream Linux 4.9.189
- Merge CAF tag LA.UM.7.8.r1-06700-SDM710.0 (audio and wlan modules)
- Revert several AOSP Q beta cgroups changes
- Reduce unused debugging on goodix_ts even more
- Security enhancement: disable coresight and don't export debug symbols
- Re-enable support for any type of ramdisk (fix bootlove issues on non-miui system)
Version 6.0-r2
Changelog
- Merge Latest CAF Tag LA.UM.7.8.r1-06600-SDM710.0
- Greatly reduce zRAM limit to 1GB to prevent nonsense xiaomi tweaks
- Bring several cgroups patches from aosp's kernel/common
- Fix SoC not keeping full after charging overnight
- Disable I/O stats collections on queue's flag to get better latency
- Optimize ext4's fsync for non-rotational drives
[builder-related changes]- Fix clang's warning when building camera modules
- Silent several warning from dt compiler
R2 Changelog
- Enable several QTI's needed components for Non-MIUI system
Version 5.6
Changelog
- Merge Upstream Linux v4.9.188
- Bring several cpufreq and scheduler improvement from aosp's kernel/common
- Bring zstd compression from aosp's kernel/common (lz4 are still used by default for zRAM, so experiment yourself)
- Set maximum zRAM creation limits to 2GB (Xiaomi use 2.6GB by default, so that's why I limit that to 1.5GB before)
- Also bring the lzo-rle compression from mainline (yes, I'm still with lz4)
- Fix SchedTune-boosted tasks being migrated to little-cluster (thanks to @RenderBroken)
- Let SchedTune's top-app boost value to be adjusted by user (たぶんwww)
- Drop unused selftest from goodix_ts driver (even the QC Test are still working, so...)
- Reduce cpu idle overheads caused by event logging (thanks to @kdrag0n)
- Reduce unnecessary logging and overheads on wlan module (thanks to @arter97)
Version 5.5-r2
Changelog
- Merge CAF tags to LA.UM.7.8.r1-06500-SDM710.0 (audio-kernel and Wi-Fi modules are updated too)
- Uses a new installer called bootwitch. Open-source too (with GPLv3)
- Add up/down freq transition rate-limits for schedutil.
- Fix energy compute when a cluster is only a cpu core in multi-cluster system.
- Fix massive cpufreq_times memory leaks
- Update LZ4 from upstream kernel/common/ (now our zRAM is even faster than before 🚀 🚀)
R2 Changelog
- Fix invalid WiFi signal after merging latest CAF Tags for WiFi driver
Version 5.4
Changelog
- Add K-lapse v5.0
- Reduce unused debugging on the audio-kernel even more
- Remove Adrenoboost mechanism
Version 5.3
Changelog
- Fix double tap to wake on non-MIUI ROM
- Add missing US Proximity Driver from kowalski-kernel
- Reduce some unused logging on audio-dsp
[builder related changes]- Remove my build script from the kernel tree
Version 5.2
Changelog
- Merge Upstream Linux v4.9.186
- Fix several performance regression on camera caused by some caf patches
- NEON accelerated XOR implementation (performance improvement)
- Force disable trace_printk() usage (reduce unused debug logging)
- Disable Adreno Driver Logging
- Disable DRM drivers keep track of fence names by default (reduce CPU bottleneck)
- Remove Display P3 params being sets when initializing dsi_panel (caused by pyxis's missmerged)
- Remove exposure adjustment (sorry Havoc users)
[builder related changes]- speed up to 40-50% of build process when hitting techpack/audio/
Version 5.1
Changelog
- Introduce brightness_clone interface for backlight driver (Fix several brightness issues especially with DC dimming)
- Synchronize Xiaomi TouchFeature updates (Needed by MIUI - sensor and gamemode)
- Synchronize Goodix Panel driver with Xiaomi updates
- and other display-related (doze and dimming) patches that also ported from Mi A3
[builder related changes]- Update dtc to upstream dtc-v1.4.6-9
Version 5.0
Changelog
- Introduce exposure adjustment driver a.k.a PWM Flicker-free for non MIUI ROM
- Add sdfat from https://github.com/cryptomilk/kernel-sdfat
- Removed fsync control (Dangerous, can leads to memory corruptions)
- Several SELinux changes to reduce overhead
- Disable qcacld-3.0's qcom_rx_wakelock (Reduce wakeup times)
- Disable RCU boost and expedited grace periods after init (Reduce idle drain and CPU utils, increase boot time)
- Suppress verbose output during boot (Reduce boot time and logging)
- Disable memcg kernel and socket accounting (Reduce kmem caches overhead)
- Reduce early wakeups before vsync events (Reduce power consumption)
- Panel and FOD delay-after-sleep correction
- Revert backlight resend mechanism (fix 100ms dropped backlight on MIUI 10.3.3.0)
- Cleanup unused ramoops cmdline, driver and input boost value on defconfig
[builder related changes]- Set Optimization level 3 by default when clang is detected as toolchain
- Update dtc to upstream AOSP 1.4.4 (No need to get the prebuilts/misc/dtc anymore)
Version 4.5
Changelog
- Upstream kernel to 4.9.185 (android-linux-stable)
- Allow enforcing deepest cluster idle state selection
- Use power efficient workqueues on the vmstat and audio-kernel
- Hardcode dirty_expire_centisecs to 30s (https://android-review.googlesource.com/c/platform/system/core/+/938362)
- Add IPA_RM12 and IPA_WS to the default block list (thanks to @pengus77 for more wakelock block list)
- Updated Goodix GT9886 firmware from MIUI Dev
- Cleaned-up unused touchscreen driver
Version 4.1
Changelog
- Fix short-peaking issue on the speaker Sound Control
Version 4.0
Changelog
- Add Sound Control for our Speaker
- Fix overlapped call and notification values on haptic control
- Cleanup debug bloat on Wi-Fi driver as much as possible
- Cleanup some unused xiaomi changes on driver departments (camera and fragmention)
- Removed schedutil_pixel (blu_schedutil and default schedutil is more than enough)
- Adjust Dynamic Stune Boost default to 10%
- Turned-down Performance cluster to 748MHz
- Keeping boosted freq that based on touch input a litte bit longer
- Enable workqueue power saving by default
Version 3.5
Changelog
- Fix unavailable Fingerprint-on-Display on MIUI Developer
- Added Headphone Sound control
- Completely reduce GPU timeout
Version 3.0
Changelog
- Remove xiaomi's memory management and restore it to the default Linux/CAF changes (zram, vmalloc, lmk).
- Remove unused xiaomi's package runtime info, manual watchdog invocation and other minor changes.
- Now this kernel uses compiled dtbo.img from the source code itself, thanks to @faust93 for the patch.
- Merged Qualcomm Atheros WLAN modules (LA.UM.7.8.r4-01000-SDM710.0).
- More tweaks on the CPU big cluster battery costs.
- Reduced the GPU idle timeout for earlier low-power state.
Version 2.5
Changelog
- Updated to the new osmosis's AnyKernel3 (faster installation process)
- Load initramfs dynamically based on the ramdisk states (no need to magisk hexpatch anymore to preserve the Magisk)
- Add another CPU Governor : blu_schedutil. (Blu_schedutil is an EAS cpu governor from BluSpark kernel that focusing on battery life)
- Lower deboost freq on little CPUs
- UFS Tweaks : Remove unnecessary deep idle states and better pm_qos restrictions to save more battery
- Disable unused debugging
- Disable conservative, userspace, and ondemand cpu governor
Version 2.0
Changelog
- Merge "nathanchance/android-kernel-clang/tree/msm-4.9-pie" (Now this kernel is compiled with aosp clang)
- Add CAF audio-kernel with Xiaomi's patchset and some fixes from Flex1911, (hope) it fixes proximity problems on some custom MIUI ROMs.
- Add schedutil CPU Governor from Pixel devices (rebranded as schedutil_pixel)
Version 1.5
Changelog
- Merge Latest CAF tag LA.UM.7.8.r4-01000-SDM710.0
- Enable iptables TTL modification target
- Add more input boost patchsets for snappier app launch
- Memory optimization with lz4 zram and sigkill reaper
- Add accessible vibration adjustment and kcal color control
Version 1.0
Changelog
- Initial Release