Hello @Ram2
Hope you are doing very well.
1. Is /dev/fb0 (fbdev) supported?
No, not natively on i.MX 8. The NXP i.MX Linux Reference Manual explicitly shows ins chapter 6.2.2 Frame buffer:
Frame buffer drivers are supported for i.MX 6 and i.MX 7, but not for i.MX 8
2. Direct DRM/KMS access without Weston
Yes, this is the correct and supported approach.
On i.MX 8, Weston uses the DRM backend, which means Weston must not be running when an application directly accesses DRM/KMS.
You can take a look to the chapter 7.3.10.7 cam test application of UG10163.
3. NXP Reference Application / Sample Code
You can take a look to the SDK_2_9_0_MEK-MIMX8QX\boards\mekmimx8qx\driver_examples\dpu\character example. Download it from MCUXpresso SDK.
4. Kernel Configuration, Device Tree, and Display Driver Settings
Kernel configuration (in 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
Please take a look to the Table 10. Kernel and device tree configurations of RN00210, in section Video Display.
5. Conflict with Weston When It Starts Later
Yes, there is a conflict.
Since both the early-boot DRM/KMS application and Weston fight for exclusive control of /dev/dri/card0, the early application must release the DRM master before Weston starts.
You can try display via U-Boot logo. U-Boot supports BMP images rendered via DRM/simplefb. This completely avoids the Linux-layer conflict and produces the earliest possible splash screen.
Best regards,
Salas.