支持10.5寸HDMI Waveshare显示器的Linux驱动

支持10.5寸HDMI Waveshare显示器的Linux驱动

在此输入图像描述希望你一切顺利!

我已将 i.MX8M NANO EVK 连接到 10.5 英寸 AMOLED 显示屏,但该显示屏无法运行该应用程序,附有图片 FYR。

观察到以下问题: 连接到 i.MX 8M NANO 板时,显示器可以正确启动,但无法显示/运行应用程序(为显示而开发和启动)。启动后的显示屏显示错误“无法启动终止 psplash-quit.service”,可以在 SSH 终端中观察到该错误,图像附有 FYR。当使用 HDMI 电缆连接到笔记本电脑时,显示器会镜像,并且当从 CPU 启动 Linux 时,显示器也可以用作显示器。

请指导我了解此错误是什么以及尽早解决该错误的步骤。

感谢和问候, 罗汉 RE

答案1

i.MX 图形用户指南第 33 页上说:*“Linux 操作系统上的 i.MX 8 支持直接渲染管理器 (DRM),其中 Linux 帧缓冲区支持有限,建议使用图形缓冲区管理器 (GBM)。”*

Psplash 启动启动屏幕可能还使用内核帧缓冲区驱动程序:如果内核中没有针对该硬件的足够功能的帧缓冲区驱动程序,则启动启动启动屏幕将失败,因此“终止 Psplash 启动屏幕”任务也将失败,因为它将找不到什么可以阻止的。

您也许可以简单地修复错误消息,systemctl disable psplash-quit.service因为在当前状态下没有必要。但根本原因是 i.MX 8 GPU 的内核帧缓冲驱动程序不存在,或者对于启动启动画面功能不足psplash:如果您的应用程序也设计为使用帧缓冲 API,则它也可能无法显示任何事物。

Linux 生态系统中的图形应用程序有几种可能的 API:

  • 内核帧缓冲区 API (fb)
  • 原始直接渲染管理器 (DRM) API
  • GBM API,至少作为 Mesa OpenGL 实现的一部分或与openwfd(= 开源 Miracast 实现)一起使用,也可能作为其他图形驱动程序的一部分
  • X11(可以包括 Mesa OpenGL 和 GBM)
  • Wayland(可以包括 Mesa OpenGL 和 GBM)

目前尚不清楚您的应用程序旨在使用这些 API 中的哪一个。

i.MX 图形用户指南似乎表明帧缓冲区支持尚未(尚未?)完全发挥作用,因此仅当加载适当的 X11/Wayland 驱动程序并激活 GUI 时,显示器才可能激活。

较新的内核还提供simpledrmfb,这是一个兼容性层,可能允许在仅具有 DRM 驱动程序的硬件上使用帧缓冲区 API(可能需要硬件 + DRM 驱动程序提供一个足够“简单”的接口以允许它受到此兼容性的支持层)。

相关内容