Any way to change dpi without adb ? - Huawei Mediapad M3 Questions & Answers

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

Related

CWM flashable zip to change lcd density

If you like the new CM10 nightlies, but you hate the phone mode, you may find this zip useful.
It's a flashable CWM zip which change the default density from 160 to 133, which force CM10 to load in tablet mode.
The usual use steps are:
1. flash latest nightly
2. (optional) flash latest gapps
3. flash lcd_133.zip
4. reboot and enjoy
It's tested on P3113, but I guess it should work on any model with default density = 160
Credits goes to jaiiscool
128 with Large font looks sharper and cleaner. Overall better. Try it
Why flash when you could just edit the build.prop?
People are going to want another zip to flash that reverts it back to 160 so you might want to make.one.
Will try with 128 later
Manual editing of build.prop requires more steps than just flashing the zip.
You need computer to edit the zip before flashing, or two restarts of the table if you want to change it after the flash.
revert is done with reflashing of the CM10 zip
Better you make a Default one too. It will be more desirable than flashing a whole ROM only to change Density.
Thanks XaMaB! I went ahead and modified your code to revert changes where desirable. Hope you don't mind.
This will revert LCD density to original.
NOTE: It will not work unless your density is already set to 133.
XaMaB said:
Will try with 128 later
Manual editing of build.prop requires more steps than just flashing the zip.
You need computer to edit the zip before flashing, or two restarts of the table if you want to change it after the flash.
revert is done with reflashing of the CM10 zip
Click to expand...
Click to collapse
How does it require more steps? Most file browsers include a text editor. Browse to /system and mount it as read/write, open the file, change 160 to the desired number, save and reboot. Flashing it in CWM, you need to download the zip, put it on your phone if you didn't download it from your phone, reboot to recovery, flash the zip, reboot, hope the density you used looks ok, otherwise, extract, edit, repackage, reflash. Granted, if you are going to flash every nightly (stupid IMO), then the zip is easier, but for most users, just editing the build.prop would be easier.
Hint: search for "ROM Toolbox Lite" in the Play Store
I hope soon CM10 will include the option to choose between phone and tablet mode. The required code changes are available in the nexus 7 forums for some weeks. But untill then, this zip is the most convenient method for me.
Everyone is free to choose between rom toolbox, manual editing after or before flashing, and this...
This one is 240 to 192
Wrong device I believe.
Sent from my house.

Screen resolution messed up -help needed!

