[KERNEL][AOSP][AnyKernel][LOS-14.1+EAS] Gamma Kernel for [All Lineage Variants]

Search This thread

Omar-Avelar

Senior Member
Feb 3, 2013
1,119
2,235
7177sw.png


DESCRIPTION
Hey guys, I have started a custom Kernel based on LineageOS sources with 98% CAF. So I would like to share my own performance and usability improvements with minimal feature and enhancements on top. The intention is to have a minimal light-weight kernel that is very fine tuned for the device.

FEATURES

  • Minimal Kernel with a stripped defconfig base to be more streamlined and have less memory footprint
  • User space display color calibration (KCAL) with screen calibrated against iPhone 8 Plus, also helps reducing screen retention
  • Schedutil governor making use of EAS features with updates from Linux 4.4 and 4.12
  • Up to date with LineageOS sources for maximum compatibility and security bugfixes
  • Memory and cache subsystem optimizations, you will feel it
  • Adaptive LMK enabled by default
  • Transparent Hugepages are enabled
  • ZRAM/Swap partition is disabled by default
  • BFQ IO scheduler set by default to avoid slow-downs on task intensive scenarios
  • No overclocking was chosen to avoid unnecessary heat, optimizations were focused on other different areas
  • Kernel Samepage Sharing enabled with deferred timer by default to gain some memory usage optimizations, the process sleeps on regular basis and I've profiled it so that there's no battery drains due to it
  • Simple temperature controls for msm_thermals exposed
  • Compiled with GCC 6.x optimized toolchain and -O3 plus other hardware specific flags
  • Undervolted the Adreno 530 GPU voltage rail to keep things cooler
  • CAF Rebase on major portions of the Kernel has helped lower the memory footprint a lot
  • ES9218 Quad DAC automatic toggling working inside the kernel for headphone HIFI playback, please read here for details


DOWNLOADS


AnyKernel: Click Here (Or check top of the post, download tab)

(Optional) LineageOS 14.1 Netflix Black Screen Fix : Click Here

(Optional) Updated Adreno Drivers by @BlackSoulxxx : Click Here




SOURCE



NOTES
  • Here is a GeekbenchV4 result example : http://browser.geekbench.com/v4/cpu/7618872
  • These is intended to be used primarily with LineageOS, I have not tested other ROM's
  • Since LineageOS uses a way newer Bluetooth stack, this Kernel will most likely not work on old ROM's such as ResurrectionRemix
  • This will not work with LineageOS 15.1, please see the other thread


KNOWN BUGS
  • When using v1.0.0 will fail to boot if you had Magisk previously installed. Please install something newer if using Magisk.
  • When using v13.0.0 - v15.x.x infrared remote control will not work.

I would also like to thanks to various people who contribute tremendously such as:

@x86cpu
@EvilHowl
@USA-RedDragon
@savoca
@albinoman887
@emdroidle
@Rashed97
@joshuous
@RenderBroken
and many others! :)

<< If you like my work here is my hat, please donate! >>



XDA:DevDB Information
Gamma Kernel, Kernel for the LG V20

Contributors
Omar-Avelar
Source Code: https://github.com/oxavelar/V20-Kernel-Gamma

Kernel Special Features:

Version Information
Status: No Longer Updated
Current Stable Version: 46.0.0
Stable Release Date: 2018-07-11

Created 2017-12-10
Last Updated 2018-10-22
 
Last edited:

Omar-Avelar

