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

Glyph corruption using OpenGL rendering

    XMLWordPrintable

Details

    • Bug
    • Resolution: Invalid
    • P1: Critical
    • None
    • 5.11.3, 5.12.6
    • GUI: Text handling
    • None
    • ARM CPU: TI AM335x "Sitara"; Linux: Yocto - "Thud"; not able to reproduce on Windows or desktop Linux
    • Linux/Yocto

    Description

      We are running our application on the AM335x processor. After upgrading from Qt 5.4.1 to 5.11.3 (we switched from Yocto "Daisy" branch to "Thud" branch) we observed occasional text glitches in all Qt applications. The problem occurs randomly, but when a corrupted character is rendered multiple times on the screen, all of its instances are corrupted the same way.

      It looks like this: https://ibb.co/LYP4JCx

      The behavior seems to be very similar to the one described in https://bugreports.qt.io/browse/QTBUG-12370 

      We tried using various QT environment variables, but the only one that worked was QT_QUICK_BACKEND=software. We're not using X11 or wayland, and trying them led to no improvement. QML_USE_GLYPHCACHE_WORKAROUND=1 made no difference.

      We also tried upgrading Qt to version 5.12.6, we tried enabling/disabling fontconfig and we tried using both Qt's and system freetype. All these steps led to no improvement.

      Important note: it is only the font glyphs that are corrupted. Icons or UI elements such as buttons are completely fine, always. Problem appears on all tested devices with about 30% probability (every time a Qt application is started, it has about 30% probability of developing one or more corrupt glyphs).

      We used this minimal example to randomly generate a lot of text of different sizes to tease the problem out: https://github.com/pohlondrej/OpenGlTextCorruptionTest - after a couple of re-runs one of the glyph becomes corrupted.

      Following are Qt environment variables on target:

      • export QT_QPA_EGLFS_INTEGRATION=none
      • export QT_QUICK_CONTROLS_1_STYLE=Flat
      • export QT_QPA_EGLFS_NO_LIBINPUT=1

      EDIT: Added image of TI EVM with default configuration with this bug as rendered in StocQt example application.

      Attachments

        1. 20200306_115627.jpg
          20200306_115627.jpg
          1.12 MB
        2. corrupted_font.png
          corrupted_font.png
          1.27 MB
        3. ti_evm_error.jpg
          ti_evm_error.jpg
          2.01 MB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            esabraha Eskil Abrahamsen Blomfeldt
            pohlondrej Ondřej Pohl
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes