AM3354: Linux/AM335X: Weston and Matrix start up normally, but the screen only displays blue.

Part Number: AM3354

Tool/software:

Linux SDK 02.00.02.11

As the title: Weston and Matrix start up normally, but the screen only displays blue.

#1、run  /etc/init.d/weston start, and the screen turns blue

/var/log/weston.log

Date: 2024-12-13 UTC
[14:51:02.538] weston 1.9.0
               http://wayland.freedesktop.org
               Bug reports to: https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=weston&version=1.9.0
               Build: 1.8.93-2-gb05cdb8 configure.ac: bump to version 1.9.0 for the official release (2015-09-21 18:11:26 -0700)
[14:51:02.542] OS: Linux, 4.1.18, #14 PREEMPT Wed Dec 11 09:11:20 HKT 2024, armv7l
[14:51:02.551] Using config file '/etc//weston.ini'
[14:51:02.560] Loading module '/usr/lib/weston/drm-backend.so'
[14:51:02.621] Output repaint window is 7 ms maximum.
[14:51:02.621] initializing drm backend
[14:51:02.631] using /dev/dri/card0
[14:51:02.639] Loading module '/usr/lib/weston/gl-renderer.so'
failed to load module: /usr/lib/gbm/gbm_dri.so: cannot open shared object file: No such file or directory
failed to load module: /usr/lib/gbm/gbm_gallium_drm.so: cannot open shared object file: No such file or directory
loaded module : gbm_pvr.so
found valid GBM backend : gbm_pvr.so
[14:51:02.743] warning: either no EGL_EXT_platform_base support or specific platform support; falling back to eglGetDisplay.
[14:51:02.823] warning: EGL_EXT_buffer_age not supported. Performance could be affected.
[14:51:02.823] Retrieving EGL client extension string failed.
[14:51:02.834] input device 'eGalax_Touch_Screen', /dev/input/event0 is tagged by udev as: Touchscreen
[14:51:02.834] input device 'eGalax_Touch_Screen', /dev/input/event0 is a touch device
[14:51:02.979] EGL version: 1.4 build 1.14@3699939 (MAIN)
[14:51:02.980] EGL vendor: Imagination Technologies
[14:51:02.980] EGL client APIs: OpenGL_ES 
[14:51:02.980] EGL extensions: EGL_IMG_client_api_ogl EGL_KHR_image
               EGL_KHR_image_base EGL_KHR_gl_texture_2D_image
               EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image
               EGL_KHR_vg_parent_image EGL_IMG_cl_image EGL_KHR_fence_sync
               EGL_IMG_context_priority EGL_IMG_hibernate_process
               EGL_IMG_image_plane_attribs EGL_KHR_surfaceless_context
               EGL_KHR_wait_sync EGL_KHR_create_context
               EGL_WL_bind_wayland_display
[14:51:02.980] GL version: OpenGL ES 2.0 build 1.14@3699939 (MAIN)
[14:51:02.980] GLSL version: OpenGL ES GLSL ES 1.00 build 1.14@3699939 (MAIN)
[14:51:02.980] GL vendor: Imagination Technologies
[14:51:02.980] GL renderer: PowerVR SGX 530
[14:51:02.980] GL extensions: GL_OES_rgb8_rgba8 GL_OES_depth24
               GL_OES_vertex_half_float GL_OES_texture_float
               GL_OES_texture_half_float GL_OES_element_index_uint
               GL_OES_mapbuffer GL_OES_fragment_precision_high
               GL_OES_compressed_ETC1_RGB8_texture GL_OES_EGL_image
               GL_OES_EGL_image_external GL_OES_required_internalformat
               GL_OES_depth_texture GL_OES_get_program_binary
               GL_OES_packed_depth_stencil GL_OES_standard_derivatives
               GL_OES_vertex_array_object GL_OES_egl_sync
               GL_OES_surfaceless_context GL_EXT_discard_framebuffer
               GL_EXT_blend_minmax GL_EXT_multi_draw_arrays
               GL_EXT_multisampled_render_to_texture GL_EXT_shader_texture_lod
               GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg
               GL_IMG_shader_binary GL_IMG_texture_compression_pvrtc
               GL_IMG_texture_npot GL_IMG_texture_format_BGRA8888
                GL_IMG_read_format GL_IMG_program_binary
               GL_IMG_uniform_buffer_object
               GL_IMG_multisampled_render_to_texture GL_KHR_debug
