[Moto G4 Plus ROMs, Kernels, Recoveries, & Other De] lCrD512:
Changelogs

May 02, Stock 8.1.0 - Release 2

Add digital tv module (isdbt)

Update wifi driver to latest CAF oreo tag 'LA.UM.6.6.r1-11000-89xx.0'

Disable various debugging for release builds

Exclude debug symbols from release builds (reduced kernel size)

Few updates to interactive governor

Update spectrum profiles

R.I.P sched boost feature

Various other fixes for cpufreq, crypto, memory etc.

Old releases

March 20, stock 8.1.0 Release-1 initial release

Changes over stock sources

Upstream linux kernel version.

Upstream sdcardfs.

Fix 0 bytes fize size while copying or moving.

Upstream interactive governor.

Add all LK features from nougat. Touch-boost and Fsync toggle have been removed.

Drop deprecated GCC 4.8/4.9 and switch to 7.3.0 for code improvements. All relevant code warnings were fixed.

Other misc. but relevant fixes/patches (can be seen on github).

Feb 8, 9/8.1 Release-12 for ARM64

NOTE: Those who are using my AOSiP or PixelExperience builds should flash the kernel update from the attachment in release post HERE

Android binder and sdcardfs updates.

Drop deprecated GCC 4.9 and switch to 7.3.0 for code improvements. All relevant code warnings were fixed.

Drop kernel size optimization flag as per AOSPs recommendation. Associated code warnings fixed.

Fixed some minor memory leaks. These were not detected earlier when size optimization flag was enabled.

Bring back 160mhz level for idle state GPU.

Squash some relevant upstream patches for xpad driver.

Merged sdFAT updates.

Disabled cpu hotplugging at lower battery levels.

Slight improvements in i/o operations.

Updates to cpusets and cgroup.

Remove sweep2sleep defaults as it conflicts with pie's swipe up gesture.

Fix a minor derp in zram initialization.

Jan 14, 9/8.1 Release-11 for ARM64

Regular android sdcardfs updates.

Upstream CFQ i/o scheduler.

Fixed some more memory leaks and slight memory management improvements.

Upstream patches to kernel scheduler, perf, rcu and cpu hot-plugging.

Updates to Wireguard.

Updates to LZ4 algorithm.

Fixed minor derps with fsync (on/off) toggle functionality.

Upstreamed and performance improvements to Interactive governor.

Replaced powersave governor with conservative for spectrum battery mode. Powersave governor has performance regressions.

CVEs addressed for EXT4 file system, bluetooth and crypto drivers.

Fixed various instances of uninitialized variables, false positives have been ignored. We are using CONFIG_CC_OPTIMIZE_FOR_SIZE which suppresses the compiler warning of uninitialized variables which can sometimes lead to undefined behavior e.g. memory corruption and panic.

Dec 02, 9/8.x Release-10

Switched to non-debug wifi/wlan driver.

Binder updated and inline with AOSP/google.

Regular sdcardfs upstream, some relevant backports from higher version (3.18+).

Few updates and fixes to interactive governor updates.

Merged some CVE patches from Lineage (CVE-2016-8399/2017-2647/2017-6951/2017-13080-upstream...)

Fixed memory leak in video device driver.

Added ARM64 CRC32 hw accelerated module

Few security updates to crypto driver.

Fix deadlock in sound-core driver due to duplicate ioctl_lock.

Disabled DEVPORT - it is not used as shown by previous SELinux policy changes to blacklist it. It is being unset to reduce the kernel attack surface.

Nov 11, 8.1.0 Release-9

Note: Non-dts builds are discontinued from this release. If dts builds doesn't boot then consider updating your rom. Should work on 9.0 as well. We are now up to date as per CAF, Linux-stable as well as Google/AOSP's kernel updates :D

Merged latest CAF tag LA.BR.1.3.7-05010-8976.0 (rb1.11)

Merged updates from Google/AOSP kernel-common.

Removed input-boost in favour of touchboost and interactive boost.

Removed power optimizer push-pop (popp) restrictions from gpu for potential performance improvements.

Updated and switched to CFQ i/o scheduler

Misc. power/performance optimizations.

Nov 11, 7.0 Release-4:

Removed input-boost in favour of touchboost and interactive boost.

Updated and switched to CFQ i/o scheduler

Misc. power/performance optimizations.

Oct 30, 7.0 Release-3:

Enabled usb tethering.

Removed power optimizer push-pop (popp) restrictions from gpu for potential performance improvements.

Updated spectrum profiles w.r.t qcom-post-boot service on stock rom.

Sep 10, 8.1 Release-8 for custom roms:

NOTE: Balanced profile viz. default is now using performance governor for GPU only to improve ux to some extent. Once the performance gets stable/consistent on oreo roms I'll switch it back to msm-adreno-tz. Users can switch to msm-adreno-tz if they want through kernel managers.

Merged relevant updates from NPJS25.93-14-18.

Allow mounting cdrom using apps like drivedroid etc.

Slight performance improvements.

Sep 08, 7.0 Release-2:

Rebased over latest 7.0 CAF tag.

