I'm pretty confused... I'm running Cataclysm with regular root (not systemless) and I've modified the build.prop (shows the modified value even after reboot) to change my screen dpi but upon reboot my dpi stays unchanged. Any ideas? I've tried to change the dpi through the adb method and that works but it shows some odd behavior in play store (some icons being too large, etc.) that other people say don't occur if you modify build.prop.
bgymn2000 said:
I'm pretty confused... I'm running Cataclysm with regular root (not systemless) and I've modified the build.prop (shows the modified value even after reboot) to change my screen dpi but upon reboot my dpi stays unchanged. Any ideas? I've tried to change the dpi through the adb method and that works but it shows some odd behavior in play store (some icons being too large, etc.) that other people say don't occur if you modify build.prop.
Click to expand...
Click to collapse
I'm running cataclysm as well. Changing the build prop works fine for me. Maybe it's the file manager application? I've had it happen to me when I first got my 6p and tried using root explorer. Also, make sure that you are actually saving the new build.prop and the values change before doing a FULL reboot
I had this exact problem on stock. I ended up downloading one of those DPI changer apps on the play store and it worked.. I have changed bp many times in the past. Don't know what was happening.
Sent from my Nexus 6P using Tapatalk
I tried dpi changers and build.prop editor apps and nothing works. I can change the model name and see the change reflected in the "about phone" section of settings so I know that the build.prop is being successfully edited. It just seems like my phone refuses to read the lcd_density line.
An update in case someone else runs into this problem. I can get the desired proper scaling if I change the build.prop value and use adb shell wm density with the same value in the build.prop. This fixes the scaling annoyances that I see from using adb shell wm density only to make the dpi smaller. I'm guessing the reason I can't use build.prop only to change the dpi is because I first tried to change the dpi using adb. For some reason that must trigger something and both places have to be changed.
I have rooted my BTV-W09 model. When I use 'adb shell wm density 320' from my computer terminal, the dpi setting is adjusted correctly, but it doesn't survive a reboot.
I tried to change the dpi setting with a build.prop editor directly on the tablet and with the Textdroider DPI app, but it doesn't work, it goes back to whatever DPI settings was implied by the display settings (from Small-400dpi to Large-480dpi).
Is there a way to permanently change the DPI setting to 320, or at least a way to do it directly from the tablet (without a computer)?
Why you not reading neighbor topics? Install Xposed, install App Settings module from here for example, activate it and setup whatever DPI you wish.
Thanks Slavon, but I'm speaking of a system-wide change, not just app by app. English is not my first language, sorry if it wasn't clear.
Sorry if I was a bit rude. Try "Pimp my rom" utility. Find it on Google Play. I worked for me and now I'm thinking of how to revert
Edit: if I got it right, this utility adds (modifies?) this key in build.prop: ro.sf.lcd_density
Not at all, I understand how it seemed like I was asking a duplicate question without looking in others threads, sorry again
And thanks a lot for the advice, I'll try Pimp my rom right away !
wlausrsker said:
Not at all, I understand how it seemed like I was asking a duplicate question without looking in others threads, sorry again
And thanks a lot for the advice, I'll try Pimp my rom right away !
Click to expand...
Click to collapse
If you just need to change density, you'd better try changing the value in build.prop first. And in case of any problems after, change the value of the key I wrote previously or restore the original build.prop from backup. Good luck.
Slavon-93 said:
If you just need to change density, you'd better try changing the value in build.prop first. And in case of any problems after, change the value of the key I wrote previously or restore the original build.prop from backup. Good luck.
Click to expand...
Click to collapse
I've tried this morning to change ro.sf.lcd_density to 320 in the build.prop and reboot. After reboot, ro.sf.lcd_density is still set to 320 but the display is still at 400dpi.
It's like ro.sf.lcd_density has no impact on the display dpi except for the display mode (tablet, phone, etc.).
Screen settings/Small + ro.sf.lcd_density=320 -> tablet mode in Chrome and 400dpi
Screen settings/Small + ro.sf.lcd_density=400 -> phone mode in Chrome and 400dpi
Screen settings/Large + ro.sf.lcd_density=320 -> tablet mode in Chrome and 480dpi
Screen settings/Large + ro.sf.lcd_density=400 -> phone mode in Chrome and 480dpi
I think maybe the DPI setting from build.prop is replaced during boot with the screen setting (Small:400dpi, Medium:440dpi, Large:480dpi). Could a init.d script could change the value after boot? I'll try tonight if the tablet allows init.d scripts to run.
Well, ok. I only quickly looked through the decompiled code. Change dpi with the app then, it'll make a backup of build. prop and try to compare both files - new and backup. I could have missed something. Just to mention, I didn't like the way tablet had behaved after changing DPI. EMUI is not well-designed for this. It's much better to set DPI for apps and leave it unmodified for system.
@wlausrsker this is covered in the apps running in phone mode thread. I posted there that the adb dpi change settings will stick after rebooting if you run the command "adb shell wm density 340 && adb reboot"*
*Use whatever density works best for you, I have found that 330 works best for me with the view mode and font set to large.
Slavon-93 said:
Change dpi with the app then, it'll make a backup of build. prop and try to compare both files - new and backup. I could have missed something.
Click to expand...
Click to collapse
johje said:
@wlausrskerI posted there that the adb dpi change settings will stick after rebooting if you run the command "adb shell wm density 340 && adb reboot"
Click to expand...
Click to collapse
johje, thanks but I tried it first and it doesn't survive reboot ("./adb shell wm density 320 && ./adb reboot" since I'm on Mac, it reboots in 400dpi).
Slavon, I've compared the files from before and after changing the dpi setting with the app, only ro.sf.lcd_density is changed, so you didn't miss anything.
Since methods successfully used by you and others don't work for me, it must be something I did differently on setting up my tablet. I used greatslon mod of TWRP and then flashed via TWRP the latest SuperSU (v2.79-SR1). Finally, I installed XposedInstaller and got xposed-v87-sdk23-arm64. Did any of you with reboot-surviving custom dpi setting used something different? (like the SRK Tool)
I'm off this weekend but I'll try next week to start over from scratch.
the reason adb change dpi and even build.prop change doesn't work is because huawei has set lcd_density in boot image. check content of /init.6x.rc
these init files are part of boot.img and will be overwritten at every boot. so what u need is a modified boot.img where this set lcd_density line is removed. Once you install that boot, you can set whatever dpi in build.prop and it will work. even adb dpi change will be persistent.
if you are on b026, i can share my edited boot.img
Thanks for the explanation bark1234, I now understand why everything I tried didn't survive reboot!
Thanks also for proposing your edited B026 boot.img but I'm on BTV-W09C100B005 and I can't find any B026 download for BTV-W09. From what I understand from other threads the latest Chinese OTA for the BTV-W09 is the BTV-W09C233B022, so I couldn't use it. Nevertheless, if you could maybe share it for others, it could help someone with the same problem on a BTV-DL09.
I tried to edit my boot.img but I'm a newbie. I've tried to extract my boot.img but I have no result with "cat /proc/mtd", so I extracted mmcblk0boot0 as a best guess. I tried to install abootimg to edit it but there's not blkid.h on Mac OS so I can't build it. If I give you what I extracted, could you maybe edit it like you did with yours? You would save me from applying at random a bunch of tutorials like I just did and hoping it will result in something usable In the meantime, I'll try and learn how to edit a boot.ini with my setup.
bark1234 said:
the reason adb change dpi and even build.prop change doesn't work is because huawei has set lcd_density in boot image. check content of /init.6x.rc
these init files are part of boot.img and will be overwritten at every boot. so what u need is a modified boot.img where this set lcd_density line is removed. Once you install that boot, you can set whatever dpi in build.prop and it will work. even adb dpi change will be persistent.
if you are on b026, i can share my edited boot.img
Click to expand...
Click to collapse
Just as an FYI, the adb dpi change initiated along with the reboot command has stuck for me after multiple reboots.
wlausrsker said:
Thanks for the explanation bark1234, I now understand why everything I tried didn't survive reboot!
Thanks also for proposing your edited B026 boot.img but I'm on BTV-W09C100B005 and I can't find any B026 download for BTV-W09. From what I understand from other threads the latest Chinese OTA for the BTV-W09 is the BTV-W09C233B022, so I couldn't use it. Nevertheless, if you could maybe share it for others, it could help someone with the same problem on a BTV-DL09.
I tried to edit my boot.img but I'm a newbie. I've tried to extract my boot.img but I have no result with "cat /proc/mtd", so I extracted mmcblk0boot0 as a best guess. I tried to install abootimg to edit it but there's not blkid.h on Mac OS so I can't build it. If I give you what I extracted, could you maybe edit it like you did with yours? You would save me from applying at random a bunch of tutorials like I just did and hoping it will result in something usable In the meantime, I'll try and learn how to edit a boot.ini with my setup.
Click to expand...
Click to collapse
If you are rooted, use flashfire app to get ur current boot.img from ur phone. and then copy it out to edit.
The tool i use for editing works on windows. i too have mac only, i have windows on vm in it.
https://www.dropbox.com/s/x46q5nzv49iauwi/Android Image Kitchen.rar?dl=1
Use above link to download tool i use.
unpackimg.bat will unpack boot img.
your init.x files will be in ramdisk, edit it there.
and then use repackimg.bat, it will create new boot.img.
johje said:
Just as an FYI, the adb dpi change initiated along with the reboot command has stuck for me after multiple reboots.
Click to expand...
Click to collapse
bark1234 said:
If you are rooted, use flashfire app to get ur current boot.img from ur phone. and then copy it out to edit.
The tool i use for editing works on windows. i too have mac only, i have windows on vm in it.
https://www.dropbox.com/s/x46q5nzv49iauwi/Android Image Kitchen.rar?dl=1
Use above link to download tool i use.
unpackimg.bat will unpack boot img.
your init.x files will be in ramdisk, edit it there.
and then use repackimg.bat, it will create new boot.img.
Click to expand...
Click to collapse
johje, it won't stuck for me, no matter how I try. Did you root by flashing the latest SuperSU? Did you installed xposed framework?
bark1234, thank you very much for the detailled explanation, I'll use Flashfire app to extract my boot.img and I'll try tomorrow at work on my Windows machine to edit it.
@wlausrsker I have not yet rooted my tablet. Once I got the dpi/phone apps issue fixed, it reduced my urgency for rooting. However, I will be rooting it soon, since a way has been found to enable the 5Ghz wireless adapter for the US version of the tablet. I will let you know if I am able to keep the dpi settings after rooting.
bark1234 said:
If you are rooted, use flashfire app to get ur current boot.img from ur phone. and then copy it out to edit.
unpackimg.bat will unpack boot img.
your init.x files will be in ramdisk, edit it there.
and then use repackimg.bat, it will create new boot.img.
Click to expand...
Click to collapse
Thanks again for the link and the explanation, it was really a painless process.
I used Flashfire app on my tablet to backup my boot.img (it resulted in a boot.lz4 file).
On my Windows machine, in a cmd window:
Code:
lz4 boot.lz4
unpackimg.bat boot
I then opened in Notepad++ the /ramdisk/init.61262.rc file to remove the line setprop ro.sf.lcd_density 560 in the on early-init and on boot sections of the file and saved.
In the cmd window:
Code:
repackimg.bat
rename image-new.img boot.img
I now have an edited boot.img to flash in TWRP. Does it seems to you that I did the editing correctly? The edited boot.img is 13.35Mb (about the same as the boot.lz4) but the extracted boot file before the unpacking was 32.77Mb. Is it normal?
13.9 is correct size. install this boot.img
For those of us following along. Does the edited boot image have to be flashed by TWRP in zip form? Or can we use Fastboot to flash it? or both will work?
I've done the edit's and have what I believe is a flashable zip. I personally like to use fastboot.
I have DPI set and holding by adb as I mentioned before but this is still nice to have.
Thanks
OP - here's a really easy way to change dpi and make it stick: https://play.google.com/store/apps/details?id=com.texdroider.texdroider_dpi
I'm using it on my MediaPad M3 without issues. PS - 320 is my preferred dpi as well, but I found it caused some issues like Settings would crash. I'm using 322 now without any issue for the last couple weeks. Enjoy
I modified a system file parameter (i'm rooted). It's related with wifi mss clamping. But when i close wifi, or a pass from wifi to mobile, or i change wifi, this parameter return to previous setting and i have to change system file another time. How can i fix the system file and avoid changing? Thanks
You could try changing the file permissions once you modify it (chmod 444). Use chmod 644 to edit the file. This method works fine for controlling the navikeys led backlight (no timeout), so maybe it can be used for your purpose too.