Imx6: Qt/eglfs destroys Linux disk cache on special display resolution

We have a system with a Qt5 application, running with eglfs.

Because of bug in Qt / eglfs / somewhere else (flickering upper edge on the display on animation) we disabled double buffering for the application by setting env variable QT_EGLFS_IMX6_NO_FB_MULTI_BUFFER=1 or FB_MULTI_BUFFER=1. We even tried QT_QPA_EGLFS_SWAPINTERVAL=0.

All three versions fix the flickering effect.

And all three versions lead to broken files in the rootfs.

It happens usually to the files which are needed by my applications (libstdc++, libqt5core,…), but sometimes other random files are destroyed (we checked the hashes of all files in the rootfs)
On the eMMC the files are still OK (we have a readonly-rootfs), but the Linux system thinks that they are broken.

After a reboot the files may be OK again and others are broken.

We have the same effect on different CPU modules, eMMC and RAM are OK.

The display (LVDS, split-mode) has a resolution of 1920x540. With other resolutions we have no problems (neither the flickering nor the broken files).

Are there known bugs in the i.mx6 graphics drivers or somewhere else in the kernel leading to this behaviour?
Are there other things we could try to fix the flickering edge or the broken files?

Hi

Could you try as to change the LVDS resolution to 1920x544 (i.e. to a multiple of 16) and see if the flickering goes away?

Why or what corrupts your files I don’t know. Likely your Qt configuration reveals a bug that writes into the buffer cache of whatever files have already been read.
You could also try if our latest 2.8Beta5 shows the same symptoms. e.g. the updated vivante graphics drivers may no longer show the flickering and/or the corruption may no longer occur.

Max

Thank you for the reply.

Could you try as to change the LVDS
resolution to 1920x544 (i.e. to a
multiple of 16) and see if the
flickering goes away?

That seems to work. I have to do some more tests with this configuration.

You could also try if our latest 2.8Beta5

I was thinking about doing this (as soon as 2.8 is available). But it will be a lot of work because we patched many things in the system. If we have time to test it in the next months, I’ll give feedback.

Perfect that it works. Let us know the results of your tests.