Installing LineageOS 20 on the Lenovo TB-8703N: the sequence that actually works
The Lenovo Tab 3 8 Plus shipped with Android 6 and stopped getting updates years ago. LineageOS 20 puts Android 13 on it, which is a genuinely dramatic upgrade for hardware this old. It is also a lot more involved than the usual "flash ROM, flash GApps, reboot" routine, and most of the guides online skip the parts that make it fail.
This is the sequence that worked on my tablet after several failed cycles. The order matters more than anything else here.
Before you start
This process wipes the tablet completely. It also carries a real risk of a non-booting device, and you should be comfortable recovering from that before you begin. If you are not sure your PC can put this tablet into EDL mode and talk to it, sort that out first — that is your safety net.
What you need:
TWRP-WZSX150.img— the first recovery buildTWRP-8703-treble.img— the treble-aware recovery buildcreate_1G_vendor.zip— repartitions the storage to make room for a vendor partitionlineage-20.0-UNOFFICIAL-TB8703N.zip— the ROM itselfMindTheGapps-13.0.0-arm64— if you want Google appsboot-signed.img— the step almost everyone missesprog_emmc_firehose_8953_ddr.mbn— the MSM8953 programmer, for EDL recovery if things go wrong
Why this device needs a vendor partition
LineageOS 20 is a Treble ROM. Treble expects the device-specific driver layer to live on its own vendor partition, separate from system. This tablet was released before Treble existed, so it does not have one.
That is what create_1G_vendor.zip is for: it carves out a one-gigabyte vendor partition from the existing layout. Skip this and the ROM will not boot, no matter how many times you reflash it.
This is also the riskiest step in the whole process, because repartitioning is exactly the kind of operation that leaves a device unbootable if it is interrupted. Charge the tablet properly first and do not touch the cable while it runs.
The two-TWRP problem
You need two different TWRP builds, used at different stages, and this trips up almost everyone.
TWRP-WZSX150.img handles the original partition layout — you use it to run the vendor repartition script. Once the layout has changed, that build no longer understands the device correctly, and you switch to TWRP-8703-treble.img, which knows about the new vendor partition.
Trying to do everything from a single TWRP build is the most common reason this install fails.
The sequence
- Back up anything you care about. All of it is about to be erased.
- Flash
TWRP-WZSX150.imgto recovery and boot into it. - Flash
create_1G_vendor.zip. Let it finish completely. Do not reboot early, do not unplug. - Flash
TWRP-8703-treble.imgto recovery and boot into the new recovery. - Check that the vendor partition exists and can be mounted. If TWRP cannot see it, stop here — going further will only waste your time.
- Wipe system, data, cache and dalvik.
- Flash the LineageOS 20 zip.
- Flash MindTheGapps in the same TWRP session, without rebooting in between. See the warning below.
- Flash
boot-signed.imgto the boot partition. This is not optional. See below. - Reboot. The first boot takes several minutes — considerably longer than you expect. Leave it alone.
GApps must go in the same TWRP session as the ROM. If you reboot into LineageOS first and then go back to flash GApps, it will not work properly. LineageOS sets up its permissions and system structure on first boot, and adding Google apps after that point is too late. Flash ROM, then GApps, then reboot — one session.
The boot-signed.img flash is mandatory. Skip it and you get a bootloop that looks exactly like a bad ROM flash, which sends people back to re-downloading and re-flashing the ROM over and over. The ROM was never the problem. This was the single biggest time-waster in my install.
If TWRP cannot mount vendor or data
After repartitioning, I hit filesystem corruption on both /vendor and /data. TWRP would refuse to mount them, and flashing anything on top of that fails in confusing ways.
TWRP has a built-in fix for this: Wipe → Advanced Wipe → select the partition → Repair or Change File System → Repair File System. That resolved it for me on both partitions without needing to start over from EDL.
Try this before you conclude the repartition failed. It looks like a much worse problem than it usually is.
If your PC will not talk to the tablet
At one stage I could not get a reliable EDL connection from Windows at all. QFIL and QPST kept failing during the handshake, with the tablet dropping off the USB connection.
What solved it was moving off Windows entirely: I used the open-source bkerler/edl Python tool from Kali Linux. Linux does not have Windows' driver signing complications, and the connection was immediately stable.
If you have exhausted the usual Windows fixes — reinstalling the 9008 driver, disabling driver signature enforcement, switching to a USB 2.0 port — a Linux live USB is a genuinely underrated next step rather than a last resort. [VERIFY: was this before or after the BFT recovery? Ordering matters to a reader following along.]
What still is not working
I will not pretend this was a clean success. The microphone does not work on my install.
I have traced it to the audio HAL configuration rather than the ROM as a whole — specifically the ACDB ID mappings in audio_platform_info_intcodec.xml. The likely root cause is that this build uses generic Qualcomm reference firmware where Lenovo's OEM-specific variant is needed, so the audio routing does not match the actual hardware.
Everything else works. If the microphone matters to you on this tablet, know that going in. I am still working on it and will publish the fix if I find one.
Frequently asked questions
- Can I skip the vendor partition step?
- No. LineageOS 20 is a Treble ROM and needs a vendor partition. This tablet does not have one out of the box.
- Why do I need two TWRP builds?
- The first works with the original partition layout so you can run the repartition script. The second understands the new layout with the vendor partition. Using one for both stages is the most common failure.
- Can I flash GApps later?
- Not reliably. Flash it in the same TWRP session as the ROM, before the first boot.
- The tablet is stuck in a bootloop. What did I miss?
- Most likely
boot-signed.img. Check that before you assume the ROM download was bad. - How long should the first boot take?
- Several minutes, and longer than feels reasonable. Do not interrupt it.
Stuck partway through? Tell me which step you are on and what the screen says. That is usually enough to identify what went wrong.