Resistive touch display iMX7 rotate display by 180°

Hello,

I have set the screen resolution of my 7" resistive touch display for my Colibri IMX7 board via uboot:

setenv vidargs 'video=mxsfb:800x480M-16@60,pixclockpol=1'
saveenv

The display works fine, but I would like to rotate the whole display by 180°.

I could rotate within my qt application, but then I can not use an ApplicationWindow for layout. Also there would be an impact on performance. So, rotating within the software is the least desirable option.

My favourite option would be something like:

xrandr -o inverted

but this is not supported by the boot2qt image.
The used video driver is mxsfb.

Is there a way to rotate the whole screen via environment variables or other global settings in the boot2qt image?

Thanks,
Michael

Hi @megger-ccore ,

Please take a look at this community question.

Best regards,

Daniel Morais

Hi ,@daniel_m.tx ,
thank you for your reply.

I checked out that question that you mentioned. There were several other questions mentioned in the answers to your linked question, with several options, that I list below:

I tried to:
echo 1 >> /sys/class/graphics/fb0/rotate
but the screen does not rotate.

One of the other answers mentions that rotation is not supported. Is that what you refer to?

Do you mean to use a patch? This would flip the screen, not rotate, making it hard to read without a mirror.

Or do you refer to using ipu_init_channel_buffer for rotation? Is this relevant for the i.MX7?

The last solution would be to rotate the screen in the application, which I mentioned in my question is the least favourable solution because it would require to completely change the application layout. Is this the only solution?

I infer that there is currently no way to rotate the screen without applying a patch to the system kernel or creating a new system image with that functionality. Is that correct?

Hi @megger-ccore ,

Thanks for doing the tests.

Can you check if the solution provided on this question fits you? I made some tests here and it worked fine, I just added the line into the /etc/default/qt file since this is being loaded by the /etc/appcontroller.

There isn’t some specific information of how to do this rotation in Boot2Qt image, if the above solution isn’t enough for you, another possibility is contact Qt Company directly as mentioned on this question.

Best regards,

Daniel Morais

Hello @daniel_m.tx, thank you for your reply.

I have tried to use QT_QPA_EGLFS_ROTATION, but as mentioned in the documentation, this is not supported for QtQuick applications, only for QtWidgets applications.

It seems that I will have to contact Qt Support directly.

Thanks,
Michael

Hi @megger-ccore

Did you get an answer from Qt regarding your issue?

Best regards,
Jaski

Hi @jaski.tx ,
thank you for asking. I did not contact Qt support regarding the issue because we managed to rotate the screen via hardware (there are some smd resistors on the screen that can be soldered to flip the image vertically and horizontally). So for now, the issue is solved, but it might pop up again in the future.
Best regards,
Michael

Hi Michael

Perfect that the issue is solved. Thanks for the feedback.

Best regards,
Jaski