Senior Member
Feb 3, 2013
1,119
2,235
CHANGELOG

  • 46.0.0 - Started msm_irqbalance by default on boot, disabled lp11 and enabled allow mdss phy powerdown during idle screen.
  • 45.0.0 - Smoother memlat ramp and tuned the schedTune DVR cpusets a bit for better performance overall.
  • 44.0.0 - More deep sleep enhancements.
  • 43.0.0 - Update to Oreo TouchScreen firmware and more MDSS PLL merge fixes that help deep sleep.
  • 42.0.0 - Missing MDSS Oreo merges are now in place.
  • 41.0.0 - Added IPA_WS as a default in the wakelock blocker, as well as enabling CONFIG_PM_SLEEP which if missing would in turn cause some ueventd wakeups.
  • 40.0.0 - Disabled CONFIG_RMNET_DATA_DEBUG_PKT. Full fix for USB OTG and added missing slimport drivers. Tweaked the random wakeup values, added some extra cpusets based on Marlin's android-cts-8.0_r8/init.common.rc and fixed some BFQ IO possible hang.
  • 39.0.0 - Disabled CONFIG_RMNET_DATA_DEBUG_PKT. Full fix for USB OTG and added missing slimport drivers.
  • 38.2.0 - Removed LGE's battery manager alarms.
  • 38.1.0 - Fixed potential wireless packet loss.
  • 38.0.0 - Further tweaked the wlan_rx_wake wakelock, migrated the audio and thermal workers to power efficient queues, and added an arm64 prefetching optimization for memcpy.
  • 37.0.0 - Better deep sleep enhancements with the charger infrastructure borrowed from the V30 Kernel Oreo sources.
  • 36.0.0 - Full fix for 6a00000.ssusb wakelocks while keeping fast charging enabled.
  • 34.0.0 - Added boeffla_wl_blocker to tame NETLINK wakelock, this wakelock is caused by IPC between the wireless driver in the Kernel and Android. This was the reason why when on wireless the battery would drain more compared than radio. Also disabled OTG as this keeps the phone from deep-sleeping for now.
  • 33.0.0 - Enabled OTG.
  • 32.0.0 - Fixed a bug from Oreo merge that causes video to go green and crash sometimes. Disabled ZRAM from the compilation rather than AnyKernel patch.
  • 31.0.0 - Merged some V20 Oreo Kernel changes in, as well as some DAC enhancements to prevent popping, better USB PD and QC 2.0/3.0 charging code.
  • 30.0.0 - Oreo Kernel changes in, trying to unify the Kernel to keep support for a little while on 14.1.
  • 29.0.0 - Merged msm idle from Linux 4.4 as well as full EAS 1.4 support from Linux 4.4, reduced the memory subsystem timer ramp values for speedier operation.
  • 27.0.0 - Enabled wifi.supplicant_scan_interval on boot, and disabled IPv4 TCP Timestamps and ICMP responses as well as CCKM fast secure roaming.
  • 26.0.0 - Full EAS 1.4 from Wahoo (Pixel 2XL) backported.
  • 25.0.0 - Updated EAS (schedutil, walt, fair scheduler) to be in sync with Wahoo (Pixel 2XL) latest changes.
  • 24.0.0 - Fixed another performance regression in multi-core scores within schedutil.
  • 23.0.0 - Screen brightness is 50% while booting to reduce heat when it is regenerating cache on boot. v22.1.0 was 25% but this was barely visible if you were rebooting under direct sunlight. So went for the safe value.
  • 22.1.0 - Reduced the screen brightness while booting to reduce the heat of the device during cache wipes.
  • 22.0.0 - WALT and schedutil cpufreq commit fixes backported from RenderBroken.
  • 21.0.0 - The GPU Voltage rail undrervolt is now ~60 mV, do not see any problem and games run way cooler.
  • 20.0.0 - After feedback on frequency utilization/distribution I've put 3 WELT commits that should help alleviate this. And enabled some extra configurations from our wireless driver for better power savings.
  • 19.0.0 - Trimmed around ~40 mV from the GPU voltage rails, and updating the wireless stack to DHD 1.80.13 - 2017.06.22, from us997 V16a.
  • 17.0.0 - Increased the multi-core benchmark scores.
  • 16.1.0 - Reverted the binder to be Nougat only, since Oreo support will be on a separate Kernel anyway. Fixed the Infrared Remote Control support that I had broken, and tuned the memory scaling to be more responsive.
  • 15.0.0 - More audio fixes. This audio CAF merging has fixed the speaker-phone that suddenly stops recording or suddenly stops recieving audio from the phone call in LineageOS. Also have increased the schedutil timer values to be similar to the Pixel 2 XL (Wahoo). And finally have fixed a CONFIG_LGE_PM_LGE_POWER_CLASS_CHARGER_SLEEP problem, so that the charger module now sleeps better and uses less power in idle.
  • 14.0.0 - Updated WALT (Window Assisted Load Tracking) fixes aggregated by RenderBroken. Fixed an audio bug introduced in 13.0.0 where headphone insertion could change the sampling rate of other audio sessions. Changed again the schedutil timer values to favor benchmarks a tiny bit and increased the external SD read-ahead and minimum number of requests so that there is better merging when using slow SD cards while keeping the internal storage device in a low-latency configuration.
  • 13.0.0 - Merged CAF audio upstream changes and enabled transparent hugepages.
  • 12.0.0 - Tuned the memory subsystem frequency scaling parameters further down to focus on batter savings as well as the EAS timers.
  • 11.0.0 - Added cpuidle optimizations to idle more, bumped up the memlatency trigger.
  • 10.2.0 - Reintroduced back QuickCharge 2.0 and QuickCharge 3.0 fast charging support into the Kernel.
  • 10.0.0 - Bumped up the Kernel to version 3.18.71.
  • 9.0.0 - Full arm64 arch CAF update done to the Kernel based on CAF LA.UM.6.5.r1-05300-8x96.0. Added support for H918 variant too.
  • 8.2.0 - Partial update to get the Kernel in a big percent that of CAF LA.UM.6.5.r1-05300-8x96.0, no bugs introduced and using a CAF / LineageOS kernel base. Using the binder interface that works both for Android Oreo and Nougat to be prepared for Lineage15. Also fixed a bug that I had introduced in previous versions related to wireless access point, hence why I had pulled versions 7.x from the server.
  • 4.1.0 - Reintroduced into the LineageOS kernel the partial-update in the panel, to gain some power savings and overall performance feeling when refreshing the panel and screen elements.
  • 4.0.0 - Raised the EAS schedutil timers and the memlat governor threshold to kick in faster. This will bring up the responsiveness to similar levels to HMP even when still using EAS. Brought back KSM after profiling on battery utilization, it doesn't hurt as long as a the timer value is between 4000.
  • 3.0.x - Bugfixes and testing with Magisk compatibility, I think there are no more compatibility problems with Magisk after this, had to remove KSM for testing.
  • 1.0.0 - Initial version, with KCAL, and streamlined defconfig based on cm-14.1 kernel sources and minor commits on top.
 
