您好,NXP团队:
SoC:iMX8qxpC0mek
Linux 操作系统:yocto [Scarthgap L6.6.5]
我们想检查一下 i.MX8QXP Yocto Linux 平台是否支持直接向显示器写入帧缓冲区。
我们的要求是在启动初期,在 Weston/Wayland 合成器和 HMI 应用程序初始化之前,直接显示图形或图像。
请问您能否澄清一下:
请分享在 i.MX8QXP 平台上实现早期显示输出的推荐方法。
你好@Ram2
希望你一切都好。
1. 是否支持 /dev/fb0 (fbdev)?
不,i.MX 8 本身并不支持。NXP i.MX Linux 参考手册在第 6.2.2 章“帧缓冲区”中明确指出:
帧缓冲区驱动程序支持 i.MX 6 和 i.MX 7,但不支持 i.MX 8。
2. 无需 Weston 即可直接访问 DRM/KMS
是的,这是正确且有依据的方法。
在 i.MX 8 上,Weston 使用 DRM 后端,这意味着当应用程序直接访问 DRM/KMS 时,Weston 不能运行。
您可以参阅UG10163的 7.3.10.7 章 cam 测试应用。
3. NXP 参考应用/示例代码
您可以查看 SDK_2_9_0_MEK-MIMX8QX\boards\mekmimx8qx\driver_examples\dpu\character 示例。从MCUXpresso SDK下载。
4. 内核配置、设备树和显示驱动程序设置
内核配置(在 imx_v8_defconfig 中):
CONFIG_DRM=y # DRM framework
CONFIG_DRM_IMX=y # i.MX DPU DRM driver (drivers/gpu/drm/imx)
CONFIG_DRM_IMX_DPU=y # DPU-specific DRM module
CONFIG_DRM_IMX_MIPI_DSI_NORTHWEST=y # MIPI DSI (for OLED panel support)
CONFIG_DRM_IMX_LDB=y # LVDS Display Bridge
请看表10。RN00210的内核和设备树配置,在视频显示部分。
5. 与韦斯顿的冲突(稍后开始)
是的,存在冲突。
由于早期启动的 DRM/KMS 应用程序和 Weston 都争夺 /dev/dri/card0 的独占控制权,因此早期应用程序必须在 Weston 启动之前释放 DRM 主设备。
您可以尝试通过 U-Boot 徽标进行显示。U-Boot 支持通过 DRM/simplefb 渲染的 BMP 图像。这样就完全避免了 Linux 层冲突,并能尽早生成启动画面。
顺祝商祺!
萨拉斯。