Help
▲ 60 r/changeyourfont+1 crossposts

Help

Umm i tried gemini xda forum and so many things but still play integrity is no where to be strong i wouldn't mind it but free fire max wont let me play everything will load except game modes it always says reading game info and gemini said to pass strong integrity first so please help

u/DEV_ivan — 8 days ago

[GUIDE] Which root solution do I pick? This guide will help you pick one.

  • APatch -- The most unstable. While stealthy, it carries a risk of patch failure and it has less ecosystem. It's new and currently immature.
  • ReSukiSU -- A fork of KernelSU. The most supported by the ecosystem. It improves upon KernelSU by adding redundancy, such as falling back to LKM mode or a different hooking method. For some kernels and ramdisks, it can still fail even with fallbacks, as it operates in kernelspace for stealth.
  • Magisk -- The most stable. It operates in userspace, including POSIX and init, which is intended to be never changing. Because of this, it can run on many Android versions including those without GKI kernels. But it comes with a cost of rigidity, it doesn't support SuSFS or metamodules like KernelSU and APatch.
u/DEV_ivan — 12 days ago

[Root] How do I prevent the update from applying?

HiOS 16 have been released for my TECNO POVA 7 5G LJ7. But I specifically don't want to update, because I'm rooted with KernelSU-Next, and I can very much risk a bootloop. Apparently, the OTA upgrade have been installed without my notice or confirmation, and is ready to apply after reboot. I want to stop this from occurring. How do I do that?

Note that I have already disabled Automatic system updates and disabled the com.transsion.systemupdate app.

u/DEV_ivan — 26 days ago

[Support] Have to unbrick my grandma's Redmi 7A because my mom bricked it.

Please note that this situation isn't an emergency/urgency. My grandma already has another working, better phone (Redmi Note 8T).

So, back then, my mom decided to convince my grandma into giving her the phone. She promised to clean her phone up for the sake of performance, and she bricked it, probably by deleting system apps that the phone couldn't boot without. The phone never turned on again, as my grandma said.

Hearing this, I, with EDL/BROM knowledge, wanted this old phone of hers. I got it, my grandma gave it to me. I connected it to my laptop and it immediately was recognized as 05c6:9008 (Qualcomm:Firehose).

I installed edl-git from AUR and downloaded MIUI 12.0.3.0 from NeedROM.

With the Firehose loader and stock ROM, I ran the command:

sudo edl --loader=./prog_emmc_firehose_8937_ddr.mbn qfil ./rawprogram0.xml ./patch0.xml ./

Terminal logs:

