Firefly开源社区

标题: RK3568三屏异显异触控技术案例 [打印本页]

作者: Firefly    时间: 2022-3-11 11:11
标题: RK3568三屏异显异触控技术案例
RK3568系列主板支持三屏异显异触控,即一块主板可同时接入三个显示屏,每个显示屏可同时播放不同的内容;并支持多点触控,每个屏幕可分别触摸控制,操作互不影响。支持MIPI、HDMI、LVDS显示屏使用。

[mp4]https://download.t-firefly.com/video/%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%E8%A7%86%E9%A2%91/RK3568%E4%B8%89%E5%B1%8F%E5%BC%82%E6%98%BE%E5%BC%82%E8%A7%A6.mp4[/mp4]

案例硬件准备


案例演示步骤



应用场景

广泛适用于智能广告机、游艺设备、多屏互动、智能家居、多媒体设备等场景。



固件下载




———————————————
更多信息请关注Firefly公众微信号fireflytee:

———————————————

Firefly官网:https://www.t-firefly.com
Firefly开源社区:https://dev.t-firefly.com
Station官网:https://www.stationpc.com



作者: junyeer    时间: 2022-3-15 23:33
请问,固件对于eDP输出的屏幕是否支持,如果不支持,能否告知eDP怎么实现HDMI+eDP的双屏异显
作者: luwy    时间: 2022-3-16 09:31
junyeer 发表于 2022-3-15 23:33
请问,固件对于eDP输出的屏幕是否支持,如果不支持,能否告知eDP怎么实现HDMI+eDP的双屏异显

此案例固件仅支持HDMI、DM-M10R800 V2 MIPI屏模模组、DM-M10R800 LVDS屏幕模组做三屏异显,不支持edp,如果想实现HDMI+eDP做双屏异显,要做到以下三步,前提是eDP屏已经调试好,如果未调试可以参考,kernel/arch/arm64/boot/dts/rockchip/rk3568-firefly-aioj-edp_M156X40.dts, 以下说明,基于此dts做说明
第一步:VP的挂载,hdmi和edp均支持挂载在vp0和vp1,因此有两种方案,分别是hdmi(vp0)+edp(vp1)和hdmi(vp1)+edp(vp0),以hdmi(vp0)+edp(vp1)做示例,在dts下添加如下:
  1. &edp_phy {
  2.         status = "okay";
  3. };

  4. &route_edp {
  5.         status = "okay";
  6.     connect = <&vp1_out_edp>;
  7. };

  8. &edp_in_vp0 {
  9.         status = "disabled";
  10. };

  11. &edp_in_vp1 {
  12.         status = "okay";
  13. };

  14. &route_hdmi {
  15.     status = "okay";
  16.     connect = <&vp0_out_hdmi>;
  17. };

  18. &hdmi {
  19.     status = "okay";
  20. };

  21. &hdmi_in_vp0 {
  22.     status = "okay";
  23. };

  24. &hdmi_in_vp1 {
  25.     status = "disabled";
  26. };
复制代码


第二步:配置主副屏
可以配置HDMI做主屏或者edp做主屏,以下是HDMI主屏,EDP做副屏,补丁如下:
  1. diff --git a/device/rockchip/rk356x/rk3568_firefly_aioj/rk3568_firefly_aioj.mk b/device/rockchip/rk356x/rk3568_firefly_aioj/rk3568_firefly_aioj.mk
  2. index 538b45b..5d5ef42 100644
  3. --- a/device/rockchip/rk356x/rk3568_firefly_aioj/rk3568_firefly_aioj.mk
  4. +++ b/device/rockchip/rk356x/rk3568_firefly_aioj/rk3568_firefly_aioj.mk
  5. @@ -42,6 +42,7 @@ PRODUCT_AAPT_PREF_CONFIG := mdpi
  6. ## add Rockchip properties
  7. #
  8. PRODUCT_PROPERTY_OVERRIDES += vendor.hwc.device.primary=HDMI-A
  9. +PRODUCT_PROPERTY_OVERRIDES += vendor.hwc.device.extend=eDP
  10. PRODUCT_PROPERTY_OVERRIDES += ro.sf.lcd_density=280
  11. PRODUCT_PROPERTY_OVERRIDES += ro.wifi.sleep.power.down=true
复制代码


