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

Document created by Yixing Kong Employee on Sep 17, 2013
Version 1Show Document
  • View in full screen mode

Question:

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.

Answer:

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.

 

VirtualFB:

 

https://community.freescale.com/message/289198

Attachments

Outcomes