EGL apps (like Chrome/Chromium) in Xmir (in DRI2 mode): Page contents never visible, all black, all white, or flickering

Bug #1510025 reported by Daniel van Vugt
18
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Canonical System Image
New
Undecided
Unassigned
xorg-server (Ubuntu)
Won't Fix
High
Daniel van Vugt

Bug Description

Chromium browser in Xmir (in DRI2 mode): Page contents never visible (all white) and/or all black windows

DRI2 mode is the default mode for Xmir on desktop and it fails in similar ways for both rootless and non-rootless Xmir. In chromium-browser, fully loaded pages often display as all white. Or you get the whole window being black.

In both cases for -rootless and non-rootless mode, using the software rendering fallback works around the problem:
   Xmir -sw

Tags: xmir
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

These errors might be related:

$ chromium-browser
[8933:8933:1026/181138:ERROR:sync_control_vsync_provider.cc(60)] glXGetSyncValuesOML should not return TRUE with a media stream counter of 0.
[8933:8933:1026/181141:ERROR:sync_control_vsync_provider.cc(60)] glXGetSyncValuesOML should not return TRUE with a media stream counter of 0.
[8933:8933:1026/181152:ERROR:sync_control_vsync_provider.cc(60)] glXGetSyncValuesOML should not return TRUE with a media stream counter of 0.

Changed in xorg-server (Ubuntu):
assignee: nobody → Daniel van Vugt (vanvugt)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Fixed the above error messages yesterday but they are benign and not related to this bug.

I did however discover the same black flashing happens in the Unity 'system-settings' app when run through Xmir.

Changed in xorg-server (Ubuntu):
status: New → In Progress
Changed in xorg-server (Ubuntu):
status: In Progress → Triaged
status: Triaged → New
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Chromium seems to be very dependent on:
   https://www.opengl.org/registry/specs/OML/glx_sync_control.txt
which Xmir doesn't implement yet.

I'm working on a solution to this in Mir that will allow it to be implemented correctly in Xmir.

summary: - Chromium browser in Xmir (in DRI2 mode): Page contents never visible
- (all white) and/or all black windows
+ Chrome/Chromium browser in Xmir (in DRI2 mode): Page contents never
+ visible, all black, all white, or flickering
Changed in xorg-server (Ubuntu):
status: New → Triaged
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: Chrome/Chromium browser in Xmir (in DRI2 mode): Page contents never visible, all black, all white, or flickering

I don't think the original description applies any more (since Chrome moved from GLX to EGL?)

What is still a problem is the black flickering in some GL apps, as can be seen in system-settings.

Revision history for this message
kevin gunn (kgunn72) wrote :

Fwiw, I was testing in the following manner
Zesty, fresh install unity8 deb based session, snap installed chrome (chrome-test)
Chrome launches fine but in terms of usability I saw massive flickering
with silo https://bileto.ubuntu.com/#/ticket/2383

Without that silo, there is still some out-of-order framerendering (for instance, a progress bar within a web page will take 2 steps fwd, 1 step back visually)
also, you can "feel" this when typing as letters will temporarily disappear just after typing.
Also, adding a tab causes chrome to crash

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Now that you mention it, that sounds like bug 1511278 which is probably related. Made progress on that last year with a proof of concept workaround. Essentially I think this is related to the fact that Xorg expects and requires single buffering (or at least back buffer preservation), but Mir supports neither of those yet.

summary: - Chrome/Chromium browser in Xmir (in DRI2 mode): Page contents never
- visible, all black, all white, or flickering
+ EGL apps (like Chrome/Chromium) in Xmir (in DRI2 mode): Page contents
+ never visible, all black, all white, or flickering
Revision history for this message
Daniel van Vugt (vanvugt) wrote :
Changed in xorg-server (Ubuntu):
status: Triaged → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.