How To Guide Install GSI ROM - Xiaoxin Pad Pro 2021 [TB-J716F] - Update

Search This thread

Tropaion

Senior Member
Jan 4, 2021
65
83
How to install GSI ROM - Xiaoxin Pad Pro 2021 [TB-J716F] - Update

My daily driver is now an GSI ROM without any bugs but two small inconveniences.
I tried a few ROMS and the best working for me is LineageOS 20, but only the lineage-20-td build.
Your data will be deleted, try at your own risk.

Treble Device Information (Treble Info):
Required Image: system-arm64-ab.img.xz
Supports modern version of treble and uses VNDK30.0
Supports System-as-Root, uses A/B operating system
Supports seamless upgrades and uses dynamic partitions (super partition)​

Important:
For the GSI ROM to work correctly, it is recommended to update your tablet to the latest ZUI-Version, but you should at least have ZUI14.​
Requirements:
Installation:
  1. Go to Settings ->System -> About Phone, tab on it until developer settings are enabled.
  2. Go to Developer Settings and enable USB Debugging, allow USB-Debugging if tablets asks.
  3. Reboot to bootloader: adb reboot bootloader
  4. Flash vbmeta.img: fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img, you only need to flash it once
  5. Reboot to fastbootd: fastboot reboot fastboot
  6. Flash GSI-ROM: fastboot flash system lineage-20.0-xxxxxxxx-UNOFFICIAL-arm64_bgN.img and wait
  7. Use the volume keys to select Enter recovery
  8. In the recovery mode select Wipe data/factory reset and reboot the device.
Updating:
  1. Reboot to fastbootd: adb reboot fastboot
  2. Flash your latest GSI-ROM: fastboot flash system lineage-20.0-xxxxxxxx-UNOFFICIAL-arm64_bgN.img
  3. In menu choose Reboot system now
Known Bugs/Problems:
Stock Launcher displaying Folders and Names incorrectly:
Install different launcher, for example Nova Launcher
Solved with latest gsi version​
Low Minimum Brightness:
Don't turn down your brightness to low, it's impossible to see anything.​
Magnet Cover not working:
Enabling display via magnet when opening cover not working.
According to @Ungeskriptet, it is solveable with this Magisk Module
Solved in recent GSI builds based in TrebleDroid, thanks to the contribution from @Ungeskriptet
Battery drainage:
In default configuration the GSI ROM doesn't disable display when locked but shows the time with very low brightness. This surprisingly massively drains the battery, just disable it. For this, go to Settings->Phh Treble Settings->Customization features->System UI Tuner->Ambiend Display and turn off Always on
 
Last edited:

luizkun

Member
Jan 20, 2020
40
4
thabks for nice experience with gsi, if lenovo public their kernel source like mipad 5 pro i can developer custom rom for it, if not it hard to map correct hal driver to exactly application layer of gsi
 

luizkun

Member
Jan 20, 2020
40
4
How to install GSI ROM - Xiaoxin Pad Pro 2021 [TB-J716F]

I tried to install a GSI ROM on this tablet, because there is only a chinese version available.
The tablet supports treble and I managed to get different GSI ROMs booting on it, but with a few annoying bugs I couldn't solve.
I thought I will share my experience here and maybe someone with more expierence can help to solve these problems.
Your data will be deleted, try at your own risk.

Treble Device Information (Treble Info):
Required Image: system-arm64-ab.img.xz
Supports modern version of treble and uses VNDK30.0
Supports System-as-Root, uses A/B operating system
Supports seamless upgrades and uses dynamic partitions (super partition)
Requirements:
Installation:
  1. Go to "Settings" ->"System" -> "About Phone", tab on it until developer settings are enabled.
  2. Go to "Developer Settings" and enable "USB Debugging", allow USB-Debugging if tablets asks.
  3. Reboot to bootloader: "adb reboot bootloader"
  4. Flash vbmeta.img: "fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img", you only need to flash it once
  5. Reboot to fastbootd: "fastboot reboot fastboot"
  6. Flash GSI-ROM: "fastboot flash system lir-v313+211012-arm64-bgZ-lite.img" and wait
  7. Using volume keys on tablet select "Enter recovery" and then select "Wipe data/factory reset", reboot device.
  8. Now it tries booting the ROM, after the "bootloader unlocked" warning, the lenovo logo should show up. Here I often had the problem that it didn't but at first try. If, after waiting for 20-30s the ROM doesn't, press the power button to reboot tablet. After trying it a few times it always worked. This problem only occurs at first boot up, after setting the ROM up, it boots normally.
  9. Now after booting, when using the LiR-ROM, you have to set up the tablet. In the fourth setup window, the ROM is asking for a SIM-Card even though the tablet doesn't support GSM. You can skip this by entering to adb commands "adb shell settings put secure user_setup_complete 1" and "adb shell settings put global device_provisioned 1". After sending these two commands the pressing return in the setup, it should complete.
  10. After successfully booting, the "Home" and "Tasks" button is missing. After a reboot they should appear and work normally but I recommend to set a lock pin first.