Last edited:

nightra88

Senior Member
Jun 23, 2015
152
45
DESCRIPTION
Hey guys, I have started a custom Kernel based on LineageOS sources to get and share my own performance improvements up and adding minimal feature and enhancements on top. The intention is to have a minimal light-weight kernel that is very fine tuned for the device.

FEATURES

Minimal Kernel with a stripped defconfig base to be more streamlined and have less memory footprint
User space display color calibration (KCAL) with less blue tints by default
Schedutil governor making use of EAS features
Up to date with LineageOS sources for maximum compatibility and security bugfixes
Memory and cache subsystem optimizations, you will feel it
Adaptive LMK enabled by default
ZRAM/Swap partition is disabled by default
BFQ IO scheduler set by default to avoid slow-downs on task intensive scenarios
No overclocking was chosen to avoid unnecessary heat, optimizations were focused on other different areas
Kernel Samepage Sharing enabled with deferred timer by default to gain some memory usage optimizations, the process sleeps on regular basis and I've profiled it so that there's no battery drains due to it
Compiled with GCC 6.x optimized toolchain and -O3 plus other hardware specific flags
Re-introduced stock thermal values and engine for a safer device operation



DOWNLOADS


1) AnyKernel: Click Here (Or check top of the post, download tab)
2) EAS-Project OP3 Prebuilts Flashable : Click Here
3) Thermal Engine Flashable : Click Here





SOURCE

V20-Kernel-Gamma GitHub Source



NOTES
These is intended to be used primarily with LineageOS, I have not tested other ROM's
Please flash all *.zip's mentioned in the download sections for optimal results



KNOWN BUGS
Hopefully none


I would also like to thanks to various people who contribute tremendously such as:

@x86cpu
@EvilHowl
@USA-RedDragon
@savoca
@albinoman887
@emdroidle
@Rashed97
and many others! :)

