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

Issue 799943 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

Ozone X11 not working with CRD anymore

Project Member Reported by kylec...@chromium.org, Jan 8 2018

Issue description

It looks like some combination of upgrading to gLinux and/or updating nvidia drivers has broken running Chrome OS with Ozone X11 over CRD.

Running Chrome with GLX fails with CRD. GLX uses the nvidia driver. Forcing EGL with --use-gl=egl used to work for Ozone X11. EGL used the mesa driver instead of nvidia.

I have since updated to gLinux and running Ozone X11 with --use-gl=egl works without CRD. However, it now uses the nvidia driver which has added EGL support in the last year or two. Running over CRD with --use-gl=egl now fails here:

https://cs.chromium.org/chromium/src/ui/gl/gl_surface_egl.cc?l=840&rcl=0aeffba21ac5213b205cfb98b6fc14581b153871

The Linux desktop build falls back to software compositing so that still works with CRD. For doing Chrome OS development remotely this is problematic because software compositing is disabled for Chrome OS builds and it crashes on startup.

vollick got Ozone X11 over CRD working with --use-gl=egl by adding mesa drivers back to the LD_LIBRARY path.

Adding a few people who might have ideas for how to fix this or care that it's broken.
 
Cc: osh...@chromium.org marc...@chromium.org abodenha@chromium.org kaznacheev@chromium.org
Components: UI>Shell
Labels: -Pri-2 Pri-1
+cros UI people and bump priority

Things still work for me on Goobuntu (I haven't updated to gLinux yet). However, this will be a significant blocker for the CrOS UI team, since it will break many people's ability to work remotely.

Works for me on this:
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.5 LTS"
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
GOOGLE_CODENAME=trusty
GOOGLE_ID=Goobuntu
GOOGLE_RELEASE="14.04 201712TD2-3"
GOOGLE_ROLE=desktop
GOOGLE_TRACK=stable
jamescook@jamescook:/w/chrome/src (loginconstants)$ uname -a
Linux jamescook.mtv.corp.google.com 4.4.0-103-generic #126~14.04.1-Ubuntu SMP Mon Dec 4 19:33:04 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Owner: kylec...@chromium.org
Status: Started (was: Untriaged)
I talked to lambroslambrou and got a bit more information about what is going on. It's not expected that CRD works with GPU acceleration. CRD sets LD_LIBRARY_PATH to point to the mesa driver. This still works and CRD tries to use the mesa driver with EGL. It's something about EGL + mesa driver I have with gLinux that doesn't work correctly.

$ export LD_LIBRARY_PATH="/usr/lib/mesa-diverted/x86_64-linux-gnu:/usr/lib/mesa-diverted/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu/mesa:/usr/lib/x86_64-linux-gnu/dri:/usr/lib/x86_64-linux-gnu/gallium-pipe"

That is the LD_LIBRARY_PATH from a CRD session. If LD_LIBRARY_PATH is set and I run Ozone X11 with --use-gl=egl it fails initializing GL.

Getting --use-gl=osmesa working is another option. I had https://crrev.com/c/537414 to do so but that never landed.
Status: Fixed (was: Started)
I figured out what was wrong on my machine after upgrading to gLinux. The libgles2-mesa package was out of date. The following fixed it:

$ sudo apt-get install libgles2-mesa

Ozone X11 with --use-gl=egl works again over CRD. I'm not sure if this only effects me or if it will happen to others upgrading to gLinux, but the solution is pretty simple if so.

Sign in to add a comment