LG once had a mixed stance when it came to modifying their devices, though they've opened up in recent years and now most international LG phones have an easy way to unlock the bootloader. In fact, LG devices are now pretty popular among developers in our forums, with flagship lines having solid custom ROM support. However, for years now the company has been incorporating a root checking tool onto many of their devices, which users on our forums have found to significantly degrade performance until it is disabled.
LG Root Checker Tool – A Years Old Issue
This issue was most recently brought up by XDA Senior Member dimm0k. According to him, he was attempting to determine performance issues on his rooted T-Mobile LG V20. Even after wiping the device and only installing Magisk, he noticed a number of 'sh' processes which kept spawning until system performance was affected negatively. His research eventually led him to a process called "rctd" being triggered on boot, which checks for root access and for certain signs of root access, and apparently logs what it finds.
The process is, indeed, a root checker tool added by LG. And it stands for, unsurprisingly, Root Checker Tool (RCT). The large amount of data it apparently logs on rooted devices and the myriad of processes it spawns can noticeably degrade UI performance, as reported by LG V20 users on our forums.
While it was most recently found on the T-Mobile LG V20, we have also confirmed the existence of RCT for the T-Mobile LG G6 and the European LG G5 (unlocked) on both Marshmallow and Nougat. We can't confirm it's there on all Android 6.0+ LG devices, though, as we didn't find it on the LG G4. However, we do know that LG has been incorporating RCT for quite a while, as we have mentions of RCT-removal tools dating all the way back to 2013.
Unlike some carrier bundled apps like DT Ignite, this isn't an Android package you can just disable. RCT is buried into the phone's boot image, making it extremely difficult to disable for the average rooted user to disable. If you are able to repack your boot image and flash it onto your device, however, then you may notice significantly improved performance, as users on our V20 forums have noted.
How can I know if my phone has it?
If you're rooted, there's a pretty simple way to know if your device is affected by RCT background processes. First of all, you'll need a terminal app like Termux or any other terminal emulator. You can download Termux using the link below. You can also do this with the ADB shell, but you need root either way in order to get an output, so we're using terminal apps on the phone to simplify things.
Once you've set up the terminal app, enter the su command to grant the terminal root permissions.
su
Next, send the following command:
ps | grep rctd
If the output is empty, then you're unaffected. But if you get an output, then your device is affected by RCT. The image below shows you how it should look on an unaffected device.
How can I disable it from my phone?
As we said before, it's not a package you can just disable from your phone. It's started as a service within init.lge.rc located inside the ramdisk/boot image, so you'll need to manually comment out the lines that start the service inside the boot image. If you got an LG V20, you're in luck, as XDA Senior Member dimm0k himself edited the V20's boot.img to disable all of the root checker tool's instances. Head on over to his thread in order to download and flash the modified boot images. For other devices, you'll need to manually edit the boot image or wait for a developer to edit it for your device. Luckily, there's a wrapper script available which auto-patches your boot image for you.
We are not quite sure what the exact purpose of the Root Checker Tool is or why it seems to spawn so many processes that can hinder device performance on rooted LG devices. We reached out to LG for comment a few weeks back, and are waiting to hear back from LG's engineers on the matter.
Thanks to Zachary Wander for checking the boot images for us!
from xda-developers http://ift.tt/2xjNZgF
via IFTTT
No comments:
Post a Comment