<< If you like my work here is my hat, please donate! >>


XDA:DevDB Information
Gamma Kernel, Kernel for the LG V20

Contributors
Omar-Avelar
Source Code:https://github.com/oxavelar/V20-Kernel-Gamma

Kernel Special Features:

Version Information
Status: Testing
Current Stable Version: 1.0
Stable Release Date: 2017-12-09

Created 2017-12-10
Last Updated 2017-12-09

I don't know how 'in-depth' testing I can do. But I'll be willing to do what I can!
I'll be flashing this soon.
I'm on Desolation ROM, VS995. I'll report back. Thanks for your hard work! :cowboy:

Edit: not necessarily a problem, but it has static on boot.
 
Last edited:
  • Like
Reactions: Omar-Avelar

Omar-Avelar

Senior Member
Feb 3, 2013
1,119
2,235
I don't know how 'in-depth' testing I can do. But I'll be willing to do what I can!
I'll be flashing this soon.
I'm on Desolation ROM, VS995. I'll report back. Thanks for your hard work! :cowboy:

Edit: not necessarily a problem, but it has static on boot.

Oh, I didn't compile specifically for VS995 so it will have static on boot. Since these two are mostly the same devices I might give u a VS995 Kernel next week with that static gone.
 

NippleSauce

Senior Member
Jun 23, 2013
603
420
Great to have someone finally building an AOSP kernel!

Any chance you'll be compiling for the H918 sometime in the future? No worries if you aren't. I'm just curious =p
 

nightra88

Senior Member
Jun 23, 2015
152
45
Oh, I didn't compile specifically for VS995 so it will have static on boot. Since these two are mostly the same devices I might give u a VS995 Kernel next week with that static gone.

That sounds great! I'll look forward to it! But I'm about 12-14hrs in the kernel now, and so far so good! With normal usage.
 

Omar-Avelar

Senior Member
Feb 3, 2013
1,119
2,235
Have updated Kernel to 1.1.0 version with two minor changes that improve the performance by quite a big. Figured out the OP3 and the Marlin Kernel was using 300 Hz tick timers. But for some reason our Kernel was only using 100 Hz tick's. So two changes in this version.

1. Enable high-res timers for schedulercks
2. arm64: hz: make it configurable

Plus I have decided to go on and change the perfd binary again. I was not aware how much of impact this has to EAS and the fluidity, since with EAS the input freq boost in the Kernel is now gone. You can read more about it here : https://github.com/EAS-Project/android_device_voxpopuli in the README.md. I am not yet using 100% of the capabilities of Vox Populi Power HAL but a lot of features from it turned off for now.
 
Last edited:

Omar-Avelar

Senior Member
Feb 3, 2013
1,119
2,235
Hmm... Oddly enough if I install I get stuck into a boot loop. Not even a LineageOS boot animation. I am and will continue to use Magisk, even flashed all 3.

Oh shoot... I haven't tested it with Magisk on top myself, I wonder if I removed some thing in the defconfig that Magisk needs... Mmmm, both versions give u that same outcome :(? Thx for the report!
 

x86cpu

Senior Member
Aug 25, 2010
1,759
4,098
Rochester
Google Pixel 6 Pro
Oh shoot... I haven't tested it with Magisk on top myself, I wonder if I removed some thing in the defconfig that Magisk needs... Mmmm, both versions give u that same outcome :(? Thx for the report!

I only tried the latest one. I did not try without Magisk though or the older version, the all 3 reference was all 3 files you had. gamma/vox/thermal.

I noticed in your thermal, that the camera files are the same as Lineage, so you could take those out. I also took out the mixer one as I bumped those VOL up as it was hard to hear on calls without it. If you do find any adjustments that the op3 or marlin did, we might be able to get those into the Lineage msm8996 kernel. Ideally, the commits from op3 in the Lineage tree, then I can cherry pick it to preserve history. I'm all for getting things into Lineage where we can.
 

Omar-Avelar

Senior Member
Feb 3, 2013
1,119
2,235
Hmm... Oddly enough if I install I get stuck into a boot loop. Not even a LineageOS boot animation. I am and will continue to use Magisk, even flashed all 3.

