AnsweredAssumed Answered

Tearing on a Weston window even with FB_MULTI_BUFFER set as 2

Question asked by Hugo Osornio Lopez Employee on Jan 7, 2016
Latest reply on Jan 14, 2016 by Richard Röjfors

A customer reported that:

 

If I run with very few surfaces and for instance gstreamer like this: (I have an own shell, without any other views).

gst-launch-1.0 videotestsrc ! imxeglvivsink

 

I get tearing and it seems like the opengl part is not finished with the buffer even though commit is called. (surface_commit in compositor.c)

 

If a put a small usleep in the gal2d-renderer, for instance in repaint_views, like 15ms, then the tearing disappears and it looks fine.

 

So it really looks like the egl surface either not double buffering or commit is not syncronised.

 

Is that something that's known, maybe you have a work around?

 

I run weston with double buffering (FB_MULTI_BUFFER=2)

 

This is not visible with the standard shell of weston, I think that is because it has quite a few views that are drawn before the gstreamer surface...

 

I will take care of the issue but will use a community thread to keep a public accessible resolution.

 

Cheers,

Hugo

Outcomes