❯ sudo edl --loader=./prog_emmc_firehose_8937_ddr.mbn qfil ./rawprogram0.xml ./patch0.xml ./
[sudo] password for ivanzasilly: 
Qualcomm Sahara / Firehose Client V3.62 (c) B.Kerler 2018-2025.
main - Using loader ./prog_emmc_firehose_8937_ddr.mbn ...
main - Waiting for the device
main - Device detected :)
main - Mode detected: firehose
firehose
firehose - [LIB]: Sector size in XML 4096 does not match disk sector size 512
Progress: |██████████| 100.0% Write (Sector 0x0 of 0x0, ) 0.13 MB/s                                                                                                  
Progress: |██████████| 100.0% Write (Sector 0x8 of 0x8, ) 6.45 MB/s                                                                                                  
Progress: |██████████| 100.0% Write (Sector 0x8 of 0x8, ) 5.00 MB/s                                                                                                  
Progress: |██████████| 100.0% Write (Sector 0x4A of 0x4A, ) 11.07 MB/s                                                                                               
Progress: |██████████| 100.0% Write (Sector 0x4A of 0x4A, ) 15.48 MB/s                                                                                               
Progress: |██████████| 100.0% Write (Sector 0x10 of 0x10, ) 10.57 MB/s                                                                                               
Progress: |██████████| 100.0% Write (Sector 0x10 of 0x10, ) 10.72 MB/s                                                                                               
Progress: |██████████| 100.0% Write (Sector 0x31E of 0x31E, ) 8.56 MB/s                                                                                              
Progress: |██████████| 100.0% Write (Sector 0x31E of 0x31E, ) 14.93 MB/s                                                                                             
Progress: |██████████| 100.0% Write (Sector 0x14A of 0x14A, ) 6.38 MB/s                                                                                              
Progress: |██████████| 100.0% Write (Sector 0x14A of 0x14A, ) 12.88 MB/s                                                                                             
Progress: |██████████| 100.0% Write (Sector 0x191 of 0x191, ) 10.99 MB/s                                                                                             
Progress: |██████████| 100.0% Write (Sector 0x191 of 0x191, ) 12.09 MB/s                                                                                             
Progress: |██████████| 100.0% Write (Sector 0x205 of 0x205, ) 6.60 MB/s                                                                                              
Progress: |██████████| 100.0% Write (Sector 0x205 of 0x205, ) 13.44 MB/s                                                                                             
Progress: |██████████| 100.0% Write (Sector 0x270 of 0x270, ) 7.06 MB/s                                                                                              
Progress: |██████████| 100.0% Write (Sector 0x270 of 0x270, ) 14.74 MB/s                                                                                             
Progress: |██████████| 100.0% Write (Sector 0x10 of 0x10, ) 9.81 MB/s                                                                                                
Progress: |██████████| 100.0% Write (Sector 0x5E7 of 0x5E7, ) 11.73 MB/s                                                                                             
Progress: |██████████| 100.0% Write (Sector 0x5E7 of 0x5E7, ) 14.12 MB/s                                                                                             
Progress: |██████████| 100.0% Write (Sector 0xBA7 of 0xBA7, ) 13.39 MB/s                                                                                             
Progress: |██████████| 100.0% Write (Sector 0xBA7 of 0xBA7, ) 14.45 MB/s                                                                                             
Progress: |██████████| 100.0% Write (Sector 0x4000 of 0x4000, ) 14.34 MB/s                                                                                           
Progress: |██████████| 100.0% Write (Sector 0x4000 of 0x4000, ) 14.09 MB/s                                                                                           
Progress: |██████████| 100.0% Write (Sector 0x6C1 of 0x6C1, ) 12.77 MB/s                                                                                             
Progress: |██████████| 100.0% Write (Sector 0x8000 of 0x8000, ) 14.01 MB/s                                                                                           
Progress: |██████████| 100.0% Write (Sector 0x8000 of 0x8000, ) 13.77 MB/s                                                                                           
Progress: |██████████| 100.0% Write (Sector 0x87DD of 0x87DD, ) 15.62 MB/s                                                                                           
Progress: |██████████| 100.0% Write (Sector 0x87DD of 0x87DD, ) 13.82 MB/s                                                                                           
Progress: |██████████| 100.0% Write (Sector 0x10000 of 0x10000, ) 14.19 MB/s                                                                                         
Progress: |██████████| 100.0% Write (Sector 0x20000 of 0x20000, ) 13.88 MB/s                                                                                         
Progress: |██████████| 100.0% Write (Sector 0x80000 of 0x80000, ) 14.55 MB/s                                                                                         
Progress: |██████████| 100.0% Write (Sector 0x40000 of 0x40000, ) 14.52 MB/s                                                                                         
Progress: |██████████| 100.0% Write (Sector 0x5FF800 of 0x600000, ) 14.27 MB/s                                                                                       
Progress: |██████████| 100.0% Write (Sector 0x600000 of 0x600000, ) 16.25 MB/s                                                                                       
Progress: |██████████| 100.0% Write (Sector 0x200000 of 0x200000, ) 16.17 MB/s                                                                                       
Progress: |██████████| 100.0% Write (Sector 0x100000 of 0x100000, ) 14.08 MB/s                                                                                       
Progress: |██████████| 100.0% Write (Sector 0x3AC000 of 0x3AC000, ) 14.10 MB/s                                                                                       
Progress: |██████████| 100.0% Write (Sector 0x22 of 0x22, ) 6.90 MB/s                                                                                                
firehose
firehose - [LIB]: Error:
firehose
firehose - [LIB]: Read back verify failed at sector 162,num sectors 0
firehose
firehose - [LIB]: Finished sector address 0
Progress: |██████████| 100.0% Write (Sector 0x21 of 0x21, ) 10.98 MB/s                                                                                               
firehose
firehose - [LIB]: Error:
firehose
firehose - [LIB]: Read back verify failed at sector 122,num sectors 30777311
firehose
firehose - [LIB]: Finished sector address 30777311
<?xml version="1.0" ?><data>
 <patch SECTOR_SIZE_IN_BYTES="512" byte_offset="424" filename="DISK" physical_partition_number="0" size_in_bytes="8" start_sector="16" value="NUM_DISK_SECTORS-34." what="Update last partition 60 'userdata' with actual size in Primary Header." />
   </data>