Known Bugs/Problems:
AutoRotate
When activating autorotate, the display is always orientated in the wrong direction by 270°.​
I tried to solve it with two different commands added to build.prop:​
  1. "ro.sf.hwrotation=270" -> didn't do anything​
  2. "ro.surface_flinger.primary_display_orientation=ORIENTATION_270" -> the screen rotated in right direction, but the touchpanel did not.​
Workaround: using an rotation controll app, but I'm not a fan of it.​

Overlay - AutoBrighness, Magnetic Screen Lock, Battery Save Mode
I tried creating an overlay according to the instructions but sadly the "FrameworksResTarget.apk" from the vendor folder doesn't provide much configuration information including for the above mentioned issues. I tested values from similiar devices but didn't have any success. If someone is interested to try, here are the files I extracted from the tablet and the current overlay I created.​

Hopefully, someone here knows how to solve these problems.
did you try lingeas os ? i think it's a good GSI
 

Tropaion

Senior Member
Jan 4, 2021
65
83
@luizkun I tried LIR which is based on LineageOS. I use Lineage for nearly all my devices, thats why I wanted to get it running. I think they will probably release kernel but don't know how long it will take.
But if you know how to programm ROMs you can also try to modify GSI so that the issues are gone.
According to phusson the accelerometer orientation is probably wrong: GitHub Issue.
But I think a custom ROM would be really nice and the best. I would probably try it myself but I never did programming work with android.
 

bouyhy01

Senior Member
May 4, 2016
441
69
bourges
ASUS ROG Phone 5
Hello i received one(tb-j716f) unlocked with a globaoe fw without ota's and i flashed the cn one and took the boot.ipg and patched it with pagisk for root and when flashing it via fastboot the device reboots to fastboot everytipe 1nd had to reflash the fw via edl , i did flashed vbmeta img with the known command o disable verification but no success same thing again. Can anyone plz tell me how to root that crap , it was intended to root use only and took over xiaomi pad pro just because the xiaomi needs 7 days of waiting before unlocking , plz help guys .thx so much i can buy a couple beers for the helper
 

Tropaion

Senior Member
Jan 4, 2021
65
83
@bouyhy01 I didn't try rooting until now, not that interested in it but you can look at this guide. You probably have to experiment a bit since MTL is not that good with chinese
 

rosco_pc

Senior Member
Dec 6, 2010
87
18
Received a 'banggood' pad pro 2021 with the 'global' rom.
After installing stock rom and updating to the .238 version I tried to install the LiR GSI ROM as stated.
First reboot takes about 3 tries, but after the setup completion (with the ADB commends in step 9) a reboot is not bringing up the rom (even after multiple tries). Only effect is a sound indicated that the ROM is started and I can connect via adb. Got it working now

However HOW do yo enable SU? Can not find the info on teh dynamic superuzer function

Wanted to try if the fix mentioned here: https://groups.google.com/g/android-x86/c/RFXYW5MNCuk is working for the rotation problem:

Code:
setprop ro.iio.accel.x.opt_scale -1
setprop ro.iio.accel.y.opt_scale -1
setprop ro.iio.accel.z.opt_scale -1
stop; start

(as Lenovo normally makes laptops I though there would be a good change it would work :p)
 
  • Like
Reactions: zxcv88

Tropaion

