Kernel V4.4 _ New Source - LGE-G5-G6-V20/msm8996_lge_kernel GitHub Wiki

Moving to a newer source.

The 4.4 pages above were written while we were still using the older kernel source (4.4-186). This page, and all pages below this one, will be dedicated to the new kernel source, which is 4.4-205.

What to expect

Many of the fixes and adjustments to LGE_8996 were also ported to this newer source, but with it having a big overhaul of caf code, there are some key differences:

  • 4.4-186 is based entirely on msm8996 sources, and as such, had LA.UM.7.5.2.r1-03700-8x96.0 as its latest tag in Sep 12th, 2019 (it has newer tags going by LA.HB, but those aren't for android phones) while the new 4.4-205 kernel is based on msm8998 and has LA.UM.8.4.1.c25-03000-8x98.0 as its latest merged tag, with some possible updates coming since the last update for it was Jun 16th, 2022.

  • 4.4-205 being based on msm8998 allows us to get slightly more up to date kgsl and general caf code, with some extra security patches on top. Some issues could arise due to it being based on a different SoC, but apparently the drivers of importance (mostly GPU) aren't an issue since the Adreno 540 from 8998 is basically a tweaked Adreno 530 from 8996.

  • The commit history of changes specific to the LGE 8996 trio is not the same between them, with the new source being a bit cleaner, and even fixing some minor issues along the way.

  • Furthermore, this new source has been upstreamed to 4.4-302 by merging lineage's msm8998 kernel branch, bringing a lot of security patches, fixes for newer android versions and general improvements and updates with it.

So this gets us the current state of all LGE_8996 4.4 kernel branches:

  • Swan2000-old -> 4.4.186, based entirely on msm8996 and lacking critical fixes, kept only for documentation.

  • Swan2000-lineage-xx -> 4.4-302, based on the same caf source as 4.4-205 from LA.UM.8.4.1.c25-03000-8x98.0, but with a myriad of additions and improvements merged from lineage's qcom_msm8998/lineage-2x kernel branch. This one is intended to be the final edition of 4.4 on LGE_8996 and also the one we'll be working on, containing the most up-to-date sources.

What hasn't changed that much

In short, all of the steps done to get the old source working on the lge trio still apply to this newer source, with the amount of commit and their hashes being the only major difference on most of them.

There were also no regressions that could be found at the moment, so it appears the source can be used as the default and we'll be moving forward with it, which means that all the next developments will be documented in the new source's pages.