[LG Optimus 4X HD] oF2pks:
4X HD has two id: p880 & 3x; I will add 3x (assert) in next build; for now take time to follow :

1 (optional) restore lg JB v20c(d) cwm nandroid & check rom OK

2 flash, via cwm, twrp : https://xdaforums.com/attachment.php?attachmentid=4069774&d=1489179175

3 (optional) make a twrp backup of v20c(d)

4 install Los13 (OR ANY OTHER CUSTOM roms !)

You can also edit/delete 1st line assert of ota.zip/META-INF...updaterscript

After (optional 1&3) you will be able to add/install/multiboot lg JB (on a 2nd twrp slot with backup).

[B][U]assert(getprop("ro.product.device") == "p880" || getprop("ro.build.product") == "p880" || abort("This package is for device: p880; this device is " + getprop("ro.product.device") + "."););[/U][/B]
ui_print("Target: lge/x3_open_eu/x3:4.1.2/JZO54K/P88020c.20d4ae5fac:user/release-keys");
ifelse(is_mounted("/system"), unmount("/system"));
package_extract_dir("install", "/tmp/install");
set_metadata_recursive("/tmp/install", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644);
set_metadata_recursive("/tmp/install/bin", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755);
mount("ext4", "EMMC", "/dev/block/platform/sdhci-tegra.3/by-name/APP", "/system", "");
[B][U]run_program("/tmp/install/bin/backuptool.sh", "backup");[/U][/B]
unmount("/system");
[HIDE]if is_mounted("/data") then
package_extract_file("META-INF/org/lineageos/releasekey", "/tmp/releasekey");
run_program("/tmp/install/bin/otasigcheck.sh") != "31744" || abort("Can't install this package on top of incompatible data. Please try another package or run a factory reset");
else
mount("ext4", "EMMC", "/dev/block/platform/sdhci-tegra.3/by-name/UDA", "/data", "");
package_extract_file("META-INF/org/lineageos/releasekey", "/tmp/releasekey");
run_program("/tmp/install/bin/otasigcheck.sh") != "31744" || abort("Can't install this package on top of incompatible data. Please try another package or run a factory reset");
unmount("/data");
endif;
show_progress(0.750000, 0);
ui_print("Patching system image unconditionally...");
block_image_update("/dev/block/platform/sdhci-tegra.3/by-name/APP", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat");
ui_print("Verifying the updated system image...");
if range_sha1("/dev/block/platform/sdhci-tegra.3/by-name/APP", "38,0,32770,32865,32867,33379,65535,65536,65538,98304,98306,98401,98403,98915,131071,131072,131074,163840,163842,163937,163939,164451,179071,196608,196610,229376,229378,229473,229475,262144,262146,294912,294914,295009,295011,327680,327682,360448,360450") == "f1a84c41fd220a137cfb1582cf42d1c68349cf19" then
if range_sha1("/dev/block/platform/sdhci-tegra.3/by-name/APP", "54,32770,32865,32867,33379,65535,65536,65538,66050,97792,98304,98306,98401,98403,98915,131071,131072,131074,131586,163328,163840,163842,163937,163939,164451,179071,179583,196096,196608,196610,197122,228864,229376,229378,229473,229475,229987,261632,262144,262146,262658,294400,294912,294914,295009,295011,295523,327168,327680,327682,328194,359936,360448,360450,360962") == "8ac0b97ca3ae5bfbaaec290a7d8d6b71543cdd89" then
ui_print("Verified the updated system image.");
else
abort("system partition has unexpected non-zero contents after OTA update");
endif;
else
abort("system partition has unexpected contents after OTA update");
endif;
show_progress(0.020000, 10);
mount("ext4", "EMMC", "/dev/block/platform/sdhci-tegra.3/by-name/APP", "/system", "");
[B][U]run_program("/tmp/install/bin/backuptool.sh", "restore");[/U][/B]
if (run_program("test", "-f", "/system/addon.d/51-addonsu.sh") == "0" && run_program("test", "-f", "/system/xbin/su") == "0") then
package_extract_file("extra/su", "/system/xbin/su");
set_metadata("/system/xbin/su", "uid", 0, "gid", 2000, "mode", 0755, "selabel", "u:object_r:su_exec:s0");
symlink("/system/xbin/su", "/system/bin/su");
endif;
[B][U]package_extract_dir("exxtra", "/");[/U][/B]
run_program("/sbin/busybox", "sh", "/exxtra.sh");
unmount("/system");
show_progress(0.050000, 5);
package_extract_file("boot.img", "/dev/block/platform/sdhci-tegra.3/by-name/LNX");
show_progress(0.200000, 10);
[/HIDE]

Yes Webview 52 is now integrated, but Lineage is /system/addon compatible (check CODE updaterscript backuptool.sh process), and the addon directory has to be clean (sometimes); check attached screenshot for "clean" addon.

Also if you don't need Gmail, you should move to 'lighter' MicroG (floss) for Playstore only +contact and calendar sync (post#2).

The CODE updaterscript also shows exxtra variation for AudioFX & Music.