Senior Member
Jan 4, 2021
65
83
@rosco_pc It's nice that someone else is trying it.
It also took me a while to find out how to change the build.prop file. I used the app BuildProp Editor but you cant' directly edit the file because the tablet has A/B Operating System which uses dynamic partitions. The partitions is always exactly the size the OS needs, so when you edit and file and the size changes, it doens't work.
First you need to manually increase the partition size, I don't know if its the best way but it worked for me:
  1. Connect tablet to pc and enter adb shell with "adb shell"
  2. Get admin rights with "su"
  3. You need the current size of system_b partition which you get with "blockdev --getsize64 /dev/block/mapper/system_b". In my example I got this value: "3098140672" in bytes. If you change the second digit to 1: "3198140672" you get 100MB free space to use.
  4. To increase space, first exit adb shell with "exit" and "exit"
  5. Reboot to fastboot: "adb reboot fastboot"
  6. Resize partition (change bytes to your needed size) with: "fastboot resize-logical-partition system_b 3198140672"
  7. Now you can reboot and edit your build.prop
To use the build.prop app you need root permission which you can enable in "Settings" somewhere in the "phhusson" tab. I don't remember the exact location.
 

rosco_pc

Senior Member
Dec 6, 2010
87
18
@rosco_pc It's nice that someone else is trying it.
It also took me a while to find out how to change the build.prop file. I used the app BuildProp Editor but you cant' directly edit the file because the tablet has A/B Operating System which uses dynamic partitions. The partitions is always exactly the size the OS needs, so when you edit and file and the size changes, it doens't work.
First you need to manually increase the partition size, I don't know if its the best way but it worked for me:
  1. Connect tablet to pc and enter adb shell with "adb shell"
  2. Get admin rights with "su"
  3. You need the current size of system_b partition which you get with "blockdev --getsize64 /dev/block/mapper/system_b". In my example I got this value: "3098140672" in bytes. If you change the second digit to 1: "3198140672" you get 100MB free space to use.
  4. To increase space, first exit adb shell with "exit" and "exit"
  5. Reboot to fastboot: "adb reboot fastboot"
  6. Resize partition (change bytes to your needed size) with: "fastboot resize-logical-partition system_b 3198140672"
  7. Now you can reboot and edit your build.prop
To use the build.prop app you need root permission which you can enable in "Settings" somewhere in the "phhusson" tab. I don't remember the exact location.
Found the root setting:
Settings > Phh Treble Settings : Misc features > SuperSU

The setting I mentioned can actually be set from adb shell
  1. Enable root (as above)
  2. In your cmd window:
    • adb shell
    • su
    • getprop / setprop to read and write properties
    • stop; start (restart tablet services)
However none of this works. Another one I was hopeful for:
ro.iio.accel.order xyz (with x=0 Y=1 and z=2)
swapping x and y axis would result in command
# setprop ro.iio.accel.order 102

Even that did not work and I almost suspect this is specific for x86 based android (as all refers to those devices). Will keep playing around and report back here

PS rebooting does not always bring up the ROM, ie Lenovo Logo remains on screen. I can however connect through ADB when that happens.
 
Last edited:

Tropaion

Senior Member
Jan 4, 2021
65
83
@rosco_pc Are you sure the properties were applied when you use the setprop-command?
Have you checked with the "BuildProp Editor" App if it was written into the prop file?
After editing the file you have to reboot
 

rosco_pc

Senior Member
Dec 6, 2010
87
18
Yes they should be applied, but will not survive a reboot. For that they need to be added to buildprop or set in another script during startup.

You can try with
# getprop

This will get you a list of all properties applied (including the ones you have in buildprop).
It is the
# stop; start

that should restart all services without rebooting the tablet and makes sure the new properties are being used until next reboot
 

Tropaion

Senior Member
Jan 4, 2021
65
83
Yes they should be applied, but will not survive a reboot. For that they need to be added to buildprop or set in another script during startup.

You can try with
# getprop

This will get you a list of all properties applied (including the ones you have in buildprop).
It is the
# stop; start

that should restart all services without rebooting the tablet and makes sure the new properties are being used until next reboot
Ok, didn't know that this works too.
 

sebseb83

Member
Nov 6, 2021
11
3
managed to setup everything, exact same rom as OP used.

Only problem is the screen is completely black, not a pixel in site. I know it worked because if I touch the power button etc it makes Android noises but the screen so totally pitch black. Anyone able to assit? I have tried this command via ADB but didn't seem to do anything

Code:
adb shell settings put system screen_brightness 255
 

sebseb83

Member
Nov 6, 2021
11
3
Retry a few times. It will eventually come up (I try to reboot as little as possible)
Thank you. Finally in to LOS :)

For anyone else who has similar issues. After the first reboot after flashing the ROM, it will boot up with the lenovo logo, leave it there to do its thing for 5-10 minutes then it will be patch black screen but pressing the buttons still makes noise. - here I unplugged the cable and not sure if that matters but do that just hold the power button for 30-45 seconds so it reboots again and wait another 2 minutes or so then you should see the Lineage Logo booting up ( if thats the rom you tried out)
 
  • Like
Reactions: prozack1983

Top Liked Posts

  • There are no posts matching your filters.
  • 10
    How to install GSI ROM - Xiaoxin Pad Pro 2021 [TB-J716F] - Update

    My daily driver is now an GSI ROM without any bugs but two small inconveniences.
    I tried a few ROMS and the best working for me is LineageOS 20, but only the lineage-20-td build.
    Your data will be deleted, try at your own risk.

    Treble Device Information (Treble Info):
    Required Image: system-arm64-ab.img.xz
    Supports modern version of treble and uses VNDK30.0
    Supports System-as-Root, uses A/B operating system
    Supports seamless upgrades and uses dynamic partitions (super partition)​

    Important:
    For the GSI ROM to work correctly, it is recommended to update your tablet to the latest ZUI-Version, but you should at least have ZUI14.​
    Requirements:
    Installation:
    1. Go to Settings ->System -> About Phone, tab on it until developer settings are enabled.
    2. Go to Developer Settings and enable USB Debugging, allow USB-Debugging if tablets asks.
    3. Reboot to bootloader: adb reboot bootloader
    4. Flash vbmeta.img: fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img, you only need to flash it once
    5. Reboot to fastbootd: fastboot reboot fastboot
    6. Flash GSI-ROM: fastboot flash system lineage-20.0-xxxxxxxx-UNOFFICIAL-arm64_bgN.img and wait
    7. Use the volume keys to select Enter recovery
    8. In the recovery mode select Wipe data/factory reset and reboot the device.
    Updating:
    1. Reboot to fastbootd: adb reboot fastboot
    2. Flash your latest GSI-ROM: fastboot flash system lineage-20.0-xxxxxxxx-UNOFFICIAL-arm64_bgN.img
    3. In menu choose Reboot system now
    Known Bugs/Problems:
    Stock Launcher displaying Folders and Names incorrectly:
    Install different launcher, for example Nova Launcher
    Solved with latest gsi version​
    Low Minimum Brightness:
    Don't turn down your brightness to low, it's impossible to see anything.​
    Magnet Cover not working:
    Enabling display via magnet when opening cover not working.
    According to @Ungeskriptet, it is solveable with this Magisk Module
    Solved in recent GSI builds based in TrebleDroid, thanks to the contribution from @Ungeskriptet
    Battery drainage:
    In default configuration the GSI ROM doesn't disable display when locked but shows the time with very low brightness. This surprisingly massively drains the battery, just disable it. For this, go to Settings->Phh Treble Settings->Customization features->System UI Tuner->Ambiend Display and turn off Always on
    4
    We should spam this forum thread, maybe then they will eventually react :D
    4
    After a lot of jumping through hoops, I was able to get custom ROMs running on the tablet. Though I do want to share my experience with it.

    I chose to run BlissOS 15.3 on it the first time, and it worked quite well, despite the known bugs such as the rotation, adaptive brightness not working, and the phhTreble settings not working either. (Not sure if it is specific to the ROM but there's that.)

    A few things I noticed, TWRP would encrypt the partitions if you enabled a password on the system, and the decryption password is not the same as the one you set as the system password.

    Another thing is setting the screen cutout to anything else other than the default, to which it will cause the whole screen to turn to black, rendering it useless unless you wipe the data in recovery mode.

    I also found out that by changing the boot animation, it doesn't actually write on it, turning the bootanimation.zip file to 0 bytes when moved, a.k.a. it becomes non-existent, and thus when rebooting the tablet, it will drastically slow your device down. Sometimes it even heats up the device, I can even feel it through the casing.

    I also tried other Android 12 GSIs, including Android 12L ones, but it had a few more issues, especially the navigation bar on Android 12L.

    So for me, BlissOS works fine the best for me.

    If anyone can find out how to fix these kinds of issues, let us know.

    Thanks to @Tropaion for the instruction guide!
    3
    @gunalarix8 Sadly not possible because there is no kernel source.
    @TheNiceGuy11999 I created a GitHub issue before.
    I you read through the first thread page you can finde everything you wanted.
    Lenovo uploaded the open source file for global variants. I could not find the chinese variants. 🤣 It was uploaded very recently. 😁