Lenovo Tab K10 - TrebleDroid/treble_experimentations GitHub Wiki
Lenovo Tab K10 LTE (TB-X6C6X / TB-X6C6C)
Seems to behave the same as its non-LTE counterpart. VoLTE/SIM not tested.
Lenovo Tab K10 (TB-X6C6F)
Android 11 firmware is the only firmware that seems to currently work natively, anything later kernel panics to recovery or bootloops when flashed via fastbootd.
If you do not want to flash natively, you can use the DSU Sideloader method described below to run custom GSIs without downgrading your stock firmware.
Hardware support
| Component | Comment |
|---|---|
| Camera | Works |
| Speaker / Mic | Works |
| Bluetooth | Works |
| SDCard | Works |
| MTP | Works |
| WiFi | Works |
| SIM / Mobile Data | Untested |
| VoLTE | None |
| Fingerprint | None |
| NFC | None |
| FM Radio | Untested |
Tested By:
-
00p513-dev
- Model: Lenovo TB-X6C6F
- Firmware: S000043_210430
- Date: 2022-02-11
-
C0rn3j
- Model: Lenovo TB-X6C6X
- Firmware: S000080_220410_ROW , S000043_210430 - A12 TB-X6C6F_S100038_240307_ROW was also tested, but could not get the GSI to work natively
- GSI: Andi Yan's td - lineage-20.0-20240516-UNOFFICIAL-arm64_bgN.img - LineageOS 21.0 seems to not work, supposedly because older Android 14 releases are not friendly with 4.19 kernel the device uses
- Last updated: 2024-05-25
-
Hypfer
- Model: Lenovo TB-X6C6NBF
- Firmware: Downgrade to Lenovo_Tab_K10_Smart_TB-X6C6NBF_MT6765_USR_S000039_211023_MP1V7_ROW required for native flashing
- GSI: Andi Yan's td lineage-20.0-20240818-UNOFFICIAL-arm64_bgN-signed.img
- Last Updated: 2024-10-16
-
efremmanac-prog
- Model: Lenovo TB-X6C6X
- Firmware: Android 12
- GSI: AndyYan's LineageOS 19.1 (
arm64_bgN-signed.img.gz) via DSU Sideloader (PC-less) - Last Updated: 2026-10-21
Method 1: Installation via DSU Sideloader (No PC / Non-Destructive)
This method utilizes Android's native Dynamic System Updates (DSU) feature via DSU Sideloader. It allows you to boot a custom GSI without modifying the core system partitions and works regardless of whether the base stock firmware is Android 11 or Android 12.
Prerequisites
- Ensure the tablet battery level is sufficiently charged before performing configuration reboots.
- Go to Settings > About Tablet, and tap Build Number 7 times to enable Developer Options.
- Inside Developer Options, toggle OEM Unlocking and USB Debugging to ON.
- Download a signed GSI image (e.g., AndyYan's LineageOS 19.1
arm64_bgN-signed.img.gzfrom SourceForge). Non-signed GSI structures will fail to initialize.
Step 1: Unlocking the Bootloader
- Connect the tablet to a PC or a secondary Android device running an ADB terminal environment.
- Boot the device into the bootloader interface:
adb reboot bootloader - Execute the standard unlocking command sequence:
(Note: Older variants may requirefastboot flashing unlockfastboot oem unlockinstead) - Confirm the prompt on the tablet screen using the volume keys and power button.
- Boot back into the stock OS using
fastboot reboot, complete the setup wizard, and re-enable USB Debugging.
Step 2: DSU Sideloader Application Setup
- Install and open the DSU Sideloader application on the tablet.
- Select the downloaded, signed GSI image file.
- Set the Userdata allocation size value to 22 GB.
- Tap Install and copy the generated
.shscript execution path to your clipboard.
Step 3: Script Execution & Container Booting
- Connect the tablet to your ADB terminal host (PC or secondary device via OTG).
- Execute the copied
.shcommand string directly inside the command line tool or via the Bugjaeger interactive shell interface. - Monitor the Dynamic System Update progress configuration bar in the tablet's notification center.
- Keep the device connected to a power supply. Once compilation finishes, select Restart from the notification panel.
Step 4: Mandatory Phh Treble Adjustments
Once booted into the LineageOS environment, navigate to Settings > Phh Treble Settings to correct the following interface anomalies:
- Backlight Failure: Go to Misc features and enable Force alternative backlight scale.
- Performance Stabilization: Enable Mediatek GED KPI support and disable SurfaceFlinger backpressure parameters.
- System UI Layout: Disable taskbar overlays to maintain standard Pixel navigation gesture constraints.
[!WARNING] Do NOT enable Dynamic refresh rate options inside Phh settings. Activating this parameter causes an immediate Kernel Panic and subsequent boot failure.
DSU Container Persistence Management
If the tablet undergoes a standard reboot cycle, it may return to the stock software layer. To bypass this, check the stock OS drop-down notification block and tap Reboot to re-enter the GSI container.
To force the device to remain inside the GSI environment indefinitely (preventing unmounts when the battery drains or during reboots), run this command via ADB while booted into the Stock Firmware:
gsi_tool enable
To disable persistence and return to default behavior, execute the following command via ADB inside the Stock Firmware:
gsi_tool disable
Method 2: Native Flash (Legacy / Requires Android 11 Downgrade)
Flashing Android 11 stock firmware
The device ships with Android 11. If you didn't upgrade and are still on A11, not A12, you can skip this section.
You will need to obtain X6C6F_S000043_210430_ROW.zip (or another A11 image) and extract it (sha256 checksum: 6e3f45628712749ad5e61e36fa1fffe4dbb6ac1730af8e4fcdd5902e07083d34), then flash the following files via fastboot:
adb reboot bootloader
fastboot flash boot boot.img
fastboot flash dtbo dtbo-verified.img
fastboot flash gz gz-verified.img
fastboot flash lenovocust lenovocust.img
fastboot flash lenovoraw lenovoraw.img
fastboot flash lk lk-verified.img
fastboot flash md1img md1img-verified.img
fastboot flash scp scp-verified.img
fastboot flash spmfw spmfw-verified.img
fastboot flash sspm sspm-verified.img
fastboot flash super super.img
fastboot flash tee tee-verified.img
fastboot flash userdata userdata.img
fastboot flash vbmeta vbmeta.img
fastboot flash vbmeta_system vbmeta_system.img
fastboot flash vbmeta_vendor vbmeta_vendor.img
fastboot flash preloader preloader_*.bin
fastboot -w
fastboot reboot bootloader
Disabling dm-verity
It is necessary to flash both a and b partitions, otherwise a warning screen requiring a Power button confirmation to continue will appear on boot. Take a backup of those beforehand, as standard recovery firmware packages don't contain them directly.
# vbmeta.img was generated by avbtool
echo 'QVZCMAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABhdmJ0b29sIDEuMi4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==' | base64 -d > vbmeta.img
fastboot flash vbmeta_a --disable-verity --disable-verification vbmeta.img
fastboot flash vbmeta_b --disable-verity --disable-verification vbmeta.img
fastboot flash vbmeta_system_a --disable-verity --disable-verification vbmeta.img
fastboot flash vbmeta_system_b --disable-verity --disable-verification vbmeta.img
fastboot reboot fastboot
Flashing a GSI Natively
Flashing the GSI should be completed entirely through fastbootd. It might be necessary to first delete the product partitions to free up system allocation blocks.
fastboot reboot fastboot
fastboot delete-logical-partition product
fastboot delete-logical-partition product_a
fastboot delete-logical-partition product_b
fastboot flash system system-squeak-arm64-ab-gapps.img
fastboot -w
fastboot reboot recovery
Format /data
This should have been automatically processed by fastboot -w. In case it failed, access recovery mode manually and navigate to Wipe data/factory reset -> Factory data reset. Alternatively, the system configuration layer will route directly to recovery on initial boot if data formatting is required.
Reboot to system, and the GSI should boot fine.
Troubleshooting
No internet connection
There is an MTK bug that Android 13 runs into, see the corresponding XDA tracker for technical details. The fix requires executing the following string to disable the restricted networking state:
adb shell settings put global restricted_networking_mode 0
Update to a newer GSI
To perform an update over an existing setup, dirty flash the system block structure with the newer image file:
adb reboot fastboot
fastboot flash system system-squeak-arm64-ab-gapps.img
fastboot reboot