• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!
  • Fill out your device list and let everyone know which phones you have!    Edit Your Device Inventory

[ROM][STOCK] H870 10F ROM + IMGs + KDZ

Search This thread

autoprime

Recognized Dev / Inactive Recognized Contributor
Jun 23, 2010
2,638
11,898
FOqifOL.png

OPEN EU LG-H870 10f

Thread best viewed in desktop/mobile browser (not XDA app!).

This thread provides multiple methods for installing 10f on the H870. Everything is based on the "Open EU" variant's files. Methods include using LG Bridge, manually flashing a KDZ with LGUP/UPPERCUT or using TWRP to flash a "ROM" zip. Please read the Install Directions and FAQ sections below as well as using the thread search feature before flashing the COMPLETE zip or posting questions in this thread.


10f Information:
Anti-Rollback Version: 00
Android Version: 7.0
Android security patch level: April 1, 2017
Baseband version: MPSS.TH.2.0.1.c3.1-00014-M8996FAAAANAZM-1.86009.21
Kernel version: 3.18.31-perf-g3a43d2b
Build date: April 17, 2017
Build number: NRD90U
Stock 10f build.prop: Click button below to view..


# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=NRD90U
ro.build.display.id=NRD90U
ro.build.version.incremental=1710718079f38
ro.build.version.sdk=24
ro.build.version.preview_sdk=0
ro.build.version.codename=REL
ro.build.version.all_codenames=REL
ro.build.version.release=7.0
ro.build.version.security_patch=2017-04-01
ro.build.version.base_os=
ro.build.date=Mon Apr 17 18:07:31 KST 2017
ro.build.date.utc=1492420051
ro.build.type=user
ro.build.user=jenkins
ro.build.host=LGEACI5R13
ro.build.tags=release-keys
ro.build.flavor=lucye_global_com-user
ro.product.model=LG-H870
ro.product.brand=lge
ro.product.name=lucye_global_com
ro.product.device=lucye
ro.product.board=msm8996
# ro.product.cpu.abi and ro.product.cpu.abi2 are obsolete,
# use ro.product.cpu.abilist instead.
ro.product.cpu.abi=arm64-v8a
ro.product.cpu.abilist=arm64-v8a,armeabi-v7a,armeabi
ro.product.cpu.abilist32=armeabi-v7a,armeabi
ro.product.cpu.abilist64=arm64-v8a
ro.product.manufacturer=LGE
ro.product.locale=en-GB
ro.wifi.channels=
ro.board.platform=msm8996
# ro.build.product is obsolete; use ro.product.device
ro.build.product=lucye
# Do not try to parse description, fingerprint, or thumbprint
ro.build.description=lucye_global_com-user 7.0 NRD90U 1710718079f38 release-keys
ro.build.fingerprint=lge/lucye_global_com/lucye:7.0/NRD90U/1710718079f38:user/release-keys
ro.build.characteristics=default
# end build properties
#
# from device/qcom/msm8996/system.prop
#
#
# system.prop for msm8996
#

#rild.libpath=/system/lib/libreference-ril.so
rild.libpath=/vendor/lib64/libril-qc-qmi-1.so
#rild.libargs=-d /dev/smd0
persist.rild.nitz_plmn=
persist.rild.nitz_long_ons_0=
persist.rild.nitz_long_ons_1=
persist.rild.nitz_long_ons_2=
persist.rild.nitz_long_ons_3=
persist.rild.nitz_short_ons_0=
persist.rild.nitz_short_ons_1=
persist.rild.nitz_short_ons_2=
persist.rild.nitz_short_ons_3=
ril.subscription.types=NV,RUIM
DEVICE_PROVISIONED=1
# Start in global mode
#ro.telephony.default_network=10

debug.sf.hw=1
debug.egl.hw=1
debug.gralloc.enable_fb_ubwc=1
dalvik.vm.heapsize=36m
dev.pm.dyn_samplingrate=1
persist.demo.hdmirotationlock=false

#ro.hdmi.enable=true
#
# system props for the cne module
#
persist.cne.feature=1

#system prop for enabling/disabling Android XLAT
persist.net.doxlat=false

#system props for the MM modules
media.stagefright.enable-player=true
media.stagefright.enable-http=true
media.stagefright.enable-aac=true
media.stagefright.enable-qcp=true
media.stagefright.enable-scan=true
mmp.enable.3g2=true
media.aac_51_output_enabled=true
mm.enable.smoothstreaming=true
#185971 is decimal sum of supported parsers in AAL
#37491 is decimal sum of supported codecs in AAL
#codecs:(PARSER_)AAC AC3 AMR_NB AMR_WB ASF AVI DTS FLV 3GP 3G2 MKV MP2PS MP2TS MP3 OGG QCP WAV FLAC AIFF APE
mm.enable.qcom_parser=1048575
persist.mm.enable.prefetch=true

# Additional i/p buffer in case of encoder DCVS
vidc.enc.dcvs.extra-buff-count=2

# Set default power mode to low power for encoder
vidc.debug.perf.mode=2

# disable PQ feature by default
vidc.enc.disable.pq=true

#
# system props for the data modules
#
ro.use_data_netmgrd=true
persist.data.netmgrd.qos.enable=true
persist.data.mode=concurrent

#system props for time-services
persist.timed.enable=true

#
# system prop for opengles version
#
# 196608 is decimal for 0x30000 to report version 3.0
# 196609 is decimal for 0x30001 to report version 3.1
# 196610 is decimal for 0x30002 to report version 3.2
ro.opengles.version=196610

# system property for maximum number of HFP client connections
bt.max.hfpclient.connections=1

# System property for cabl
ro.qualcomm.cabl=0

#
# System props for telephony
# System prop to turn on CdmaLTEPhone always
telephony.lteOnCdmaDevice=1

#Simulate sdcard on /data/media
#
persist.fuse_sdcard=true

#system prop for Bluetooth SOC type
qcom.bluetooth.soc=rome

#system prop for wipower support
ro.bluetooth.wipower=false

#Set this true as ROME which is programmed
#as embedded wipower mode by deafult
ro.bluetooth.emb_wp_mode=true

#
#snapdragon value add features
#

#system prop for RmNet Data
persist.rmnet.data.enable=true
persist.data.wda.enable=true
persist.data.df.dl_mode=5
persist.data.df.ul_mode=5
persist.data.df.agg.dl_pkt=10
persist.data.df.agg.dl_size=4096
persist.data.df.mux_count=8
persist.data.df.iwlan_mux=9
persist.data.df.dev_name=rmnet_usb0

#property to enable user to access Google WFD settings
persist.debug.wfd.enable=1
##property to choose between virtual/external wfd display
persist.sys.wfd.virtual=0

#property to enable sde downscale feature for external display
#sdm.debug.downscale_external=1

#property to specify the number of frames to skip before setting hint
sdm.perf_hint_window=50

# system prop for NFC DT
ro.nfc.port=I2C

#property to enable WFD WL solution
ro.vendor.wl_library=libqti-wl.so

#property for vendor specific library
ro.vendor.gt_library=libqti-gt.so
ro.vendor.at_library=libqti-at.so
#sys.games.gt.prof=1

#hwui properties
ro.hwui.texture_cache_size=72
ro.hwui.layer_cache_size=48
ro.hwui.r_buffer_cache_size=8
ro.hwui.path_cache_size=32
ro.hwui.gradient_cache_size=1
ro.hwui.drop_shadow_cache_size=6
ro.hwui.texture_cache_flushrate=0.4
ro.hwui.text_small_cache_width=1024
ro.hwui.text_small_cache_height=1024
ro.hwui.text_large_cache_width=2048
ro.hwui.text_large_cache_height=1024


# enable navigation bar
qemu.hw.mainkeys=0

#property to enable VDS WFD solution
persist.hwc.enable_vds=1

#Enable stm events
persist.debug.coresight.config=stm-events
#property to enable fingerprint
persist.qfp=false

#default pd_enable value
persist.sys.pd_enable=0
#Disable rotator split feature
sdm.debug.disable_rotator_split=1

#Increase cached app limit
#ro.sys.fw.bg_apps_limit=60

