Important: Please read the Qt Code of Conduct -

Text rendering bug with OpenGL ES?

  • If I build QUIt Coding's "5-in-a-row demo": with Qt 4.7.2 on a desktop, it displays all Text items correctly when using desktop OpenGL.

    However, if I instead configure Qt with "-egl -opengl es2", only some of the text displays -- in particular, Text items show nothing with style: Text.Normal, but they do show the expected text if the style is Text.Raised, Text.Sunken or Text.Outline. (I see the same behavior in another application, which is what I really care about, but the 5-in-a-row demo makes it easy to reproduce.)

    I see the same behavior with both the Mesa EGL/GLES2.x libraries and with Imagination Technologies' PVRVFrame libraries, which makes me think it is a problem in Qt or the application code rather than in the OpenGL ES stack.

    Is this the intended behavior?

    [EDIT: fixed link formatting, Volker]

  • Hi,

    There were some changes to QML text painting in 4.7.2, which is probably what is causing the issue. If you set the environmental variable QML_ENABLE_TEXT_IMAGE_CACHE=1 does it display correctly for you again?

    Have you been able to reproduce the issue on a device, or only with the desktop es2 emulation?


  • The target device (with an SGX 530 core) does not show the problem.

    Setting that environment variable does fix it on the desktop emulation, which I can live with. Thank you!

  • As an update: The target device did not show the problem before because I was not actually using QWS_DISPLAY=powervr. When Qt does use hardware acceleration on the target device, Text items show mostly corrupted without QML_ENABLE_TEXT_IMAGE_CACHE but show correctly with QML_ENABLE_TEXT_IMAGE_CACHE=1.

  • Okay, thanks for the update. If you decide QML_ENABLE_TEXT_IMAGE_CACHE isn't sufficient for your needs, I'd suggest filing a bug at You could possibly also try HEAD of 4.7 to see if things are fixed there (as there have been numerous QML fixes since 4.7.2).


Log in to reply