Debian12系统识别DP视频流问题

首先定义不同的EDID,再使用TYPEC 转DP视频线,分别测试14寸和17寸:
14寸2560*1440,可以显示

17寸28801620,不可以显示,无法识别28801620

17寸EDID配置:



相同的EDID,和TYPEC 转DP线,在电脑上可以显示,再开发板上无法显示。

请问在进行edid配置前,有读取到 2880*1620分辨率信息吗?
edid配置后可以读取到吗?

电脑可以读到,开发板读不到,或者读到一个其他分辨率。我的三星S24U dex模式都可以正常点亮输出这个屏幕。

请使用下列命令开启dp log

echo 8 > /proc/sys/kernel/printk
echo -n "file dp* +p" > /sys/kernel/debug/dynamic_debug/control

使用命令adb shell dmesg > dmesg_log.txt获取dmesg log并上传

Dear customer,
We have received the information you provided.
Please allow us some time to address it.
thanks

Dear customer
1.从log上看,读取到的分辨率是2048 * 1152,请问有试过这个分辨率吗,可以亮屏吗


2.请将红框中的 1修改为 3或者5 再做尝试
图片
3.请问能否分享一下 2880*1620分辨率时,图片中的这种形式的edid信息

1.2048 * 1152,没有这样的分辨率的屏
2.怎么修改为 3或者5
3.EDID在上面回答github里有EDID.txt

1.这个图片是您上传的,应该是您那边的显示器,显示器可以识别这个分辨率,建议您使用这个分辨率试一下


2.可以通过下面的参数设置

3.请问有图片中的这种格式的可以提供吗,或者请您分享一下如何转化

我用了一个4K的屏幕,如果用电脑显示为60hZ 4K,可以驱动画面,但是用这个板子只可以 30Hz 4K驱动画面。如果用自定义EDID的显示屏25601440 60HZ或者28801620 60HZ,都无法显示画面,2560*1440 55HZ可以,这应该是内核没有开启高分辨率和速率。

Dear customer
rubikpi可以支持4k60hz,和2560* 1440 60HZ,我们有在标准的显示器上做过测试,请问您有连接标准显示器做测试吗?如果是自定义的话,建议修改timing参数,当前参数可能不兼容
您上文有提到“14寸2560*1440,可以显示”,请问这个是标准显示器吗,刷新率是多少?

显示屏1:明基PD2706U 4K 60HZ,使用这个PCBA ,可以点亮但只有30HZ
显示屏2:自定义EDID :14寸25601440 55Hz,使用这个PCBA ,可以点亮且55HZ
显示屏3:自定义EDID :15寸2560
1440 60Hz,使用这个PCBA ,无法点亮
显示屏4:自定义EDID :17寸2880*1620 60Hz,使用这个PCBA ,无法点亮

Dear customer,
HPD接入后,DP driver会执行以下流程
1.HDCP,暂时认为对本问题影响有限


2.EDID
这个比较重要,可以将读出的EDID细节解析出来进行check
方法:
cat /sys/devices/platform/soc@0/ae00000.qcom,mdss_mdp0/drm/card0/card0-DP-1/edid | hexdump -C | sed 's/.*: \([0-9a-f ]*\) .*/\1/g'


前后都去掉,只保留中间,将其复制到以下工具链接进行解析

另外简单的分辨率支持情况可以通过以下节点查看
cat /sys/kernel/debug/drm_dp/edid_modes


3.link training
链路训练期间6490平台会和显示器用协商出最优分辨率进行链路训练,其目的是为了保证当前链路下数据传输的准确性。因此,DP数据链路中,包括接插端子,传输线等都会影响到link training的结果。当link training失败后,会降低分辨率继续训练。
一般简单的排除解决方法是换换传输线缆试试。
debug 方法
echo 8 > /proc/sys/kernel/printk
echo -n "file dp_aux.c +p" > /sys/kernel/debug/dynamic_debug/control
解析link training log,如果是这步有问题,可以在看到对应分辨率训练失败的log。

另外,6490平台不应该和笔记本类的设备对标,其display的原理不同,生态定位和使命也不同,高通平台不会支持所有分辨率。

明基屏


00000000 00 ff ff ff ff ff ff 00 09 d1 48 80 00 00 00 00 |…H…|
00000010 0b 22 01 04 b5 3c 22 78 3a 40 b5 ae 51 42 ad 26 |."…<“x:@..QB.&|
00000020 0f 50 54 a5 6b 80 d1 c0 81 c0 81 00 81 80 a9 c0 |.PT.k…|
00000030 b3 00 01 01 01 01 4d d0 00 a0 f0 70 3e 80 30 20 |…M…p>.0 |
00000040 35 00 55 50 21 00 00 1a 00 00 00 ff 00 45 54 36 |5.UP!..ET6|
00000050 33 52 30 31 30 35 30 43 4c 30 00 00 00 fd 00 18 |3R01050CL0…|
00000060 4c 1b 87 3c 00 0a 20 20 20 20 20 20 00 00 00 fc |L..<.. …|
00000070 00 42 65 6e 51 20 50 44 32 37 30 36 55 0a 01 17 |.BenQ PD2706U…|
00000080 02 03 34 f0 51 61 60 5f 5e 5d 10 1f 22 21 20 04 |..4.Qa`_^]..”! .|
00000090 13 12 11 03 02 01 23 09 07 07 83 01 00 00 67 03 |…#…g.|
000000a0 0c 00 10 00 38 78 e6 06 05 01 66 66 00 e3 05 c3 |…8x…ff…|
000000b0 00 e2 00 cf 56 5e 00 a0 a0 a0 29 50 30 20 35 00 |…V^…)P0 5.|
000000c0 55 50 21 00 00 1a 00 00 00 00 00 00 00 00 00 00 |UP!..|
000000d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |…|
*
000000f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 59 |…Y|
00000100

log:

有可能内核DP PHY 没有配置为 4-lane 模式

是不是读取EDID 3K 60HZ,但实际输出只有3K 30HZ

首先,客户提供的EDID数据异常,缺少000000e0段数据。尝试手动添加000000e0数据后仍然无法分析。
echo -n "file dp_aux.c +p" > /sys/kernel/debug/dynamic_debug/control
这个也没有生效,看不到link training过程。
cat /sys/kernel/debug/drm_dp/edid_modes 结果来看,客户这个设备和平台协商后没有4k60的配置,有可能是EDID异常造成的。


第一个3840就是4k,默认按照一个输出


但是只有30hz,又不是60hz;

这是明基的标准显示器,原装DP线,不可能显示屏有问题。

我们也是第一次遇到https://people.freedesktop.org/~imirkin/edid-decode/这个网站无法解析的EDID,倒不是说这个明基的显示器不正规。不知道客户有没有办法调查下,这款显示器的4k60是否必须是开启了DSC压缩才行。

此款显示器没有DSC功能