[14:51:02.981] GL ES 2 renderer features:
               read-back format: RGBA
               wl_shm sub-image to texture: no
               EGL Wayland extension: yes
[14:51:02.981] Chosen EGL config details:
               RGBA bits: 8 8 8 8
               swap interval range: 1 - 1
[14:51:02.981] cursor buffers unavailable, using gl cursors
[14:51:02.983] Failed to initialize backlight
[14:51:02.988] Output LVDS-1, (connector 20, crtc 18)
               mode 1024x768@60.0, preferred, current
               mode 1024x768@60.0, preferred
[14:51:02.993] Compositor capabilities:
               arbitrary surface rotation: yes
               screen capture uses y-flip: yes
               presentation clock: CLOCK_MONOTONIC, id 1
[14:51:03.000] Loading module '/usr/lib/weston/desktop-shell.so'
[14:51:03.009] launching '/usr/lib/weston/weston-keyboard'
[14:51:03.012] launching '/usr/lib/weston/weston-desktop-shell'

#2、run  matrix_browser http://localhost:80, the screen display does not change,log:


QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/qt5/plugins/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt5/plugins/platforms/libqeglfs.so"
Found metadata in lib /usr/lib/qt5/plugins/platforms/libqeglfs.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "eglfs"
        ]
    },
    "className": "QEglFSIntegrationPlugin",
    "debug": false,
    "version": 328960
}


Got keys from plugin meta data ("eglfs")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt5/plugins/platforms/libqlinuxfb.so"
Found metadata in lib /usr/lib/qt5/plugins/platforms/libqlinuxfb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "linuxfb"
        ]
    },
    "className": "QLinuxFbIntegrationPlugin",
    "debug": false,
    "version": 328960
}

Got keys from plugin meta data ("linuxfb")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt5/plugins/platforms/libqminimal.so"
Found metadata in lib /usr/lib/qt5/plugins/platforms/libqminimal.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "minimal"
        ]
    },
    "className": "QMinimalIntegrationPlugin",
    "debug": false,
    "version": 328960
}


Got keys from plugin meta data ("minimal")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt5/plugins/platforms/libqminimalegl.so"
Found metadata in lib /usr/lib/qt5/plugins/platforms/libqminimalegl.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
         "Keys": [
            "minimalegl"
        ]
    },
    "className": "QMinimalEglIntegrationPlugin",
    "debug": false,
    "version": 328960
}

Got keys from plugin meta data ("minimalegl")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt5/plugins/platforms/libqoffscreen.so"
Found metadata in lib /usr/lib/qt5/plugins/platforms/libqoffscreen.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "offscreen"
        ]
    },
    "className": "QOffscreenIntegrationPlugin",
    "debug": false,
    "version": 328960
}

Got keys from plugin meta data ("offscreen")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt5/plugins/platforms/libqwayland-egl.so"
Found metadata in lib /usr/lib/qt5/plugins/platforms/libqwayland-egl.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "wayland-egl"
        ]
    },
    "className": "QWaylandIntegrationPlugin",
    "debug": false,
    "version": 328960
}

Got keys from plugin meta data ("wayland-egl")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt5/plugins/platforms/libqwayland-generic.so"
Found metadata in lib /usr/lib/qt5/plugins/platforms/libqwayland-generic.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "wayland"
        ]
    },
    "className": "QWaylandIntegrationPlugin",
    "debug": false,
    "version": 328960
}

Got keys from plugin meta data ("wayland")
QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/platforms" ...
loaded library "/usr/lib/qt5/plugins/platforms/libqwayland-egl.so"
Using Wayland-EGL
wlpvr: PVR Services Initialised
QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/qt5/plugins/platformthemes" ...
QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/platformthemes" ...
QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/qt5/plugins/generic" ...
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt5/plugins/generic/libqevdevkeyboardplugin.so"
Found metadata in lib /usr/lib/qt5/plugins/generic/libqevdevkeyboardplugin.so, metadata=
{
    "IID": "org.qt-project.Qt.QGenericPluginFactoryInterface",
    "MetaData": {
        "Keys": [
            "EvdevKeyboard"
        ]
    },
    "className": "QEvdevKeyboardPlugin",
    "debug": false,
    "version": 328960
}

