瑞芯微Rockchip开发者社区
直播中

王辉

7年用户 1300经验值
私信 关注
[问答]

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

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

回帖(4)

李桂英

2022-8-18 16:24:31
800*480的显示器在Ubuntu下不设置就能显示,Android下没弄出来
举报

王鹏

2022-8-18 16:24:37
我也遇到了同样的问题,经过一个多星期的努力解决了(我的分辨率是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 @@


     
+        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 @@

     
     
+        480x800p-62Hz
         1920x1080p-50Hz
         1920x1080p-60Hz
         1280x720p-50Hz
@@ -1079,6 +1080,7 @@
         720x480p-60Hz
     

     
+        480x800p-62n
         1920x1080p-50n
         1920x1080p-60n
         1280x720p-50n
@@ -1125,6 +1127,7 @@

         
     
+        480x800p-62
         1920x1080p-60
         1280x720p-60
         720x480p-60


下面文件不用修改,但可以根据打印出的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] disconnectedn",
+               dev_err(connector->dev->dev, "[CONNECTOR:%d:%s] disconnectedn",
                        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;
}

举报

李涛

2022-8-18 16:24:45
亲测有效,我是T4的开发板,只改了system.prop 文件就可以了
举报

刘丽

2022-8-18 16:25:01
我个人感觉单纯改这个不行吧,你应该他适应的分辨率的枚举,然后改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,
};
举报

更多回帖

发帖
×
20
完善资料,
赚取积分