This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] J722SXH01EVM:如何在 systemd 启动之前、在 init 脚本期间输出到 LVDS。

Guru**** 1993015 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1405710/j722sxh01evm-how-to-output-to-lvds-during-the-init-script-prior-to-systemd-coming-up

器件型号:J722SXH01EVM
主题中讨论的其他器件:AB15

工具与软件:

我们要在 systemd 和 pslash 之前将图像输出到屏幕上、以便内核启动后立即在屏幕上获取图像。

我们有一个脚本可以初始化内核模块、如 tdss、这些脚本允许 pslash 在 systemd 之前出现。

我们也可以在启动 Weston 之前手动运行 Weston、以便在 systemd 启动 Weston 之前看到屏幕。

但是、这些都可以打印到 HDMI 连接器上。

从设备树中卸下 HDMI 连接器不会将数据重新传送到 LVDS 连接器。

我们如何将输出至 LVDS 连接器作为主要显示器输出?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Evan:

    我想 确认这是与 LVDS 设置有关的问题、脚本问题还是计时问题、因此我有几个问题:

    1. Linux 完全启动后、您可以使用任何应用或命令行工具将任何内容输出到 LVDS 面板吗?  
    2. Linux 完全启动后、运行用于手动运行 Weston 的脚本是否会 输出 到 LVDS 面板? 或者它是否只能与 HDMI 连接器配合使用?

    此致、

    Takuma

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Takuma、

    1.是、边缘 AI 库正在运行、并显示在 LVDS 屏幕上。 但是、我无法对其运行 gstreamer 应用程序。

    2.系统启动后,运行 Weston 在 LVDS 屏幕上运行。 只有 LVDS 屏幕有鼠标。 初始屏幕在 HDMI 屏幕上仍然可见。 (初始屏幕正在使用 DRM 模式)

    默认情况下、我还有一个配置在 HDMI 屏幕上运行边缘 AI 库、但 Weston 仍显示在 LVDS 屏幕上。

    在这些配置中、kmsprint 未显示 LVDS 连接器。

    root@j722s:/opt/edgeai-gst-apps kmsprint
    连接器0 (40) HDMI-A-1 (已连接)
    编码器0 (39)无
    CRTC 0 (38) 1920x1080@60.00 148.500 1920/88/44/148/+ 1080/4/5/36/+ 60 (60.00) 0x5 0x48
    平面0 (31) fb-id:48 (crtcs:0) 0 1920x1080 -> 0 1920x1080 (AR12 AB12 RA12 RG16 BG16 AR15 AB15 AR24 AB24 RA24 BA24 RG24 BG24 AR30 AB30 XR12 XB12 RX12 XR15 XB24 RX24 RXY24 24 RXYUYVY NV12)
    FB 48 1920x1080

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Evan:

    [报价 userid="36781" url="~/support/processors-group/processors/f/processors-forum/1405710/j722sxh01evm-how-to-output-to-lvds-during-the-init-script-prior-to-systemd-coming-up/5383375 #5383375"]

    1.是、边缘 AI 库正在运行、并显示在 LVDS 屏幕上。 但是、我无法对其运行 gstreamer 应用程序。

    [报价]

    那么 LVDS 器件树似乎不错、但奇怪的是 GStreamer 无法 使用 它。

    2. systemd 启动后、运行 Weston 会在 LVDS 屏幕上运行。 只有 LVDS 屏幕有鼠标。 初始屏幕在 HDMI 屏幕上仍然可见。 (pslash 正在使用 DRM 模式)[/QUOT]

    脚本看起来也很好。 因此、我假设问题在于脚本运行时间的计时、以及某些内核驱动程序尚未初始化。

    kmsprint 在这些配置中均未显示 LVDS 连接器。
    [报价]

    这也是非常奇怪的... 您能否执行以下操作:

    1. 运行"ls /dev/dri。 记下打印出来的卡片
    2. 对于每张卡、运行 kmsprint --device=/dev/dri/cardX. 示例:kmsprint --device=/dev/dri/card0

    我在内部参考过、LVDS 接口可能位于不同的 DSS (显示子系统)实例上、因为 J722S 有2个显示子系统。 这意味着 HDMI 可以位于与 LVDS 不同的卡上、并且由于 kmsprint 仅在1张卡上打印接口、因此不会打印 LVDS。 LVDS 位于不同的卡上可能是 GStreamer 和 Weston/pslash 的行为方式符合您观察到的原因。

    最后、您能否共享引导日志?

    此致、

    Takuma

    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Evan:

    我不知道如何输出到 Card2而不是 Card1、我咨询的人员也不知道如何修改 Card2。 我需要再问一些问题。

    但是、作为替代方案、我的同事已将  src 输出移至相同的 DSS 实例上:https://openbeagle.org/beagleboard/BeagleBoard-DeviceTrees/-/blob/v6.1.x-Beagle/lvds/arm64/overles/k3-am67a-Beagley-ai-hdmi-dss0-dpi1.dts?ref_type=heads

    这将使所有内容显示在一张卡片下方。

    此致、

    Takuma

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    太好了、谢谢 Takuma、我将尝试一下。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Takuma、

    默认情况下、我现在能够输出到 LVDS 连接器、这暂时解决了我们的问题。

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Evan:

    很高兴听到这个消息! 很高兴我们能提供帮助。

    此致、

    Takuma