TypeC的DP口接5K屏,分辨率设置里最大只能到4K
ITX-3588J主板烧录的ITX-3588J_Android12_HDMI_230227系统,使用TypeC接口接到5K屏上,桌面显示图标有形变,显示设置里只能到3840*21605K屏的分辨率是5120*2160
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读取的分辨率,写死你想要显示的特殊分辨率; 另外关于DP 默认sdk最高只支持到4k,如需支持4K以上,查看wiki修改
https://wiki.t-firefly.com/zh_CN/Core-3588J/usage_display.html#display-port 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: RGB888_1X24
overlay_mode output_mode color_space, eotf:0
Display mode: 5120x2160p75
clk real_clk type flag
H: 5120 5216 5280 5440
V: 2160 2163 2173 2220
Cluster0-win0: ACTIVE
win_id: 0
format: AB24 little-endian (0x34324241) SDR color_space glb_alpha
rotate: xmirror: 0 ymirror: 0 rotate_90: 0 rotate_270: 0
csc: y2r r2y csc mode
zpos: 0
src: pos rect
dst: pos rect
buf: 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 可乐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/ zhangzhenzhao 发表于 2023-5-8 11:39
1 cat /d/dri/0/summary来看已经是5K分辨率了
2 setting分辨率设置没有5K的话,就是setting app这边有点 ...
如果缩小垂直方向的分辨率,增加水平方向上的分辨率,能达到8440*1260的分辨率吗? 可乐123 发表于 2023-5-10 17:26
如果缩小垂直方向的分辨率,增加水平方向上的分辨率,能达到8440*1260的分辨率吗?
没验证过,但是应该是不行的 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: RGB101010_1X30
overlay_mode output_mode color_space, eotf:0
Display mode: 8176x1264p54
clk real_clk type flag
H: 8176 8356 8386 8776
V: 1264 1324 1334 1464
Video Port1: DISABLED
Video Port2: DISABLED
Video Port3: DISABLED
目前接口已经可以输出8176x1264的分辨率,但是没有图层信息,无法绘制UI
这个麻烦帮忙看下,给指个处理思路 zhangzhenzhao 发表于 2023-5-6 09:43
1 你这个属于特殊分辨率,要改代码才能支持;
2 先确定edid是否要读到5120*2160
cat /sys/class/drm/card ...
如果使用cat /sys/class/drm/card0-DP-1/modes命令查到的edid分辨率有缺失,大概是哪里的问题
页:
[1]