[LG V20 ROMs, Kernels, Recoveries, & Other Developm] AShiningRay:
View attachment 5905517

~~A custom kernel for (most) V20 variants~~​

Swan2000 is an android kernel based on the very latest Qualcomm 4.4 CAF sources for MSM8998 (which is also compatible with MSM8996), aiming to bring new features and updates over official kernels, and also improve LGE MSM8996 devices with some extra tuning, fixing and additional features tailored specifically for their performance characteristics and feature sets, while trying to maximize the battery life and responsiveness of those devices at the same time.

Its name comes from a merge between Swankernel(@AShiningRay) and mk2000(@askermk2000), as they were the main heads behind this kernel's development.​

​

__Disclaimers__​

First and foremost: DO NOT bother official LineageOS threads with bugs if you're using this kernel, only bug reports with logs pointing to the official kernel will receive support there!!!

Now for the usual XDA disclaimer:

__Which V20 variants/models does this kernel support?__​

The kernel currently supports the following V20 variants:

H910 / H915

H918

H990(DS / TR)

LS997

US996

US996D(Dirtysanta)

VS995

Those seem to cover every rootable variant thus far, but additional variants can be added in case a breakthrough happens on F800 for example.

__What does this kernel intend to achieve?__​

The main goal here is to have a kernel that not only has extra features and improvements, but is also clean and concise, having only features that are truly needed from a kernel that will run alongside a Android 12.1-based ROMs and beyond.

This kernel does have a battery life bias, but will still scale up to maximum performance when needed. Gaming variants basically mean that the kernel comes overclocked by default, no additional tweaking is needed.

__Does it have any features over official?__​

Yes, quite a few. The kernel is divided into two variants and their respective gaming modes, here are the features all variants have over Lineage's 4.4 kernel:

GPU and CPU/Cache Undervolt for better power efficiency on load.

Almost no unnecessary debug flags on the kernel for better kernel performance.

USB Fast Charge.

KCAL Control (although not really needed for LOS, other custom roms might surface with the need for this)

Multiple cherry-picks from different msm8996 sources with fixes and improvements to the kernel.

Built with newer GCC toolchains (GCC 12) with optimized inlining and other compiler optimizations for 8996

Updated LZ4 libraries for faster ZRAM

Cryptographic function optimizations, slightly improving the phone's performance when calculating hashes and so on.

The Extreme variant really only has one extra feature over the Safe variant, that being:

Stronger Undervolts (i'm talking about borderline unstable undervolts here, so i really recommend that you flash the Safe variant first).

The "Gaming" versions are basically overclocked variants of Safe and Extreme, which means they also only differ in undervolt levels.

__Are there any bugs?__​

As of now, the only actual kernel bug the V20 and G5 have comes down to their insanely over-engineered USB ports. You can't use them as a MacBook by plugging a fully powered hub into them like you could in 3.18 yet.

__Download & Installation__​

The folders containing each kernel variant can be found here (use Ctrl+F to search for your phone model and kernel variant, there's just too many versions to neatly organize in folders and such as it would take too much time):

GITHUB KERNEL RELEASES

To install the kernel, it's the standard procedure:

Download the kernel you want for your device

Place it into the phone's storage

Boot into recovery, select it and then flash

Wipe Dalvik Cache (optional, you only need to wipe it if you face random Force Closes, but it is a good practice anyway)

Reboot.

Use AIDA64, go into the "Android" tab and look for "Kernel Version", where it should show "4.4.302-Swan2K-...".

Enjoy the experience!

As usual, we do not take responsibility if you fail to make backups before flashing this kernel, you have been warned!

__Changelog__​

Spoiler content hidden.

__Closing notes__​

If you have any suggestion or idea that can possibly improve the kernel, do not hesitate to share, i will try to implement it when time allows it. If there are any problems that only happen on this version of the kernel, submit a log and i'll try to look at it.

I'll say it again: Please DO NOT bother official Lineage with bugs if you're running this kernel, only lineage's official kernel is supported over there.

___________________________________

The kernel's source code can be found here. It is also shared between G5 and G6!

And last but not least, special thanks to those that helped this major revamp on LGE_8996 become a reality by developing, testing, and even helping things indirectly, the dev community on all three phones had to come together for this:

@xxseva44

@npjohnson

@askermk2000

@thewolfsvk

@ROMSG

@bernardobas

@VortexHD

@Michele_Catella

And many, many others