Firefly开源社区

打印 上一主题 下一主题

[Android] TypeC的DP口接5K屏,分辨率设置里最大只能到4K

46

积分

0

威望

0

贡献

技术小白

积分
46

TypeC的DP口接5K屏,分辨率设置里最大只能到4K

发表于 2023-5-5 17:49:21      浏览:2258 | 回复:7        打印      只看该作者   [复制链接] 楼主
问题描述及复现步骤:
ITX-3588J主板烧录的ITX-3588J_Android12_HDMI_230227系统,使用TypeC接口接到5K屏上,桌面显示图标有形变,显示设置里只能到3840*2160

5K屏的分辨率是5120*2160

log.log

2.79 MB, 下载次数: 2, 下载积分: 灯泡 -1 , 经验 -1

回复

使用道具 举报

1016

积分

1

威望

3

贡献

官方团队

Rank: 9Rank: 9Rank: 9

积分
1016
发表于 2023-5-6 09:43:15        只看该作者  沙发
1 你这个属于特殊分辨率,要改代码才能支持;
2 先确定edid是否要读到5120*2160
cat /sys/class/drm/card0-DP-1/modes
3 如果读到的话可以试下
3.1 添加特殊分辨率相关参数到白名单(device/rockchip/common/resolution_white.xml),重编固件测试;
3.2 如果3.1方法不行,就需要改代码,抛弃edid读取的分辨率,写死你想要显示的特殊分辨率;
回复

使用道具 举报

1016

积分

1

威望

3

贡献

官方团队

Rank: 9Rank: 9Rank: 9

积分
1016
发表于 2023-5-6 11:47:46        只看该作者  板凳
另外关于DP 默认sdk最高只支持到4k,如需支持4K以上,查看wiki修改

https://wiki.t-firefly.com/zh_CN ... y.html#display-port
回复

使用道具 举报

46

积分

0

威望

0

贡献

技术小白

积分
46
发表于 2023-5-8 11:08:21        只看该作者  地板
zhangzhenzhao 发表于 2023-5-6 11:47
另外关于DP 默认sdk最高只支持到4k,如需支持4K以上,查看wiki修改

https://wiki.t-firefly.com/zh_CN/C ...

按照wiki内的说明将改为dp0_in_vp0后,可以识别到屏幕是5120*2160了,显示路径状态如下。
但是设置页面里最大还是只能到3840*2160.
rk3588_firefly_itx_3588j:/ $ cat /d/dri/0/summary
Video Port0: ACTIVE
    Connector: DP-1
        bus_format[100a]: RGB888_1X24
        overlay_mode[0] output_mode[f] color_space[0], eotf:0
    Display mode: 5120x2160p75
        clk[906780] real_clk[906780] type[48] flag[6]
        H: 5120 5216 5280 5440
        V: 2160 2163 2173 2220
    Cluster0-win0: ACTIVE
        win_id: 0
        format: AB24 little-endian (0x34324241)[AFBC] SDR[0] color_space[0] glb_alpha[0xff]
        rotate: xmirror: 0 ymirror: 0 rotate_90: 0 rotate_270: 0
        csc: y2r[0] r2y[0] csc mode[0]
        zpos: 0
        src: pos[0, 0] rect[3840 x 2160]
        dst: pos[0, 0] rect[5120 x 2160]
        buf[0]: addr: 0x00000000f4020000 pitch: 15360 offset: 0
Video Port1: DISABLED
Video Port2: DISABLED
Video Port3: DISABLED

rk3588_firefly_itx_3588j:/ $ cat /sys/class/drm/card0-DP-1/modes
5120x2160
5120x2160
3840x2160
5120x2160
5120x2160
5120x2160
2560x1440
1920x1080
1920x1080
1920x1080
1920x1080
1680x1050
1280x1024
1440x900
1280x960
1280x800
1280x720
1280x720
1280x720
1280x720
1024x768
800x600
800x600
800x600
720x576
720x480
720x480
720x480
720x480
640x480
640x480
640x480
回复

使用道具 举报

1016

积分

1

威望

3

贡献

官方团队

Rank: 9Rank: 9Rank: 9

积分
1016
发表于 2023-5-8 11:39:35        只看该作者  5#
可乐123 发表于 2023-5-8 11:08
按照wiki内的说明将改为dp0_in_vp0后,可以识别到屏幕是5120*2160了,显示路径状态如下。
但是设置页面 ...

1 cat /d/dri/0/summary来看已经是5K分辨率了
2 setting分辨率设置没有5K的话,就是setting app这边有点问题咯,但是不影响实际显示5K,
3 如果要改setting就自行看看源码怎么改咯
packages/apps/Settings/
回复

使用道具 举报

46

积分

0

威望

0

贡献

技术小白

积分
46
发表于 2023-5-10 17:26:51        只看该作者  6#
zhangzhenzhao 发表于 2023-5-8 11:39
1 cat /d/dri/0/summary来看已经是5K分辨率了
2 setting分辨率设置没有5K的话,就是setting app这边有点 ...

如果缩小垂直方向的分辨率,增加水平方向上的分辨率,能达到8440*1260的分辨率吗?
回复

使用道具 举报

1016

积分

1

威望

3

贡献

官方团队

Rank: 9Rank: 9Rank: 9

积分
1016
发表于 2023-5-10 18:03:14        只看该作者  7#
可乐123 发表于 2023-5-10 17:26
如果缩小垂直方向的分辨率,增加水平方向上的分辨率,能达到8440*1260的分辨率吗?

没验证过,但是应该是不行的
回复

使用道具 举报

46

积分

0

威望

0

贡献

技术小白

积分
46
发表于 2023-8-31 17:39:42        只看该作者  8#
zhangzhenzhao 发表于 2023-5-10 18:03
没验证过,但是应该是不行的

我使用预设edid的方式,并且修改了rockchip_vop2.c文件
--- a/kernel-5.10/drivers/gpu/drm/rockchip/rockchip_vop2_reg.c
+++ b/kernel-5.10/drivers/gpu/drm/rockchip/rockchip_vop2_reg.c
@@ -1221,7 +1221,7 @@ static const struct vop2_video_port_data rk3588_vop_video_ports[] = {
         .gamma_lut_len = 1024,
         .cubic_lut_len = 729, /* 9x9x9 */
         .dclk_max = 600000000,
-        .max_output = { 9000, 2320 },
+        .max_output = { 7680, 4320 },
         /* hdr2sdr sdr2hdr hdr2hdr sdr2sdr */
         .pre_scan_max_dly = { 76, 65, 65, 54 },
         .intr = &rk3568_vp0_intr,


目前可以得到
rk3588_firefly_itx_3588j:/ # cat /sys/kernel/debug/dri/0/summary
Video Port0: ACTIVE
    Connector: DP-1
        bus_format[1018]: RGB101010_1X30
        overlay_mode[0] output_mode[f] color_space[0], eotf:0
    Display mode: 8176x1264p54
        clk[694000] real_clk[694000] type[48] flag[6]
        H: 8176 8356 8386 8776
        V: 1264 1324 1334 1464
Video Port1: DISABLED
Video Port2: DISABLED
Video Port3: DISABLED

目前接口已经可以输出8176x1264的分辨率,但是没有图层信息,无法绘制UI

这个麻烦帮忙看下,给指个处理思路
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表