_______________________________________
I have a fix.... But before I tell you what it does, I need you to understand what the problem is.
This will be technical and some might not understand everything I say. But I will explain why things work the way they do and why this is a problem.
The problem:
On RockChip ROMs to get true 1080 or true 720 it required a custom kernel. This is because you cannot switch RK on the fly. However AML's kernel and hardware you can switch HDMI resolution on the fly!
But this causes other problems and that is Android was just NOT made to switch it's resolution on the fly. Beelink has tried to work around this and both ways they have done it is not perfect.
Personally I don't think you can do it on the fly and must reboot. Here is why.
Info:
For Android to have proper sized desktop and icons the setting ro.sf.lcd_density has to be set.
For a 1080P setting lcd_density has to be 240 for icons to be the right perspective.
For 720P setting lcd_density has to be set to 160.
However, here is the GOTCHA! You cannot change lcd_density on the fly! It requires a reboot to do it! Android only reads this setting on boot up!
What is going on?
ROMs prior to 105K4 what they did was when a resolution switched between 1080 and 720, they had a script that would do this BUT they tried to change lcd_density which again wont work without a reboot.
Thus when you exited to the desktop all your icons were super big and messed up looking! However if you reboot, all is fixed! Your in 720P mode and icons are correct. See! A reboot was required!
Same thing if going from 720 back up to 1080 except after exiting settings, now the icons and desktop are TINY! Once again a reboot fixes it.... Getting the picture on the reboot thing?
Finally there is also another issue but it may not have even been noticed by most. That is if your TV is a 1080P TV but for some reason you want to run in 720P resolution. So you switch to 720P and reboot. All is good. So what is the problem? If you turn off your TV or switch inputs, when your turn on your TV or switch inputs back to the TV box, now kernel resets and notices you have a 1080P TV and switches the HDMI output back to 1080P! Well guess what? Android doesn't know this and thus is in 720P mode. What you get is a small 720P screen box on a big 1080 screen.
So just remember this! Nothing you can do about this specific issue! Just don't power off your TV or switch inputs without rebooting the TV box!
OK so in 105K4 Beelink is trying to solve this and they kind of did solve it. No matter if your in 720P or 1080P they locked Android to 1080P resolution. Yes the HDMI output is 720P (or 1080) but android is locked to 1080. The problem this causes is with some applications and especially media players that use hardware decoding OR specifically look at what resolution Android is set to. XBMC is a prime example. It either sees Android is in 1080P mode or it sees HDMI is in 720P mode. Then what happens is video playback is all jacked up because of this conflict.
Well we can't go fix all those APPs that have this problem can we? So we have to go back to letting Android switch to 720P resolution when HDMI is outputting 720P.
OK so that's the issue and what has been done to try and work around it. Again this issue is because AML allows real 720/1080 HDMI mode switching but Android doesn't! Thus a reboot is required to do it properly.
__________________________________________________ ____________
So I made a patch to allow Android to be set back to 720P and not locked on 1080P. But as I explained above you need to reboot to do it right!
What I did was patched services and took out the code that is locking Android to 1080P.
I left the Mbox setting alone so this means this is a MORTH between how 104K4 and 105K4 worked.
When you switch to 720P then when you return to the desktop your icons will NOT be all messed up like 104K4. Yes HDMI is outputting 720P now. BUT! Android is still stuck on 1080 resolution! XBMC and other apps will still have an issue if you try to run them at this point! So please use the reboot APP in my 1.7 ROM and reboot. After reboot HDMI will be 720 and Android will be 720 and you should be good to go!
Now like I explained above. If you have a 1080P TV and are in 720P mode, if your turn off your TV or switch inputs, when you come back you will have a small 720 resolution box screen on a 1080P TV screen! There is nothing I can do about that! So don't power of your TV or switch inputs or you will have to reboot the box.
Finally another cool thing I did was modify the boot logo! If your booting in 1080P the AML badge in the center of the boot logo will say 1080P. If your booting in 720 the badge on the logo will say 720P. This way you know what mode your booting up in

OK I know this was technical. But I wanted you to know the limitations here!
Here is the patcher download.
Note: I have ONLY tested this on my Finless 1.7 ROM. It might also work on the Stock 105K4 ROM but you are on your own if you try it on the stock ROM.
FIRST BOOT!
Because framework has been touched on first boot after applying this patch you might see a dialog saying "Android is upgrading apps". Depending on how many you have installed, this could take a while. LET IT FINISH!
UNZIP THIS and read the readme to install! DO NOT try to just put this download ZIP on SDcard and use it!
PATCH -> 720P patch for s89/s82/M8 Finless ROM 1.7 (10 megs)
UPDATE 6/16
By request here are the CPU fixer patches WITH the 720P patch.
Use this ONLY if you want to tweak the CPU and use the 720P patch.
PATCH -> CPU fixer patch for my 720P patch for s89/s82/M8 Finless ROM 1.7 (42 megs)
Enjoy,
Bob
Comment