RK3399HDMI特殊分辨率输出该怎么设置呢

接收端有个比较特殊的分辨率输出,在854*480的样子。应该更改哪个地方呢

技术支持确实不咋样,问问题没人回答。800*480的显示器在Ubuntu下不设置就能显示,Android下没弄出来

我也遇到了同样的问题,经过一个多星期的努力解决了(我的分辨率是480x800):
diff --git a/device/rockchip/rk3399/resolution_white.xml b/device/rockchip/rk3399/resolution_white.xml
index 040afe5..40f4596 100755
— a/device/rockchip/rk3399/resolution_white.xml
+++ b/device/rockchip/rk3399/resolution_white.xml
@@ -1,6 +1,22 @@

<?xml version="1.0" encoding="utf-8"?> + 32000 + 480 + 520 + 568 + 608 + 0 + 800 + 813 + 816 + 845 + 0 + 62 + a + 1 + + 27000 720 736 diff --git a/device/rockchip/rk3399/rk3399_firefly_aio_box/system.prop b/device/rockchip/rk3399/rk3399_firefly_aio_box/system.prop index 1214bf6..5db009d 100755 --- a/device/rockchip/rk3399/rk3399_firefly_aio_box/system.prop +++ b/device/rockchip/rk3399/rk3399_firefly_aio_box/system.prop @@ -47,7 +47,7 @@ ro.rk.statusbar=0 ro.rk.displayd.enable=false

# default main framebuffer resolution
-persist.sys.framebuffer.main=1920x1080
+persist.sys.framebuffer.main=480x800

# default primary display
sys.hwc.device.primary=HDMI-A

diff --git a/packages/apps/Settings/res/values/arrays.xml b/packages/apps/Settings/res/values/arrays.xml
index 005fc76..e13853a 100755
— a/packages/apps/Settings/res/values/arrays.xml
+++ b/packages/apps/Settings/res/values/arrays.xml
@@ -1071,6 +1071,7 @@

 <!-- HDMI -->
 <string-array name="hdmi_resolution_entries">
  •    <item>480x800p-62Hz </item>
       <item>1920x1080p-50Hz </item>
       <item>1920x1080p-60Hz</item>
       <item>1280x720p-50Hz</item>
    

@@ -1079,6 +1080,7 @@
720x480p-60Hz

  •    <item>480x800p-62\n</item>
       <item>1920x1080p-50\n</item>
       <item>1920x1080p-60\n</item>
       <item>1280x720p-50\n</item>
    

@@ -1125,6 +1127,7 @@

     <!-- fly.gao resolution list -->
 <string-array name="resolution_list" translatable="false">
  •    <item>480x800p-62</item>
       <item>1920x1080p-60</item>
       <item>1280x720p-60</item>
       <item>720x480p-60</item>
    