Got keys from plugin meta data ("evdevkeyboard")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt5/plugins/generic/libqevdevmouseplugin.so"
Found metadata in lib /usr/lib/qt5/plugins/generic/libqevdevmouseplugin.so, metadata=
{
    "IID": "org.qt-project.Qt.QGenericPluginFactoryInterface",
    "MetaData": {
        "Keys": [
            "EvdevMouse"
        ]
    },
    "className": "QEvdevMousePlugin",
    "debug": false,
    "version": 328960
}

Got keys from plugin meta data ("evdevmouse")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt5/plugins/generic/libqevdevtabletplugin.so"
Found metadata in lib /usr/lib/qt5/plugins/generic/libqevdevtabletplugin.so, metadata=
{
    "IID": "org.qt-project.Qt.QGenericPluginFactoryInterface",
    "MetaData": {
        "Keys": [
            "EvdevTablet"
        ]
    },
    "className": "QEvdevTabletPlugin",
    "debug": false,
    "version": 328960
}

Got keys from plugin meta data ("evdevtablet")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt5/plugins/generic/libqevdevtouchplugin.so"
Found metadata in lib /usr/lib/qt5/plugins/generic/libqevdevtouchplugin.so, metadata=
{
    "IID": "org.qt-project.Qt.QGenericPluginFactoryInterface",
    "MetaData": {
        "Keys": [
            "EvdevTouch"
        ]
    },
    "className": "QEvdevTouchScreenPlugin",
    "debug": false,
    "version": 328960
}

Got keys from plugin meta data ("evdevtouch")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt5/plugins/generic/libqtuiotouchplugin.so"
Found metadata in lib /usr/lib/qt5/plugins/generic/libqtuiotouchplugin.so, metadata=
{
    "IID": "org.qt-project.Qt.QGenericPluginFactoryInterface",
    "MetaData": {
        "Keys": [
            "TuioTouch"
        ]
    },
    "className": "QTuioTouchPlugin",
    "debug": false,
    "version": 328960
}


Got keys from plugin meta data ("tuiotouch")
QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/generic" ...
loaded library "/usr/lib/qt5/plugins/generic/libqevdevkeyboardplugin.so"
QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/qt5/plugins/styles" ...
QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/styles" ...
QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/qt5/plugins/iconengines" ...
QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/iconengines" ...
QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/qt5/plugins/imageformats" ...
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt5/plugins/imageformats/libqgif.so"
Found metadata in lib /usr/lib/qt5/plugins/imageformats/libqgif.so, metadata=
{
    "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
    "MetaData": {
        "Keys": [
            "gif"
        ],
        "MimeTypes": [
            "image/gif"
        ]
    },
    "className": "QGifPlugin",
    "debug": false,
    "version": 328960
}

Got keys from plugin meta data ("gif")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt5/plugins/imageformats/libqico.so"
Found metadata in lib /usr/lib/qt5/plugins/imageformats/libqico.so, metadata=
{
    "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
    "MetaData": {
        "Keys": [
            "ico",
            "cur"
        ],
        "MimeTypes": [
            "image/vnd.microsoft.icon"
        ]
    },
    "className": "QICOPlugin",
    "debug": false,
    "version": 328960
}

Got keys from plugin meta data ("ico", "cur")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt5/plugins/imageformats/libqjpeg.so"
Found metadata in lib /usr/lib/qt5/plugins/imageformats/libqjpeg.so, metadata=
{
    "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
    "MetaData": {
        "Keys": [
            "jpg",
            "jpeg"
        ],
        "MimeTypes": [
            "image/jpeg",
            "image/jpeg"
        ]
    },
    "className": "QJpegPlugin",
    "debug": false,
    "version": 328960
}