# LGE remove qcom default values to change oom values
# property for oom values
#ro.sys.fw.bg_cached_ratio=0.33
#ro.sys.fw.mOomAdj1=0
#ro.sys.fw.mOomAdj2=1
#ro.sys.fw.mOomAdj3=2
#ro.sys.fw.mOomAdj4=3
#ro.sys.fw.mOomAdj5=9
#ro.sys.fw.mOomAdj6=15
#ro.sys.fw.mOomMinFree1=73728
#ro.sys.fw.mOomMinFree2=92160
#ro.sys.fw.mOomMinFree3=110592
#ro.sys.fw.mOomMinFree4=129024
#ro.sys.fw.mOomMinFree5=225000
#ro.sys.fw.mOomMinFree6=325000

# reserved wifi related property
dhcp.ap.macaddress=
dhcp.wlan0.dns1=
dhcp.wlan0.dns2=
dhcp.wlan0.domain=
dhcp.wlan0.gateway=
dhcp.wlan0.ipaddress=
dhcp.wlan0.leasetime=
dhcp.wlan0.mask=
dhcp.wlan0.pid=
dhcp.wlan0.reason=
dhcp.wlan0.result=
dhcp.wlan0.server=
dhcp.wlan0.vendorInfo=
dhcp.p2p.dns1=
dhcp.p2p.gateway=
dhcp.p2p.ipaddress=
dhcp.p2p.leasetime=
dhcp.p2p.mask=
dhcp.p2p.pid=
dhcp.p2p.reason=
dhcp.p2p.result=
dhcp.p2p.server=
dhcp.p2p.vendorInfo=
init.svc.dhcpcd_wlan0=
init.svc.dhcpcd_p2p=
init.svc.p2p_supplicant=
init.svc.wififtmd=
init.svc.iprenew_wlan0=
net.change=
net.dns1=
net.dns2=
wlan.driver.status=

#Camera fullscreen doesn't show navigation bar
Camera.no_navigation_bar=true

#property for game detection feature
debug.enable.gamed=0

#post boot script parsed
sys.post_boot.parsed=0

#Disable face beautification
persist.ts.postmakeup=false
persist.ts.rtmakeup=false

#Enable device orientation sensor
ro.qti.sensors.dev_ori=false
ro.qti.sensors.pmd=false
ro.qti.sensors.sta_detect=false
ro.qti.sensors.mot_detect=false

#
# ADDITIONAL_BUILD_PROPERTIES
#
log.tag.GpsLocationProvider=DEBUG
log.tag.LocationManagerService=DEBUG
log.tag.NlpProxy=DEBUG
log.tag.LocSvc_java=DEBUG
log.tag.LgeGpsIndicator=DEBUG
log.tag.GeofenceHardwareImpl=DEBUG
log.tag.GeofenceManager=DEBUG
log.tag.FlpServiceProvider=DEBUG
log.tag.GeofenceProxy=DEBUG
ro.com.lge.mada=gms_4.0
ro.product.first_api_level=24
ro.build.target_operator=GLOBAL
ro.build.target_country=COM
ro.telephony.default_network=9
persist.sys.store_demo_enabled=0
ro.lge.lcd_default_brightness=145
ro.build.display_manufacture_sn=1
persist.service.bdroid.sap=true
service.bt.support.busytone=true
persist.service.avrcp.browsing2=1
persist.sys.cust.lte_config=true
persist.gsm.sms.disablelog=64
ro.sf.lcd_density=640
persist.sys.strictmode.disable=true
ro.config.vibrate_type=1
persist.service.fg.enable=0
persist.service.crash.enable=0
persist.sys.ssr.restart_level=ALL_ENABLE
ro.frp.pst=/dev/block/bootdevice/by-name/persistent
ro.lge.hl_mode=1
ro.movetosdcard.enable=true
sys.enable_lpm=1
persist.delta_time.enable=true
ro.lge.vib_magnitude_index=0,75,80,90,95,99,110,117
ro.lge.ns.default=1
persist.audio.nsenabled=ON
lge.fm_gain_control_headset=1.3
lge.fm_gain_control_speaker=3.5
persist.audio.voice.clarity=off
persist.audio.handset_rx_type=DEFAULT
ro.qc.sdk.audio.fluencetype=nxp
ro.config.vc_call_vol_steps=7
ro.config.vc_call_vol_default=4
audio.offload.24bit.enable=1
audio.offload.pcm.enable=true
persist.spkr.cal.duration=0
persist.audio.dual_audio=ON
persist.audio.twin_headset=DISABLE
persist.audio.twin_headset_on=0
use.voice.path.for.pcm.voip=false
ro.config.ringtone=01_Life_Is_Good.ogg
ro.config.notification_sound=Crystal.ogg
ro.config.alarm_alert=Life_Is_Good_Alarm.ogg
ro.config.timer_alert=Timer.ogg
audio.offload.gapless.enabled=true
audio.offload.multiple.enabled=true
audio.offload.video=false
audio.offload.pcm.16bit.enable=false
audio.offload.track.enable=false
audio.dolby.ds2.enabled=false
audio.dolby.ds2.hardbypass=false
persist.speaker.prot.enable=true
qcom.hw.aac.encoder=false
audio.hifi_rec.normal_gain=30
audio.hifi_rec.normal_lcf=75
audio.hifi_rec.normal_lmt=-3
audio.hifi_rec.concert_gain=-150
audio.hifi_rec.concert_lcf=0
audio.hifi_rec.concert_lmt=0
audio.hifi_rec.offset_gain=37
lge.config.call_music_ring_attn=10
ro.lge.noise.suppression=1
ro.lge.voice.clarity=1
dalvik.vm.heapstartsize=8m
dalvik.vm.heapgrowthlimit=256m
dalvik.vm.heapsize=512m
dalvik.vm.heaptargetutilization=0.25
dalvik.vm.heapminfree=4m
dalvik.vm.heapmaxfree=16m
ro.config.max_starting_bg=32
ro.sys.fw.bg_apps_limit=64
ro.sys.fw.bg_cached_ratio=0.5
ro.sys.fw.mOomMinFree1=73728
ro.sys.fw.mOomMinFree2=92160
ro.sys.fw.mOomMinFree3=110592
ro.sys.fw.mOomMinFree4=129024
ro.sys.fw.mOomMinFree5=325000
ro.sys.fw.mOomMinFree6=558304
ro.airplane.phoneapp=1
ro.lge.lguiversion=6.0
ro.lge.build.basetag=LAMPNR170209
ro.lge.build.branch=msm8996_n_diva_global_mp_170222
sys.knockon.knockoff.distance=10
ro.lge.lcd_auto_brightness_mode=false
ro.lge.audio_soundexception=true
sys.lge.bnrd=0
ro.lge.op.integration=1
ro.lge.capp_cupss.rootdir=/OP
ro.build.sbp=1
ro.lge.singleca.enable=1
ro.lge.locales.overlay=true
ro.lge.revshare=2015
persist.data.sbp.update=0
ro.lge.sbp.opresize=50
ro.lge.sbp.opresizeratio=50
ro.lge.sbp.opresize_enabled=1
ro.lge.flexgpio=1
ro.lge.capp_ZDi_O=true
lge.zdi.actionsend=false
lge.zdi.onactivityresult=true
lge.zdi.dragdropintent=false
drm.service.enabled=true
wlan.lge.wifidisplay=both
wlan.lge.wfd.bitratecontrol=true
wlan.lge.wfd.source=true
com.lge.splink_screen_off=0
lge.signed_image=true
config.disable_otadexopt=true
persist.service.removelog=0
persist.service.main.enable=0
persist.service.system.enable=0
persist.service.radio.enable=0
persist.service.events.enable=0
persist.service.kernel.enable=0
persist.service.packet.enable=0
persist.service.storage.low=0
persist.service.power.enable=0
persist.service.memory.enable=0
persist.service.ccaudit.enable=0
persist.service.xfrm.enable=0
persist.lg.data.llkklk=false
persist.telephony.oosisdc=false
persist.lg.data.fd=-1
persist.qcril.disable_retry=true
persist.dpm.feature=0
ro.lge.swversion_arb=
ro.lge.swversion=H87010f
ro.lge.swversion_short=V10f
ro.lge.swversion_rev=0
ro.lge.factoryversion=LGH870AT-00-V10f-GLOBAL-COM-APR-17-2017+0
ro.carrier=unknown
ro.vendor.extension_library=libqti-perfd-client.so
persist.radio.apm_sim_not_pwdn=1
persist.radio.sib16_support=1
persist.radio.custom_ecc=1
af.fast_track_multiplier=1
audio_hal.period_size=192
persist.audio.fluence.voicecall=true
persist.audio.fluence.voicerec=false
persist.audio.fluence.speaker=true
tunnel.audio.encode=false
audio.offload.buffer.size.kb=64
audio.offload.pcm.24bit.enable=true
audio.deep_buffer.media=true
audio.offload.multiaac.enable=true
audio.offload.passthrough=true
ro.qc.sdk.audio.ssr=false
audio.safx.pbe.enabled=true
audio.parser.ip.buffer.size=262144
use.qti.sw.alac.decoder=true
use.qti.sw.ape.decoder=true
flac.sw.decoder.24bit.support=true
camera.disable_zsl_mode=1
persist.debug.sensors.hal=i
debug.qualcomm.sns.daemon=i
debug.qualcomm.sns.libsensor1=e
persist.sensors.mag_filter_size=8
persist.sensors.knock_delay=1000
persist.sensors.pocket_delay=1000
persist.sensors.wul_multilevel=6
persist.sensors.wul_thresh0=2
persist.sensors.wul_thresh1=10
persist.sensors.wul_thresh2=15
persist.sensors.wul_thresh3=1500
persist.sensors.wul_thresh4=3100
persist.sensors.wul_thresh5=10000
persist.sensors.wul_delay=3000
persist.sensors.onhand.en=0
persist.fp.show_percent=false
persist.service.odm_log.noti=true
persist.service.odm_log.svc=true
ro.boot.svelte=1
ro.lge.gons.enable=true
wlan.lge.gons.scan.completed=false
wlan.lge.gons.scan.scanonly=false
ro.telephony.emgss=true
vr.perfd.controller.start=0
ro.lge.support_vr=false
persist.ASDivOnOffSupport=0
ro.opa.eligible_device=true
persist.bdroid.hci.timeout=0
hdr_capable=1
tangible_device_config=B1BCNAOTNA
lge.normalizer.param=version2.0/false/9.6/true/10500/0.8/5200/0.42
ro.sdcrypto.syscall=378
ro.setupwizard.require_network=any
ro.setupwizard.mode=OPTIONAL
ro.com.google.gmsversion=7.0_r6
ro.com.google.apphider=on
lge.nfc.vendor=nxp
wlan.chip.version=bcm43455
wlan.lge.dcf.enable=true
wlan.lge.passpoint_setting=true
wlan.lge.softapwps=false
wifi.lge.profileMgr=true
wlan.chip.vendor=brcm
wifi.lge.patch=true
wlan.lge.concurrency=MCC
wlan.lge.supportsimaka=yes
wifi.lge.common_hotspot=true
wifi.lge.supportp2p5g=full
wlan.lge.traffic.trigger=100
wlan.lge.fastroaming=true
wlan.lge.txpower=2
ro.dev.fmode=0
ro.dev.fmode_exif=0
persist.sys.dalvik.vm.lib.2=libart.so
dalvik.vm.isa.arm64.variant=kryo
dalvik.vm.isa.arm64.features=default
dalvik.vm.isa.arm.variant=cortex-a53
dalvik.vm.isa.arm.features=default
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt
ro.mdtp.package_name2=com.qualcomm.qti.securemsm.mdtp.MdtpDemo
ro.expect.recovery_id=0xdb62a0568308d7f03e649418a0d80e8349f94e92000000000000000000000000


Downloads:
Click button below to view downloads for 10f, H870 and all G6 variants.

Please do not mirror files!

LG-H87010f-Flashable.COMPLETE.zip
LG-H87010f-Flashable.Bootloader.zip
LG-H87010f-Flashable.Modem.zip
H87010f_00_OPEN_EU_OP_0417.kdz

Codefire Directories:
G6 IMGs, drivers, KDZs, ZIPs and more can be found in the following directories...
LG-H87010f | LG-H870 | LG G6

MD5 Sums:
Click button below to view MD5 for each file...

15bc82584049ec3a7c62d921c2897267 ./rct.img
92a3c35c92091a3e2528004262dacaa6 ./apdp.img
77a717bc7fdd2b4a1dc042d753a9ebe0 ./hyp.img
310e48c43efbd7bc92d37a4f53c87b38 ./pmic.img
3e5be9682bdd9c65b5f5046668560165 ./LG-H87010f-Flashable.Modem.zip
79fa2b665915403fbf9ac7a38f72451e ./boot.img
2519a561fb581fae313183ef2c8b5c64 ./OP_OPEN_EU.img
e8e573c231c25ec2f3b57ec3304c0b79 ./H87010f_00_OPEN_EU_OP_0417.kdz
a159c15ba61d0759707eca013b931099 ./tz.img
95242d752599fdd2fad20d072366e214 ./recovery.img
747e32a2497ec3a94dfac7c2c73bdbd8 ./LG-H87010f-Flashable.COMPLETE.zip
2ef54f7ccd13580abaa28f712c487ef1 ./modem.img
ea402b293b53af3611c053567856964c ./persist.img
90ac1ef1fd5eb9feac57dbd7f46be6d9 ./cmnlib.img
71880ff360add650908d4acf6407f4ea ./keymaster.img
15bc82584049ec3a7c62d921c2897267 ./factory.img
f9aa74c82c39fdd96220406c03419713 ./raw_resources.img
5e824a7c9a3b2d4465ffb19ba734158f ./xbl.img
5e824a7c9a3b2d4465ffb19ba734158f ./xbl2.img
26818952423257ed85763ab2a9f5cfde ./laf.img
b847154249df7ea4c0bc0e22f4d4f411 ./rpm.img
781c75588e2cf71093d3fcade0478ef2 ./msadp.img
c16403993a71e6cb9e157f55769feac5 ./aboot.img
8d2506fd88b93c765dc60ae14ad22b79 ./devcfg.img
7243d9e11566ff7e07adc833704cfae1 ./LG-H87010f-Flashable.Bootloader.zip
628756d1475c7e6ffa2f974c63261bf6 ./sec.img
1efa71e020eff5453b56c12c7c16c74d ./cmnlib64.img

Install Directions:
You can install H870 10f using the following methods...
  • Using LG Bridge on pc/mac. LG Bridge app downloads the latest available KDZ for your phone then installs it.
  • Using LGUP + UPPERCUT. You can download the 10f KDZ and manually flash it with LGUP.
  • Using TWRP to flash my 10f COMPLETE zip. You must flash either SuperSU or Magisk zip after flashing COMPLETE zip for root.
All methods listed above are described in full step by step detail below. Click button below to view...
For no root/100% stock just flash the KDZ. Flash KDZ with either LG Bridge or LGUP.
LG Bridge downloads and flashes the KDZ automatically but can be weird/buggy.
LGUP requires downloading 10f KDZ file yourself but it's pretty simple after that.
If you have TWRP and want to keep it or want root then you'll want the zip files.

LG Bridge Directions:
Click button below to view steps
1. Download/install LG Bridge for Windows or Mac.
2. Launch LG Bridge and connect G6 while it is still booted in Android.
3. LG Bridge will detect and connect to your device then scan for updates. Update if available.

LGUP Directions:
Click button below to view steps
1. Download the following three(3) files on Windows PC (Windows only. Mac/Linux? Use a Windows Virtual Machine):
2. Download KDZ. Install LGUP 1.14 and LG USB drivers if not already installed.
3. Turn OFF device then place in Download Mode: Hold Volume Up while plugging in USB cable.
4. Double-click the UPPERCUT.exe to load LGUP...

How-to use LGUP and flash software:
  • Select device
  • Check BIN File box under File Type then select KDZ file
  • Check "Upgrade" box. Refurbish will not work. To wipe data, boot into stock recovery and do a factory reset.
  • Click START button to flash file to G6 (you may have to close and reopen LGUP before being able to hit Start)
Install via TWRP Directions:
Click button below to view steps
Below are options for flashing zips in TWRP.
IF YOU FLASH THE COMPLETE ZIP YOU WILL LOSE TWRP UNLESS YOU FLASH A ZIP THAT REPACKS THE BOOT.IMG OR YOU DELETE THE "recovery-from-boot.p" FILE IN /SYSTEM.
ZIPS THAT REPACK THE BOOT.IMG INCLUDE SUPERSU OR MAGISK.


