[ROM][UNOFFICIAL][12L] LineageOS 19.1 for LG V30 (joan)

Search This thread
New build: 20220911

To dirty flash from LineageOS 18.1:
  • You must flash the ROM from recovery manually. LOS Updater forbids automatic major version upgrades. (i.e. A11 -> A12)
  • You need to flash this patch to remove the password database. Removing your passwords from Settings is not enough, it will crash on boot. (thanks lllgts)
  • If you had gapps, you must flash Android 12 gapps BEFORE BOOTING INTO A12.

Changelog:
  • September 2022 security patches
  • SELinux cleanup (tried to anyway)
  • FM Radio support has been re-added
  • The search bar in Settings app is now fixed
  • There was an attempt to fix Ok Google hotword enrollment which affected PE+ users (which I'm pretty sure also applies to ours). Do let me know if this doesn't work.

Known issues:
  • Dirty flashing may break lockscreen if you have a password set. If it happens to you then flash above password patch. If not, you can safely ignore this note.
  • There are reports of 20220911 build causing Proton* apps to complain about Keystore errors.
    • Please provide a log if this happens. I personally do not use any Proton* services, so I do not know.
    • For now, reinstall the apps, that seems to work. I don't know if it will happen again on next build, or what the issue is.

Available through the built-in updater or at DL link in OP.
 
Last edited:
  • Like
Reactions: Ciross

Ciross

Member
Nov 5, 2014
20
7
LG V30
I use this ROM for two weeks now. Not any probleme with it. Tanks a lot for your work!
Anyone test the encryption ?
 
I flashed over the August build
Getting a systemui crash on boot
And saw this message from proton VPN app
Protonmail app wont even launch
 

Attachments

  • Screenshot_20220911-102036_Proton VPN.png
    Screenshot_20220911-102036_Proton VPN.png
    365.8 KB · Views: 25
I use this ROM for two weeks now. Not any probleme with it. Tanks a lot for your work!
Anyone test the encryption ?
Not working, according to Telegram users. I don't know what's needed for it, nor have plans to get it working. It just isn't that important to me personally.
I flashed over the August build
Getting a systemui crash on boot
And saw this message from proton VPN app
Protonmail app wont even launch
I'm not sure why the SystemUI crash happens. Have you flashed the password remove zip?
As for the Proton stuff, the error implies something that is unfixable, because Keystore is a closed-source file. We had issues with the original Keystore stuff, so we switched to the V40 files which allowed the phone to have a working lock screen, but have minor issues afterwards. We could take from another device, but no one really knows for now. It's a miracle that the August build even worked for the Proton apps because I changed nothing in regards to that between August -> September?

But maybe it was a minor fix that broke something. Logs are always helpful, and mandatory if you want me to fix anything.

LineageOS 18.1 still uses the original V30 files. You may have to use that for now, if Proton is important to you.
 
  • Like
Reactions: tech_infinity

paulflano

New member
Sep 17, 2022
1
3
Just want to drop a message and say thank you for the ongoing support, guides and helpful notes with every release. I was about to replace my v30 a month ago due to slow down, battery problems and graphics glitches.
Have the above version of lineage on my lg v30 and it's like having a new phone. You guys are literally saving the planet in e-waste! thank you
 

flangefrog

Member
Jun 27, 2011
10
1
Auckland, New Zealand
This rom has mostly been working well for me on my V30+. Main issues are crashing with Netflix or Chromium based browsers. Netflix crashes immediately, while Chrome crashes after a few seconds or minutes. I've attached a logcat crash dump from both apps.

Notable is that in both cases, Widevine crashes first, then the app crashes. So I'm pretty sure this issue is related to Widevine. I installed a couple of DRM info apps. The first crashed on startup, the second gives no info about Widevine.

I did install magisk earlier, but it's now uninstalled. Not sure if that had anything to do with this.

Any ideas how to fix Widevine?

One other issue is that with Google Photos, I get the "Review out-of-sync changes" whenever I make a change on the Photos web app. Aparrently this can be fixed by granting Google Photos the SYSTEM_GALLERY role. However this is only possible when Photos is a preinstalled system app. I had installed Google Photos by using NikGApps Omni, but app info still shows "App details: App installed from Google Play Store".

More info: https://www.xda-developers.com/android-11-google-photos-trash-fix/
 

Attachments

  • chrome.txt
    20.1 KB · Views: 8
  • chrome2.txt
    20.1 KB · Views: 0
  • netflix.txt
    18.1 KB · Views: 1
  • netflix2.txt
    18.1 KB · Views: 0
  • Screenshot_20220926-234807_DRM Info.png
    Screenshot_20220926-234807_DRM Info.png
    243.8 KB · Views: 14

flangefrog

Member
Jun 27, 2011
10
1
Auckland, New Zealand
Ok, so I don't really know what I'm doing but I've made a lot of progress on the widevine crashing issue.

I've found newer widevine files from the LG G7 here: https://github.com/SGCMarkus/proprietary_vendor_lge/tree/lineage-19.1/joan/proprietary/vendor

I've used FX file explorer to mount the root directory read-write and copy the following files from the above repository
Code:
system/vendor/bin/hw/[email protected]
system/vendor/etc/init/[email protected]
system/vendor/etc/vintf/manifest/[email protected]
system/vendor/lib64/libwvhidl.so

I've modified system/vendor/etc/vintf/manifest.xml and removed the following code, since I believe it's not needed with the new file in the manifest directory
XML:
<hal format="hidl">
        <name>android.hardware.drm</name>
        <transport>hwbinder</transport>
        <version>1.1</version>
        <interface>
            <name>ICryptoFactory</name>
            <instance>widevine</instance>
        </interface>
        <interface>
            <name>IDrmFactory</name>
            <instance>widevine</instance>
        </interface>
        <fqname>@1.1::ICryptoFactory/widevine</fqname>
        <fqname>@1.1::IDrmFactory/widevine</fqname>
</hal>

And deleted
Code:
system/vendor/bin/hw/[email protected]
system/vendor/etc/init/[email protected]

I set full execute permissions (0755) on system/vendor/bin/hw/[email protected]

After doing this and restarting, I can run system/vendor/bin/hw/[email protected] as root and all the DRM info apps show widevine running (level 1), Netflix works fine and Chrome does not crash anymore.

The widevine service does not run automatically because of an SELinux error which shows up on dmesg
Bash:
init: Control message: Could not ctl.interface_start for '[email protected]::IDrmFactory/widevine' from pid: 779 (/system/bin/hwservicemanager): File /vendor/bin/hw/[email protected] (labeled "u:object_r:vendor_file:s0") has incorrect label or no domain transition from u:r:init:s0 to another SELinux domain defined. Have you configured your service correctly? https://source.android.com/security/selinux/device-policy#label_new_services_and_address_denials

I'm not sure why this is, as the system/vendor/etc/selinux/vendor_file_contexts file includes the following code with a wildcard for version 1-4 which should cover this file.

Code:
/(vendor|system/vendor)/bin/hw/android\.hardware\[email protected]\.[1-4]-service.widevine   u:object_r:hal_drm_widevine_exec:s0

Using The SELinux Switch I set SELinux to permissive mode and everything works fine.

I've attached a zip of the files that need to be copied (including a modified manifest.xml). You just need to delete the mentioned files manually.

Edit: while everything looks to fine in the DRM info apps and it does stop the apps crashing, the widevine DRM does not work and DRM protected videos do not play. I assume this is because of a mismatch between the widevine 1.3 library and either the hardware or android 12.

Can anyone help with the SELinux issue? I assume it's an easy fix for someone who knows what they're doing.
 

Attachments

  • widevine-1.3.zip
    1.3 MB · Views: 3
  • Screenshot_20220927-073050_DRM Info.png
    Screenshot_20220927-073050_DRM Info.png
    196.6 KB · Views: 11
  • Screenshot_20220927-072947_Netflix.png
    Screenshot_20220927-072947_Netflix.png
    128.1 KB · Views: 10
Last edited:

flangefrog

Member
Jun 27, 2011
10
1
Auckland, New Zealand
I fixed the SELinux error. Not sure how permanent it will be but there's no semanage command.

Using adb shell or adb root
Bash:
su
mount -o rw,remount /
cd /system/vendor/bin/hw
chcon u:object_r:hal_drm_widevine_exec:s0 [email protected]
ls -Z | grep drm
reboot

Getting widevine logs
Bash:
adb logcat -c
adb logcat -s WVCdm CryptoHal DrmWidevineDash'

After trying to play a film in Netflix:
Code:
09-27 11:23:07.844   985  1040 I WVCdm   : [cdm_engine.cpp(314):AddKey] Adding key: session_id = sid11
09-27 11:23:07.931  5200 19666 D CryptoHal: found [email protected] ICryptoFactory clearkey
09-27 11:23:07.932  5200 19666 D CryptoHal: found [email protected] ICryptoFactory widevine
09-27 11:23:07.933  5200 19666 D CryptoHal: found [email protected] ICryptoFactory clearkey
09-27 11:23:07.934  5200 19666 D CryptoHal: found [email protected] ICryptoFactory widevine
09-27 11:23:07.934   985  1040 I WVCdm   : [app] calling virtual Return<void> wvdrm::hardware::drm::V1_3::widevine::WVCryptoFactory::createPlugin(const hidl_array<uint8_t, 16> &, const hidl_vec<uint8_t> &, android::hardware::drm::V1_3::ICryptoFactory::createPlugin_cb)
09-27 11:23:07.935   985  1040 I WVCdm   : [app] calling virtual Return<void> wvdrm::hardware::drm::V1_3::widevine::WVCryptoFactory::createPlugin(const hidl_array<uint8_t, 16> &, const hidl_vec<uint8_t> &, android::hardware::drm::V1_3::ICryptoFactory::createPlugin_cb)
09-27 11:23:07.935   985  1040 I WVCdm   : [cdm_engine.cpp(763):QuerySessionStatus] Querying session status: session_id = sid11
09-27 11:23:08.565   985  1040 I WVCdm   : [cdm_engine.cpp(517):QueryStatus] Querying status
09-27 11:23:08.568   985  1040 I DrmWidevineDash: hlos api version =  15
09-27 11:23:08.568   985  1040 I DrmWidevineDash: tz api version =  15
09-27 11:23:08.568   985  1040 I WVCdm   : [cdm_engine.cpp(237):GenerateKeyRequest] Generating key request: session_id = sid11
09-27 11:23:08.571   985  1040 D DrmWidevineDash: #wv:_oecc90[8351] info: "Build Information: API_Version: 15.0061 LibOEMCrypto_Version: 5.0 TA_Version: 15.0050"
09-27 11:23:08.577   985  1040 I DrmWidevineDash: hlos api version =  15
09-27 11:23:08.577   985  1040 I DrmWidevineDash: tz api version =  15
09-27 11:23:08.581   985  1040 I DrmWidevineDash: hlos api version =  15
09-27 11:23:08.581   985  1040 I DrmWidevineDash: tz api version =  15
09-27 11:23:08.582   985  1040 I DrmWidevineDash: hlos api version =  15
09-27 11:23:08.582   985  1040 I DrmWidevineDash: tz api version =  15
09-27 11:23:08.953   985  1040 I WVCdm   : [cdm_engine.cpp(314):AddKey] Adding key: session_id = sid11

So there's no errors displayed but still no protected content will play. I've tried the libwvhidl.so from a V60 (also widevine 1.3), and also the files from a V40 (widevine 1.2) but still the same issue. I wonder if different firmware would help, but while I can copy the firmware files from my phone, I can't figure out where to find them in the rom - they're copied to /mnt/vendor/persist-lg/firmware at runtime.
 
Last edited:

flangefrog

Member
Jun 27, 2011
10
1
Auckland, New Zealand
Ok, well I've got it working, but only with widevine L3.

I found that it's important to have the correct liboemcrypto.so files.
Code:
/system/vendor/lib/liboemcrypto.so
/system/vendor/lib64/liboemcrypto.so

I'm using the files from the V60 Android 11 rom V600TM20n_00_OPEN_CA_OP_0209.kdz

After these have been copied, widevine works, but only in level 3 so no HD in Netflix. Netflix does need to be stopped and cache/app data cleared or you have to restart it a few times.

I've tried the LG G7 files, and LG V40 files, but although both show widevine L1 neither of them lets you play any content. Possibly a different set of files would let you use L1? The LG V60 has an official Android 12 update so the files from that rom might be good to try. Edit: nope, it's no better.
 

Attachments

  • Screenshot_20220927-131138_DRM Info.png
    Screenshot_20220927-131138_DRM Info.png
    181.4 KB · Views: 14
  • Screenshot_20220927-131121_Netflix.png
    Screenshot_20220927-131121_Netflix.png
    114.4 KB · Views: 14
  • widevine-1.3-lg-v60.zip
    1.7 MB · Views: 1
Last edited:
As far as I remember Widevine straight up doesn't work. May have to revert to L3.

It's been a known issue with the V30 for a long time. Currently I'm using V30 blobs for it (we had G7 before, but I reverted it just to see what it'd do.) I see other official LOS devices drop Widevine entirely if L1 is falsely reported, so I may do just that for the next release.

Should note that L1 didn't properly work even with SELinux as permissive (as has been the case for the last 4 years.)
 
I can't figure out where to find them in the rom - they're copied to /mnt/vendor/persist-lg/firmware at runtime.
Firmware is symlinked to /vendor/firmware from persist-lg during compilation. persist-lg contains the firmwares by default, so we just use those. In stock, they are cp'd using cpfirmware, but it is no longer allowed with later Android versions as /vendor is now read-only.

I doubt kanging firmwares would fix it though. You can try to build it with different blobs by removing the symlink stuff from Android.mk and adding it to the vendor tree/proprietary-files.txt.
 

tomczyslaws

New member
Sep 21, 2021
3
1
I have a problem with the lack of voice in the navigation. Text-to-speech doesn't work correct. I cant't open option text to speech in settings. Installing an alternative RHVoice solution does not help. I attach the recording.
 

Attachments

  • screen-20221113-161932.mp4
    28 MB · Views: 0

zepherz

New member
Oct 28, 2022
1
1
Welllll after spending more time than I ever want to admit wrestling with this, I finally fixed the wifi problem.
tldr:
  1. Stock Pie (I used the flashable US998 20B zip file found on this forum)
  2. Clean wipe
  3. Reflash twrp (or else stock recovery will replace it)
  4. Flash a different a11 rom than LOS 18.1 (I used havoc 4.12)
  5. Gapps 11 (maybe not really necessary but just to be sure)
  6. Restart to system to check if wifi works (if not then you're out of luck I guess)
  7. Dirty flash (aka wipe nothing) LOS 18.1
  8. Gapps, yada, yada
  9. Profit
I was having the wifi issue and this method worked for me but I had to start with LGUP full partition DL of US998 30b (stock Pie) rather than using the TWRP flashable version.

I am experiencing a couple issues still with version: lineage-19.1-20220911-UNOFFICIAL-joan
  1. Always: Lack of voice in the navigation (google maps and osmand)
  2. Intermittent: GPS (location) functionality. Some days it works, some days it doesn't. A toast notification says "Position not yet known."
  3. Intermittent: Missed calls that never ring my phone, nor show up in call history list. Appears to be random and not dependent on which contact or if they are in the contact list at all. Doesn't drop mid-call but just fails to connect or notify of a call in the first place.
  4. Intermittent: Charge speed is sometimes limited to a very small value and the phone charges at 5%/hour or even discharges when it indicates that it should be charging. This happens with wired and wireless charging.
  5. Always: SELinux permission errors/denials when trying to write to external SD card (tried with FX File Explorer, Solid Explorer, built in files app). Tried SD card formatted as exfat and ext4. Full read/write is successful on both filesystem types after using sudo /system/bin/setenforce 0.
Relevant SELinux denials were captured below with sudo logcat | egrep "testfile|Testfolder"

Code:
10-26 18:57:41.672   704   704 W Thread-41: type=1400 audit(0.0:1817): avc: denied { create } for name="testfile.txt" scontext=u:r:untrusted_app_29:s0:c12,c257,c512,c768 tcontext=u:object_r:sdcardfs:s0 tclass=file permissive=0 app=nextapp.fx
10-28 15:51:46.093  8693  8693 W Thread-14: type=1400 audit(0.0:1787): avc: denied { create } for name="testfile.txt" scontext=u:r:untrusted_app:s0:c22,c256,c512,c768 tcontext=u:object_r:sdcardfs:s0 tclass=file permissive=0 app=pl.solidexplorer2
10-28 16:00:39.313 16760 16760 W Binder:16760_3: type=1400 audit(0.0:2133): avc: denied { create } for name="Testfolder" scontext=u:r:platform_app:s0:c512,c768 tcontext=u:object_r:sdcardfs:s0 tclass=dir permissive=0 app=com.android.externalstorage
 
  • Like
Reactions: lifehackerhansol
Long time no see!

New build: 20221115

Changelog:
  • October/November 2022 security patches
  • Further SELinux relabeling (specifically, persist-lg was aligned with stock)
Known issues:
  • Keystore remains broken. If you are dirty flashing, flash https://t.me/LGV30U/1373
  • Proton* apps will (likely still) complain about Keystore errors. Issue appears to be the same as above. For now, reinstall the apps to get it working.
Available through the built-in updater or at DL link in OP.
 
I was having the wifi issue and this method worked for me but I had to start with LGUP full partition DL of US998 30b (stock Pie) rather than using the TWRP flashable version.

I am experiencing a couple issues still with version: lineage-19.1-20220911-UNOFFICIAL-joan
  1. Always: Lack of voice in the navigation (google maps and osmand)
  2. Intermittent: GPS (location) functionality. Some days it works, some days it doesn't. A toast notification says "Position not yet known."
  3. Intermittent: Missed calls that never ring my phone, nor show up in call history list. Appears to be random and not dependent on which contact or if they are in the contact list at all. Doesn't drop mid-call but just fails to connect or notify of a call in the first place.
  4. Intermittent: Charge speed is sometimes limited to a very small value and the phone charges at 5%/hour or even discharges when it indicates that it should be charging. This happens with wired and wireless charging.
  5. Always: SELinux permission errors/denials when trying to write to external SD card (tried with FX File Explorer, Solid Explorer, built in files app). Tried SD card formatted as exfat and ext4. Full read/write is successful on both filesystem types after using sudo /system/bin/setenforce 0.
Relevant SELinux denials were captured below with sudo logcat | egrep "testfile|Testfolder"

Code:
10-26 18:57:41.672   704   704 W Thread-41: type=1400 audit(0.0:1817): avc: denied { create } for name="testfile.txt" scontext=u:r:untrusted_app_29:s0:c12,c257,c512,c768 tcontext=u:object_r:sdcardfs:s0 tclass=file permissive=0 app=nextapp.fx
10-28 15:51:46.093  8693  8693 W Thread-14: type=1400 audit(0.0:1787): avc: denied { create } for name="testfile.txt" scontext=u:r:untrusted_app:s0:c22,c256,c512,c768 tcontext=u:object_r:sdcardfs:s0 tclass=file permissive=0 app=pl.solidexplorer2
10-28 16:00:39.313 16760 16760 W Binder:16760_3: type=1400 audit(0.0:2133): avc: denied { create } for name="Testfolder" scontext=u:r:platform_app:s0:c512,c768 tcontext=u:object_r:sdcardfs:s0 tclass=dir permissive=0 app=com.android.externalstorage
Sorry, I built the ROM before I saw this report. I will look at it, thanks!

Right now, I'm reworking the kernel, so it may fix the GPS problem. I'm not too certain about the others but it's definitely worth looking at.
 

Koile

Senior Member
Oct 11, 2009
53
6
I just updated from 20220911 to 20221115 via the builtin updater. Unfortunately I can't log in to my phone any more, because everytime I try to unlock the screen (i.e. I enter my PIN), it just blanks and shows the lockscreen again.
Will the quoted flash-file help me with this issue?
Is there any other way of downloading it? I don't have Telegram and don't want to install it.
 
I just updated from 20220911 to 20221115 via the builtin updater. Unfortunately I can't log in to my phone any more, because everytime I try to unlock the screen (i.e. I enter my PIN), it just blanks and shows the lockscreen again.
Will the quoted flash-file help me with this issue?
Is there any other way of downloading it? I don't have Telegram and don't want to install it.
i had the same issue on 911 build, the workaround was to enter your default security once on bootup, then click anywhere on the screen besides 'systemui failed' message (do not select either)...the screen blanks....then use the fingerprint sensor to unlock....which brings you to your default launcher home. Sometimes the fingerprint sensor may report as unavailable, and I would reboot and try again, which works 98% of the time :D
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    Welllll after spending more time than I ever want to admit wrestling with this, I finally fixed the wifi problem.
    tldr:
    1. Stock Pie (I used the flashable US998 20B zip file found on this forum)
    2. Clean wipe
    3. Reflash twrp (or else stock recovery will replace it)
    4. Flash a different a11 rom than LOS 18.1 (I used havoc 4.12)
    5. Gapps 11 (maybe not really necessary but just to be sure)
    6. Restart to system to check if wifi works (if not then you're out of luck I guess)
    7. Dirty flash (aka wipe nothing) LOS 18.1
    8. Gapps, yada, yada
    9. Profit
    I was having the wifi issue and this method worked for me but I had to start with LGUP full partition DL of US998 30b (stock Pie) rather than using the TWRP flashable version.

    I am experiencing a couple issues still with version: lineage-19.1-20220911-UNOFFICIAL-joan
    1. Always: Lack of voice in the navigation (google maps and osmand)
    2. Intermittent: GPS (location) functionality. Some days it works, some days it doesn't. A toast notification says "Position not yet known."
    3. Intermittent: Missed calls that never ring my phone, nor show up in call history list. Appears to be random and not dependent on which contact or if they are in the contact list at all. Doesn't drop mid-call but just fails to connect or notify of a call in the first place.
    4. Intermittent: Charge speed is sometimes limited to a very small value and the phone charges at 5%/hour or even discharges when it indicates that it should be charging. This happens with wired and wireless charging.
    5. Always: SELinux permission errors/denials when trying to write to external SD card (tried with FX File Explorer, Solid Explorer, built in files app). Tried SD card formatted as exfat and ext4. Full read/write is successful on both filesystem types after using sudo /system/bin/setenforce 0.
    Relevant SELinux denials were captured below with sudo logcat | egrep "testfile|Testfolder"

    Code:
    10-26 18:57:41.672   704   704 W Thread-41: type=1400 audit(0.0:1817): avc: denied { create } for name="testfile.txt" scontext=u:r:untrusted_app_29:s0:c12,c257,c512,c768 tcontext=u:object_r:sdcardfs:s0 tclass=file permissive=0 app=nextapp.fx
    10-28 15:51:46.093  8693  8693 W Thread-14: type=1400 audit(0.0:1787): avc: denied { create } for name="testfile.txt" scontext=u:r:untrusted_app:s0:c22,c256,c512,c768 tcontext=u:object_r:sdcardfs:s0 tclass=file permissive=0 app=pl.solidexplorer2
    10-28 16:00:39.313 16760 16760 W Binder:16760_3: type=1400 audit(0.0:2133): avc: denied { create } for name="Testfolder" scontext=u:r:platform_app:s0:c512,c768 tcontext=u:object_r:sdcardfs:s0 tclass=dir permissive=0 app=com.android.externalstorage
  • 6
    LineageOS is a free, community built, aftermarket firmware distribution of Android 12, which is designed to increase performance and reliability over stock Android for your device.

    * Your warranty is now void.
    (But I mean it's probably already void at this point... bleh.)

    * We are not responsible for bricked devices, dead SD cards,
    * thermonuclear war, or you getting fired because the alarm app failed.
    * Please do some research if you have any concerns about features
    * included in this ROM before flashing!
    * YOU are choosing to make these modifications and if
    * YOU point the finger at us for messing up your device,
    * WE will laugh at you.

    LineageOS is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. You will need to provide your own Google Applications package (gapps). LineageOS does still include various hardware-specific code, which is also slowly being open-sourced anyway.

    Base source code is available in the LineageOS GitHub repo. And if you would like to contribute to the project, please visit our Gerrit Code Review.

    Compatibility Notes:
    • You need to be on Pie firmware or this won't work.
    • This should work on H932 (T-Mobile.) I do not have a way to test. Take caution.
    • VoLTE and VoWiFi doesn't work and probably never will.
    • Keystore has issues when dirty flashing. This breaks unlocking the phone on first boot after dirty flash.
    • There are reports of 20220911 build causing Proton* apps to complain about Keystore errors.
      • For now, reinstall the apps, that seems to work. I don't know if it will happen again on next build, or what the issue is.
    Downloads:
    Device source code:
    Kernel source code:
    V30 development (including other ROMs) usually happens over at Telegram: https://t.me/LGEV30.
    • You can still use this thread for bug reports.
    Credits:
    • @SGCMarkus (A12 bring up)
    • Slowhy (A12 maintenance and kernel BPF backport)
    • LineageOS team
    4
    New build: 20220815

    As of this build, we are LineageOS 19.1.

    To dirty flash from LineageOS 18.1:

    - You need to flash this patch to remove the password database. Removing your passwords from Settings is not enough, it will crash on boot. (thanks lllgts)
    https://t.me/LGV30U/1373
    - If you had gapps, you must flash Android 12 gapps BEFORE BOOTING INTO A12.

    Changelog:
    - Android 12L
    - Kernel upgraded to 4.4.302
    - BPF fully backported (thanks Slowhy)
    - Minor SELinux fixes to make it work on A12

    Available at DL link in OP. While the built-in updater can download it, it will not allow you to flash from it directly. Use a custom recovery to dirty flash (which you need to anyway for the password patch.)
    3
    Fantastic, thank you very much for bringing android 11 to this rather old device. However after clean wiping and flashing the 0810 version I couldn't use wifi at all (the mac address has become unavailable, device name and phone number unknown). The system UI also crashes from time to time (I think because of the unavailable wifi). The mobile network seems to work just fine though. I tried restoring modem and efs from a backup but couldn't solve the problem. Currently downloading the 0722 version to test if it work, I will update if I could fix this myself. Also the system's boot time seems to be quite long (1~2 minutes each) in comparison to the previous LOS 16.1 on the same device?
    Based on your post that you were using LOS 16.0 (16.1 did not exist), I will take that you did not update your device stock ROM to Pie. You need to do so, or a lot of things don't work.
    3
    New build: 20220722

    - Fixed fingerprint registration
    - Fixed Wi-Fi issues (files taken from LG V40)

    I'll be going back to monthly build schedule after this :D

    Available through the built-in updater or at DL link in OP.
    3
    Welllll after spending more time than I ever want to admit wrestling with this, I finally fixed the wifi problem.
    tldr:
    1. Stock Pie (I used the flashable US998 20B zip file found on this forum)
    2. Clean wipe
    3. Reflash twrp (or else stock recovery will replace it)
    4. Flash a different a11 rom than LOS 18.1 (I used havoc 4.12)
    5. Gapps 11 (maybe not really necessary but just to be sure)
    6. Restart to system to check if wifi works (if not then you're out of luck I guess)
    7. Dirty flash (aka wipe nothing) LOS 18.1
    8. Gapps, yada, yada
    9. Profit
    This wifi problem seems to be rather random, as it was mentioned here:

    Maybe it is a bug in LOS 17+.
    What did NOT work (I just list a few here so that someone else in the future won't waste as much time as I did):
    • Use a backup modem, reflash persist, modem, rct, etc. from any stock version (I tried US998 20e, f, g, h, 30b)
    • Use a TWRP efs or modem backup from any previous versions
    • Use a different modem img from any other dervice (Mine was originally H930 before ulbl so I also tried other version, nothing worked)
    • Create folders in /persist with adb shell
    • Praying to a higher being