第三步:添加DoubleScreen 异显demo app编译
  1. diff --git a/device/rockchip/rk356x/rk3568_firefly_aioj/rk3568_firefly_aioj.mk b/device/rockchip/rk356x/rk3568_firefly_aioj/rk3568_firefly_aioj.mk
  2. index 538b45b..bc7e110 100644
  3. --- a/device/rockchip/rk356x/rk3568_firefly_aioj/rk3568_firefly_aioj.mk
  4. +++ b/device/rockchip/rk356x/rk3568_firefly_aioj/rk3568_firefly_aioj.mk
  5. @@ -54,6 +54,9 @@ PRODUCT_PROPERTY_OVERRIDES += persist.dhcpserver.enable=1
  6. BOARD_HAVE_DONGLE := true
  7. #BOARD_HAS_RK_4G_MODEM := true

  8. +PRODUCT_PACKAGES += \
  9. +       DoubleScreen
  10. +
  11. #for gnss
  12. BOARD_HAS_GPS := false
复制代码


最后是编译固件,命令仅供参考,根据实际调试编译固件
  1. ./FFTools/make.sh -d rk3568-firefly-aioj-edp_M156X40 -j8 -l rk3568_firefly_aioj-userdebug
  2. ./FFTools/mkupdate/mkupdate.sh -l rk3568_firefly_aioj-userdebug
复制代码

烧录新的固件,打开DoubleScreen app就可以看到hdmi和edp播放不同的内容了
作者: wx_欢乐马_JQ7    时间: 2022-3-16 13:20
1.ROC-RK3568-PC这个固件 刷到DM-M10R800 V2 MIPI屏模模组 上会很卡,请问有什么解决方法吗?
2.DM-M10R800 LVDS屏幕模组(带TF-101-DISPLAY V2.5 转接板)这个在淘宝店是不卖的,怎么尝试呢?
作者: luwy    时间: 2022-3-16 14:13
wx_欢乐马_JQ7 发表于 2022-3-16 13:20
1.ROC-RK3568-PC这个固件 刷到DM-M10R800 V2 MIPI屏模模组 上会很卡,请问有什么解决方法吗?
2.DM-M10R80 ...

1. 卡是指系统卡顿还是单单触摸V2 屏幕卡顿呢
2. 如需DM-M10R800 LVDS屏幕模组(带TF-101-DISPLAY V2.5 转接板),可以联系销售sales@t-firefly.com
作者: junyeer    时间: 2022-3-16 17:10
luwy 发表于 2022-3-16 09:31
此案例固件仅支持HDMI、DM-M10R800 V2 MIPI屏模模组、DM-M10R800 LVDS屏幕模组做三屏异显,不支持edp,如 ...