Merged NPJS25.93-14-18 sources from Motorola.

Allow mounting cdrom using apps like drivedroid etc.

Slight performance improvements.

August 02, Release 7:

Oreo custom roms:

Rebased kernel source over CAF tag LA.BR.1.3.6-05410-8976.0 (7.1.2) and NPJS25.93-14-15 by Motorola

Merged relevant updates from CAF tag LA.BR.1.3.7-05010-8976.0 (8.1.0) and kernel-common

Properly up-streamed up to Linux stable 3.10.108

Merged recent kernel side updates to Wireguard

Removed some not so important i/o schedulers (cfq, maple and noop are more than enough)

Removed useless debug options to for cleaner and smaller kernel

Removed ondemand and conservative cpu governors (not suitable for big.LITTLE)

Reworked CPU oc/uc support to 403/499mhz levels (anything more lower shall yield no real benefit)

Updated spectrum profiles

7.0 Stock Release 1:

Some kernels have different workarounds for modules, therefore, it is recommended to flash 7.0 kernel only over your stock rom kernel. Don't flash over any other custom kernels. This is to avoid any issues with important modules such as wlan (wifi). Subsequent releases can be flashed over the same kernel's older version.

Based on NPJS25.93-14-15 sources by Motorola

Properly up-streamed up to Linux stable 3.10.108

Updated wifi/wlan drivers from latest 7.0 sources from CAF

Added all features mentioned in 1st post. (list updated in op)

Applicable updates from r7 oreo changelog were also merged.

June 14, v6.2:

Fixed mobile hotspot for both 32/64 bit

Removed conservative cpu governor

Switched too GCC 4.9 (Higher GCC versions are causing issues with data, wifi and hotspot as witnessed by some users)

Final update to katnap governor

NOTE: Since v6, I recommend using default kernel settings for CPU, GPU, clock speeds and governor profiles rest you can change. Why? read the explanation below properly...

v6 release came with spectrum app support which allows to switch between various user modes which are - Gaming, Battery, Balanced (default) and Performance. Thanks to frap129 a.k.a Joe Maples for spectrum. You can use the spectrum app to switch between various modes as per your needs with just a single tap.

For e.g. before starting a game just switch to "Gaming" mode from spectrum app to improve the game-play. After game-play is over don't forget to switch back to "Balanced" mode which is also the default. You can also choose "Battery" mode when you keep your device idle for maximum savings. If you prefer smooth user experience without worrying about battery then "Performance" mode is for you.

Both "Performance" and "Gaming" modes are battery hungry but will improve the user and gaming experience respectively so use them accordingly. Similarly don't expect great performance or smooth user experience from "Battery" mode.

"Balanced" mode is self-explanatory.

No support from my side if you're using some kind of mods that might conflict with above mentioned kernel settings. Fair enough! don't need any false reports where the problem might be because of any such mod.

Might be bitter but had to say this, don't bother reporting problems if you can't do it properly. Haven't seen a single post reporting wlan issues with logs and surprisingly I'am not a god who can guess issues from nothing. XDA is a community where users shall also contribute to make things better. Just coming here and searching for download links then complaining about stuff not working... it doesn't work this way. We don't expect much from users, we only want that if we're putting some efforts then users should also take at least some effort to give proper bug reports and feedback. For someone who doesn't know how to take logs etc. try google, you'll find tons of guides over internet and here at XDA itself. Thank you.

-------------------------------------------------------------------------

June 10, Release v6.1:

Fixed hotspot for 32-bit

Replaced fsync toggle with automatic Dynamic fsync driver 2.1 by boeffla

Replaced fp-boost driver with generic wake boost interface

Renamed loony governor to katnap

Some performance improvements during and after boot

Merged moto specific wlan/prima changes

Added 2 more potential wakelocks to block list just in case

NOTE: Since v6 (previous) release I recommend using default kernel settings for CPU, GPU, clock speeds and governor profiles. Why? read the explanation below properly...

v6 release came with spectrum app support which allows to switch between various user modes which are - Gaming, Battery, Balanced (default) and Performance. Thanks to frap129 a.k.a Joe Maples for spectrum. You can use the spectrum app to switch between various modes as per your needs with just a single tap.

For e.g. before starting a game just switch to "Gaming" mode from spectrum app to improve the game-play. After game-play is over don't forget to switch back to "Balanced" mode which is also the default. You can also choose "Battery" mode when you keep your device idle for maximum savings. If you prefer smooth user experience without worrying about battery then "Performance" mode is for you.

Both "Performance" and "Gaming" modes are battery hungry but will improve the user and gaming experience respectively so use them accordingly. Similarly don't expect great performance or smooth user experience from "Battery" mode.

"Balanced" mode is self-explanatory.

----------------------------------------------

June 05, Release v6:

Switched to GCC 6.4-stable (only 64-bit)

Compiled with cortex-a53 tune flags

Introduced my own custom Loony governor based on interactive and franco kernel tweaks

Added spectrum app support and tuned profiles for various modes

Added 160mhz for gpu in "Battery" mode (using spectrum app)

Removed adreno idler and powersuspend (took me time to realise that these are not really necessary)