Got keys from plugin meta data ("jpg", "jpeg")
QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/imageformats" ...
loaded library "/usr/lib/qt5/plugins/imageformats/libqgif.so"
loaded library "/usr/lib/qt5/plugins/imageformats/libqico.so"
loaded library "/usr/lib/qt5/plugins/imageformats/libqjpeg.so"
QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/qt5/plugins/sensors" ...
QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/sensors" ...
loaded library "libdbus-1"
QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/qt5/plugins/bearer" ...
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt5/plugins/bearer/libqconnmanbearer.so"
Found metadata in lib /usr/lib/qt5/plugins/bearer/libqconnmanbearer.so, metadata=
{
    "IID": "org.qt-project.Qt.QBearerEngineFactoryInterface",
    "MetaData": {
        "Keys": [
            "connman"
        ]
    },
    "className": "QConnmanEnginePlugin",
    "debug": false,
    "version": 328960
}

Got keys from plugin meta data ("connman")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt5/plugins/bearer/libqgenericbearer.so"
Found metadata in lib /usr/lib/qt5/plugins/bearer/libqgenericbearer.so, metadata=
{
    "IID": "org.qt-project.Qt.QBearerEngineFactoryInterface",
    "MetaData": {
        "Keys": [
            "generic"
        ]
    },
    "className": "QGenericEnginePlugin",
    "debug": false,
    "version": 328960
}

Got keys from plugin meta data ("generic")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt5/plugins/bearer/libqnmbearer.so"
Found metadata in lib /usr/lib/qt5/plugins/bearer/libqnmbearer.so, metadata=
{
    "IID": "org.qt-project.Qt.QBearerEngineFactoryInterface",
    "MetaData": {
        "Keys": [
            "networkmanager"
        ]
    },
    "className": "QNetworkManagerEnginePlugin",
    "debug": false,
    "version": 328960
}

Got keys from plugin meta data ("networkmanager")
QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/bearer" ...
loaded library "/usr/lib/qt5/plugins/bearer/libqconnmanbearer.so"
loaded library "/usr/lib/qt5/plugins/bearer/libqgenericbearer.so"
loaded library "/usr/lib/qt5/plugins/bearer/libqnmbearer.so"
loaded library "libresolv.so.2"

#3、modetest

root@am335x-evm:~# modetest 
trying to open device 'i915'...failed
trying to open device 'radeon'...failed
trying to open device 'nouveau'...failed
trying to open device 'vmwgfx'...failed
trying to open device 'omapdrm'...failed
trying to open device 'exynos'...failed
trying to open device 'tilcdc'...done
Encoders:
id      crtc    type    possible crtcs  possible clones
19      18      LVDS    0x00000001      0x00000000

Connectors:
id      encoder status          name            size (mm)       modes   encoders
20      19      connected       LVDS-1          0x0             1       19
  modes:
        name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)
  1024x768 60 1024 1124 1244 1344 768 783 791 806 flags: nhsync, nvsync; type: preferred, driver
  props:
        1 EDID:
                flags: immutable blob
                blobs:

                value:
        2 DPMS:
                flags: enum
                enums: On=0 Standby=1 Suspend=2 Off=3
                value: 0

CRTCs:
id      fb      pos     size
18      24      (0,0)   (1024x768)
  1024x768 60 1024 1124 1244 1344 768 783 791 806 flags: nhsync, nvsync; type: preferred, driver
  props:

Planes:
id      crtc    fb      CRTC x,y        x,y     gamma size      possible crtcs
17      18      24      0,0             0,0     0               0x00000001
  formats: XR24 AR24
  props:
        5 type:
                flags: immutable enum
                enums: Overlay=0 Primary=1 Cursor=2
                value: 1

Frame buffers:
id      size    pitch

#4、my env

/etc/profile.d/qt_env.sh

#!/bin/sh

### QT Environment Variables ###
export QT_QPA_GENERIC_PLUGINS=Auto
export QT_DEBUG_PLUGINS=1
export QT_QPA_PLATFORM=wayland-egl
export QT_QPA_GENERIC_PLUGINS=evdevkeyboard

#5、test the screen

run  /etc/init.d/weston stop,the screen turns black

and run  runOGLES2ChameleonMan.sh  ,and then, a person running is displayed on the screen.This demonstrates that the screen is working correctly.

So,I would like to know:

Cann't see any err report, but why does running matrix_browser not change the display? How should I debug it?

In fact, I am attempting to run my Qt application on Weston,but similar to Matrix,it starts up normally without error and screen display does not change