New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 692508 link

Starred by 8 users

Issue metadata

Status: Verified
Owner:
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug-Regression



Sign in to add a comment

External UDL screen starts flickering wildly after a few hours of remote desktop use

Reported by realgran...@gmail.com, Feb 15 2017

Issue description

UserAgent: Mozilla/5.0 (X11; CrOS armv7l 9000.82.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36
Platform: 9000.82.0 (Official Build) stable-channel veyron_jaq

Steps to reproduce the problem:
1. Have a haier chromebook, ext. 1080p display through UDL3 DisplayLink adapter plugged in
2. Use Chrome Remote Desktop for a while
3. 

What is the expected behavior?
The system is stable

What went wrong?
After a few hours of work the whole USB-attached screen starts to flicker wildly (cursor, all the textures jumping around, even small invalidates/redraws)
requires a reboot to fix

Did this work before? Yes 55

Chrome version: 56.0.2924.87  Channel: stable
OS Version: 9000.82.0
Flash Version: Shockwave Flash 24.0 r0

unplugging does not help, sleep cycling does not help. Only reboot helps to fix the issue

HDMI display works okay while this happens.

 

Comment 1 by moch@chromium.org, Feb 28 2017

Owner: marc...@chromium.org
Status: Assigned (was: Unconfirmed)
I left UDL3 running overnight and it doesn't seem to have a problem. The problem is either gone, or related to remote desktop.
 There is indeed no problem if you just leave it with no work. I suspect that the problem is when there are many crazy redraws, like fullscreen video. The problem may be related to chrome desktop but it makes entire chrome os unusable until a reboot.
Yup in my case it was playing a video and running the webgl fish demo. So I think it's on the remote desktop side probably. Does it repro if you don't have remote desktop?
Unfortunately I will not have access to this setup in the near future. I'll
report as soon as I have it. Thanks
Owner: dcasta...@chromium.org
Yup I see that locally on ToT on samus for example. It seems like a sync problem on the Chrome side. Daniele do you have cycles to look at it?
Cc: marc...@chromium.org
By the way, in the end it has nothing to do with remote desktop, but I can reproduce if I:
- plug a mimo display to my samus
- play a 4K video (https://www.youtube.com/watch?v=6pxRHBw-k8M) and put it in fullscreen
Project Member

Comment 8 by bugdroid1@chromium.org, May 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/00ef929f434505f4d09a130e0bc1d4a4938d490f

commit 00ef929f434505f4d09a130e0bc1d4a4938d490f
Author: dcastagna <dcastagna@chromium.org>
Date: Tue May 02 21:56:23 2017

ozone: Wait on EGLFence before committing buffers. Avoid using GL.

GbmSurfaceless::SwapBuffersAsync used to always call glFlush, to call
glFinish for universal link display device, and to insert an EGL fence
and wait on it when "EGL_ARM_implicit_external_sync" or
"EGL_EXT_image_flush_external" was available.

There is no guarantee that the current GL context when
GbmSurfaceless::SwapBuffersAsync is called is the context that was
used to draw to the buffers we are about to commit.
Additionally a glFlush or glFinish call does not guarantee content
is written and flushed to buffers after those calls return.

This caused some flickering on Mimo (udl device) since we'd submit
for scanout buffers while GL was still drawing to them.

This CL removes all the GL calls in GbmSurfaceless::SwapBuffersAsync,
that might have happened on the wrong context. It changes the code so
that we always insert and wait on an EGL fence, even on devices where
we don't have implicit sync or flush external, making SwapBuffersAsync
behavior more consistent across platforms.

BUG= 692508 

Review-Url: https://codereview.chromium.org/2858693002
Cr-Commit-Position: refs/heads/master@{#468785}

[modify] https://crrev.com/00ef929f434505f4d09a130e0bc1d4a4938d490f/ui/ozone/platform/drm/gpu/gbm_surfaceless.cc
[modify] https://crrev.com/00ef929f434505f4d09a130e0bc1d4a4938d490f/ui/ozone/platform/drm/gpu/gbm_surfaceless.h

Status: Fixed (was: Assigned)
Cc: aelder@chromium.org
Status: Verified (was: Fixed)
Verified in Chrome OS 9534.0.0, 60.0.3092.0.
Cc: bhthompson@chromium.org dcasta...@chromium.org vsu...@chromium.org
 Issue 707196  has been merged into this issue.

Sign in to add a comment