So I got home to try just in case @x86cpu and I was able to flash Magisk-v14.5(1456).zip after all of the 3 files had been flashed on my system and it booted fine.... so I've re-uploaded the Kernel as v1.1.1 in the downloads section just in case...

  1. Wiped /system (as I had su from LineageOS flashed before)
  2. Flashed system with lineage-us996-*.zip
  3. Flashed OpenGapps
  4. Flashed perfd update (2nd of my zips)
  5. Flashed the 'hotfixes' (3rd of my zips)
  6. Flashed gamma-kernel (1st zip)
  7. Flashed Magisk-v14.5(1456).zip
  8. Hit reboot

If you can let me know if the v1.1.1 version works on your side then I can blame the bad upload. If not I can do more experiments to see if there is some other condition that depends on the order of flashing with my AnyKernel approach... and then I can try and replicate and fix it :), please do let me know...

UPDATE: I am able to hit the failure now @x86cpu... let me see if AnyKernel needs any update or something to allow to re-install the Kernel if Magisk is already pre-installed. In order to hit it I had to:

  1. Wiped /system (as I had su from LineageOS flashed before)
  2. Flashed system with lineage-us996-*.zip
  3. Flashed OpenGapps
  4. Flashed perfd update (2nd of my zips)
  5. Flashed the 'hotfixes' (3rd of my zips)
  6. Flashed Magisk-v14.5(1456).zip
  7. Flashed gamma-kernel (1st zip)
  8. Hit reboot

Essentially flashing the Kernel last... which might be a common thing that could happen, let me polish that up...
 
Last edited:

Omar-Avelar

Senior Member
Feb 3, 2013
1,119
2,235
I've uploaded flashable-us996-gamma-kernel-v1.2.0.zip now with an updated AnyKernel script that seems to now be working even with Magisk installed previously. Thanks to @x86cpu for reporting this bug.
 
  • Like
Reactions: jasonv31 and x86cpu

nightra88

Senior Member
Jun 23, 2015
152
45
U
So I got home to try just in case @x86cpu and I was able to flash Magisk-v14.5(1456).zip after all of the 3 files had been flashed on my system and it booted fine.... so I've re-uploaded the Kernel as v1.1.1 in the downloads section just in case...

Wiped /system (as I had su from LineageOS flashed before)
Flashed OpenGapps
Flashed the 'hotfixes' (3rd of my zips)
Flashed Magisk-v14.5(1456).zip
Wiped /system (as I had su from LineageOS flashed before)
Flashed OpenGapps
Flashed the 'hotfixes' (3rd of my zips)
Flashed gamma-kernel (1st zip)
Hit reboot


Essentially flashing the Kernel last... which might be a common thing that could happen, let me polish that up...

I just installed the v1.1.1 before the fix. So. In other words before I saw this update, I just flashed it with no wiping, Desolation rom, and it booted fine, it's just now, in Magisk I can't pass cts or basic integrity. I'll try your updated method and see if that fixes the problem.

Edit: did the above steps, minus wiping twice and flashing the hot fixes twice. Rebooted it. And now I can successfully pass safetynet on the latest gamma kernel!
Edit#2: false hope, my apologies, safetynet apparently isn't passed.
Edit#3: okay. I had a blonde moment. I forgot to wipe my dalvik. It passes now.
 
Last edited:

Omar-Avelar

Senior Member
Feb 3, 2013
1,119
2,235
What do the HAL's do? And what order should I flash the zips?

The order doesn't matter as they are independent. And I would suggest you read about the EAS perfd HAL in here : README.md

However keep in mind that I haven't implemented all of the VoxPopuli features from the HAL in the AnyKernel as it needs some SELInux permissions updates (which I can do later on). But without all of those enhancements it will behave like the Pixel HAL.
 
  • Like
Reactions: NippleSauce

