• 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

A comprehensive guide to the Lenovo Yoga Tab 3 Pro (YT3-X90*). Cooked ROM & TWRP!

Search This thread

CENTSOARER

Senior Member
Apr 22, 2013
823
482
Mexico City
Just wanted to recommend all those people with the 2GB version a setup including a swap partition in the SD card, preferable a fast SD Card, but whatever, really. You can automount it with Magisk using a priority of 0. Damn, why did I take so long for doing this? Yes, we have a low amount of RAM but we can take 256 or 512 MB of RAM for zRAM, and use this as a cache for a Swap partition. If you set loose/less agressive minfree values for the LowMemoryKiller is a good multitasker, gets slow from time to time, depending on what apps you keep open, but very few apps are getting killed.

EDIT: Also, Fedora Linux uses half the RAM as zRAM in computers with less than 16 GB RAM now. We are talking about very different beasts... but I wonder...
 
Last edited:

CENTSOARER

Senior Member
Apr 22, 2013
823
482
Mexico City
Whats the latest android version you can put on a Yoga Tab 3?
In the Yoga Tab 3 Pro version (Intel Atom Cherry trail x86_64), Android 6.0 Marshmallow. In the Yoga Tab 3 Plus (Snapdragon arm64), you can put even Android 11, but LineageOS official builds are in v16 (Android 9.0).

Also, for the Pro version, a similar device was running Android Nougat once. Current firmware is Android 6.0 latest release was from one year ago... TBH it was a very strange update after years of oblivion.

In theory a mainline kernel can run relatively well on the tablet since some people run Linux distros in it, but you can't use some of its features because of a lack of proprietary drivers. So, in theory, it COULD run Android 11, but will never use all the hardware capabilities.
 

CENTSOARER