<?xml version="1.0" ?><data>
 <patch SECTOR_SIZE_IN_BYTES="512" byte_offset="424" filename="DISK" physical_partition_number="0" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-19." value="NUM_DISK_SECTORS-34." what="Update last partition 60 'userdata' with actual size in Backup Header." />
   </data>
<?xml version="1.0" ?><data>
 <patch SECTOR_SIZE_IN_BYTES="512" byte_offset="48" filename="DISK" physical_partition_number="0" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-34." what="Update Primary Header with LastUseableLBA." />
   </data>
<?xml version="1.0" ?><data>
 <patch SECTOR_SIZE_IN_BYTES="512" byte_offset="48" filename="DISK" physical_partition_number="0" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-34." what="Update Backup Header with LastUseableLBA." />
   </data>
<?xml version="1.0" ?><data>
 <patch SECTOR_SIZE_IN_BYTES="512" byte_offset="32" filename="DISK" physical_partition_number="0" size_in_bytes="8" start_sector="1" value="NUM_DISK_SECTORS-1." what="Update Primary Header with BackupGPT Header Location." />
   </data>
<?xml version="1.0" ?><data>
 <patch SECTOR_SIZE_IN_BYTES="512" byte_offset="24" filename="DISK" physical_partition_number="0" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1." value="NUM_DISK_SECTORS-1." what="Update Backup Header with CurrentLBA." />
   </data>
<?xml version="1.0" ?><data>
 <patch SECTOR_SIZE_IN_BYTES="512" byte_offset="72" filename="DISK" physical_partition_number="0" size_in_bytes="8" start_sector="NUM_DISK_SECTORS-1" value="NUM_DISK_SECTORS-33." what="Update Backup Header with Partition Array Location." />
   </data>
<?xml version="1.0" ?><data>
 <patch SECTOR_SIZE_IN_BYTES="512" byte_offset="88" filename="DISK" physical_partition_number="0" size_in_bytes="4" start_sector="1" value="CRC32(2,7680)" what="Update Primary Header with CRC of Partition Array." />
   </data>
<?xml version="1.0" ?><data>
 <patch SECTOR_SIZE_IN_BYTES="512" byte_offset="88" filename="DISK" physical_partition_number="0" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-33.,7680)" what="Update Backup Header with CRC of Partition Array." />
   </data>
<?xml version="1.0" ?><data>
 <patch SECTOR_SIZE_IN_BYTES="512" byte_offset="16" filename="DISK" physical_partition_number="0" size_in_bytes="4" start_sector="1" value="0" what="Zero Out Header CRC in Primary Header." />
   </data>
<?xml version="1.0" ?><data>
 <patch SECTOR_SIZE_IN_BYTES="512" byte_offset="16" filename="DISK" physical_partition_number="0" size_in_bytes="4" start_sector="1" value="CRC32(1,92)" what="Update Primary Header with CRC of Primary Header." />
   </data>
<?xml version="1.0" ?><data>
 <patch SECTOR_SIZE_IN_BYTES="512" byte_offset="16" filename="DISK" physical_partition_number="0" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="0" what="Zero Out Header CRC in Backup Header." />
   </data>
<?xml version="1.0" ?><data>
 <patch SECTOR_SIZE_IN_BYTES="512" byte_offset="16" filename="DISK" physical_partition_number="0" size_in_bytes="4" start_sector="NUM_DISK_SECTORS-1." value="CRC32(NUM_DISK_SECTORS-1.,92)" what="Update Backup Header with CRC of Backup Header." />
 </data>

~/Documents/phone_unbrick/redmi_7a/pine_global_images_V12.0.3.0.QCMMIXM_20210518.0000.00_10.0_global/images 9m 23s
❯ edl reset
Qualcomm Sahara / Firehose Client V3.62 (c) B.Kerler 2018-2025.
main - Trying with no loader given ...
main - Waiting for the device
DeviceClass
DeviceClass - [LIB]: Permission denied accessing 05c6:9008.
DeviceClass - Potential fix (update udev rules): sudo echo 'SUBSYSTEM=="usb",ATTRS{idVendor}=="05c6",ATTRS{idProduct}=="9008",MODE="0666"' >> /etc/udev/rules.d/99-edl.rules
DeviceClass
DeviceClass - [LIB]: Couldn't get device configuration.
.DeviceClass
DeviceClass - [LIB]: Couldn't get device configuration.
.DeviceClass
DeviceClass - [LIB]: Couldn't get device configuration.
^C.
[!] Exiting cleanly…