非常感谢,我先试试,我这个方案有点特殊,我是使用的eDP转HDMI的转接板,显示1080P的分辨率,我先试试吧,有问题再咨询您~
作者: wx_欢乐马_JQ7    时间: 2022-3-17 09:30
luwy 发表于 2022-3-16 14:13
1. 卡是指系统卡顿还是单单触摸V2 屏幕卡顿呢
2. 如需DM-M10R800 LVDS屏幕模组(带TF-101-DISPLAY V2.5  ...

系统的l桌面设置就非常卡顿,单击和长按等操作都分不清,请官方亲试
作者: wx_欢乐马_JQ7    时间: 2022-3-17 09:40
luwy 发表于 2022-3-16 14:13
1. 卡是指系统卡顿还是单单触摸V2 屏幕卡顿呢
2. 如需DM-M10R800 LVDS屏幕模组(带TF-101-DISPLAY V2.5  ...

系统的桌面  系统的设置就非常卡顿,单击和长按等常规操作都不能分清,请官方亲试并更新,谢谢
作者: luwy    时间: 2022-3-17 14:42
wx_欢乐马_JQ7 发表于 2022-3-17 09:40
系统的桌面  系统的设置就非常卡顿,单击和长按等常规操作都不能分清,请官方亲试并更新,谢谢

这边测试是没有卡顿的,free -m 看下运行内存是否过低导致的系统卡顿,方便的话可以抓一份log出来,这边分析一下
作者: junyeer    时间: 2022-3-18 00:23
luwy 发表于 2022-3-16 09:31
此案例固件仅支持HDMI、DM-M10R800 V2 MIPI屏模模组、DM-M10R800 LVDS屏幕模组做三屏异显,不支持edp,如 ...

你好,我验证了双屏启动(eDP+HDMI),按您说的方法,似乎驱动还有问题,没有找到eDP设备,我有个log,麻烦帮忙看看
uboot里面有个错误log:
edp@fe0c0000 disconnected
kernel里面有下面的错误log:
        行 512: [    0.223258] rockchip-drm display-subsystem: Linked as a consumer to fe0c0000.edp
        行 514: [    0.229914] panel-simple edp-panel: Linked as a consumer to regulator.20
        行 515: [    0.229960] panel-simple edp-panel: edp-panel supply vsp not found, using dummy regulator
        行 515: [    0.229960] panel-simple edp-panel: edp-panel supply vsp not found, using dummy regulator
        行 516: [    0.230011] panel-simple edp-panel: Linked as a consumer to regulator.0
        行 517: [    0.230040] panel-simple edp-panel: edp-panel supply vsn not found, using dummy regulator
        行 517: [    0.230040] panel-simple edp-panel: edp-panel supply vsn not found, using dummy regulator

另外Android双屏显示APP的log我也附在了最下面,第一次弄eDP,感谢~~

eDP bootup log V20220317.txt

139.43 KB, 下载次数: 3, 下载积分: 灯泡 -1 , 经验 -1


作者: luwy    时间: 2022-3-18 09:30
junyeer 发表于 2022-3-18 00:23
你好,我验证了双屏启动(eDP+HDMI),按您说的方法,似乎驱动还有问题,没有找到eDP设备,我有个log,麻 ...

1.首先得将edp转HDMI验证好,再去验证双屏异显才有意义,不然你edp转HDMI都不能正常显示,异显肯定不行的,从log看都没有获取到modes,要先把edp转HDMI调好,再去验证异显
2. cat /sys/kernel/debug/gpio 看下hpd的io口是否有拉高, 还有看下cat /d/dri/0/summary, 发出来看下
3.麻烦另外提一个帖子,在另外的帖子回复你

作者: junyeer    时间: 2022-3-24 22:45
好的,非常感谢,最近比较忙,没有及时回复,我重新开个帖子
作者: wx_欢乐马_JQ7    时间: 2022-3-30 13:18
luwy 发表于 2022-3-17 14:42
这边测试是没有卡顿的,free -m 看下运行内存是否过低导致的系统卡顿,方便的话可以抓一份log出来,这边 ...

两个屏幕,接到HDMI的屏操控正常,MIPI的屏操控非常卡顿。我打开触摸反馈坐标看到,触摸位置都是正确的,但是点击等操作有问题
作者: handsomezbs    时间: 2022-3-30 13:39
这个怎么实现的啊?
是display那边不同的通道osd混合后到hdmi,mipi和edp么?
可以不可以跑三个guest os,虚拟三个display,显示三个屏幕?
作者: luwy    时间: 2022-3-30 16:10
本帖最后由 luwy 于 2022-3-30 16:11 编辑


我们采用的是第二种方案, 也可以通过命令实现简单的异显:
  1. am start --display <display_id> <activity_name>
  2. 例如:am start --display 1 com.android.settings/.Settings(把 settings 界面启动到指定的副屏)
复制代码

display id 可以通过dumpsys display获取
作者: beacon    时间: 2022-4-24 16:01
您好,请问下buildroot怎么实现qt双屏异显?
作者: 时间的蝴蝶    时间: 2022-4-25 10:54
beacon 发表于 2022-4-24 16:01
您好,请问下buildroot怎么实现qt双屏异显?

参考 WIKI,https://wiki.t-firefly.com/zh_CN ... ml#duo-ping-pei-zhi
设置 export WESTON_DRM_MIRROR=0
作者: pitt0803    时间: 2022-6-24 10:40
請問下問題,我是用 OLED(SAMSUNG ATNA56YX03)的EDP panel在android 11上開發 , 目前參考 rk3568-firefly-ROCPC-edp_M156X40.dts 後可以點亮, 但是設定中要調亮度卻沒有反應, 詢問panel 廠商 亮度必須透過DPCD 的AUX COMMAND輸入. 想確認一下 在android 11是否NATIVE AUX的功能是否已經完善, 而我該如何開發這功能
謝謝

作者: wangapei    时间: 2022-7-5 10:21
你好!请问一下。
1.LVDS屏接入MIPI_DSI0接口,这个并不是主板上的LVDS接口啊?是因为TF-101-DISPLAY V2.5 转接板将LVDS转换为MIPI信号了么?
2.那这个LVDS屏是否可以接在RK3588的主板上使用呢?因为ITX-3588上没有LVDS接口,只有MIPI。




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1