下面文件不用修改,但可以根据打印出的mode变量的内容,修改/device/rockchip/rk3399/resolution_white.xml设置的resolution内容(我的打印内容的代码已经删了,这里只是提供打印的地方)。
— a/kernel/drivers/gpu/drm/drm_probe_helper.c
+++ b/kernel/drivers/gpu/drm/drm_probe_helper.c
@@ -192,7 +192,7 @@ static int drm_helper_probe_single_connector_modes_merge_bits(struct drm_connect
dev->mode_config.poll_running = drm_kms_helper_poll;

    if (connector->status == connector_status_disconnected) {
  •           DRM_DEBUG_KMS("[CONNECTOR:%d:%s] disconnected\n",
    
  •           dev_err(connector->dev->dev, "[CONNECTOR:%d:%s] disconnected\n",
                      connector->base.id, connector->name);
              drm_mode_connector_update_edid_property(connector, NULL);
              verbose_prune = false;
    

@@ -201,6 +201,7 @@ static int drm_helper_probe_single_connector_modes_merge_bits(struct drm_connect

#ifdef CONFIG_DRM_LOAD_EDID_FIRMWARE
count = drm_load_edid_firmware(connector);

  •   DRM_DEBUG_KMS("[%d] count = %d", __LINE__, count);
      if (count == 0)
    

#endif
{
@@ -209,13 +210,16 @@ static int drm_helper_probe_single_connector_modes_merge_bits(struct drm_connect

                    count = drm_add_edid_modes(connector, edid);
                    drm_edid_to_eld(connector, edid);
  •                   dev_err(connector->dev->dev, "[%d] count = %d", __LINE__, count);
              } else
                      count = (*connector_funcs->get_modes)(connector);
      }
    
  •   dev_err(connector->dev->dev, "[%d] count = %d", __LINE__, count);
      if (count == 0 && connector->status == connector_status_connected)
              count = drm_add_modes_noedid(connector, 1024, 768);
    
  •   dev_err(connector->dev->dev, "[%d] count = %d", __LINE__, count);
      count += drm_helper_probe_add_cmdline_mode(connector);
    
  •   dev_err(connector->dev->dev, "[%d] count = %d", __LINE__, count);
      if (count == 0)
              goto prune;
    

@@ -260,7 +264,7 @@ prune:
drm_mode_set_crtcinfo(mode, CRTC_INTERLACE_HALVE_V);
drm_mode_debug_printmodeline(mode);
}

  •   dev_err(connector->dev->dev, "[%d] count = %d", __LINE__, count);
      return count;
    

}

亲测有效,我是T4的开发板,只改了system.prop 文件就可以了

drydiy 发表于 2018-6-13 12:32
亲测有效,我是T4的开发板,只改了system.prop 文件就可以了

我个人感觉单纯改这个不行吧,你应该他适应的分辨率的枚举,然后改system.prop 为默认,这样就对了。要不然他适应的枚举里面没有,你该system.prop 也没有反应的
文件路径

~/proj/firefly-rk3399/kernel/drivers/video/rockchip/hdmi#

/* HDMI video information code according CEA-861-F /
enum hdmi_video_information_code {
HDMI_640X480P_60HZ = 1,
HDMI_720X480P_60HZ_4_3,
HDMI_720X480P_60HZ_16_9,
HDMI_1280X720P_60HZ,
HDMI_1920X1080I_60HZ, /5/
HDMI_720X480I_60HZ_4_3,
HDMI_720X480I_60HZ_16_9,
HDMI_720X240P_60HZ_4_3,
HDMI_720X240P_60HZ_16_9,
HDMI_2880X480I_60HZ_4_3, /10/
HDMI_2880X480I_60HZ_16_9,
HDMI_2880X240P_60HZ_4_3,
HDMI_2880X240P_60HZ_16_9,
HDMI_1440X480P_60HZ_4_3,
HDMI_1440X480P_60HZ_16_9, /15/
HDMI_1920X1080P_60HZ,
HDMI_720X576P_50HZ_4_3,
HDMI_720X576P_50HZ_16_9,
HDMI_1280X720P_50HZ,
HDMI_1920X1080I_50HZ, /20/
HDMI_720X576I_50HZ_4_3,
HDMI_720X576I_50HZ_16_9,
HDMI_720X288P_50HZ_4_3,
HDMI_720X288P_50HZ_16_9,
HDMI_2880X576I_50HZ_4_3, /25/
HDMI_2880X576I_50HZ_16_9,
HDMI_2880X288P_50HZ_4_3,
HDMI_2880X288P_50HZ_16_9,
HDMI_1440X576P_50HZ_4_3,
HDMI_1440X576P_50HZ_16_9, /30/
HDMI_1920X1080P_50HZ,
HDMI_1920X1080P_24HZ,
HDMI_1920X1080P_25HZ,
HDMI_1920X1080P_30HZ,
HDMI_2880X480P_60HZ_4_3, /35/
HDMI_2880X480P_60HZ_16_9,
HDMI_2880X576P_50HZ_4_3,
HDMI_2880X576P_50HZ_16_9,
HDMI_1920X1080I_50HZ_1250, /
V Line 1250 total*/
HDMI_1920X1080I_100HZ, /40/
HDMI_1280X720P_100HZ,
HDMI_720X576P_100HZ_4_3,
HDMI_720X576P_100HZ_16_9,
HDMI_720X576I_100HZ_4_3,
HDMI_720X576I_100HZ_16_9, /45/
HDMI_1920X1080I_120HZ,
HDMI_1280X720P_120HZ,
HDMI_720X480P_120HZ_4_3,
HDMI_720X480P_120HZ_16_9,
HDMI_720X480I_120HZ_4_3, /50/
HDMI_720X480I_120HZ_16_9,
HDMI_720X576P_200HZ_4_3,
HDMI_720X576P_200HZ_16_9,
HDMI_720X576I_200HZ_4_3,
HDMI_720X576I_200HZ_16_9, /55/
HDMI_720X480P_240HZ_4_3,
HDMI_720X480P_240HZ_16_9,
HDMI_720X480I_240HZ_4_3,
HDMI_720X480I_240HZ_16_9,
HDMI_1280X720P_24HZ, /60/
HDMI_1280X720P_25HZ,
HDMI_1280X720P_30HZ,
HDMI_1920X1080P_120HZ,
HDMI_1920X1080P_100HZ,
HDMI_1280X720P_24HZ_21_9, /65/
HDMI_1280X720P_25HZ_21_9,
HDMI_1280X720P_30HZ_21_9,
HDMI_1280X720P_50HZ_21_9,
HDMI_1280X720P_60HZ_21_9,
HDMI_1280X720P_100HZ_21_9, /70/
HDMI_1280X720P_120HZ_21_9,
HDMI_1920X1080P_24HZ_21_9,
HDMI_1920X1080P_25HZ_21_9,
HDMI_1920X1080P_30HZ_21_9,
HDMI_1920X1080P_50HZ_21_9, /75/
HDMI_1920X1080P_60HZ_21_9,
HDMI_1920X1080P_100HZ_21_9,
HDMI_1920X1080P_120HZ_21_9,
HDMI_1680X720P_24HZ,
HDMI_1680X720P_25HZ, /80/
HDMI_1680X720P_30HZ,
HDMI_1680X720P_50HZ,
HDMI_1680X720P_60HZ,
HDMI_1680X720P_100HZ,
HDMI_1680X720P_120HZ, /85/
HDMI_2560X1080P_24HZ,
HDMI_2560X1080P_25HZ,
HDMI_2560X1080P_30HZ,
HDMI_2560X1080P_50HZ,
HDMI_2560X1080P_60HZ, /90/
HDMI_2560X1080P_100HZ,
HDMI_2560X1080P_120HZ,
HDMI_3840X2160P_24HZ,
HDMI_3840X2160P_25HZ,
HDMI_3840X2160P_30HZ, /95/
HDMI_3840X2160P_50HZ,
HDMI_3840X2160P_60HZ,
HDMI_4096X2160P_24HZ,
HDMI_4096X2160P_25HZ,
HDMI_4096X2160P_30HZ, /100/
HDMI_4096X2160P_50HZ,
HDMI_4096X2160P_60HZ,
HDMI_3840X2160P_24HZ_21_9,
HDMI_3840X2160P_25HZ_21_9,
HDMI_3840X2160P_30HZ_21_9, /105/
HDMI_3840X2160P_50HZ_21_9,
HDMI_3840X2160P_60HZ_21_9,
};

drydiy 发表于 2018-6-13 12:32
亲测有效,我是T4的开发板,只改了system.prop 文件就可以了

你好,改完需要编译什么才能生效

全部编译才可以吧。

本帖最后由 13501132347 于 2021-3-15 14:21 编辑

liangguobao 发表于 2018-4-3 10:31
我也遇到了同样的问题,经过一个多星期的努力解决了(我的分辨率是480x800):
diff --git a/device/rockch …

您好 屏幕参数怎么获得的?
@@ -1,6 +1,22 @@

<?xml version="1.0" encoding="utf-8"?> + 32000 + 480 + 520 + 568 + 608 + 0 + 800 + 813 + 816 + 845 + 0 + 62 + a + 1 +

多谢分享。