To flash the 10f ZIPs you need TWRP installed.

A. Stock ROOTED.

Click the button below to view steps
1. Download the following two files and place on G6 internal or external SD card.
Have encrypted data and no external sdcard? ADB Sideload in TWRP.
2. (re)Boot into TWRP
3. Install the COMPLETE ZIP and SuperSU ZIP:
  • LG-H87010f-Flashable.COMPLETE.zip (Install > select zip > swipe to confirm/flash)
  • SuperSU zip (Install > select zip > swipe to confirm/flash)

OPTIONAL:

You can use Magisk instead of SuperSU.
To be extra safe in making sure TWRP sticks (in case zips don't repack the boot.img or user error) delete the "recovery-from-boot.p" file in the root of /system and TWRP will 100% stick... boot repack or not). You can use the TWRP Mounts button mount system as RW. And use the Advanced button in TWRP to use the file manager to delete the "recovery-from-boot.p" in /system.


After zips finish flashing you can reboot! If TWRP asks if you want to install SU, hit no. If TWRP says No OS installed, ignore it.

B. Stock UNROOTED + Keeping TWRP.
You need the COMPLETE zip + either the no-verity-opt-encrypt.zip OR boot repack zip.
Data unncrypted users: Use no-verity-opt-encrypt.zip. Those keeping data encryption: boot repack zip.
If you don't want TWRP/root and don't want to use a KDZ.. flash the COMPLETE zip by itself.

Click the button below to view steps
1. Download files and place on G6 internal or external SD card.
Have encrypted data and no external sdcard? Use ADB Sideload in TWRP.
2. (re)Boot into TWRP
3. Install the COMPLETE ZIP + noverity/bootrepack ZIP:
  • LG-H87010f-Flashable.COMPLETE.zip (Install > select zip > swipe to confirm/flash)
  • no-verity-opt-encrypt.zip OR android-boot-repack.zip (Install > select zip > swipe to confirm/flash)

After zips finish flashing you can reboot! If TWRP asks if you want to install SU, hit no. If TWRP says No OS installed, ignore it.


FAQ:
Click button below to view FAQ

Q: Why isn't this ROM pre-rooted? Are there any mods?
A: I leave all modifications up to the user, therefore it is up to the user to decide which root method/zip to use or which mods to flash etc. Simply flash the COMPLETE zip then flash the SuperSU zip right after and you'll have a stock-rooted ROM using SuperSU. Want a debloated stock rom? Users/devs should put together a flashable zip that simply deletes apks and other files from the stock roms.. no need to create a whole new 2GB+ rom zip just because you want a few apks removed. The same is true with many mods... flashable mod zips could be used to make changes to this stock base rom.. a whole new rom isn't needed just because a few APKs were modified.

Q: Why did I lose TWRP after flashing this ROM?
A: Android attempts to remove any installed custom recovery(TWRP) each time you boot into Android. To avoid this you can either modify the boot.img or remove the "recovery-from-boot.p" file which is found in the root of your /system partition. Android is able to build the new stock recovery.img when you boot into Android by using the "recovery-from-boot.p" file inside system. But when the boot.img is modified (using SuperSU for example) Android will no longer try to rebuild a stock recovery.img based off the boot.img. Or you can simply remove the "recovery-from-boot.p" file and Android no longer knows how to rebuild stock recovery.

Q: Anti-Rollback 00? What does this mean?
A: Anti-rollback is also known as "downgrade protection". Anti-rollback settings are "hardcoded" by blowing a qFuse. This value can only be increased.. never decreased. You can never flash software with a lower anti-rollback version than what is currently on your phone. For now this is not an issue because all H870 software versions are using anti-rollback (ARB) version 00. In the future there may be software updates that set the ARB version to 01 or 02. If you're phone is using ARB v01 software you will brick your phone if attempting to flash ARB 00 software. If you are on ARB v02 software you will brick if you flash ARB 00 or 01 software... etc..

Q: I don't care about root or TWRP.. do I have to worry about this fuse stuff?
A: Nope, if you don't want root or TWRP just use LG Bridge or LGUP to upgrade to stock 10f and keep it movin'.

Q: Why does the boot.img need to be repacked?
A: boot.img is repacked for systemless root. You also need to repack the boot.img to stop TWRP from getting replaced with stock recovery the first time you boot into android after installing a new system/boot. A patch file in the system.img checks the boot.img and if it's 100% stock it builds and flashes a stock recovery image... and this would replace TWRP. So to keep TWRP and keep a stock system.img you just repack the boot.img with either the verity/encryption zip or the boot repacker zip. If you don't care about keeping TWRP none of this matters.

Q: How do I know if /data is encrypted?
A: If you never used TWRP and wiped/formatted data then you have encrypted data. Have TWRP and aren't sure? Boot into TWRP and try to browse /data or /sdcard... if you can't access files on internal storage or in /data then you are encrypted. I personally suggest everyone keep data encrypted for security reasons and just using external sdcard, pushing files to /tmp while in TWRP or just using adb sideload instead of formatting data just so you can access files while in TWRP... but of course it's all up to the user to make that decision.

NOTES:
10f is the second official LG Android 7.0 Nougat update for OPEN EU devices.

PSA:
any peoples out there have access to:
extra G6 boards...
or broken G6..
or bad esn/imei G6..
or bricked G6.. etc?

Would love to start poking this device but still paying off my G5.
Now n then repair techs or service center workers comes along.. and they have access to damaged/broken devices that are just collecting dust.
These phones never leave my desk and are only used for development.. a fully working phone w/screen isn't really needed.
Hit me up on my Twitter or something if you might have access to these things... https://twitter.com/@utoprime
y u quote OP?


Follow me on twitter for future updates on LG-related things - twitter.com/@utoprime

Find this thread helpful? Hit the Thanks button!
Feeling extra generous? Consider clicking my name at the top of any post and hit donate or click here.



#TEAMCODEFIRE
 
Last edited:

axioneer

Member
Mar 29, 2015
19
6
Samsung Galaxy Note 9
FOqifOL.png

OPEN EU LG-H870 10f


y u quote OP?


Follow me on twitter for future updates on LG-related things - twitter.com/@utoprime

Find this thread helpful? Hit the Thanks button!
Feeling extra generous? Consider clicking my name at the top of any post and hit donate or click here.



#TEAMCODEFIRE




Hi, I am using Lg G6 Turkey device. My original rom on my device is LG-H870 10i. Is it a problem to install this Rom?
 
Last edited:

autoprime

Recognized Dev / Inactive Recognized Contributor
Jun 23, 2010
2,638
11,898
Hi, I am using Lg G6 Turkey device. My original rom on my device is LG-H870 10i. Is it a problem to install this Rom?

If your devices bootloader can be unlocked then you'd be able to flash this rom once TWRP is working for the H870.

Bootloader locked devices would be stuck needing to use LGUP/UPPERCUT to install the KDZ. The OPEN EU KDZ will work with H870 devices from any carrier/region but you may lose carrier/region settings depending on which carrier/region your device is from and the only way to be sure is to test it yourself or if someone with your exact model/carrier/region reports their findings. 10i sounds newer than 10f though.. so not sure why you would want to flash the 10f KDZ.

It is generally recommended for bootloader locked devices to flash their appropriate KDZ for their IMEI.
 

axioneer

Member
Mar 29, 2015
19
6
Samsung Galaxy Note 9
If your devices bootloader can be unlocked then you'd be able to flash this rom once TWRP is working for the H870.

Bootloader locked devices would be stuck needing to use LGUP/UPPERCUT to install the KDZ. The OPEN EU KDZ will work with H870 devices from any carrier/region but you may lose carrier/region settings depending on which carrier/region your device is from and the only way to be sure is to test it yourself or if someone with your exact model/carrier/region reports their findings. 10i sounds newer than 10f though.. so not sure why you would want to flash the 10f KDZ.

It is generally recommended for bootloader locked devices to flash their appropriate KDZ for their IMEI.


Bootloader lock for turkey devices not open.
 
  • Like
Reactions: seacrab

Lukijs

Senior Member
Oct 27, 2011
1,647
445
People please. You can unlock bootloader and use roms on European H870. So if you have slightly different model, this is not for you. Its like nobody can read.
 
  • Like
Reactions: goran_oh

Top Liked Posts

  • There are no posts matching your filters.
  • 24
    FOqifOL.png

    OPEN EU LG-H870 10f

    Thread best viewed in desktop/mobile browser (not XDA app!).

    This thread provides multiple methods for installing 10f on the H870. Everything is based on the "Open EU" variant's files. Methods include using LG Bridge, manually flashing a KDZ with LGUP/UPPERCUT or using TWRP to flash a "ROM" zip. Please read the Install Directions and FAQ sections below as well as using the thread search feature before flashing the COMPLETE zip or posting questions in this thread.


    10f Information:
    Anti-Rollback Version: 00
    Android Version: 7.0
    Android security patch level: April 1, 2017
    Baseband version: MPSS.TH.2.0.1.c3.1-00014-M8996FAAAANAZM-1.86009.21
    Kernel version: 3.18.31-perf-g3a43d2b
    Build date: April 17, 2017
    Build number: NRD90U
    Stock 10f build.prop: Click button below to view..


    # begin build properties
    # autogenerated by buildinfo.sh
    ro.build.id=NRD90U
    ro.build.display.id=NRD90U
    ro.build.version.incremental=1710718079f38
    ro.build.version.sdk=24
    ro.build.version.preview_sdk=0
    ro.build.version.codename=REL
    ro.build.version.all_codenames=REL
    ro.build.version.release=7.0
    ro.build.version.security_patch=2017-04-01
    ro.build.version.base_os=
    ro.build.date=Mon Apr 17 18:07:31 KST 2017
    ro.build.date.utc=1492420051
    ro.build.type=user
    ro.build.user=jenkins
    ro.build.host=LGEACI5R13
    ro.build.tags=release-keys
    ro.build.flavor=lucye_global_com-user
    ro.product.model=LG-H870
    ro.product.brand=lge
    ro.product.name=lucye_global_com
    ro.product.device=lucye
    ro.product.board=msm8996
    # ro.product.cpu.abi and ro.product.cpu.abi2 are obsolete,
    # use ro.product.cpu.abilist instead.
    ro.product.cpu.abi=arm64-v8a
    ro.product.cpu.abilist=arm64-v8a,armeabi-v7a,armeabi
    ro.product.cpu.abilist32=armeabi-v7a,armeabi
    ro.product.cpu.abilist64=arm64-v8a
    ro.product.manufacturer=LGE
    ro.product.locale=en-GB
    ro.wifi.channels=
    ro.board.platform=msm8996
    # ro.build.product is obsolete; use ro.product.device
    ro.build.product=lucye
    # Do not try to parse description, fingerprint, or thumbprint
    ro.build.description=lucye_global_com-user 7.0 NRD90U 1710718079f38 release-keys
    ro.build.fingerprint=lge/lucye_global_com/lucye:7.0/NRD90U/1710718079f38:user/release-keys
    ro.build.characteristics=default
    # end build properties
    #
    # from device/qcom/msm8996/system.prop
    #
    #
    # system.prop for msm8996
    #

    #rild.libpath=/system/lib/libreference-ril.so
    rild.libpath=/vendor/lib64/libril-qc-qmi-1.so
    #rild.libargs=-d /dev/smd0
    persist.rild.nitz_plmn=
    persist.rild.nitz_long_ons_0=
    persist.rild.nitz_long_ons_1=
    persist.rild.nitz_long_ons_2=
    persist.rild.nitz_long_ons_3=
    persist.rild.nitz_short_ons_0=
    persist.rild.nitz_short_ons_1=
    persist.rild.nitz_short_ons_2=
    persist.rild.nitz_short_ons_3=
    ril.subscription.types=NV,RUIM
    DEVICE_PROVISIONED=1
    # Start in global mode
    #ro.telephony.default_network=10

    debug.sf.hw=1
    debug.egl.hw=1
    debug.gralloc.enable_fb_ubwc=1
    dalvik.vm.heapsize=36m
    dev.pm.dyn_samplingrate=1
    persist.demo.hdmirotationlock=false

    #ro.hdmi.enable=true
    #
    # system props for the cne module
    #
    persist.cne.feature=1

    #system prop for enabling/disabling Android XLAT
    persist.net.doxlat=false

    #system props for the MM modules
    media.stagefright.enable-player=true
    media.stagefright.enable-http=true
    media.stagefright.enable-aac=true
    media.stagefright.enable-qcp=true
    media.stagefright.enable-scan=true
    mmp.enable.3g2=true
    media.aac_51_output_enabled=true
    mm.enable.smoothstreaming=true
    #185971 is decimal sum of supported parsers in AAL
    #37491 is decimal sum of supported codecs in AAL
    #codecs:(PARSER_)AAC AC3 AMR_NB AMR_WB ASF AVI DTS FLV 3GP 3G2 MKV MP2PS MP2TS MP3 OGG QCP WAV FLAC AIFF APE
    mm.enable.qcom_parser=1048575
    persist.mm.enable.prefetch=true

    # Additional i/p buffer in case of encoder DCVS
    vidc.enc.dcvs.extra-buff-count=2

    # Set default power mode to low power for encoder
    vidc.debug.perf.mode=2

    # disable PQ feature by default
    vidc.enc.disable.pq=true

    #
    # system props for the data modules
    #
    ro.use_data_netmgrd=true
    persist.data.netmgrd.qos.enable=true
    persist.data.mode=concurrent

    #system props for time-services
    persist.timed.enable=true

    #
    # system prop for opengles version
    #
    # 196608 is decimal for 0x30000 to report version 3.0
    # 196609 is decimal for 0x30001 to report version 3.1
    # 196610 is decimal for 0x30002 to report version 3.2
    ro.opengles.version=196610

    # system property for maximum number of HFP client connections
    bt.max.hfpclient.connections=1

    # System property for cabl
    ro.qualcomm.cabl=0

    #
    # System props for telephony
    # System prop to turn on CdmaLTEPhone always
    telephony.lteOnCdmaDevice=1

    #Simulate sdcard on /data/media
    #
    persist.fuse_sdcard=true

    #system prop for Bluetooth SOC type
    qcom.bluetooth.soc=rome

    #system prop for wipower support
    ro.bluetooth.wipower=false

    #Set this true as ROME which is programmed
    #as embedded wipower mode by deafult
    ro.bluetooth.emb_wp_mode=true

    #
    #snapdragon value add features
    #

    #system prop for RmNet Data
    persist.rmnet.data.enable=true
    persist.data.wda.enable=true
    persist.data.df.dl_mode=5
    persist.data.df.ul_mode=5
    persist.data.df.agg.dl_pkt=10
    persist.data.df.agg.dl_size=4096
    persist.data.df.mux_count=8
    persist.data.df.iwlan_mux=9
    persist.data.df.dev_name=rmnet_usb0

    #property to enable user to access Google WFD settings
    persist.debug.wfd.enable=1
    ##property to choose between virtual/external wfd display
    persist.sys.wfd.virtual=0

    #property to enable sde downscale feature for external display
    #sdm.debug.downscale_external=1

    #property to specify the number of frames to skip before setting hint
    sdm.perf_hint_window=50

    # system prop for NFC DT
    ro.nfc.port=I2C

    #property to enable WFD WL solution
    ro.vendor.wl_library=libqti-wl.so

    #property for vendor specific library
    ro.vendor.gt_library=libqti-gt.so
    ro.vendor.at_library=libqti-at.so
    #sys.games.gt.prof=1

    #hwui properties
    ro.hwui.texture_cache_size=72
    ro.hwui.layer_cache_size=48
    ro.hwui.r_buffer_cache_size=8
    ro.hwui.path_cache_size=32
    ro.hwui.gradient_cache_size=1
    ro.hwui.drop_shadow_cache_size=6
    ro.hwui.texture_cache_flushrate=0.4
    ro.hwui.text_small_cache_width=1024
    ro.hwui.text_small_cache_height=1024
    ro.hwui.text_large_cache_width=2048
    ro.hwui.text_large_cache_height=1024


    # enable navigation bar
    qemu.hw.mainkeys=0

    #property to enable VDS WFD solution
    persist.hwc.enable_vds=1

    #Enable stm events
    persist.debug.coresight.config=stm-events
    #property to enable fingerprint
    persist.qfp=false

    #default pd_enable value
    persist.sys.pd_enable=0
    #Disable rotator split feature
    sdm.debug.disable_rotator_split=1

    #Increase cached app limit
    #ro.sys.fw.bg_apps_limit=60

    # LGE remove qcom default values to change oom values
    # property for oom values
    #ro.sys.fw.bg_cached_ratio=0.33
    #ro.sys.fw.mOomAdj1=0
    #ro.sys.fw.mOomAdj2=1
    #ro.sys.fw.mOomAdj3=2
    #ro.sys.fw.mOomAdj4=3
    #ro.sys.fw.mOomAdj5=9
    #ro.sys.fw.mOomAdj6=15
    #ro.sys.fw.mOomMinFree1=73728
    #ro.sys.fw.mOomMinFree2=92160
    #ro.sys.fw.mOomMinFree3=110592
    #ro.sys.fw.mOomMinFree4=129024
    #ro.sys.fw.mOomMinFree5=225000
    #ro.sys.fw.mOomMinFree6=325000

    # reserved wifi related property
    dhcp.ap.macaddress=
    dhcp.wlan0.dns1=
    dhcp.wlan0.dns2=
    dhcp.wlan0.domain=
    dhcp.wlan0.gateway=
    dhcp.wlan0.ipaddress=
    dhcp.wlan0.leasetime=
    dhcp.wlan0.mask=
    dhcp.wlan0.pid=
    dhcp.wlan0.reason=
    dhcp.wlan0.result=
    dhcp.wlan0.server=
    dhcp.wlan0.vendorInfo=
    dhcp.p2p.dns1=
    dhcp.p2p.gateway=
    dhcp.p2p.ipaddress=
    dhcp.p2p.leasetime=
    dhcp.p2p.mask=
    dhcp.p2p.pid=
    dhcp.p2p.reason=
    dhcp.p2p.result=
    dhcp.p2p.server=
    dhcp.p2p.vendorInfo=
    init.svc.dhcpcd_wlan0=
    init.svc.dhcpcd_p2p=
    init.svc.p2p_supplicant=
    init.svc.wififtmd=
    init.svc.iprenew_wlan0=
    net.change=
    net.dns1=
    net.dns2=
    wlan.driver.status=

    #Camera fullscreen doesn't show navigation bar
    Camera.no_navigation_bar=true

    #property for game detection feature
    debug.enable.gamed=0

    #post boot script parsed
    sys.post_boot.parsed=0

    #Disable face beautification
    persist.ts.postmakeup=false
    persist.ts.rtmakeup=false

    #Enable device orientation sensor
    ro.qti.sensors.dev_ori=false
    ro.qti.sensors.pmd=false
    ro.qti.sensors.sta_detect=false
    ro.qti.sensors.mot_detect=false

    #
    # ADDITIONAL_BUILD_PROPERTIES
    #
    log.tag.GpsLocationProvider=DEBUG
    log.tag.LocationManagerService=DEBUG
    log.tag.NlpProxy=DEBUG
    log.tag.LocSvc_java=DEBUG
    log.tag.LgeGpsIndicator=DEBUG
    log.tag.GeofenceHardwareImpl=DEBUG
    log.tag.GeofenceManager=DEBUG
    log.tag.FlpServiceProvider=DEBUG
    log.tag.GeofenceProxy=DEBUG
    ro.com.lge.mada=gms_4.0
    ro.product.first_api_level=24
    ro.build.target_operator=GLOBAL
    ro.build.target_country=COM
    ro.telephony.default_network=9
    persist.sys.store_demo_enabled=0
    ro.lge.lcd_default_brightness=145
    ro.build.display_manufacture_sn=1
    persist.service.bdroid.sap=true
    service.bt.support.busytone=true
    persist.service.avrcp.browsing2=1
    persist.sys.cust.lte_config=true
    persist.gsm.sms.disablelog=64
    ro.sf.lcd_density=640
    persist.sys.strictmode.disable=true
    ro.config.vibrate_type=1
    persist.service.fg.enable=0
    persist.service.crash.enable=0
    persist.sys.ssr.restart_level=ALL_ENABLE
    ro.frp.pst=/dev/block/bootdevice/by-name/persistent
    ro.lge.hl_mode=1
    ro.movetosdcard.enable=true
    sys.enable_lpm=1
    persist.delta_time.enable=true
    ro.lge.vib_magnitude_index=0,75,80,90,95,99,110,117
    ro.lge.ns.default=1
    persist.audio.nsenabled=ON
    lge.fm_gain_control_headset=1.3
    lge.fm_gain_control_speaker=3.5
    persist.audio.voice.clarity=off
    persist.audio.handset_rx_type=DEFAULT
    ro.qc.sdk.audio.fluencetype=nxp
    ro.config.vc_call_vol_steps=7
    ro.config.vc_call_vol_default=4
    audio.offload.24bit.enable=1
    audio.offload.pcm.enable=true
    persist.spkr.cal.duration=0
    persist.audio.dual_audio=ON
    persist.audio.twin_headset=DISABLE
    persist.audio.twin_headset_on=0
    use.voice.path.for.pcm.voip=false
    ro.config.ringtone=01_Life_Is_Good.ogg
    ro.config.notification_sound=Crystal.ogg
    ro.config.alarm_alert=Life_Is_Good_Alarm.ogg
    ro.config.timer_alert=Timer.ogg
    audio.offload.gapless.enabled=true
    audio.offload.multiple.enabled=true
    audio.offload.video=false
    audio.offload.pcm.16bit.enable=false
    audio.offload.track.enable=false
    audio.dolby.ds2.enabled=false
    audio.dolby.ds2.hardbypass=false
    persist.speaker.prot.enable=true
    qcom.hw.aac.encoder=false
    audio.hifi_rec.normal_gain=30
    audio.hifi_rec.normal_lcf=75
    audio.hifi_rec.normal_lmt=-3
    audio.hifi_rec.concert_gain=-150
    audio.hifi_rec.concert_lcf=0
    audio.hifi_rec.concert_lmt=0
    audio.hifi_rec.offset_gain=37
    lge.config.call_music_ring_attn=10
    ro.lge.noise.suppression=1
    ro.lge.voice.clarity=1
    dalvik.vm.heapstartsize=8m
    dalvik.vm.heapgrowthlimit=256m
    dalvik.vm.heapsize=512m
    dalvik.vm.heaptargetutilization=0.25
    dalvik.vm.heapminfree=4m
    dalvik.vm.heapmaxfree=16m
    ro.config.max_starting_bg=32
    ro.sys.fw.bg_apps_limit=64
    ro.sys.fw.bg_cached_ratio=0.5
    ro.sys.fw.mOomMinFree1=73728
    ro.sys.fw.mOomMinFree2=92160
    ro.sys.fw.mOomMinFree3=110592
    ro.sys.fw.mOomMinFree4=129024
    ro.sys.fw.mOomMinFree5=325000
    ro.sys.fw.mOomMinFree6=558304
    ro.airplane.phoneapp=1
    ro.lge.lguiversion=6.0
    ro.lge.build.basetag=LAMPNR170209
    ro.lge.build.branch=msm8996_n_diva_global_mp_170222
    sys.knockon.knockoff.distance=10
    ro.lge.lcd_auto_brightness_mode=false
    ro.lge.audio_soundexception=true
    sys.lge.bnrd=0
    ro.lge.op.integration=1
    ro.lge.capp_cupss.rootdir=/OP
    ro.build.sbp=1
    ro.lge.singleca.enable=1
    ro.lge.locales.overlay=true
    ro.lge.revshare=2015
    persist.data.sbp.update=0
    ro.lge.sbp.opresize=50
    ro.lge.sbp.opresizeratio=50
    ro.lge.sbp.opresize_enabled=1
    ro.lge.flexgpio=1
    ro.lge.capp_ZDi_O=true
    lge.zdi.actionsend=false
    lge.zdi.onactivityresult=true
    lge.zdi.dragdropintent=false
    drm.service.enabled=true
    wlan.lge.wifidisplay=both
    wlan.lge.wfd.bitratecontrol=true
    wlan.lge.wfd.source=true
    com.lge.splink_screen_off=0
    lge.signed_image=true
    config.disable_otadexopt=true
    persist.service.removelog=0
    persist.service.main.enable=0
    persist.service.system.enable=0
    persist.service.radio.enable=0
    persist.service.events.enable=0
    persist.service.kernel.enable=0
    persist.service.packet.enable=0
    persist.service.storage.low=0
    persist.service.power.enable=0
    persist.service.memory.enable=0
    persist.service.ccaudit.enable=0
    persist.service.xfrm.enable=0
    persist.lg.data.llkklk=false
    persist.telephony.oosisdc=false
    persist.lg.data.fd=-1
    persist.qcril.disable_retry=true
    persist.dpm.feature=0
    ro.lge.swversion_arb=
    ro.lge.swversion=H87010f
    ro.lge.swversion_short=V10f
    ro.lge.swversion_rev=0
    ro.lge.factoryversion=LGH870AT-00-V10f-GLOBAL-COM-APR-17-2017+0
    ro.carrier=unknown
    ro.vendor.extension_library=libqti-perfd-client.so
    persist.radio.apm_sim_not_pwdn=1
    persist.radio.sib16_support=1
    persist.radio.custom_ecc=1
    af.fast_track_multiplier=1
    audio_hal.period_size=192
    persist.audio.fluence.voicecall=true
    persist.audio.fluence.voicerec=false
    persist.audio.fluence.speaker=true
    tunnel.audio.encode=false
    audio.offload.buffer.size.kb=64
    audio.offload.pcm.24bit.enable=true
    audio.deep_buffer.media=true
    audio.offload.multiaac.enable=true
    audio.offload.passthrough=true
    ro.qc.sdk.audio.ssr=false
    audio.safx.pbe.enabled=true
    audio.parser.ip.buffer.size=262144
    use.qti.sw.alac.decoder=true
    use.qti.sw.ape.decoder=true
    flac.sw.decoder.24bit.support=true
    camera.disable_zsl_mode=1
    persist.debug.sensors.hal=i
    debug.qualcomm.sns.daemon=i
    debug.qualcomm.sns.libsensor1=e
    persist.sensors.mag_filter_size=8
    persist.sensors.knock_delay=1000
    persist.sensors.pocket_delay=1000
    persist.sensors.wul_multilevel=6
    persist.sensors.wul_thresh0=2
    persist.sensors.wul_thresh1=10
    persist.sensors.wul_thresh2=15
    persist.sensors.wul_thresh3=1500
    persist.sensors.wul_thresh4=3100
    persist.sensors.wul_thresh5=10000
    persist.sensors.wul_delay=3000
    persist.sensors.onhand.en=0
    persist.fp.show_percent=false
    persist.service.odm_log.noti=true
    persist.service.odm_log.svc=true
    ro.boot.svelte=1
    ro.lge.gons.enable=true
    wlan.lge.gons.scan.completed=false
    wlan.lge.gons.scan.scanonly=false
    ro.telephony.emgss=true
    vr.perfd.controller.start=0
    ro.lge.support_vr=false
    persist.ASDivOnOffSupport=0
    ro.opa.eligible_device=true
    persist.bdroid.hci.timeout=0
    hdr_capable=1
    tangible_device_config=B1BCNAOTNA
    lge.normalizer.param=version2.0/false/9.6/true/10500/0.8/5200/0.42
    ro.sdcrypto.syscall=378
    ro.setupwizard.require_network=any
    ro.setupwizard.mode=OPTIONAL
    ro.com.google.gmsversion=7.0_r6
    ro.com.google.apphider=on
    lge.nfc.vendor=nxp
    wlan.chip.version=bcm43455
    wlan.lge.dcf.enable=true
    wlan.lge.passpoint_setting=true
    wlan.lge.softapwps=false
    wifi.lge.profileMgr=true
    wlan.chip.vendor=brcm
    wifi.lge.patch=true
    wlan.lge.concurrency=MCC
    wlan.lge.supportsimaka=yes
    wifi.lge.common_hotspot=true
    wifi.lge.supportp2p5g=full
    wlan.lge.traffic.trigger=100
    wlan.lge.fastroaming=true
    wlan.lge.txpower=2
    ro.dev.fmode=0
    ro.dev.fmode_exif=0
    persist.sys.dalvik.vm.lib.2=libart.so
    dalvik.vm.isa.arm64.variant=kryo
    dalvik.vm.isa.arm64.features=default
    dalvik.vm.isa.arm.variant=cortex-a53
    dalvik.vm.isa.arm.features=default
    net.bt.name=Android
    dalvik.vm.stack-trace-file=/data/anr/traces.txt
    ro.mdtp.package_name2=com.qualcomm.qti.securemsm.mdtp.MdtpDemo
    ro.expect.recovery_id=0xdb62a0568308d7f03e649418a0d80e8349f94e92000000000000000000000000


    Downloads:
    Click button below to view downloads for 10f, H870 and all G6 variants.

    Please do not mirror files!

    LG-H87010f-Flashable.COMPLETE.zip
    LG-H87010f-Flashable.Bootloader.zip
    LG-H87010f-Flashable.Modem.zip
    H87010f_00_OPEN_EU_OP_0417.kdz

    Codefire Directories:
    G6 IMGs, drivers, KDZs, ZIPs and more can be found in the following directories...
    LG-H87010f | LG-H870 | LG G6

    MD5 Sums:
    Click button below to view MD5 for each file...

    15bc82584049ec3a7c62d921c2897267 ./rct.img
    92a3c35c92091a3e2528004262dacaa6 ./apdp.img
    77a717bc7fdd2b4a1dc042d753a9ebe0 ./hyp.img
    310e48c43efbd7bc92d37a4f53c87b38 ./pmic.img
    3e5be9682bdd9c65b5f5046668560165 ./LG-H87010f-Flashable.Modem.zip
    79fa2b665915403fbf9ac7a38f72451e ./boot.img
    2519a561fb581fae313183ef2c8b5c64 ./OP_OPEN_EU.img
    e8e573c231c25ec2f3b57ec3304c0b79 ./H87010f_00_OPEN_EU_OP_0417.kdz
    a159c15ba61d0759707eca013b931099 ./tz.img
    95242d752599fdd2fad20d072366e214 ./recovery.img
    747e32a2497ec3a94dfac7c2c73bdbd8 ./LG-H87010f-Flashable.COMPLETE.zip
    2ef54f7ccd13580abaa28f712c487ef1 ./modem.img
    ea402b293b53af3611c053567856964c ./persist.img
    90ac1ef1fd5eb9feac57dbd7f46be6d9 ./cmnlib.img
    71880ff360add650908d4acf6407f4ea ./keymaster.img
    15bc82584049ec3a7c62d921c2897267 ./factory.img
    f9aa74c82c39fdd96220406c03419713 ./raw_resources.img
    5e824a7c9a3b2d4465ffb19ba734158f ./xbl.img
    5e824a7c9a3b2d4465ffb19ba734158f ./xbl2.img
    26818952423257ed85763ab2a9f5cfde ./laf.img
    b847154249df7ea4c0bc0e22f4d4f411 ./rpm.img
    781c75588e2cf71093d3fcade0478ef2 ./msadp.img
    c16403993a71e6cb9e157f55769feac5 ./aboot.img
    8d2506fd88b93c765dc60ae14ad22b79 ./devcfg.img
    7243d9e11566ff7e07adc833704cfae1 ./LG-H87010f-Flashable.Bootloader.zip
    628756d1475c7e6ffa2f974c63261bf6 ./sec.img
    1efa71e020eff5453b56c12c7c16c74d ./cmnlib64.img

    Install Directions:
    You can install H870 10f using the following methods...
    • Using LG Bridge on pc/mac. LG Bridge app downloads the latest available KDZ for your phone then installs it.
    • Using LGUP + UPPERCUT. You can download the 10f KDZ and manually flash it with LGUP.
    • Using TWRP to flash my 10f COMPLETE zip. You must flash either SuperSU or Magisk zip after flashing COMPLETE zip for root.
    All methods listed above are described in full step by step detail below. Click button below to view...
    For no root/100% stock just flash the KDZ. Flash KDZ with either LG Bridge or LGUP.
    LG Bridge downloads and flashes the KDZ automatically but can be weird/buggy.
    LGUP requires downloading 10f KDZ file yourself but it's pretty simple after that.
    If you have TWRP and want to keep it or want root then you'll want the zip files.

    LG Bridge Directions:
    Click button below to view steps
    1. Download/install LG Bridge for Windows or Mac.
    2. Launch LG Bridge and connect G6 while it is still booted in Android.
    3. LG Bridge will detect and connect to your device then scan for updates. Update if available.

    LGUP Directions:
    Click button below to view steps
    1. Download the following three(3) files on Windows PC (Windows only. Mac/Linux? Use a Windows Virtual Machine):
    2. Download KDZ. Install LGUP 1.14 and LG USB drivers if not already installed.
    3. Turn OFF device then place in Download Mode: Hold Volume Up while plugging in USB cable.
    4. Double-click the UPPERCUT.exe to load LGUP...

    How-to use LGUP and flash software:
    • Select device
    • Check BIN File box under File Type then select KDZ file
    • Check "Upgrade" box. Refurbish will not work. To wipe data, boot into stock recovery and do a factory reset.
    • Click START button to flash file to G6 (you may have to close and reopen LGUP before being able to hit Start)
    Install via TWRP Directions:
    Click button below to view steps
    Below are options for flashing zips in TWRP.
    IF YOU FLASH THE COMPLETE ZIP YOU WILL LOSE TWRP UNLESS YOU FLASH A ZIP THAT REPACKS THE BOOT.IMG OR YOU DELETE THE "recovery-from-boot.p" FILE IN /SYSTEM.
    ZIPS THAT REPACK THE BOOT.IMG INCLUDE SUPERSU OR MAGISK.


    To flash the 10f ZIPs you need TWRP installed.

    A. Stock ROOTED.

    Click the button below to view steps
    1. Download the following two files and place on G6 internal or external SD card.
    Have encrypted data and no external sdcard? ADB Sideload in TWRP.
    2. (re)Boot into TWRP
    3. Install the COMPLETE ZIP and SuperSU ZIP:
    • LG-H87010f-Flashable.COMPLETE.zip (Install > select zip > swipe to confirm/flash)
    • SuperSU zip (Install > select zip > swipe to confirm/flash)

    OPTIONAL:

    You can use Magisk instead of SuperSU.
    To be extra safe in making sure TWRP sticks (in case zips don't repack the boot.img or user error) delete the "recovery-from-boot.p" file in the root of /system and TWRP will 100% stick... boot repack or not). You can use the TWRP Mounts button mount system as RW. And use the Advanced button in TWRP to use the file manager to delete the "recovery-from-boot.p" in /system.


    After zips finish flashing you can reboot! If TWRP asks if you want to install SU, hit no. If TWRP says No OS installed, ignore it.

    B. Stock UNROOTED + Keeping TWRP.
    You need the COMPLETE zip + either the no-verity-opt-encrypt.zip OR boot repack zip.
    Data unncrypted users: Use no-verity-opt-encrypt.zip. Those keeping data encryption: boot repack zip.
    If you don't want TWRP/root and don't want to use a KDZ.. flash the COMPLETE zip by itself.

    Click the button below to view steps
    1. Download files and place on G6 internal or external SD card.
    Have encrypted data and no external sdcard? Use ADB Sideload in TWRP.
    2. (re)Boot into TWRP
    3. Install the COMPLETE ZIP + noverity/bootrepack ZIP:
    • LG-H87010f-Flashable.COMPLETE.zip (Install > select zip > swipe to confirm/flash)
    • no-verity-opt-encrypt.zip OR android-boot-repack.zip (Install > select zip > swipe to confirm/flash)

    After zips finish flashing you can reboot! If TWRP asks if you want to install SU, hit no. If TWRP says No OS installed, ignore it.


    FAQ:
    Click button below to view FAQ

    Q: Why isn't this ROM pre-rooted? Are there any mods?
    A: I leave all modifications up to the user, therefore it is up to the user to decide which root method/zip to use or which mods to flash etc. Simply flash the COMPLETE zip then flash the SuperSU zip right after and you'll have a stock-rooted ROM using SuperSU. Want a debloated stock rom? Users/devs should put together a flashable zip that simply deletes apks and other files from the stock roms.. no need to create a whole new 2GB+ rom zip just because you want a few apks removed. The same is true with many mods... flashable mod zips could be used to make changes to this stock base rom.. a whole new rom isn't needed just because a few APKs were modified.

    Q: Why did I lose TWRP after flashing this ROM?
    A: Android attempts to remove any installed custom recovery(TWRP) each time you boot into Android. To avoid this you can either modify the boot.img or remove the "recovery-from-boot.p" file which is found in the root of your /system partition. Android is able to build the new stock recovery.img when you boot into Android by using the "recovery-from-boot.p" file inside system. But when the boot.img is modified (using SuperSU for example) Android will no longer try to rebuild a stock recovery.img based off the boot.img. Or you can simply remove the "recovery-from-boot.p" file and Android no longer knows how to rebuild stock recovery.

    Q: Anti-Rollback 00? What does this mean?
    A: Anti-rollback is also known as "downgrade protection". Anti-rollback settings are "hardcoded" by blowing a qFuse. This value can only be increased.. never decreased. You can never flash software with a lower anti-rollback version than what is currently on your phone. For now this is not an issue because all H870 software versions are using anti-rollback (ARB) version 00. In the future there may be software updates that set the ARB version to 01 or 02. If you're phone is using ARB v01 software you will brick your phone if attempting to flash ARB 00 software. If you are on ARB v02 software you will brick if you flash ARB 00 or 01 software... etc..

    Q: I don't care about root or TWRP.. do I have to worry about this fuse stuff?
    A: Nope, if you don't want root or TWRP just use LG Bridge or LGUP to upgrade to stock 10f and keep it movin'.

    Q: Why does the boot.img need to be repacked?
    A: boot.img is repacked for systemless root. You also need to repack the boot.img to stop TWRP from getting replaced with stock recovery the first time you boot into android after installing a new system/boot. A patch file in the system.img checks the boot.img and if it's 100% stock it builds and flashes a stock recovery image... and this would replace TWRP. So to keep TWRP and keep a stock system.img you just repack the boot.img with either the verity/encryption zip or the boot repacker zip. If you don't care about keeping TWRP none of this matters.

    Q: How do I know if /data is encrypted?
    A: If you never used TWRP and wiped/formatted data then you have encrypted data. Have TWRP and aren't sure? Boot into TWRP and try to browse /data or /sdcard... if you can't access files on internal storage or in /data then you are encrypted. I personally suggest everyone keep data encrypted for security reasons and just using external sdcard, pushing files to /tmp while in TWRP or just using adb sideload instead of formatting data just so you can access files while in TWRP... but of course it's all up to the user to make that decision.

    NOTES:
    10f is the second official LG Android 7.0 Nougat update for OPEN EU devices.

    PSA:
    any peoples out there have access to:
    extra G6 boards...
    or broken G6..
    or bad esn/imei G6..
    or bricked G6.. etc?

    Would love to start poking this device but still paying off my G5.
    Now n then repair techs or service center workers comes along.. and they have access to damaged/broken devices that are just collecting dust.
    These phones never leave my desk and are only used for development.. a fully working phone w/screen isn't really needed.
    Hit me up on my Twitter or something if you might have access to these things... https://twitter.com/@utoprime
    y u quote OP?


    Follow me on twitter for future updates on LG-related things - twitter.com/@utoprime

    Find this thread helpful? Hit the Thanks button!
    Feeling extra generous? Consider clicking my name at the top of any post and hit donate or click here.



    #TEAMCODEFIRE
    1
    If your devices bootloader can be unlocked then you'd be able to flash this rom once TWRP is working for the H870.

    Bootloader locked devices would be stuck needing to use LGUP/UPPERCUT to install the KDZ. The OPEN EU KDZ will work with H870 devices from any carrier/region but you may lose carrier/region settings depending on which carrier/region your device is from and the only way to be sure is to test it yourself or if someone with your exact model/carrier/region reports their findings. 10i sounds newer than 10f though.. so not sure why you would want to flash the 10f KDZ.

    It is generally recommended for bootloader locked devices to flash their appropriate KDZ for their IMEI.


    Bootloader lock for turkey devices not open.
    1
    People please. You can unlock bootloader and use roms on European H870. So if you have slightly different model, this is not for you. Its like nobody can read.
    1
    any option to use europe H870 rom on H870 from israel? can't unlock bootloader (blocks H870 from israel)