TK1/TX1 Video output using frame buffer

Hello support,

On TX1/TK1, can we use frame buffer device to display video on HDMI output without getting screen tearing ?
Does FBIO_WAITFORVSYNC avoid screen tearing when frame buffer is used ?

We already test to display video on V4L2 output device which works without getting screen tearing.

Best regards

Yes, updating frame buffer during vsync period will avoid screen tearing.


V_BLANK_INT: Vertical Blank Interrupt
0= interrupt not pending
1= interrupt pending

The screen will be clean if update is during v blank interrupt pending.

Hi Romary,

I have tried writing frame buffer with FBIO_WAITFORVSYNC and it should avoid tearing. Please try it with dc enable.


Our requirements also included to have
- a 60fps HDMI output
- with a copyless software API supporting MMAPed buffer
- with a low latency from buffer to display (< 33ms)
- with no lose of frame from buffer to HDMI display

From a our point of view, linux frame buffer API
- is not a copyless API if the fb driver has only one buffer
- could be a copyless if it does support multiple buffers and buffer swapping in respect of the screen tearing defect that is forbidden in our use case.

Do you have any feedback on multiple buffers usage of your Linux FB HDMI driver ?
Do you know any API that will fully comply with our requirements ?


In addition to my post, our requirements are supported by imx6 platform (we have already tested it on an imx6 board).


Here is the link of the IMX Video Output driver:

Hi Romary,

Yes, there is only one fb device on TX1. Have you tried fb_io_pan_display? I think this could help do something similar to double buffer.

In fact, FBIO_WAITFORVSYNC is not a primary feature, it is there for legacy support. I don’t suggest you directly doing fb operation. It would be better if using X11.