So, we have two issues in this bug. 1) The majority of the xmir corruption was caused by calling mir_buffer_stream_get_graphics_region() when xmir wanted to know the buffer size. On android, this would call down into gralloc, and invalidate/flush the cache when called. Its reasonable to just call into gralloc on once per swapbuffers.
2) The mir_demo_client_flicker corruption was caused by releasing the buffer resource a bit too early on the server side. This could occur in xmir as well, but seems to be rare for xmir's use case. This issue is corrected by using eglSyncFenceKHR extensions to ensure that the texture is uploaded to the gpu before releasing the buffer back to the server. (This is the more extensive A quick fix for both issues is in here: lp:~kdub/mir/0.17.1-fix-1406725. I'll repropose tests+fixes to lp:mir, but this should get xmir going in the meantime. 2) is the more extensive fix, so I'll split that bug out into a different report -- You received this bug notification because you are a member of Ubuntu-X, which is subscribed to xorg-server in Ubuntu. https://bugs.launchpad.net/bugs/1406725 Title: Severe graphical corruption (mostly horizontal streaks/lines) running software clients (including Xmir) on android To manage notifications about this bug go to: https://bugs.launchpad.net/canonical-pocket-desktop/+bug/1406725/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp