TFT Display /dev/fb0 Inverted?

Environment:

  • Linux beaglebone 4.4.30-ti-r64 #1 SMP Fri Nov 4 21:23:33 UTC 2016 armv7l GNU/Linux
  • Debian GNU/Linux 8 (jessie)

I’m attempting to setup a TFT LCD display connected to a BeagleBoneBlack RevC using just the framebuffer via Qt 5.12.3. I can’t for the life of me figure out WHY the Qt application and/or the framebuffer is inverting my application’s GUI though. I have looked into setting /sys/class/graphics/fb0 invert and rotate but they’re seemingly not supported, or simply don’t make any difference in my case.

I started by getting the device tree configured for the LCD, which is seemingly working fine, and was pulled from a working build running on a 3.8 kernel, and recompiled. I can cat /dev/urandom > /dev/fb0 and see random noise, and if I let lightdm run, it will display properly as shown here.

I then moved on to compiling and running my application. It runs just fine, but when it displays it displays completely inverted on the x-axis as seen here.

Then, closing the application, and letting lightdm take over again it will also be inverted as seen here.

Any idea what would cause this, or a potential workaround? I tried using X11, using FBDEV to handle /dev/fb0, and then just throwing my application in the xinitrc file, but same result. The only time I’ve seen it run properly, is if I start the application over ssh and allow it to forward the x-session to my host PC. This was done by accident, but gave me some hope.

Any help is appreciated.