QWidget based application in non-native orientation on embedded linux with fbdev platform



  • I have a Qwidget application running on embedded linux using the framebuffer platform. The display is a 480x272 color lcd panel. I would like to be able to (actually i NEED to be able to) make an application that displays its content with a vertical (portrait) orientation, ie 272 x 480.

    I tried the last suggestion posted here:

    http://forum.qt.io/topic/22852/qt-5-embedded-screen-rotation/13

    Which works as expected running on my development system but when I run it on my embedded target things are rotated as expected but all text is garbled. For example, the word Config shows up as Conifg. It doesn't make any sense that performing a rotation on a Graphics view could cause garbled text and only on a particular platform...

    So my question is this. What is the correct way to achieve rotating the entire UI into portrait mode on a non portrait screen? I would hope that the API to achieve this is independent of the platform I'm running on (ie something like QApplication::setorientation, which doesn't exist) but if it is not, is there a way to achieve it specifically for the framebuffer platform?

    THanks!


  • Lifetime Qt Champion

    Hi,

    What about trying to rotate the frame buffer directly ? Here you can find some information.

    Hope it helps



  • @SGaist I will look into rotating the framebuffer directly but I am under the impression that most drivers that implement the framebuffer interface don't actually support rotation. I'm basing this impression on hearsay so I will do a little more research myself.

    Meanwhile... is this really my only option?



  • @Chad-Barbe The patch described here ended up providing me with exactly what i needed.

    http://borkedlabs.com/2015/06/01/qt5-linuxfb-rotation-for-lcds/


  • Lifetime Qt Champion

    He should have tried to submit it to code review