NOTE: From this release I recommend using default kernel settings for CPU, GPU, clock speeds and governor profiles. Why? read the explanation below properly...

v6 release comes with spectrum app support which allows to switch between various user modes which are - Gaming, Battery, Balanced (default) and Performance. Thanks to frap129 a.k.a Joe Maples for spectrum. You can use the spectrum app to switch between various modes as per your needs with just a single tap.

For e.g. before starting a game just switch to "Gaming" mode from spectrum app to improve the game-play. After game-play is over don't forget to switch back to "Balanced" mode which is also the default. You can also choose "Battery" mode when you keep your device idle for maximum savings. If you prefer smooth user experience without worrying about battery then "Performance" mode is for you.

Both "Performance" and "Gaming" modes are battery hungry but will improve the user and gaming experience respectively so use them accordingly. Similarly don't expect great performance or smooth user experience from "Battery" mode.

"Balanced" mode is self-explanatory.

----------------------------------------------

May 04, Release v5.1:

Note: Sources moved to github.

Merged updates from NPJS25.93-14-15 (Feb, 2018) moto kernel sources,

Merged updates for wlan prima driver to bring in-line with latest CAF tag LA.BR.1.3.7-05010-8976.0,

Switch back to single build for 64bits. Made compatible with all roms,

Few kernel-common updates.

April 28, Release v5:

32-bit support added!

Changes merged from CAF branch (1.3.6) and Google kernel-common

Removed CRC enable/disable toggle - We know we want CRC disabled by default to avoid ~30% performance cost. So, it doesn't make sense to have a toggle for it as users may unknowingly enable it which defeats the whole purpose of disabling it by default in the first place.

Enable 320k AAC encoding

Tuned CFQ i/o scheduler

Added touchboost which is disabled by default. Enabling it will significantly improve the performance at the cost of battery life. This feature can be enabled using kernel manager (EX kernel manager recommended)

Replaced wakeup boost with Fingerprint Boost driver.

Removed boot and boostpulse sysfs nodes from interactive governor. Neither we were using it nor it is needed, users can enable cpu-boost if needed.

Updates wlan prima (wifi) driver to latest CAF tag LA.BR.1.3.7-04410-8976.0

Using cpu_relaxed_read_long and defining relaxed version of some arm64 specific macros, and functions to improve power efficiency. (this one is only for arm64)

Some cpu-boost code clean-up. Removed migration related boost from cpu-boost. Handled by scheduler and governor now.

Added display state awareness to msm_adreno_tz gpu governor. This aids adreno_idler by reducing the overhead.

Backlight dimmer toggle (disabled, enabling this would allow to lower brightness even more)

Apr 05, Release v4.1:

Restore default gpu clocks

Sdcardfs space leak fixed,

Updates merged from google android kernel-common,

Enabled ARCH_POWER and added toggle to enable/disable the same through EX Kernel Manager,

Nuked gentle fair sleeper toggle and re-enabled gfs. Disabling it was causing cores getting stuck at max freq for most of the time,

Added wake-up boost to avoid or atleast minimise any potential wake-up delays. I've personally never faced this on Oreo but some people reported it recently,

Added some more potential wakelocks in Boeffla wakelock blocker driver,

Wlan driver updates merged from latest caf release LA.BR.1.3.7_rb1.11,

Some efforts towards improving memory management a bit.

03 March 2018, Release 4:

Added new boeffla wakelock block driver,

Added wireguard support,

Added adreno idler - ramp down GPU on idle,

Reverted stuff: zen-interactive, frandom, hid,

Added sweep2sleep feature by flar2

Enabled fp to sleep by default, can be used as home too,

Enabled kernel samepage merge,

Merged latest changes and fixes from upstream teambutter.

Release 3.1:

Jan 14, 2018:

reverted some pre-configurations to default settings

Jan 08, 2018:

fixed notification led on supported roms

added maple i/o scheduler

Release 3:

Jan 03, 2018:

implement zen-tune: kernel tuning for interactivity

re-added powersuspend driver

zram increased from 512mb->768mb

cpu boost pre-configured

enabled adaptive low memory killer by default

tweaked deadline and row scheduler

tweaked westwood tcp congestion avoidance algorithm

changed default i/o scheduler to zen

added crc check toggle (disabled by default)

added gentle fair sleepers toggle (disabled by default)

slight undervolt and other power efficient optimizations

disabled some debugging

enabled arch power

added suspend_again handler (update for quick wake-up driver)

added led blink support

implement fast idling of cpu on partial system load

optimized console frame buffer to improve performance

other misc. fixes

fixed simple_ondemand crash

Release 2:

Dec 29, 2017:

fixed audio

switched to default google toolchain

Dec 28, 2017:

fixed zram

enabled core control

enabled homebutton driver

added sound control

added gpu overclock/underclock support

power efficient workqueue patches

added fiops, sio and zen i/o scheduler

blocked wakelocks by default

enabled cpu boost

added wake-up boost

added /dev/frandom support

added quick wake-up driver

added hid patch

Release 1:

enabled advance color control

added cpu overclock/underclock support