~/Documents/phone_unbrick/redmi_7a/pine_global_images_V12.0.3.0.QCMMIXM_20210518.0000.00_10.0_global/images 11s
❯ sudo edl --loader=pine_global_images_V12.0.3.0.QCMMIXM_20210518.0000.00_10.0_global/images/prog_emmc_firehose_8937_ddr.mbn reset
[sudo] password for ivanzasilly: 
Qualcomm Sahara / Firehose Client V3.62 (c) B.Kerler 2018-2025.
main - Using loader pine_global_images_V12.0.3.0.QCMMIXM_20210518.0000.00_10.0_global/images/prog_emmc_firehose_8937_ddr.mbn ...
main - Waiting for the device
main - Device detected :)
main - Mode detected: firehose
firehose
firehose - [LIB]: Sector size in XML 4096 does not match disk sector size 512
DeviceClass - USBError(19, 'No such device (it may have been disconnected)')

I, then, restarted my phone by running:

sudo edl reset

The phone booted, but it was stuck on the "Redmi; Powered by Android" logo.

After a few reboots as attempts into recovery, the phone screen blinked and displayed "Redmi; by Xiaomi" instead.

Now, whenever I hold all three buttons (Vol+, Vol-, Power) then plug in the USB the moment the screen turns off, the phone does go into EDL mode, but only in Sahara mode.

I only managed to run this command once:

sudo edl reset --loader=./prog_emmc_firehose_8937_ddr.mbn --resetmode=firehose

From that point, I tried running:

sudo edl --loader=./prog_emmc_firehose_8937_ddr.mbn r persist ../../persist.img

But the command got stuck. I only could unstuck the phone from this state by rebooting it.

And now, where I am, whenever I try running this command:

sudo edl reset --loader=./prog_emmc_firehose_8937_ddr.mbn --resetmode=firehose

It fails at first. Running it again gets this command again and all other commands stuck until reboot.

I don't know what to do now, that's why I'm asking you guys for your help.

Please note that I cannot and will not open up the phone just to short test points.

Help will be appreciated.

u/DEV_ivan — 1 month ago

Android and its vendors suck ass

I wish I got a non-carrier Pixel.

I only rooted my phone for freedom and control, but I did NOT expect to be dealing with dm-verity, BROM mode, DA/Scatter files, Play Integrity and IMEIs in disk.

What the fuck is this economy... Why isn't maintaining a rooted Android phone as straightforward as maintaining Linux desktops/laptops...

u/DEV_ivan — 1 month ago

How can I uninstall LiveBoot? The option is greyed out, despite having enabled Freeload and root

u/DEV_ivan — 1 month ago

Trauma.

/context Everytime I scroll down the Developer Options, I always scroll down the first section as fast as I can, because of the OEM Unlocking I'm scared of. Last time I toggled that option off, it bootlooped my previous phone of same model, and it was so difficult to recover that I just sent my phone to the repair shop. Even looking at this option scares me. I do have an OEMUnlockOnBoot module though, but it's on boot, not before reboot or always.

u/DEV_ivan — 1 month ago
▲ 16 r/termux

Seen people wondering if there would be any functionality in this subreddit, so I guess I'll be posting uh, functionality

To be real: I do have practical use cases for Termux. I used it to uninstall the persistent Yandex Keyboard and Browser, and used it to work with FL Studio files. Without it, it would've been harder for me...

I only made this post for, idk, fun.

u/DEV_ivan — 1 month ago

Android should have been split, not forced by Google into two sides as-is. [Read bodytext]

Hi. After reading the info online, I thought why Google even chose to shove one, same edition of Android into people's faces.

Control-conscious users like power users need root to own their devices. Privacy-conscious users like enterprises need their phones pristine and secure.

But Google dealt with this problem so horribly, even some users broke up with Android and went for Ubuntu Touch and iPhones. If Google wasn't dominating the market, everyone would've switched away, but we currently only stay for the sake of convenience and compatibility.

