Q&A: How to do MX6 1080p 90 degree display rotation?

Document created by Yixing Kong Employee on Sep 17, 2013Last modified by ebiz_ws_prod on Dec 13, 2017
Version 3Show Document
  • View in full screen mode


What’s the best way to rotate a MX6 image 90 degrees, thought the IPU correct? IPU is limited to 1024x1024.

Apparently we don’t support frame buffer rotation in the IPU, so we have to use some middleware. I know that Android’s surface flinger uses the GPU but do you know what we can use in Linux that uses H/W acceleration also?

It looks look like X-server can rotate only when the Vivante driver is not  loaded, which means the hardware is not implementing rotations.


it should be possible to split the picture into two halves and rotate them separately. Well, two halves if you can reduce the line count to 1024 … otherwise it would be 4 rotates.

X11 Xrandr will be implemented on GPU sometime this year. It's in the R&D queue but as low priority.


They could use GC320 low level API to rotate (if they use linux frame buffer). It implies a blit but it would be done by GC320 they will probably need to use virtualFB too.


The API documentation is the BSP documentation (iMX6.2D.API.pdf)


Attached a simple source using the 2D low level API.





Original Attachment has been moved to: BlitNonVirtual.c.zip