Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-134276

All QML text become solid block at runtime

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P1: Critical
    • None
    • 5.15.18
    • None
    • Linux/Wayland, Linux/Other display system

    Description

      Hello,

      I developed a Qt/QML application for the Xilinx ZYNQMP platform with the following environment setup:

       

      // code placeholder
      export QT_QPA_GENERIC_PLUGINS=libinput
      export QT_QPA_ENABLE_TERMINAL_KEYBOARD=1
      export QT_QPA_PLATFORM=eglfs
      export QT_QPA_EGLFS_KMS_ATOMIC=1
      export QT_QPA_EGLFS_FORCE888=1
      export QT_QPA_EGLFS_INTEGRATION=eglfs_kms
      export QSG_INFO=1
      export QT_DEBUG_PLUGINS=1
      export QT_LOGGING_RULES=qt.qpa.*=true
      export QT_QPA_DEBUG=1
      export QSG_RENDERER_DEBUG=render
      export QML_IMPORT_TRACE=1
      export QT_QPA_EGLFS_DEBUG=1
      export XDG_RUNTIME_DIR=/app
      export DISPLAY=:0.0 

      The application works fine most of the time. However, in very rare cases, QML rendering encounters a problem at runtime: the text in the QML Text component becomes a solid block and cannot be recovered.

      The following picture shows that the text was displayed correctly.

      The following picture shows that the QML cannot render the text correctly.


      The problem is not easy to reproduce. Therefore, I have added more debug logs to the application.
      Please refer to the attached normal.log and abnormal.log files.
      And I also found the Qt doc said:

      • A bug in the OpenGL driver related to framebuffer object (FBO) readbacks may corrupt rendered glyphs. If you set the QML_USE_GLYPHCACHE_WORKAROUND environment variable, Qt keeps an additional copy of the glyph in RAM. This means that performance is slightly lower when drawing glyphs that have not been drawn before, as Qt accesses the extra copy via the CPU. It also means that the glyph cache will use twice as much memory. The quality is not affected by this.

      The OpenGL information:

      // code placeholder
      1. OpenGL version
      
      OpenGL ES 2.0 "67dc026"
      
      QStandardPaths: runtime directory '/usr/lib/' is not owned by UID 1001, but a directory permissions 0775 owned by UID 0 GID 0
      Created context for format QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::NoProfile) with config:
      	EGL_BUFFER_SIZE: 32
      	EGL_ALPHA_SIZE: 8
      	EGL_BLUE_SIZE: 8
      	EGL_GREEN_SIZE: 8
      	EGL_RED_SIZE: 8
      	EGL_DEPTH_SIZE: 24
      	EGL_STENCIL_SIZE: 8
      	EGL_CONFIG_CAVEAT: 12344
      	EGL_CONFIG_ID: 9
      	EGL_LEVEL: 0
      	EGL_MAX_PBUFFER_HEIGHT: 4096
      	EGL_MAX_PBUFFER_PIXELS: 16777216
      	EGL_MAX_PBUFFER_WIDTH: 4096
      	EGL_NATIVE_RENDERABLE: 1
      	EGL_NATIVE_VISUAL_ID: 875713089
      	EGL_NATIVE_VISUAL_TYPE: 0
      	EGL_SAMPLES: 0
      	EGL_SAMPLE_BUFFERS: 0
      	EGL_SURFACE_TYPE: 1031
      	EGL_TRANSPARENT_TYPE: 12344
      	EGL_TRANSPARENT_BLUE_VALUE: 0
      	EGL_TRANSPARENT_GREEN_VALUE: 0
      	EGL_TRANSPARENT_RED_VALUE: 0
      	EGL_BIND_TO_TEXTURE_RGB: 1
      	EGL_BIND_TO_TEXTURE_RGBA: 1
      	EGL_MIN_SWAP_INTERVAL: 0
      	EGL_MAX_SWAP_INTERVAL: 10
      OpenGL ES 2.0 "67dc026"
      GL_OES_texture_npot GL_OES_vertex_array_object GL_OES_compressed_ETC1_RGB8_texture GL_EXT_compressed_ETC1_RGB8_sub_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_depth24 GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_OES_vertex_half_float GL_EXT_blend_minmax GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_rgb8_rgba8 GL_EXT_multisampled_render_to_texture GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_ARM_mali_program_binary GL_EXT_shader_texture_lod GL_EXT_robustness GL_OES_depth_texture_cube_map GL_KHR_debug GL_ARM_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_OES_mapbuffer GL_KHR_no_error
      
      
      2. OpenGL libs
      
      -rwxr-xr-x  1 root root   419744 Mar  9  2018 libGLU.so.1.3.1
      lrwxrwxrwx  1 root root       15 Mar  9  2018 libGLU.so.1 -> libGLU.so.1.3.1
      lrwxrwxrwx  1 root root       15 Mar  9  2018 libGLU.so -> libGLU.so.1.3.1
      lrwxrwxrwx  1 root root       14 Mar  9  2018 libGLESv2.so.2.0 -> libMali.so.9.0
      lrwxrwxrwx  1 root root       16 Mar  9  2018 libGLESv2.so.2 -> libGLESv2.so.2.0
      lrwxrwxrwx  1 root root       14 Mar  9  2018 libGLESv2.so -> libGLESv2.so.2
      lrwxrwxrwx  1 root root       14 Mar  9  2018 libGLESv1_CM.so.1.1 -> libMali.so.9.0
      lrwxrwxrwx  1 root root       19 Mar  9  2018 libGLESv1_CM.so.1 -> libGLESv1_CM.so.1.1
      lrwxrwxrwx  1 root root       17 Mar  9  2018 libGLESv1_CM.so -> libGLESv1_CM.so.1
      -rwxr-xr-x  1 root root   625304 Mar  9  2018 libGL.so.1.2.0
      lrwxrwxrwx  1 root root       14 Mar  9  2018 libGL.so.1 -> libGL.so.1.2.0
      lrwxrwxrwx  1 root root       10 Mar  9  2018 libGL.so -> libGL.so.1
      lrwxrwxrwx  1 root root       14 Mar  9  2018 libEGL.so.1.4 -> libMali.so.9.0
      lrwxrwxrwx  1 root root       13 Mar  9  2018 libEGL.so.1 -> libEGL.so.1.4
      lrwxrwxrwx  1 root root       11 Mar  9  2018 libEGL.so -> libEGL.so.1
      drwxr-xr-x  3 root root     4096 Mar  9  2018 glib-2.0
      -rwxr-xr-x  1 root root  6065776 Dec  2 17:15 libglib-2.0.so.0.6400.5
      lrwxrwxrwx  1 root root       23 Dec  2 17:15 libglib-2.0.so.0 -> libglib-2.0.so.0.6400.5
      lrwxrwxrwx  1 root root       16 Dec  2 17:15 libglib-2.0.so -> libglib-2.0.so.0 

      Dose it relate to this issue? And how  can I debug it?

      Thanks and regards.

      Attachments

        1. abnormal.log
          1.36 MB
        2. image-2025-03-04-08-54-17-712.png
          image-2025-03-04-08-54-17-712.png
          30 kB
        3. image-2025-03-04-08-55-27-094.png
          image-2025-03-04-08-55-27-094.png
          39 kB
        4. normal.log
          8.39 MB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            qt.team.quick.subscriptions Qt Quick and Widgets Team
            sfzhang SHENGFA ZHANG
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes