Firefly Open Source Community

   Login   |   Register   |
New_Topic
Print Previous Topic Next Topic

Android 7 Full 4k apps

115

Credits

0

Prestige

0

Contribution

registered members

Rank: 2

Credits
115

Android 7 Full 4k apps

Posted at 6/26/2017 22:20:15      View:4709 | Replies:2        Print      Only Author   [Copy Link] 1#
Been busy to get the rk3399 to output full 4k.

Found so far that one can set the  persist.sys.framebuffer.main to 3840x2160, this causes android to draw everything in 4k but it does not create a full 4k experience on the output because a bit of code in "hardware/rockchip/hwcomposer/hwcomposer.cpp" which is causing to report a 1080p screen in case the framebuffer is set to 2160p.

Worked around this by doing the following change in the SDK:

  1. diff --git a/hardware/rockchip/hwcomposer/hwcomposer.cpp b/hardware/rockchip/hwcomposer/hwcomposer.cpp
  2. index 173271f..2721dac 100755
  3. --- a/hardware/rockchip/hwcomposer/hwcomposer.cpp
  4. +++ b/hardware/rockchip/hwcomposer/hwcomposer.cpp
  5. @@ -287,7 +287,7 @@ class DrmHotplugHandler : public DrmEventHandler {
  6.      update_display_bestmode(hd, HWC_DISPLAY_EXTERNAL, extend);
  7.      DrmMode mode = extend->best_mode();

  8. -    if (mode.h_display() > mode.v_display() && mode.v_display() >= 2160) {
  9. +    if (mode.h_display() > mode.v_display() && mode.v_display() > 2160) {
  10.        hd->framebuffer_width = mode.h_display() * (1080.0 / mode.v_display());
  11.        hd->framebuffer_height = 1080;
  12.      } else {
  13. @@ -1661,7 +1661,7 @@ static int hwc_get_display_configs(struct hwc_composer_device_1 *dev,
  14.      /*
  15.       * Limit to 1080p if large than 2160p
  16.       */
  17. -    if (hd->framebuffer_height >= 2160 && hd->framebuffer_width >= hd->framebuffer_height) {
  18. +    if (hd->framebuffer_height > 2160 && hd->framebuffer_width >= hd->framebuffer_height) {
  19.        hd->framebuffer_width = hd->framebuffer_width * (1080.0 / hd->framebuffer_height);
  20.        hd->framebuffer_height = 1080;
  21.      }
Copy the code


Also found some statements on needing to disable VOP_Little. Is this needed for android 7 and how do I do this for the android 7 SDK ?


Reply

Use props Report

1821

Credits

10

Prestige

17

Contribution

super moderator

Rank: 8Rank: 8

Credits
1821
Posted at 6/27/2017 09:59:40        Only Author  2#
Hi, the  MAX output resolution of VOP_Little is 2560X1600, if you have only one output, you can disable VOP_Little,so the output screen can connect with VOP_BIG, which have 4096X2160 max resolution .
to disable VOP_little, you need modify the "dts" file  in kernel  
Reply

Use props Report

18

Credits

0

Prestige

0

Contribution

new registration

Rank: 1

Credits
18
Posted at 10/17/2017 04:42:27        Only Author  3#
isle Posted at 6/27/2017 09:59
Hi, the  MAX output resolution of VOP_Little is 2560X1600, if you have only one output, you can disa ...

Can you point out what to edit in the dts file and which dts file is the correct one to edit?  Thank you beforehand!

Reply

Use props Report

You need to log in before you can reply Login | Register

This forum Credits Rules

Quick Reply Back to top Back to list