I've been thinking, what if Google split their Android into two editions: Freedom and Security... Freedom would have allowed any OS, allowed 'adb root' out of the box, and flashing would only have voided disk encryption keys. Security would have kept the OS pristine and even sacrificed the phone to rather destroy the data than leak it.

But nooo, Google wants ads and telemetry shoved down people's throats, so they make it nearly unremovable without punishing you for it! Nobody likes this, not even the enterprises Google aims to please.

Look at Linux and Windows. They work great and apps trust it even with the user having absolute root/system privileges. Why can't Google do this?

u/DEV_ivan — 2 months ago

Couldn't resist the temptation and decided to successfully root my phone.

On the behalf of my previous post here: https://www.reddit.com/r/androidroot/s/0wfPBId5I5

Hi. After looking at a video of a person having successfully rooted their phone, I couldn't resist the temptation. So, instead of blindly going in, I thought for a while, making plans.

Here's what I did with my phone: I used not only `fastboot flashing unlock`, but also `fastboot flashing unlock_critical`. I flashed the stock vbmeta images first into A/B slots, not only the vbmeta.img but also vbmeta_system.img and vbmeta_vendor.img, with `--disable-verity --disable-verification` flags, before flashing the patched init_boot.

It worked. I got scared at what I was doing, but felt joyful for getting it work from first try. After I set up my phone, I disabled OTA upgrades.

I installed ReZygisk (not ZygiskNext, I despise it becoming closed source, therefore I cannot trust it). But Reddit still didn't work, so this module alone wasn't enough. I installed AlwaysStrong, which resulted in success.

Now I'm happy with my setup. One more thing to redownload and install apps I need and restore the data I backed up.

u/DEV_ivan — 2 months ago

Is rooting worth it for me? [Read bodytext]

Hi. My phone (TECNO POVA 7 5G LJ7) is fully compatible with KernelSU-Next and the bootloader is easily unlocked. But my question here isn't technical, about whether I can root it, but rather pragmatic, about is rooting my phone even worth what I desire.

Right now, I'm running Shizuku on ADB. It works great, I'm happy with it, killed off Yandex Browser and Yandex Keyboard with it in favor of Google Chrome and GBoard.

I'm considering rooting my phone, the daily driver, not to do something essential (I already did what I needed to) out of my rootless reach, but to learn more about the OS.

Last time I rooted my phone, same model, with Magisk. I stupidly toggled off OEM Unlocking (as I've been allowed to do the moment I installed Shamiko) and rebooted into a soft brick not even the repair shop could fix. I got scared by it and considered not rooting again.

Recently I got a laptop I'm using as a daily driver right now, I backed up data and wiped the Windows installation to install CachyOS. There, GPU drivers broke, so after troubleshooting I got frustrated and almost went for Windows, but hesitated and thought about going back to CachyOS. So I reinstalled CachyOS and now, by how I built it, works great.

Now, why am I mentioning this? Because that's the time I got a strong temptation to root my phone again. I got frustrated by a failed CachyOS build, and instead of going back to Windows, I tried a different approach using ZFS and KDE Plasma and not doing stupid instead; so why not stay a bit longer on rooting my phone using a different approach using KernelSU-Next? But because I have fear about bricking my phone, I got stuck between desire and fear.

To answer why I need root, you need to consider why I need CachyOS... The reason is for fun and learning, that's why. I could've used Tiny10 for laptop and stayed stock on my phone instead and been fine.

Now let's talk about why I 'catastrophize' this. If my phone gets bricked, what happens? No phone for months, I wouldn't be bought a new one and, since I'm a minor teen, I can't work for enough money for this 16 999 RUB phone model, let alone buy it by myself. Without the phone, I won't be able to get calls or login to see my school group announcements. To you, that'll be a "nothingburger", but to me, that'll be failing grades defining how will I live in later adult life.

I have the means, I have stock and patched init_boot images and a PC with MTK drivers, but I still hesitate, and I barely can decide for myself without your recommendation on what should I do. Help will be appreciated, thank you for your attention.

u/DEV_ivan — 2 months ago

Canine.

Context: r/firstweekcoderhumor is about sharing memes of junior coders. The post mentioned here is not connected to programming in any way.

u/DEV_ivan — 2 months ago

Free 67, Open 67 -- Loonix is "good" until you actually use it

>!Actually, I don't think Linux is bad, honestly. This is a satire meme I made and published just for fun of seeing people rage, because why not.!<

u/DEV_ivan — 2 months ago