主机EC-R3588SPC-FD,主板为ROC-RK3588S-PC,系统为Android12
请问如何修改分辨率?
Firefly Android 使用手册里面没有说明怎么修改分辨率
HDMI分辨率设置可以在设置里更改分辨率
zhangzhenzhao 发表于 2025-8-28 14:41
HDMI分辨率设置可以在设置里更改分辨率
能不能通过代码的方式修改,就像修改开机logo那样
zhangzhenzhao 发表于 2025-8-28 14:41
HDMI分辨率设置可以在设置里更改分辨率
我们采购的另一款主机,EC-A3399ProC,就可以通过代码修改分辨率,在烧录固件就解决了问题
那么EC-R3588SPC-FD,应该也可以采用同样的方式
3399你们通过代码修改分辨率,是什么层面的代码,应用层还是底层,应用层应该直接搬过来就能用
zhangzhenzhao 发表于 2025-8-28 15:19
3399你们通过代码修改分辨率,是什么层面的代码,应用层还是底层,应用层应该直接搬过来就能用
From 84baf1462717484072d19483cbae17447bbcdaca Mon Sep 17 00:00:00 2001
From: lkd <lkd@t-chip.com.cn>
Date: Mon, 3 Apr 2023 16:31:58 +0800
Subject: [PATCH] kernel->drm: default HDMI support 1920x1200@60 special
resolution
kernel/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 3 +±
kernel/drivers/gpu/drm/drm_edid.c | 5 +++++
kernel/drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 8 +++±—
3 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/kernel/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/kernel/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index d248a2074b..f59983e8c7 100644
— a/kernel/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/kernel/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -2572,7 +2572,7 @@ static int dw_hdmi_connector_get_modes(struct drm_connector *connector)
connector);
struct edid *edid;
struct drm_display_mode *mode;
- const u8 def_modes[6] = {4, 16, 31, 19, 17, 2};
-
const u8 def_modes[6] = {108, 16, 31, 19, 17, 2};
struct drm_display_info *info = &connector->display_info;
struct hdr_static_metadata *metedata =
&connector->display_info.hdmi.hdr_panel_metadata;
@@ -2582,6 +2582,7 @@ static int dw_hdmi_connector_get_modes(struct drm_connector *connector)
return 0;edid = drm_get_edid(connector, hdmi->ddc);
-
edid = NULL;
if (edid) {
dev_dbg(hdmi->dev, “got edid: width[%d] x height[%d]\n”,
edid->width_cm, edid->height_cm);
diff --git a/kernel/drivers/gpu/drm/drm_edid.c b/kernel/drivers/gpu/drm/drm_edid.c
index 7e1d60fe77..65d435fbfd 100644
— a/kernel/drivers/gpu/drm/drm_edid.c
+++ b/kernel/drivers/gpu/drm/drm_edid.c
@@ -1220,6 +1220,11 @@ static const struct drm_display_mode edid_cea_modes = {
4104, 4400, 0, 2160, 2168, 2178, 2250, 0,
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
.vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, }, -
/* 0x108 - 1920x1200@60Hz RB */ -
{ DRM_MODE("1920x1200", DRM_MODE_TYPE_DRIVER, 154000, 1920, 1968, -
2000, 2080, 0, 1200, 1203, 1209, 1235, 0, -
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC), -
.vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_NONE, },
};
/*
diff --git a/kernel/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/kernel/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
index 9632374e40..d5513f69d9 100644
— a/kernel/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
+++ b/kernel/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
@@ -2314,10 +2314,10 @@ vop_crtc_mode_valid(struct drm_crtc *crtc, const struct drm_display_mode mode,
/
* Hdmi or DisplayPort request a Accurate clock.
*/
- if (output_type == DRM_MODE_CONNECTOR_HDMIA ||
-
output_type == DRM_MODE_CONNECTOR_DisplayPort) -
if (clock != request_clock) -
return MODE_CLOCK_RANGE;
-
//if (output_type == DRM_MODE_CONNECTOR_HDMIA ||
-
// output_type == DRM_MODE_CONNECTOR_DisplayPort)
-
// if (clock != request_clock)
-
// return MODE_CLOCK_RANGE;
return MODE_OK;
}
–
2.28.0
上面这段,是修改分辨率的代码,修改后再编辑Android 固件,再烧录到板子上的
你看看这段代码在 EC-R3588SPC-FD上可以使用不
可以,参照这个改到3588上就可以了,驱动差不多