Hi, playing around with an app called "Resolution Changer Pro", I set my phone to 350x350 in order to try a few things how my smartwatch would behave, which has also android and 400x400.
That went OK, and I was able to get back to fullHD fine.
Then I also changed the DPI accidentally to 100 and then the phone crashed.
Rebooting results in a black screen and I can´t do anything....
With adb I tried to set the resolution back to something usable, and the reply was that the window manger is not running.
Then I tried to get hold of the build.prop with adb and checked the DPI setting there, which was 480 .. the defailt setting.
Now my android knowledge is at the edge, and I don´t have an Idea how to reset the settings back to normal.
What could I do without deleting everything and re-flashing?
Pros.. what should I do ??? :crying::crying:
Flash same rom via recovery.
maitrot said:
Hi, playing around with an app called "Resolution Changer Pro", I set my phone to 350x350 in order to try a few things how my smartwatch would behave, which has also android and 400x400.
That went OK, and I was able to get back to fullHD fine.
Then I also changed the DPI accidentally to 100 and then the phone crashed.
Rebooting results in a black screen and I can´t do anything....
With adb I tried to set the resolution back to something usable, and the reply was that the window manger is not running.
Then I tried to get hold of the build.prop with adb and checked the DPI setting there, which was 480 .. the defailt setting.
Now my android knowledge is at the edge, and I don´t have an Idea how to reset the settings back to normal.
What could I do without deleting everything and re-flashing?
Pros.. what should I do ??? :crying::crying:
Click to expand...
Click to collapse
First you have to flash TWRP in order to use terminal in recovery.
Download AROMA Filemanager from here thanks to @amarullz
Go into recovery then flash it. (don't forget to mount system partition first.)
Guide to path /system/ then select Menu->open console
type in
vi build.prop
Click to expand...
Click to collapse
Once you open the build.prop with vi , you can now use the arrow button to guide to your section.
There's two mode in vi, edit mode and connamd mode.
You have to enter "i" first to enter edit mode
Once you finish editing, press Esc on top and now you are back to command mode
Enter following command to save the file and quit:
:wq
Click to expand...
Click to collapse
Now press Close on right top then press menu and exit file manager, reboot your device.
You are done.
TIPs: Here's an useful command to delete a line that you can't use delete to eliminate
In command mode, type in following command to delete a line:
:dd
Click to expand...
Click to collapse
1. Ok, flashing the same rom did not help... this was the first thing I tried.
2. I already tried to work with my build.prop, which I downloaded with adb from the device.. I already said that in my first post.
In the build.prop the dpi setting is at 480, like I said. Modyfiying it from twrp with vi is the same as downloading it via adb and then modyfiying it locally and uploading it again..... this did not help, dpi was at 480, like I said.
Strange... right?
Where is the screen resolution saved? Dpi is in build.prop, but where is the resolution saved at?
The problem must be somewhere in the data partition, since flashing does not help. I erased system and re-flashed. no help.
maitrot said:
1. Ok, flashing the same rom did not help... this was the first thing I tried.
2. I already tried to work with my build.prop, which I downloaded with adb from the device.. I already said that in my first post.
In the build.prop the dpi setting is at 480, like I said. Modyfiying it from twrp with vi is the same as downloading it via adb and then modyfiying it locally and uploading it again..... this did not help, dpi was at 480, like I said.
Strange... right?
Where is the screen resolution saved? Dpi is in build.prop, but where is the resolution saved at?
The problem must be somewhere in the data partition, since flashing does not help. I erased system and re-flashed. no help.
Click to expand...
Click to collapse
Then you should backup before flashing or doing root permission changes.
You can now do a fully backup , data, cache anything And then flash the stock firmware via SP_FlashTool.
If you boot, then try to restore the partition one by one.
jwchen119 said:
Then you should backup before flashing or doing root permission changes.
You can now do a fully backup , data, cache anything And then flash the stock firmware via SP_FlashTool.
If you boot, then try to restore the partition one by one.
Click to expand...
Click to collapse
Ok, I did that... made a backup of all partitions, erased everything and re-flashed latest dev firmware.
Off course, everything works fine now, but all my settings and stuff are lost.
going back to my old data partition, the problem is back.
How can I get back to my old settings? What do you mean one by one?

[Guide][Init.d script]Set resolution and dpi at boot

First of all you need root and init d support.
Second i will not take responsibility if something happens to you're phone.
I tried screen shift for a long time, but it kept disabling the set at boot and i got sick of it. Now im using 1600x900 with 360dpi with init d script and could not be happier that it works perfectly.
1. Download the file.
2. Open your preferred file manager with root priviliges.
3. Browse to your download folder and search the file.
4. Remove the txt extension from the file by renaming it.
4. Open the file with text editor and change the resolution and dpi to what you want.
5. Copy or cut the file into /etc/init.d
6. Reboot your phone and boom! You have you're desired resolution and dpi set at boot.
Stock 1900x1080 480dpi file attached.
You can change the values with text editor if you wan't different resolution and dpi.
1600x900 360dpi setting file also included.
Eh?
Code:
adb shell wm density “INSERT_DPI” && adb reboot
SpiritBreak3r said:
Eh?
Code:
adb shell wm density “INSERT_DPI” && adb reboot
Click to expand...
Click to collapse
What about the resolution?
I think that that only changes dpi.
I want more performance with lower res.
Fatsodonkey said:
What about the resolution?
I think that that only changes dpi.
I want more performance with lower res.
Click to expand...
Click to collapse
Code:
wm size "resolution"
wm size reset
wm density "DPI"
wm density reset
Does that also work with every boot?
I thought earlier that it just changed the value and after boot it would not stick.
Maybe i should not make guides since im a bit nooby with this. I just thought that it would make life easier for people like me.
I will just add the adb commands to it and call it a day.

Change to build.prop not having any effect

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.

DPI setting help

Hey guys was just wondering if anyone can post a video with a changed DPI? I'm not routes and I heard it can be done without root but wanted to see what it looks like first would really appreciate it
syphern said:
Hey guys was just wondering if anyone can post a video with a changed DPI? I'm not routes and I heard it can be done without root but wanted to see what it looks like first would really appreciate it
Click to expand...
Click to collapse
Not sure where you heard it can be done without root. Because it simply can't. Without root you cannot modify system files.
Sent from my Nexus 6P using Tapatalk
It can be done without root but needs to be done using ADB on a PC.
On your PC while the phone is connected:
ADB shell
WM density 480 (or whatever you want for your device)
Restart your device to complete.
Just try it. U can easily go back to default. But i promise, u dont want :b
I am rooted on my Nexus 6P, although I cannot get it to change the dpi settings.
I tried using texdroider_dpi, tried the adb method and even went to /system/build.prop and changed it via ES File Explorer.
When I set the DPI to anything but 560 my SwiftKey Keyboard breaks but the overall screen density doesn't change.
The value I entered is still displayed in the build.prop though ..
I had it changed already, but when I updated to the latest security patch 2016 I had to reinstall my phone since I flamingod something I guess.
Went ahead with Heisenbergs guide and followed Step 11 (http://forum.xda-developers.com/nexus-6p/general/guides-how-to-guides-beginners-t3206928) to get my phone back to work. Only thing not working now is the dpi change ..
Any help?
Are you mounting system as R/W and saving the build.prop after you change the value?
dastinger said:
Are you mounting system as R/W and saving the build.prop after you change the value?
Click to expand...
Click to collapse
I didn't specifially mount the system as R/W - but when I restart the device afterwards the change is still persistent.
Try using another File Explorer (Fx with the root add-on for example) and make the change with that one mounting as R/W before doing anything else.
dastinger said:
Try using another File Explorer (Fx with the root add-on for example) and make the change with that one mounting as R/W before doing anything else.
Click to expand...
Click to collapse
I love you. #nohomo
Thank you very much.
[emoji4]
No problem, mate.
clubtech said:
It can be done without root but needs to be done using ADB on a PC.
On your PC while the phone is connected:
ADB shell
WM density 480 (or whatever you want for your device)
Restart your device to complete.
Click to expand...
Click to collapse
I do this but my Swiftkey is broken and some image elements are huge.
Does anyone know why something like texdroider used to work perfectly scaling everything and now it does not?
Before this update, after flashing the SuperSU 2.66 my twrp would give me the warning my phone was not rooted. Now, I do not receive this warning.
Sent from my Nexus 6P using Tapatalk

Categories

Resources