Top Liked Posts

  • There are no posts matching your filters.
  • 10
    7177sw.png


    DESCRIPTION
    Hey guys, I have started a custom Kernel based on LineageOS sources with 98% CAF. So I would like to share my own performance and usability improvements with minimal feature and enhancements on top. The intention is to have a minimal light-weight kernel that is very fine tuned for the device.

    FEATURES

    • Minimal Kernel with a stripped defconfig base to be more streamlined and have less memory footprint
    • User space display color calibration (KCAL) with screen calibrated against iPhone 8 Plus, also helps reducing screen retention
    • Schedutil governor making use of EAS features with updates from Linux 4.4 and 4.12
    • Up to date with LineageOS sources for maximum compatibility and security bugfixes
    • Memory and cache subsystem optimizations, you will feel it
    • Adaptive LMK enabled by default
    • Transparent Hugepages are enabled
    • ZRAM/Swap partition is disabled by default
    • BFQ IO scheduler set by default to avoid slow-downs on task intensive scenarios
    • No overclocking was chosen to avoid unnecessary heat, optimizations were focused on other different areas
    • Kernel Samepage Sharing enabled with deferred timer by default to gain some memory usage optimizations, the process sleeps on regular basis and I've profiled it so that there's no battery drains due to it
    • Simple temperature controls for msm_thermals exposed
    • Compiled with GCC 6.x optimized toolchain and -O3 plus other hardware specific flags
    • Undervolted the Adreno 530 GPU voltage rail to keep things cooler
    • CAF Rebase on major portions of the Kernel has helped lower the memory footprint a lot
    • ES9218 Quad DAC automatic toggling working inside the kernel for headphone HIFI playback, please read here for details


    DOWNLOADS


    AnyKernel: Click Here (Or check top of the post, download tab)

    (Optional) LineageOS 14.1 Netflix Black Screen Fix : Click Here

    (Optional) Updated Adreno Drivers by @BlackSoulxxx : Click Here




    SOURCE



    NOTES
    • Here is a GeekbenchV4 result example : http://browser.geekbench.com/v4/cpu/7618872
    • These is intended to be used primarily with LineageOS, I have not tested other ROM's
    • Since LineageOS uses a way newer Bluetooth stack, this Kernel will most likely not work on old ROM's such as ResurrectionRemix
    • This will not work with LineageOS 15.1, please see the other thread


    KNOWN BUGS
    • When using v1.0.0 will fail to boot if you had Magisk previously installed. Please install something newer if using Magisk.
    • When using v13.0.0 - v15.x.x infrared remote control will not work.

    I would also like to thanks to various people who contribute tremendously such as:

    @x86cpu
    @EvilHowl
    @USA-RedDragon
    @savoca
    @albinoman887
    @emdroidle
    @Rashed97
    @joshuous
    @RenderBroken
    and many others! :)

    << If you like my work here is my hat, please donate! >>



    XDA:DevDB Information
    Gamma Kernel, Kernel for the LG V20

    Contributors
    Omar-Avelar
    Source Code: https://github.com/oxavelar/V20-Kernel-Gamma

    Kernel Special Features:

    Version Information
    Status: No Longer Updated
    Current Stable Version: 46.0.0
    Stable Release Date: 2018-07-11

    Created 2017-12-10
    Last Updated 2018-10-22
    9
    I've got a working Kernel for LineageOS 15.1, thanks to @x86cpu, @Phoenix591 and @emdroidle for their recent development:

    Download: https://www.androidfilehost.com/?w=files&flid=266788

    Right now it is missing partial panel update (would help lower battery consumption and tearing in the long run if we get it working again) and for this initial build I've skipped exFAT SD Card support. Posting this experimental builds now as I just switched to the unofficial LineageOS 15.1 by @x86cpu today (just had time to do so today... :))

    It has everything listed in the OP, and it is Linux 4.4 EAS based, LineageOS 15.1 right now lacks the perfd binary but performance is ok from what I can tell. It will get better, just give it time ;)

    No optional zip flash from the OP download sections is recommended at the moment, since LineageOS 15.1 changed some things around to the vendor partition... once I get this more stable and optimized I will fork this thread to a new one...

    UPDATE: I've now added exFAT support based on LIneageOS in v0.9.1...
    8
    CHANGELOG

    • 46.0.0 - Started msm_irqbalance by default on boot, disabled lp11 and enabled allow mdss phy powerdown during idle screen.
    • 45.0.0 - Smoother memlat ramp and tuned the schedTune DVR cpusets a bit for better performance overall.
    • 44.0.0 - More deep sleep enhancements.
    • 43.0.0 - Update to Oreo TouchScreen firmware and more MDSS PLL merge fixes that help deep sleep.
    • 42.0.0 - Missing MDSS Oreo merges are now in place.
    • 41.0.0 - Added IPA_WS as a default in the wakelock blocker, as well as enabling CONFIG_PM_SLEEP which if missing would in turn cause some ueventd wakeups.
    • 40.0.0 - Disabled CONFIG_RMNET_DATA_DEBUG_PKT. Full fix for USB OTG and added missing slimport drivers. Tweaked the random wakeup values, added some extra cpusets based on Marlin's android-cts-8.0_r8/init.common.rc and fixed some BFQ IO possible hang.
    • 39.0.0 - Disabled CONFIG_RMNET_DATA_DEBUG_PKT. Full fix for USB OTG and added missing slimport drivers.
    • 38.2.0 - Removed LGE's battery manager alarms.
    • 38.1.0 - Fixed potential wireless packet loss.
    • 38.0.0 - Further tweaked the wlan_rx_wake wakelock, migrated the audio and thermal workers to power efficient queues, and added an arm64 prefetching optimization for memcpy.
    • 37.0.0 - Better deep sleep enhancements with the charger infrastructure borrowed from the V30 Kernel Oreo sources.
    • 36.0.0 - Full fix for 6a00000.ssusb wakelocks while keeping fast charging enabled.
    • 34.0.0 - Added boeffla_wl_blocker to tame NETLINK wakelock, this wakelock is caused by IPC between the wireless driver in the Kernel and Android. This was the reason why when on wireless the battery would drain more compared than radio. Also disabled OTG as this keeps the phone from deep-sleeping for now.
    • 33.0.0 - Enabled OTG.
    • 32.0.0 - Fixed a bug from Oreo merge that causes video to go green and crash sometimes. Disabled ZRAM from the compilation rather than AnyKernel patch.
    • 31.0.0 - Merged some V20 Oreo Kernel changes in, as well as some DAC enhancements to prevent popping, better USB PD and QC 2.0/3.0 charging code.
    • 30.0.0 - Oreo Kernel changes in, trying to unify the Kernel to keep support for a little while on 14.1.
    • 29.0.0 - Merged msm idle from Linux 4.4 as well as full EAS 1.4 support from Linux 4.4, reduced the memory subsystem timer ramp values for speedier operation.
    • 27.0.0 - Enabled wifi.supplicant_scan_interval on boot, and disabled IPv4 TCP Timestamps and ICMP responses as well as CCKM fast secure roaming.
    • 26.0.0 - Full EAS 1.4 from Wahoo (Pixel 2XL) backported.
    • 25.0.0 - Updated EAS (schedutil, walt, fair scheduler) to be in sync with Wahoo (Pixel 2XL) latest changes.
    • 24.0.0 - Fixed another performance regression in multi-core scores within schedutil.
    • 23.0.0 - Screen brightness is 50% while booting to reduce heat when it is regenerating cache on boot. v22.1.0 was 25% but this was barely visible if you were rebooting under direct sunlight. So went for the safe value.
    • 22.1.0 - Reduced the screen brightness while booting to reduce the heat of the device during cache wipes.
    • 22.0.0 - WALT and schedutil cpufreq commit fixes backported from RenderBroken.
    • 21.0.0 - The GPU Voltage rail undrervolt is now ~60 mV, do not see any problem and games run way cooler.
    • 20.0.0 - After feedback on frequency utilization/distribution I've put 3 WELT commits that should help alleviate this. And enabled some extra configurations from our wireless driver for better power savings.
    • 19.0.0 - Trimmed around ~40 mV from the GPU voltage rails, and updating the wireless stack to DHD 1.80.13 - 2017.06.22, from us997 V16a.
    • 17.0.0 - Increased the multi-core benchmark scores.
    • 16.1.0 - Reverted the binder to be Nougat only, since Oreo support will be on a separate Kernel anyway. Fixed the Infrared Remote Control support that I had broken, and tuned the memory scaling to be more responsive.
    • 15.0.0 - More audio fixes. This audio CAF merging has fixed the speaker-phone that suddenly stops recording or suddenly stops recieving audio from the phone call in LineageOS. Also have increased the schedutil timer values to be similar to the Pixel 2 XL (Wahoo). And finally have fixed a CONFIG_LGE_PM_LGE_POWER_CLASS_CHARGER_SLEEP problem, so that the charger module now sleeps better and uses less power in idle.
    • 14.0.0 - Updated WALT (Window Assisted Load Tracking) fixes aggregated by RenderBroken. Fixed an audio bug introduced in 13.0.0 where headphone insertion could change the sampling rate of other audio sessions. Changed again the schedutil timer values to favor benchmarks a tiny bit and increased the external SD read-ahead and minimum number of requests so that there is better merging when using slow SD cards while keeping the internal storage device in a low-latency configuration.
    • 13.0.0 - Merged CAF audio upstream changes and enabled transparent hugepages.
    • 12.0.0 - Tuned the memory subsystem frequency scaling parameters further down to focus on batter savings as well as the EAS timers.
    • 11.0.0 - Added cpuidle optimizations to idle more, bumped up the memlatency trigger.
    • 10.2.0 - Reintroduced back QuickCharge 2.0 and QuickCharge 3.0 fast charging support into the Kernel.
    • 10.0.0 - Bumped up the Kernel to version 3.18.71.
    • 9.0.0 - Full arm64 arch CAF update done to the Kernel based on CAF LA.UM.6.5.r1-05300-8x96.0. Added support for H918 variant too.
    • 8.2.0 - Partial update to get the Kernel in a big percent that of CAF LA.UM.6.5.r1-05300-8x96.0, no bugs introduced and using a CAF / LineageOS kernel base. Using the binder interface that works both for Android Oreo and Nougat to be prepared for Lineage15. Also fixed a bug that I had introduced in previous versions related to wireless access point, hence why I had pulled versions 7.x from the server.
    • 4.1.0 - Reintroduced into the LineageOS kernel the partial-update in the panel, to gain some power savings and overall performance feeling when refreshing the panel and screen elements.
    • 4.0.0 - Raised the EAS schedutil timers and the memlat governor threshold to kick in faster. This will bring up the responsiveness to similar levels to HMP even when still using EAS. Brought back KSM after profiling on battery utilization, it doesn't hurt as long as a the timer value is between 4000.
    • 3.0.x - Bugfixes and testing with Magisk compatibility, I think there are no more compatibility problems with Magisk after this, had to remove KSM for testing.
    • 1.0.0 - Initial version, with KCAL, and streamlined defconfig based on cm-14.1 kernel sources and minor commits on top.
    7
    Seeing the same message on H918. Regardless, thank you for supporting Lineage 15.1. Your kernels tend to deliver Pixel-like performance which is certainly quite the accomplishment! Many thanks and great work!

    Thank you, yeah I will see if I can fix the vendor warning (which seems harmless for now).

    A note on performance on this builds with LineageOS 15.1 (since the Kernel is EAS based) this will get better once perfd gets implemented in the builds :), due to lack of perfd right now we dont have input boost nor application launch boost hints.
    6
    I've added another optional but heavily recommended zip to flash under the OP downloads section.

    (Optional) LineageOS 14.1 Hotfixes (GPS Stability and Wireless Battery Drain)

    This has a patch to get GPS 100% rocks stable under LineageOS 14.1 as well as the idle Wireless Battery drain which you will see in "Battery" as "Android OS" consumption being a heavy offender. I've root caused the problem to be in LineageOS 14.1's com.qualcomm.qti.tetherservice.apk. So by flashing that optional fix it will remove that and now we're back into amazing idle consumption and extra juice for day to day activities! :)...

    You MUST wipe cache and Dalvik/ART cache as that Qualcomm service might be cached and continue to run if you don't wipe cache after applying the workaround.

    EDIT: @x86cpu has helped me and I've put an updated zip in here #162