Senior Member
Apr 22, 2013
823
482
Mexico City
Just letting you know that the cooked ROM links (both of them) are already dead again ;(
Yes, it is gonna be like this for some time because I am still making some changes and waiting for approval to share other thing. That's why I asked you guys to mirror it if it's important to you to have always a copy around.

Give me some time to upload. "myROM" version will have more changes related to zRAM and virtual memory management and other system apps that aren't really required by the OS. I also updated some Google Apps. I know the "debloated" thing is overselled here @xda, but it really makes a difference in this build because we have several (maybe) useless processes running with high priorities all the time. In the meantime, you can try the "xda" version, should be working now.

EDIT: The links are fixed now, I added one more. I don't know who would like the same stupid OS with updated Gapps but it was done and maybe someone will use it.
 
Last edited:
  • Like
Reactions: alesamsung

CENTSOARER

Senior Member
Apr 22, 2013
823
482
Mexico City
So, I was trying to remap my power button since it's been barely working for some time. I've been abusing my battery with an app to wake the tablet by shaking...

Anyway, if you want to use your projector button as a power button, edit your /system/usr/keylayout/Generic.kl file, find the line number ~407 and edit it from "key 752 DLP" to "key 752 POWER". Reboot the tablet and there you go, you have an additional power key.

This button won't work well to bring up the Power off menu, the long press action will throw the menu as well as a screen off event, but it works wonderful to turn on/off the screen with a single press. To reboot, power off, and turn on the projector you may want to use the QS tiles or any software shortcut. At least you will extend a bit of the useful life of your tablet, and will help those of you afraid of opening the tablet to fix the main Power button.

EDIT: Yeah it works as a regular Power button, the thing is it has a long press and a longer press. The trick is to keep pressing the right amount of time, you get used to it.
 
Last edited:
  • Like
Reactions: GGuillaume

GGuillaume

New member
Mar 13, 2018
1
0
I was wondering if there is the possibility to enable double tap to wake in the kernel, since there is a kind of double tab to wake when projector is on?
Thanks for the power button hack
 

CENTSOARER

Senior Member
Apr 22, 2013
823
482
Mexico City
I was wondering if there is the possibility to enable double tap to wake in the kernel, since there is a kind of double tab to wake when projector is on?
Thanks for the power button hack
I did try to build a kernel from sources I found in github and Lenovo's website, but couldn't even finish the build process and again, I don't have enough time to keep trying and... to be honest, how much longer will we be able to squeeze some life out of this hardware? Time to give up for me, unless some Linus Torvalds-like comes forward and offers to help. Meanwhile, all we have are hacks, sadly. Never again buy from Lenovo.

Anyway, no, the kernel does not have dt2w support, the Dlp software does the double tap to wake screen, but is different because the tablet is not in deep sleep.
 
Last edited:
  • Like
Reactions: guillaumeg

Alein_

Member
Mar 10, 2021
6
0
Yes, it is gonna be like this for some time because I am still making some changes and waiting for approval to share other thing. That's why I asked you guys to mirror it if it's important to you to have always a copy around.

Give me some time to upload. "myROM" version will have more changes related to zRAM and virtual memory management and other system apps that aren't really required by the OS. I also updated some Google Apps. I know the "debloated" thing is overselled here @xda, but it really makes a difference in this build because we have several (maybe) useless processes running with high priorities all the time. In the meantime, you can try the "xda" version, should be working now.

EDIT: The links are fixed now, I added one more. I don't know who would like the same stupid OS with updated Gapps but it was done and maybe someone will use it.
Hi, please change the language to English as default, after I use your ROM ( my device had broken data partition) My tablet boot into Chinese, and it is soooo slooow. Also, all my old programs and config seems to be "recovered". Could you change the name of the ROM to something more accurate?
 

CENTSOARER

Senior Member
Apr 22, 2013
823
482
Mexico City
Hi, please change the language to English as default, after I use your ROM ( my device had broken data partition) My tablet boot into Chinese, and it is soooo slooow. Also, all my old programs and config seems to be "recovered". Could you change the name of the ROM to something more accurate?
I don't know what you mean, but it's fine since I don't know what you did. Therefore, won't change anything. But if you care to elaborate what you did, that can be helpful.
 
Last edited:

denDwaler

New member
May 17, 2021
1
1
Thank you, centsoarer, joesnose and everyone else who made this possible.
I own a 4gbyte YT3-X90L, followed your guide and installed successfully your shared "Myrom".
All went smoothly until I had to use fastboot.
I ran into the "waiting for device" issue. At first i thought it was a driver problem.
It took me several days before i discovered that fastboot does not communicate when using the usb 3 port on my PC.
After connecting a hub to this same usb 3 port and putting the YT3-X90L into the hub i immediately got a response , in other words a working fastboot!
The hub forced into another mode.
The problem was mentioned elsewhere on this forum but not in this thread.(cannot find it anymore)
Maybe this helps out other enthusiasts.
 
Last edited:
  • Like
Reactions: CENTSOARER

CENTSOARER

Senior Member
Apr 22, 2013
823
482
Mexico City
Hi ,Any TWRP links? I have twrp-2.8.7.0(6)-x90-data-enabled, is that right version?
I have a modified version of TWRP but is based on the same version you have. My custom version can deal with more partitions and has a more complete set of busybox snippets... being said that, the version you have installed should work.
I have a new cooked ROM in my tablet with a better approach to the WiFi conversion but I haven't had the time to upload.
 

CENTSOARER

Senior Member
Apr 22, 2013
823
482
Mexico City
I dont know why but i have a lot crashes on some apks like tidal, vanced manager and more. Any idea why ??
AAMOF, yes. It is likely that the settings in the virtual memory are too tight for that version. I have had the same issue using heavy apps like Prime Video.

Try these settings in your /system/build.prop file:

Code:
dalvik.vm.heapstartsize=8m
dalvik.vm.heapgrowthlimit=96m
dalvik.vm.heapsize=320m
dalvik.vm.heaptargetutilization=0.85
dalvik.vm.heapminfree=4m
dalvik.vm.heapmaxfree=8m

Don't forget to wipe dalvik/ART cache and cache partitions after editing the file. Also, it'd be useful if you (and, really, anyone using this) report back.
 
  • Like
Reactions: damru

Quardah

Member
May 31, 2016
21
4
Hello! I have recently acquired an YT3-X90F but i am unpleased with the current performances. I found your post and i would like to try your custom rom but i just want to get this straight before we start.

Considering i have done no operations yet on the tablet, it's running latest updated software from stock firmware. I do not have TWRP installed or anything done on the tablet yet.

1. I download ROMx90F_wifi.zip from the first link in post #1 (most recent update called FINAL RELEASE)
2. I rundown the procedure in the 'HOW TO FLASH A STOCK FIRMWARE (YOU CAN DOWNGRADE AND UNBRICK TOO)' section in post #1 using the Intel Platform Flash Tool Lite from flashtool.org

Is that all? yes/no? If not, can you tell me what steps i should do before and after?

I am asking these details because i am unsure from your post if i should install TWRP prior to trying your operations, and if i should do the RAM related operations explained in your post afterwards. There is a lot of information that has been detailed in the thread and it's very hard to follow it all.

I am also unsure if from a stock tablet i can simply flash your custom rom straight in the tablet. Do i need to change things in the developer options before trying to change the rom?

An updated and clear procedure detailing the manipulations starting with an unmodified X90F would be very appreciated.

Thank you for helping us all.
 

CENTSOARER

Senior Member
Apr 22, 2013
823
482
Mexico City
Hello! I have recently acquired an YT3-X90F but i am unpleased with the current performances. I found your post and i would like to try your custom rom but i just want to get this straight before we start.

Considering i have done no operations yet on the tablet, it's running latest updated software from stock firmware. I do not have TWRP installed or anything done on the tablet yet.

1. I download ROMx90F_wifi.zip from the first link in post #1 (most recent update called FINAL RELEASE)
2. I rundown the procedure in the 'HOW TO FLASH A STOCK FIRMWARE (YOU CAN DOWNGRADE AND UNBRICK TOO)' section in post #1 using the Intel Platform Flash Tool Lite from flashtool.org

Is that all? yes/no? If not, can you tell me what steps i should do before and after?

I am asking these details because i am unsure from your post if i should install TWRP prior to trying your operations, and if i should do the RAM related operations explained in your post afterwards. There is a lot of information that has been detailed in the thread and it's very hard to follow it all.

I am also unsure if from a stock tablet i can simply flash your custom rom straight in the tablet. Do i need to change things in the developer options before trying to change the rom?

An updated and clear procedure detailing the manipulations starting with an unmodified X90F would be very appreciated.

Thank you for helping us all.
You need to unlock your bootloader (this will factory reset your tablet), then you need to install TWRP, one that can deal with the data partition. And after this you need to use TWRP to format your data partition (not only wipe). Finally, use TWRP to wipe ART/Dalvik, cache, data, boot and system partitions and flash the zip of the final release. Hope everything goes fine.

Edit: Sorry, I have to add I don't get a lot of feedback here. What I wrote is the ideal path to get to my current cooked ROM. To give you a detailed guide would take for me a nandroid/trwp backup, then to find a suitable firmware, get back to stock firmware using Intel Platform Flash Tool, and after all this, tryby myself those general guidelines I give you in this post. I am just not doing this. I can assist you, however, in the process. Maybe you can document it for all of us.
 
Last edited:

Quardah

Member
May 31, 2016
21
4
Hi.

I tried my luck at what you said. Here is where i am right now :

using this site (in french, my native language) : https://www.phonandroid.com/forum/t...ooter-yoga-tab-3-pro-yt3-x90f-x-l-2go.147758/

I have managed to get into TWRP 2.8.7.0 YogaTab3Pro 6.0 build.

I have made a backup of all partition as stated on the site including the boot partition.

Note that on my SD card i have 4 files now :

ROMx90F_wifi.zip (your cooked rom)
twrp-2.8.7.0(6)-x90-data-enabled.img.zip (if i understand correctly, it's a script to enable the data partition in live runtime of TWRP)
UPDATE-SuperSU-v2.46.zip (the SuperSU script)
x90-disable_encr.zip (the script to disable data encryption).

i ran the superSU script and then the x90 disabled_encr script. both ran ok. I tried going into wipe to format data, but i get the error 'cannot locate /data'. The superSU script specifically says that it mounts /data, therefore it should be there (i guess)

i tried the x90-data-enabled.img.zip but it fails mentionning it cannot find 'META-INF/com/google/android/update-binary' in the zip file.

i then tried Alternative 1 which is reboot in fastboot mode and run fastboot format data but i get the following error :

Code:
$ fastboot format data
Couldn't parse erase-block-size '0x'.
Couldn't parse logical-block-size '0x'.
/usr/lib/android-sdk/platform-tools/mke2fs failed with status 1
mke2fs failed: 1
error: Cannot generate image for data

I require your help because i am stuck now on step 'And after this you need to use TWRP to format your data partition (not only wipe).'

again, when i try to 'Wipe -> format data' in TWRP i get 'Unable to locate /data'.

I believe once this little issue is resolved, i will be able to wipe all partitions and flash your rom. but i need to debug this first and i am out of idea.

Please let me know what you think.
Thanks.
 

CENTSOARER

Senior Member
Apr 22, 2013
823
482
Mexico City
Hi.

I tried my luck at what you said. Here is where i am right now :

using this site (in french, my native language) : https://www.phonandroid.com/forum/t...ooter-yoga-tab-3-pro-yt3-x90f-x-l-2go.147758/

I have managed to get into TWRP 2.8.7.0 YogaTab3Pro 6.0 build.

I have made a backup of all partition as stated on the site including the boot partition.

Note that on my SD card i have 4 files now :

ROMx90F_wifi.zip (your cooked rom)
twrp-2.8.7.0(6)-x90-data-enabled.img.zip (if i understand correctly, it's a script to enable the data partition in live runtime of TWRP)
UPDATE-SuperSU-v2.46.zip (the SuperSU script)
x90-disable_encr.zip (the script to disable data encryption).

i ran the superSU script and then the x90 disabled_encr script. both ran ok. I tried going into wipe to format data, but i get the error 'cannot locate /data'. The superSU script specifically says that it mounts /data, therefore it should be there (i guess)

i tried the x90-data-enabled.img.zip but it fails mentionning it cannot find 'META-INF/com/google/android/update-binary' in the zip file.

i then tried Alternative 1 which is reboot in fastboot mode and run fastboot format data but i get the following error :

Code:
$ fastboot format data
Couldn't parse erase-block-size '0x'.
Couldn't parse logical-block-size '0x'.
/usr/lib/android-sdk/platform-tools/mke2fs failed with status 1
mke2fs failed: 1
error: Cannot generate image for data

I require your help because i am stuck now on step 'And after this you need to use TWRP to format your data partition (not only wipe).'

again, when i try to 'Wipe -> format data' in TWRP i get 'Unable to locate /data'.

I believe once this little issue is resolved, i will be able to wipe all partitions and flash your rom. but i need to debug this first and i am out of idea.

Please let me know what you think.
Thanks.
Forget about superSU, you won't need it. Also, that zip you're trying to flash, the "x90-data-enabled.img.zip", is not a flashable zip but a compressed image flashable via fastboot. To use it you need to uncompress the zip and extract the twrp-something.img. The goal here is to flash this extracted file as your recovery system with fastboot flash recovery twrp-something.img.

Then go into recovery. Wipe ART/Dalvik, cache, data, boot and system partitions. Once done, flash my cooked ROM. After the ROM flashes, do the format data procedure where you have to confirm "yes". Now reboot and hope for the best.

PS. I do not know why joesnose decided to share two twrp images. In my opinion, you are better off with the "data enabled" one, period. Everything you can do with the one without data partition management you can achieve with the one capable to manage data partition.
 
Last edited:

Quardah

Member
May 31, 2016
21
4
Ok great. It did work. The procedure is as followed :

1 - You need to unlock the bootloader first. In developper options, enable OEM unlocking. Then reboot into fastboot mode. From there, you can unlock the bootloader.

2 - from https://www.phonandroid.com/forum/t...ooter-yoga-tab-3-pro-yt3-x90f-x-l-2go.147758/

download both
twrp-2.8.7.0(6)-x90-data-enabled.img.zip
x90-disable_encr.zip

3 - copy the x90-disable_encr.zip file on your SD card. also copy the cooked rom on the SD card.

4 - Unzip the twrp-2.8.7.0(6)-x90-data-enabled.img.zip file in your adb/fastboot folder.

5 - In fastboot mode, flash the twrp-2.8.7.0(6)-x90-data-enabled.img as recovery using

Code:
fastboot flash recovery twrp-2.8.7.0(6)-x90-data-enabled.img

6 - Once flashing is complete, go into TWRP (recovery mode, boot from fastboot to recovery). From there, make a backup of all partitions on SD first in case in doesn't work.

7 - Use the Install function to install x90-disable_encr.zip so the data partition can be accessed.

8 - Go to wipe, format data, type yes, and format the data partition.

9 - Go to wipe, advanced wipe, and wipe ART/Dalvik, cache, data, and system partitions.

10 - Go to install and install the cooked rom zip. it should be successful.

11 - Before rebooting, reformat data partition again. Go to wipe, format data, type yes, and format the data partition.

12 - Reboot and let the tablet boot into the new cooked rom.

I will test this today. Thank you for your help.
 
  • Like
Reactions: CENTSOARER

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    Ok great. It did work. The procedure is as followed :

    1 - You need to unlock the bootloader first. In developper options, enable OEM unlocking. Then reboot into fastboot mode. From there, you can unlock the bootloader.

    2 - from https://www.phonandroid.com/forum/t...ooter-yoga-tab-3-pro-yt3-x90f-x-l-2go.147758/

    download both
    twrp-2.8.7.0(6)-x90-data-enabled.img.zip
    x90-disable_encr.zip

    3 - copy the x90-disable_encr.zip file on your SD card. also copy the cooked rom on the SD card.

    4 - Unzip the twrp-2.8.7.0(6)-x90-data-enabled.img.zip file in your adb/fastboot folder.

    5 - In fastboot mode, flash the twrp-2.8.7.0(6)-x90-data-enabled.img as recovery using

    Code:
    fastboot flash recovery twrp-2.8.7.0(6)-x90-data-enabled.img

    6 - Once flashing is complete, go into TWRP (recovery mode, boot from fastboot to recovery). From there, make a backup of all partitions on SD first in case in doesn't work.

    7 - Use the Install function to install x90-disable_encr.zip so the data partition can be accessed.

    8 - Go to wipe, format data, type yes, and format the data partition.

    9 - Go to wipe, advanced wipe, and wipe ART/Dalvik, cache, data, and system partitions.

    10 - Go to install and install the cooked rom zip. it should be successful.

    11 - Before rebooting, reformat data partition again. Go to wipe, format data, type yes, and format the data partition.

    12 - Reboot and let the tablet boot into the new cooked rom.

    I will test this today. Thank you for your help.
    1
    You could probably skip steps 7 and 8 since the kernel in the cooked ROM already disables mandatory encryption of data partition, but I do not know for sure. I am glad it is working for you and I hope you like the ROM.

    Yes well i used to have the battery decreasing on its own even in airplane mode but now with your ROM i have at least four time the battery lifetime. Boot time is also much faster.

    Everything runs much faster. Noticeably much faster. I can now stream HD content from the browser with no interruption, and turning on the projector does not slow down the tablet anymore. I must have double the battery life using the projector too.

    The best feature is that before i had your ROM, even while plugged in, using the projector would decrease the battery over time (which means it would eventually die). Not anymore with your ROM.

    It is very unfortunate that Lenovo shipped this device with such a broken system. I am a huge ThinkPad Fan and back when i was looking for a tablet i was purchasing with confidence because of the Lenovo branding on the device. Don't get me wrong, the hardware is wonderful and very good for an Android device, but the software is absolutely lacking, as bad as preinstalled windows OS on ThinkPads. Now that i think about it, i do the exact same thing with ThinkPads when i get them (i wipe the system and install Linux), it's just that with Android tablets i do not have that reflex yet, plus there is always a risk of bricking the device if something goes wrong (while that's not really happening with laptops ever).

    Anyways i am glad i stumbled upon this thread. I remain available for anyone else coming here if they need help for their installation.

    Take care.
  • 9
    THESE ROMS ASSUME YOU HAVE AN UNLOCKED BOOTLOADER AND TWRP AS RECOVERY SYSTEM. You can flash them using TWRP, after wiping ART, cache, data, boot and system partitions.

    FINAL RELEASE: Well... this is the final release from me and it is specifically for the WiFi model. I hope it is worth it for you. It is more stable, somewhat updated, anyway, if you use a X90F (wifi model) you will probably like it. The other versions are still up if you want to go back. Here's the link. Follow this guide by @Quardah if you are coming from a factory ROM. Go to post 46 if you can't get past the setup wizard.

    APRIL 9, 2021: You can find in these links a new version of the cooked ROM.
    The link for the updated cooked ROM is: https://centsoarer.ddns.net/s/Y8o3eoBK4Ryx5RP. This is a version with GAPPS updated: https://centsoarer.ddns.net/s/FPKjgQcmW3CHZCw. Feel free to mirror, unless you are afraid of Lenovo's lawyers, but don't forget to share the link.

    My personal version... even more debloated (if you don't need chinese, japanese, korean, or russian input support/apps) and with CPU tweaks for my own usage: https://centsoarer.ddns.net/s/jcCDAgNedryGRjo

    KNOWN ISSUES AND SOLUTIONS:
    1) One random reboot after the first boot will happen and it is normal.
    2) I'd reccommend to stay with Magisk 21.4 for a while, Magisk Manager >21.4 won't manage your extensions.
    3) If you can't get past the initial Setup Wizard check post 46. Basically you have to boot into bootloader, erase the config partition and format it again.
    4) Needs confirmation, but versions with signature spoofing patches seem to break Lenovo's SmartSide Bar.


    JUNE 12: Fast update on the Cooked ROM and TWRP and KERNEL. They are not as universal as I implied before. Proceed carefully since they may not work four your device/firmware. Make a Nandroid backup and only flash with testing purposes.

    JUNE 5: So, I know this is not what everybody who owns this tablet wants to have (that is Android 9 or 10 of course) but, in recent weeks Lenovo updated the firmware of this tablets. It still is a Marshmallow one and it still sucks big time but I took it as a base and cooked it to deliver a newer TWRP recovery with compression, a flashable modified kernel and a cooked flashable stock ROM to free the owners of this tablets from the treacherous path of making this hardware to work properly. If you want a better overall experience and are in stock firmware you just need to Unlock your bootloader, flash TWRP, Format data partition (not only wipe), Wipe Cache, Dalvik/ART, System and DATA and flash the Cooked ROM to put this tablet in a sweeter spot. For details go to post #2!

    JUNE 3: Been trying to get to know some of the source code available for Cherry Trail devices and I am fairly lost at building TWRP from source. Anyway, I ported a newer TWRP recovery IMG file for the YT3-X90F (maybe L, X, Y and Z) from the TWRP image for the Chuwi Hi10 Pro tablet from here, using AIK-Linux. The result is in the second post labeled as beta, since I only tested in the YT3-X90F model, running lollipop firmware. So far, it works fine flashing ZIP archives, backing up and restoring backups. Advantages? Well, backups are way lighter if you enable compression (like half the size), higher resolution, twrp turns off the screen with a timeout and whatever made them bump from version 2 to 3. While I could port a newer TWRP version, I just wanted to have lighter backups with compression... so maybe it is what it is :eek:.

    ORIGINAL POST STARTS HERE. This is general information that I collected for geeks or desperate users that bricked their tablets. When I started this post it wasn't intended to produce a cooked ROM that would include most of these hacks. You don't need this if your tablet boots to Android or TWRP. You also don't need this if you are ready to flash the cooked ROM.

    (This is a lenghty post. I suggest you to navigate by section header and find the one you might need.)

    There are several Lenovo Yoga 3 tablet models out there and, while some of them enjoy of prime community support as the Yoga Tab 3 Plus, this Intel Atom powered tablet is pretty much forgotten and, at the same time, users were recently buying this tablet, which is a great piece of hardware but has the most terrible support by Lenovo.

    WHAT LENOVO TABLET(S) IS THIS GUIDE FOR?
    Basically, this is that Lenovo tablet with an attached projector and an Intel Atom Cherry Trail x5 Z8500. There are several models, though, to my knowledge they vary in their code names in the last letter, the two most basic ones (2GB RAM, 32 GB ROM) are the YT3-X90F and the YT3-X90L, the former connects to the internet by WiFi and the latter being the one with LTE/Phone capabilities. There are other models, though, and they vary on the amount of RAM and internal storage. Apparently, the YT3-X90[YX] models (the 4/64 GB refresh) have some use for these firmwares we describe, but in a very specific way, if you own a Y or X model, keep reading, especially the next section.

    FIRST OF ALL. STOCK FIRMWARE.
    Lenovo support has been terrible (there are no words to describe it, really), so they launched this tablet with Android 5.1 Lollipop and they maintained it for a while but were very slow to deliver Android 6.0 Marshmallow. In fact, there was already Android Nougat, when they launched send the Marshmallow update. Nevertheless, the update was bad. Performance issues were always a thing and some functionality went lost in the update (less intuitive multiple windows, a crippled recents activity/screen, and a laggy overall experience). Bottom line, they launched a curated Android Lollipop 5.1 firmware with security updates until March 2016 (striked because the last lollipop update f*cks up my sensors, except the light one) and a half-assed Android Marshmallow 6.0.1 firmware.

    Of course, at the time, I'm guessing most of us upgraded to Android Marshmallow 6.0.1, hoping the upgrade would fix the issues in Lollipop or with security patches in mind. The reality was that Android 6.0.1 wasn't nearly as maintained as 5.1 and security ambitions went nowhere. So, we got the upgrade all right, but at this point, both Android versions can be considered inherently insecure and we really shouldn't be using it for sensitive work.

    OK, there are several Android 5.1 and 6.0 firmwares, you can recognize them because they are all over the internet typically in a compressed format. For example, this firmware hosted in androidhost.ru named:
    YT3-X90F_ENG_S100265_1601281130_WW24_ROW
    Is a firmware for the Lenovo Yoga Tab 3 (YT3) Pro (X90) Wifi Version (F). The ENG part is an indication of the build type, ENG is an engineer build while USR is probably a firmware for the end user (this is common now that I know a bit more about AOSP source code), it is a Lollipop firmware (S1, Marshmallow would be a S2) with update version (00265), date of compilation and a good estimate of its security patch (1601281130), the WW24 is the weekly release version of the Android kernel for Intel devices (the latest, in May 2020, being WW31 which is exactly the same as WW28 and not updated since 2016), the final part means it is the global ROM version (ROW, opossed to the Chinese version CN). This is the latest Lollipop firmware I am aware of, so, as an example, an imaginary Android Marshmallow Chinese firmware for the LTE version of the Yoga Tab 3 would look like:
    YT3-X90L_USR_S200013_1610141535_WW24_CN
    As an additional note the Chinese ROMS, I presume, are not trusty but they are also Google-free for what it's worth. On the other hand, they ship with a "Lenovo Services Framework" that should be as intrusive as the Google Play Services. Oh, also, baidu and yandex, and, really, any less traditional search engine can help you find a fitting firmware.

    HOW TO FLASH A STOCK FIRMWARE (YOU CAN DOWNGRADE AND UNBRICK TOO)
    I did test several firmwares, chinese and global, lollipop and marshmallow and the safest and easiest way to flash them is by using the Intel Platform Flash Tool Lite . I can't say I trust in this site, but it hosts a handy tutorial on how to use it, though, is pretty intuitive. The software exists for Mac, Windows and Linux, be sure you are in, at least, the 5.8.x version, this is important to avoid the need to install some special drivers separately as a pre-requisite. Grossly, Intel Flash Tool Lite works like this:

    0) Turn off your tablet if it is on.
    1) Launch Intel Platform Flash Tool Lite.
    2) If your downloaded firmware is in zip format load it with the blue "Browse..." button.
    2 bis) OR, if your firmware is in other compressed formats, uncompress it first. After this use the "Browse..." button to load the "flash.json" file.
    3) In Configuration option select "blank" if it isn't set already. Optionally, un-tick the "On-demand flash" option to have more control of this process. Also, maybe you can use the "erase" configuration here.
    4) Start your tablet in DNX mode. To do this, press Vol- and hold it, then Vol+ and keep holding both, then press the Power button until it turns on and you see the Lenovo logo and some text indicating you are in said mode.
    5) Connect your Yoga Tablet with a USB cable and your Intel Platform Flash Tool Lite windows should show it as detected. Now you can proceed using the blue "Start to flash" button.
    6) Keep an eye on your tablet, since some firmwares will prompt to set some more options. Unless you know what you are doing, answer "Yes" to any question.
    7) Reboot and wait.

    If a couple hours have passed and the tablet hasn't booted, maybe you should try another firmware.

    IMPORTANT NOTE AND INSTRUCTIONS FOR YT3-X90Y AND POTENTIALLY YT3-X90X USERS: I don't know the rules in xda about linking to other forums but in certain forum there is an answered question about the Y model (the 4/64 GB WiFi only refresh) on how to flash a firmware. Instructions are the same as I gave in this section, except, apparently, you need to do it twice, first with the ENG version and the second time with the USR version except you are not using the flash.json file, this time you'll browse for the flash_factory_1st_stage.json one and the factory1st configuration in fastboot. It is not clear what are the consequences of not doing it this way or what if you combine different firmware versions (it would be interesting to have a tester here). Notice please, these firmwares are marked for the YT3-X90F model. So, clarifying:
    1) Follow the instructions above to flash the YT3-X90F_ENG firmware.
    2) Power off your tablet.
    3) Boot into bootloader (not in DNX, you need to boot into bootloader by powering on while holding Vol+).
    4) From the YT3-X90F_USR firmware folder use Intel Platform Flashing Tool Lite to load the flash_factory_1st_stage.json and select the factory1st configuration.
    5) After flashing the USR firmware, reboot and you should be good to go.

    METANOTE: This wasn't tested by me, please do this only when you are hopeless with your hardware. This is just an educated guess but I bet it works the same with the YT3-X90L (the LTE version 2/32 GB Yoga Tab 3 Pro) and the YT3-X90X (the 4/64 GB refresh).

    ALTERNATIVE WAY TO FLASH A STOCK FIRMWARE (ADVANCED USERS, requires fastboot)
    Well, there is no need, really, to use that Intel tool. In my search for a lollipop firmware (I wanted to downgrade from Marshmallow) I found the firmware YT3-X90F_USR_S100195_1512052308_WW24_ROW in www.firmware247.com or www.androidfilehost.com (IMPORTANT: please read the note on downgrading to Android 5.1 Lollipop in the note at the end of this section). This firmware was special since, if you are in Windows and have fastboot executable ready and in place, you can run a script (run_me.bat) in the Windows terminal (CMD) or Powershell to flash the firmware semi-automatically. I think this firmware was modified, though, since I found differences in the boot.img when compared with stock firmwares. This script is credited to XDA members @ionioni and @joesnose and you can replicate its steps if you:

    0) Turn off your tablet if it is on.
    1) Start your tablet in DNX mode. To do this, press Vol- and hold it, then Vol+ and keep holding both, then press the Power button until it turns on and you see the Lenovo logo and some text indicating you are in said mode.
    2) Connect your tablet to your fastboot enabled PC using a USB cable.
    3) Input "fastboot flash osloader loader.efi"
    4) Wait 5 seconds to be sure the loader flash finishes.
    5) Reboot into Bootloader. If you don't know how, one way is to hold Vol+ and Power on your tablet.
    6) Input "fastboot oem unlock" and confirm using Vol keys to select the right option and the Power button to enter it.
    7) Input "fastboot flash system system.img"
    8) Input "fastboot flash boot boot.img"
    9) Input "fastboot flash recovery recovery.img"
    10) Input "fastboot flash bootloader bootloader.img"

    Follow your instincts, since I don't know if these IMG files are always named the same. You can get these IMG files from downloaded sources or dump them yourself using dd command.

    NOTE ON DOWNGRADING TO ANDROID LOLLIPOP 5.1: So, one of my main concerns has been to go back to Android Lollipop. There is a last version of Lollipop from where you can upgrade to Marshmallow with a security patch from March 2016. Nevertheless, you MAY end up loosing other sensors except the light one. If this happens, you need to use a complete firmware flash using Intel Platform Flash Tool Lite. In my experience, some boot images are not compatible with other weird partitions like country or misc.


    SO, STOCK FIRMWARE, EVERYTHING SHOULD GO SMOOTH, RIGHT?

    Well... no.

    The first boot takes some time even amounting for the time of the setup itself. By the time you are in the launcher tapping on app's icons you think there's nothing wrong with our device, but after some apps are in memory, you notice some lag. You think "OK, it is updating, but soon it'll settle", but it does not. So, you reboot again after updates and fire up a terminal emulator and connect to your tablet using a USB cable with USB debugging turned on and issue a free command to find something like this:

    Code:
                  total         used         free       shared      buffers
      Mem:      1950372      1820964       129408            0         7756
    Swap:       524284        10740       513544
    Total:      2474656      1831704       642952

    Which means you have a total of ~2.5 GB (this is the 2 GB model). So, did I download that extra half GB of RAM or Lenovo was feeling generous? Well, no. The issue here is Lenovo built the kernel with zRAM support which is a technology included in Linux that reserves space in RAM to quickly compress and uncompress pages of data exceeding our physical amount of RAM installed (2 GB). This is not Virtual Memory as in a swap file/partition or Windows' Page File inside storage media. zRAM literally reserves a fixed amount of physical RAM space (blocks) to expand it by compressing data. The consequence is you loose "fast RAM" (THE RAM) and gain some "slow RAM" (the zRAM). You also sacrifice some CPU power to compress/decompress data and, with this, some battery juice is also lost.

    That does not sound like a terrible trade-off for a RAM-limited device, one would think. Another interesting thing would be WHEN to send this piling data in "fast RAM" to the compressed space and WHEN to get it back. Two parameters control the WHENS, one is called "swappiness" (when to send it to the compressed space, the "slow RAM") and the other may be the "vfs_cache_pressure" (when to uncompress it and send it back to the "fast RAM"). And this is where the main problem is, really, because the kernel, Linux, is pressing the RAM constantly to send some less prioritary data to "slow RAM" and, at the same time, is trying constantly to send compressed data back to the "fast RAM". Summarizing, this kernel behavior is practically minimizing the fast RAM amount and usage while maximizing the "slow RAM" usage. This is nuts, by default a swappiness and a vfs_cache_pressure of 100 are not even default for servers, these parameters extremely prioritize that processes can get done no matter how slow they get, and they are even more nuts when Android is designed to work without swap space.

    What that free command is telling us is the tablet is using the "slow RAM" even when we only just turned it on. Fortunately there are two ways to fix this problem: one is to completely disable zRAM, the other one is to use ZRAM a whole lot less by tweaking the swappiness and vfs_cache_pressure parameters. This can be easily done with the following sentences in a rooted tablet:

    Code:
    # echo 5 > /proc/sys/vm/swappiness
    # echo 50 > echo 5 > /proc/sys/vm/vfs_cache_pressure

    Or, to regain the whole fast RAM:

    Code:
    # swapoff /dev/block/zram*

    One caveat of the first method, reducing swappiness, is there is still a lot of RAM (one quarter of the whole RAM in a 2 GB device) reserved as "slow RAM".


    SOME ROMS DID NOT ENABLE KERNEL SAMEPAGE MERGING, UNFORTUNATELY

    Additional to the sorry implementation of zRAM, some firmwares support a fabulous Linux tool to reduce RAM usage called Kernel Samepage Merging (KSM) but they don't use it by default. This software runs at kernel level, so, it really is CPU-wise inexpensive and, opposite to zRAM it can actually recover some RAM usage by reducing the amount of data flagged as redundant in physical RAM by merging it. KSM is good for you and you should have it always enabled by issuing the following command as root:

    Code:
    # echo 1 > /sys/kernel/mm/ksm/run


    STOP WRITING AND FIX MY RAM! PLEASE!

    Well... are there any people interested on this? With the above information you can write a script to execute at boot. Something like this should work in any version of the firmware:

    Code:
    #!/system/bin/sh
    
    # Mount system as rw
    busybox mount -o remount,rw -t auto /system
    
    # Tweaking swappiness in zram
    echo "5" > /proc/sys/vm/swappiness
    echo "50" > /proc/sys/vm/vfs_cache_pressure
    
    # Activating Kernel Samepage Merging
    echo 1 > /sys/kernel/mm/ksm/run
    
    # Remount system as ro. noatime option for faster and volatile system
    # busybox mount -o ro,remount,noatime /system
    busybox mount -o ro,remount /system
    
    exit 1

    Or, you can unpack the boot.img and modify the init.cht_ffd.rc (lollipop) or the init.r2_cht_ffd.rc (marshmallow) files to write these values as default... or, if there is interest for something easier, I can produce this boot.img files for you to flash using fastboot.


    ROOTING THE LENOVO YOGA TAB 3 PRO (YT3-X90[FL])

    Here I am not gonna write a lot. Instructions were given in this thread. I'd only recommend following the first two posts' instructions to unencrypt the data partition and root, you can always encrypt it again for security reasons but encryption shouldn't be a performance issue if you fixed the zRAM behavior with these modifications. The only note I can give you is you only need the twrp recovery build in the second post (the one with data partition support), as far as I can tell, there is no need to flash the one in the first post.

    After rooting, debloat your firmware. I use the app "/system/app mover" from Fdroid to convert to user apps and uninstall them. Also, if rooting is not your cup of tea, you can install AppOps software to freeze all those apps that you don't use regularly. Also, I couldn't patch my services.jar for Signature Spoofing with Nanodroid patcher in the most recent lollipop firmware, but it did work in Marshmallow... anyway I'll do it manually.

    ARE YT3-X90F AND YT3-X90L FIRMWARES INTERCHANGEABLE?
    I own a WiFi only device (YT3-X90F) so I can't assert they are interchangeable. If I owned the LTE version and use a WiFi firmware I would expect to loose LTE functionality. Now, on the other direction is more interesting because I've been using a LTE firmware version for weeks (as a matter of fact, the one joesnose linked in his How-To debrick this tablet, flashed with the instructions I posted for advanced users it even updated to recent 2020 firmwares). The only tweak you need for this to work well is to add "ro.ril.disable=1" in the build.prop file. So, yes, firmware for the LTE version work in the WiFi version but kind of not vice versa.

    YT3-X90[FL] DEVELOPMENT

    No news here. All capable people interested on developing for this device are all done with Lenovo and their attitude against Open Source. Don't expect your situation to change.
    I'm happy to know there are still a couple of developers interested on this device. I won't cite them by linking their names but they are OOEvil and alquez, the first guy is trying to make a Generic System Image (GSI) ROM compatible with our tablet, I don't know the details so I wouldn't go further. Alquez has been active in this thread and, while he is trying to figure out how to build a kernel, he believes the best way to start having some alternative to official Lenovo firmware is by using a firmware kernel (a prebuilt kernel) to, first, build a more up-to-date TWRP recovery.img and from there try to build CyanogenMod 13, which was based on Android Marshmallow 6.0.1. My guess is newer Android versions wouldn't work if we can't build the kernel from source.

    PHOTO ALBUM OF YT3/X90Y BIOS
    This photo album documenting every screen option in the BIOS of the Yoga Tab 3 Pro may or may not help someone, but it contains a lot of useful hardware information and guidance for those attempting to boot something else than the original Android 5 or 6 firmware. Using this options, that are accessible through F2 at boot with an attached USB keyboard, you could try Linux distributions on the tablet or even attempt to run Windows, @alquez informs it works fine with a recent distro but the mainline kernel is lacking touchscreen and battery support. This is absolutely his work and he asked me to share it. I hope it serves someone. It is hosted in a rather obscure website but it was the only reasonable placeholder I could find for the 321 photos.

    Hope this helps someone, I just didn't want to keep it to myself. Have a nice day!
    4
    Just remember, if your tablet is 3G capable I strongly suggest that you modify the line "ro.lenovo.tablet=wifi" to "ro.lenovo.tablet=3gdata" and remove the line "ro.radio.noril=true" to your build.prop file in /system. To do this you can use the section Build.prop Editor of the Kernel Adiutor app or you can do it manually if you have already a method to modify system files. If you do not use mobile data at all, you may leave the build.prop as it is, you'll save a lot of battery by using only wifi.

    ONLY FOR TESTING: Cooked ROM, newer TWRP and tweaked kernel

    ONLY TRY THESE FOR TESTING PURPOSES, THE TWEAKS ARE ALL SAFE TO USE BUT ONLY FLASH FOR TESTING PURPOSES, PLEASE. FIRST, TRY TO USE FASTBOOT TO BOOT THE boot.img FILE WITHOUT FLASHING: IF IT BOOTS GO AHEAD AND TRY THE OTHER FILES (fastboot boot boot.img). THE TWRP IS NOT AS STABLE AS THE OTHER ONE HERE AT XDA BUT ALLOWS TO USE ZIP COMPRESSION IN BACKUPS. I AM NOT GONNA BE AROUND. IF YOU TRY SOMETHING MAKE A BACKUP FIRST. THIS DEVICE IS MESSY AS F*CK.
    I wrote a very detailed guide about these files I uploaded to my Nextcloud that include the newer TWRP-3.0.2, a TWRP flashable Cooked ROM and a separate kernel (boot.img) in case your system is already setup, but the post went to some XDA void and didn't upload. These are based on the YT3-X90L latest firmware, but they work on the X90F model too. The TWRP should work with Lollipop and Marshmallow firmwares.

    I can't write everything again, so, the kernel contains better management of RAM and emmc (internal) memory, a 256 MB zRAM space instead of 512 and a more conservative approach to LowMemoryKiller.

    The cooked ROM includes the described kernel and debloated apps, it's already rooted with Magisk (you can unroot with Magisk Uninstaller), an updated Busybox build, su.d support (I plan to use it with AFWall+), zipaligned apps, etc. It is for the X90L but possibly works for the other Yoga Tab 3 Pro models. It works for the X90F but it will reboot once after the first boot because the RIL configuration times out. To install the cooked ROM you need to:

    0) Know that by doing this you will loose pretty much everything in your tablet. You start from scratch if everything goes smooth, if not you could possibly end up with a system without an OS. The usual stuff when you are customizing your system.
    1) Boot into TWRP and make a Nandroid backup. IT IS IMPORTANT because @joesnose had problems with a "random reboot" and lost Bluetooth/WiFi after it. I am trying to look into this. The only difference is his tablet has 4 GB RAM and probably a different firmware.
    2) Wipe cache, Dalvik/ART, System and Data in TWRP - Wipe, Advanced Wipe menu. If your tablet is encrypted, or in factory firmware you also need to explicitly use the button "Format Data partition" and confirm writing "yes" in the format procedure prompt. You will loose any configuration made to your tablet.
    3) Install the superr_stockMM.zip wich is flashable by selecting the file from your Internal tablet memory, using the Install button in the main TWRP interface.

    FOUR IMPORTANT NOTES TO COMMON ISSUES:
    If you come from a stock firmware your data partition is encrypted. You need to pass a blank password in TWRP to continue to use the custom recovery. You also need to format data partition before flashing the cooked ROM.

    If your tablet is WiFi-only I strongly suggest that you modify the line "ro.lenovo.tablet=3gdata" to "ro.lenovo.tablet=wifi" and add the line "ro.radio.noril=true" to your build.prop file in /system. To do this you can use the section Build.prop Editor of the Kernel Adiutor app or you can do it manually if you have already a method to modify system files. In Lollipop firmware you use "ro.ril.disable=1" instead of "ro.radio.noril=true" to get the same effect: sort of a conversion to WIFI-only tablet from LTE models. I'd argue this is useful to do if you are gonna be without LTE connection/service for long periods of time and I can think a couple of other uses.

    Do not use stock Lenovo launcher unless you uninstall Magisk... they are incompatible for reasons I don't care to know and the Launcher will constantly FC (it is a pain in the arse).

    If you are still expecting better performance I am sure there are some tweaks left in RAM management but it wont go too much further in 2 GB devices. Instead, you may consider to lower your display resolution and pixel density to something reasonable as 1400x2240 or even 1200x1920 maintaining the same aspect ratio. To do this you do not need to have root but you need to interact with the tablet using ADB. First change the size of your display:
    Code:
    adb shell wm size 1400x2240

    Then adjust your density:
    Code:
    adb shell wm density 260

    If still is not enough you can go even further with 1200x1920 and 224, use the same method to go back to stock with 1600x2560 and 300 to 302. This won't need a reboot but will probably cause an inconsistent UI that will lead to FCs and random reboot. You can just reboot after applying these tweaks. Unless you are really sight-gifted you won't notice a lot has changed but you will be dealing with 2.x Mpixels instead of 4.x Mpixels and that will help with your overall performance as well as your battery life sacrificing a pixel count that most of the people wouldn't even notice. If you did this correctly, in the next boot sequences you'll notice an offset on the Lenovo orange logo.

    It is important to say that your display supports 1600x2560 pixels physically, but I'm assuming the GPU has no dedicated RAM and uses the device's, so, by reducing the quantity of pixels the GPU needs to deal with, the pressure on the device's RAM is also reduced.

    EXTRA TIP: If boot annoys you just delete /system/media/boot.wav, bootanimation.zip and shutdownanimation.zip and you'll get a silent boot and the generic android boot animation.

    Hope you enjoy your tablet!

    TWRP-3.0.2.0- BETA: Again, this is not a flashable zip. Uncompress first and test the recovery system using "fastboot boot twrp_yt3-x90f_beta.img". If everything works for you, you may want to flash it permanently rebooting to bootloader and flashing with "fastboot flash recovery twrp_yt3-x90f_beta.img". Remember I did not test this in Marshmallow yet.

    FEATURES:
    - Fixed RAM issues (swapiness 10, vfs_cache_size 50 and disabled dynamic low memory killer tweaks and minfree values).
    - Reduced zRAM size to only 256 MB.
    - Tweaked interactive CPU scheduler to use other than min and max frequencies (but still responsive). The tweaks are based on the Advanced Interactive Governor Tweaks Guide. This may save battery life.
    - Max frequency capped to 2.08 GHz (this is not great if you are a gamer). This tablet throttles when using max frequency for a long time, so, to save battery and keep it cooler I tweaked the CPU to run slower.
    - Tweaked I/O schedulers to use deadline governor and read ahead cache to 640 kb (used benchmarks to get to this value).
    - Force encryption disabled (to avoid applying ionioni script after flashing). Still needs to format data partition. You can encrypt your data partition later through Configuration -> Security user interface.
    - Implemented native init.d support (not su.d anymore and no need to root the main OS).
    - Busybox updated.
    - Rooted with Magisk by default ( you can use Magisk uninstaller to unroot).
    - Debloated apps. I also deleted Lenovo User Experience Program which was asking for root privileges even when you don't opt in to the Lenovo UE Program at setup wizard. I find this behavior shady.
    -Multi-window mode is available in Developer Options and needs to be activated by you. In this mode if an app is compatible with multi-window mode you can double-tap on its title bar to enable Window mode. This function was more transparent in Lollipop firmware but it is still there in Marshmallow firmware if you change the build type to userdebug instead of user in build.prop (that's how I enabled it in the Cooked ROM).
    - There are also other tweaks in VM and KSM.

    And that's it, I'm not trying to change a lot, only the fundamental issues. But I suggest some other tweaks up there.
    1
    Thanks for the new feel.

    This is great, glad to see a developer picking up this tablet. It's a fine machine with an unfortunately small user base and has never really seen any development apart from ionioni s efforts and he didn't even own one, lol.

    Edit: *Thank for the new twrp * auto correct!
    1
    Thank a lot, gret work just getting my tablet charged so i can take your kernel for a spin, will probably go for rhe screen tweaks also. Nice work.

    Edit.

    Just to let you know i have F model with 4gb on mm.

    I tried the kernel you uploaded but had some issues, after first boot tablet shut down while i navigating round tablet system, no warning.This happened a couple of minutes after boot.

    Upon reboot i noticed there was no wifi or bluetooth.
    1
    EDIT 2: You could open the Cooked ROM zip, delete the boot.img in WinRAR and paste your own boot.img. That should work. And if it does, I can tweak your boot.img and put it in another version of the Cooked ROM.

    will give this a try.