Kernel V4.4 New _ Feature states in Android 11 ROMs - LGE-G5-G6-V20/msm8996_lge_kernel Wiki

Why Android 11?

While we already have 12.1 booting at this stage, this table focuses on 11 since all those features are known to work in 3.18 to some extent, and we can't run 3.18 on 12+ without some major compromises. So 11 is a great way of testing issues with the kernel.

Table of features

For features with an appended asterisk, refer to the section right below this table.

Feature LG G5 (H1/Alice) LG G6 (Lucye) LG V20 (Hplus/Elsa)
Boot Works Works Works
Bluetooth Works Works Works
Video over USBC Works Untested Works
Touch Works Works Works
Wi-fi Works(2.4GHz) Works (2.4GHz) Works (2.4 & 5GHz)
Hotspot Works(2.4GHz) Works (2.4GHz) Works (2.4 & 5GHz)
Fingerprint Works Works Works
Gyroscope Works Works Works
Proximity Sensor Works Untested Works
Light Sensor Works Untested Works
Display Works Works Works
Barometer Works Untested Works
Compass Works Works Works
Accelerometer Works Works Works
Other LGE/QTI sensors Works Untested Works
GPS Works Untested Works
Calls over 3G Untested Untested Works
Calls over 4G Not working* Not working* Not working*
Cellular data Untested Untested Works
MSM8996 clock scaling Works Works Works
SoC Audio drivers Works Works Works
Adreno KGSL stack Works Works Works
Vibration(needs selinux permissive) Works Works Works
Media decoding Works Works Works
Battery detection Works Works Works
NFC Untested Untested Works
MicroSD slot Untested Untested Works
Screen Recorder Untested Untested Works
USB gadget mode Works Works Works
Speaker and Headphone Jack Works Works Works
Quad-DAC Unavailable(module) Untested Works
Wireless Charging Unavailable Works Unavailable
Microphone Works Works Works
FM Radio Works Not working Works
USB charging Works Works Works
USB OTG Works* Untested Works*
Audio over HDMI Works Unavailable Works
Temp sensors Works Works Works
Infrared Works* Unavailable Works*
Camera Untested Works Works*
Ethernet over USBC Unavailable? Unavailable? Works
Modules support Not working Unavailable Unavailable
Waterproof property Unavailable Not working Unavailable

What works, but is either finicky or has major caveats:

  • USB OTG (Most of the time it works, but a few states such as PWRED_ACCESSORY aren't as feature complete as they should be)
  • Infrared (Kernel-side too, it's been buggy for years, but some improvements were done in the suspend modes) (G5/V20)
  • Camera (freezes randomly on the V20, and we're not sure if it's due to LGE's code in the kernel, or blob issues)

What doesn't work

  • Calls over 4G (It's not a kernel issue, but actually a result of LGE not open-sourcing their VoLTE frameworks)

We might be missing some of those phones' features, so this section will be updated to include them as we discover and/or fix things.

Possible steps to get the remaining features working

  • The infrared blaster currently hangs after sending a pattern, only responding again after suspending and resuming. Possible approaches are altering the IR Hal to deal with that; finding a way to force the driver to "restart" a few milliseconds after sending the pattern; or tracking the bug down to qcom's serial drivers, since IR worked on older revisions of 3.18.