Brave-browser: [Desktop] WebGL & OpenGL has been disabled in stable 1.13.82 and beta 1.14.65

Created on 28 Aug 2020  Â·  14Comments  Â·  Source: brave/brave-browser

Description


WebGL has been disabled in Stable 1.13.82 and Beta 1.14.65 (haven't tested nightly). WebGL works in Chromium/85.0.4183.83

Steps to Reproduce

  1. Update Brave Linux from 1.12.114 to 1.13.82
  2. Goto brave://gpu
  3. WebGL and OpenGL listed as disabled

Actual result:


Graphics Feature Status
Canvas: Software only. Hardware acceleration disabled
Flash: Software only. Hardware acceleration disabled
Flash Stage3D: Software only. Hardware acceleration disabled
Flash Stage3D Baseline profile: Software only. Hardware acceleration disabled
Compositing: Software only. Hardware acceleration disabled
Multiple Raster Threads: Disabled
Out-of-process Rasterization: Disabled
OpenGL: Disabled
Hardware Protected Video Decode: Disabled
Rasterization: Software only. Hardware acceleration disabled
Skia Renderer: Enabled
Video Decode: Software only. Hardware acceleration disabled
Vulkan: Disabled
WebGL: Disabled
WebGL2: Disabled

Log Messages
[1038:1038:0828/124330.685442:ERROR:gl_implementation.cc(286)] : Failed to load /usr/lib/brave-bin/libGLESv2.so: /usr/lib/brave-bin/libGLESv2.so: cannot open shared object file: No such file or directory
[1038:1038:0828/124331.094799:ERROR:viz_main_impl.cc(150)] : Exiting GPU process due to errors during initialization
[1053:1053:0828/124331.144998:ERROR:gl_implementation.cc(286)] : Failed to load /usr/lib/brave-bin/swiftshader/libGLESv2.so: /usr/lib/brave-bin/swiftshader/libGLESv2.so: cannot open shared object file: No such file or directory
[1053:1053:0828/124331.147073:ERROR:viz_main_impl.cc(150)] : Exiting GPU process due to errors during initialization
[1060:1060:0828/124331.382257:WARNING:vaapi_wrapper.cc(416)] : VAAPI video acceleration not available for disabled
GpuProcessHost: The GPU process exited normally. Everything is okay.
GpuProcessHost: The GPU process exited normally. Everything is okay.
[1060:1069:0828/143301.516696:ERROR:x11_software_bitmap_presenter.cc(136)] : XGetWindowAttributes failed for window 56623188
[1060:1069:0828/143301.517427:WARNING:xproto_util.cc(51)] : X error received: serial 9211, error_code 9 (BadDrawable), request_code 55, minor_code 0 (Unknown)
[1060:1069:0828/143301.517704:WARNING:xproto_util.cc(51)] : X error received: serial 9212, error_code 3 (BadWindow), request_code 3, minor_code 0 (Unknown)
[1060:1069:0828/150231.867296:WARNING:xproto_util.cc(51)] : X error received: serial 9214, error_code 13 (BadGC), request_code 60, minor_code 0 (Unknown)
[1060:1069:0828/153449.354879:ERROR:x11_software_bitmap_presenter.cc(136)] : XGetWindowAttributes failed for window 56623292
[1060:1069:0828/153449.355291:WARNING:xproto_util.cc(51)] : X error received: serial 28870, error_code 9 (BadDrawable), request_code 55, minor_code 0 (Unknown)
[1060:1069:0828/153449.355535:WARNING:xproto_util.cc(51)] : X error received: serial 28871, error_code 3 (BadWindow), request_code 3, minor_code 0 (Unknown)
[1060:1069:0828/153631.656771:WARNING:xproto_util.cc(51)] : X error received: serial 28873, error_code 13 (BadGC), request_code 60, minor_code 0 (Unknown)

Expected result:

Reproduces how often:


Consistent

Brave version (brave://version info)

Brave | 1.13.82 Chromium: 85.0.4183.83 (Official Build) unknown (64-bit)
-- | --
Revision | 94abc2237ae0c9a4cb5f035431c8adfb94324633-refs/branch-heads/4183@{#1658}
OS | Linux

Version/Channel Information:


Stable 1.13.82 and Beta 1.14.65

  • Can you reproduce this issue with the current release? Yes
  • Can you reproduce this issue with the beta channel? Yes
  • Can you reproduce this issue with the nightly channel? Haven't tested

Other Additional Information:

  • Does the issue resolve itself when disabling Brave Shields? No
  • Does the issue resolve itself when disabling Brave Rewards? No
  • Is the issue reproducible on the latest version of Chrome? No

Miscellaneous Information:


Temporarily fixed by copying libEGL.so, libGLESSv2.so and the swiftshader directory from the usr/lib/chromium directory to the brave-bin directory as these files seem to be missing resulting in the WebGL and OpenGL errors.

ODesktop OLinux OLinuarch QA Pass-Linux QTest-Plan-Specified QYes gpdriver prioritP2 release-noteinclude

Most helpful comment

It looks like our .zip packages from https://github.com/brave/brave-browser/releases are missing a few files as compared to the .deb packages. In particular, ./opt/brave.com/brave/libGLESv2.so, ./opt/brave.com/brave/libEGL.so, ./opt/brave.com/brave/swiftshader/libGLESv2.so, ./opt/brave.com/brave/swiftshader/libEGL.so are only present in the .deb. That would cause issues like seen above:

[1038:1038:0828/124330.685442:ERROR:gl_implementation.cc(286)] : Failed to load /usr/lib/brave-bin/libGLESv2.so: > /usr/lib/brave-bin/libGLESv2.so: cannot open shared object file: No such file or directory
[1053:1053:0828/124331.144998:ERROR:gl_implementation.cc(286)] : Failed to load /usr/lib/brave-bin/swiftshader/libGLESv2.so: /usr/lib/brave-bin/swiftshader/libGLESv2.so: cannot open shared object file: No such file or directory

I've been able to reproduce this on Arch Linux, which installs from the .zip releases. @fmarier was unable to reproduce on Ubuntu 18.04 or Debian unstable, which both use the .deb releases.

@urbenlegend @whnr @themew are you all using Arch, Manjaro, or some other distribution which uses the .zip release?

All 14 comments

I can confirm this issue.

I can confirm this issue as well. This drastically reduces the performance of Brave on Linux platforms and also prevents it from painting to the screen at higher than 60hz according to vsynctester.com.

Might be the same root cause as https://github.com/brave/brave-browser/issues/9824

It looks like our .zip packages from https://github.com/brave/brave-browser/releases are missing a few files as compared to the .deb packages. In particular, ./opt/brave.com/brave/libGLESv2.so, ./opt/brave.com/brave/libEGL.so, ./opt/brave.com/brave/swiftshader/libGLESv2.so, ./opt/brave.com/brave/swiftshader/libEGL.so are only present in the .deb. That would cause issues like seen above:

[1038:1038:0828/124330.685442:ERROR:gl_implementation.cc(286)] : Failed to load /usr/lib/brave-bin/libGLESv2.so: > /usr/lib/brave-bin/libGLESv2.so: cannot open shared object file: No such file or directory
[1053:1053:0828/124331.144998:ERROR:gl_implementation.cc(286)] : Failed to load /usr/lib/brave-bin/swiftshader/libGLESv2.so: /usr/lib/brave-bin/swiftshader/libGLESv2.so: cannot open shared object file: No such file or directory

I've been able to reproduce this on Arch Linux, which installs from the .zip releases. @fmarier was unable to reproduce on Ubuntu 18.04 or Debian unstable, which both use the .deb releases.

@urbenlegend @whnr @themew are you all using Arch, Manjaro, or some other distribution which uses the .zip release?

@antonok-edm That's a great observation! Yes I am on Arch (well technically EndeavourOS), and I am using the brave-bin AUR package.

@antonok-edm Yes, using Arch Linux and installing from AUR using yay. The files you noticed were missing are the files I suggested in the 'fix' at the bottom of my original post. Glad to know I wasn't imagining it :) Issues are in the brave-bin and brave-beta-bin.

Same here, brave-bin from the AUR on Arch.

On Sep 1, 2020, at 14:51, Benjamin Xiao notifications@github.com wrote:


@antonok-edm That's a great observation! Yes I am on Arch (well technically EndeavourOS), and I am using the brave-bin AUR package.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

I confirm the issue. Using brave-bin in Gentoo Linux.
Before 1.13.x, WebGL was working. Tried with 1.12.114.

EDIT: only the .deb file provides the missing libraries in order to run *GL, so I had to repackage Brave from the .deb in order to make it work.

Might be related to https://bugs.chromium.org/p/chromium/issues/detail?id=1121782 - just shared this issue there. Will need to look into this

Might be related to https://bugs.chromium.org/p/chromium/issues/detail?id=1121782 - just shared this issue there. Will need to look into this

Appears to be a debian bug. The issue described here seems to only affect arch-based distros.

Good call, @themew - maybe that is related to https://github.com/brave/brave-browser/issues/9824 or https://github.com/brave/brave-browser/issues/8436. Either way, definitely of interest to us 😄

We should be able to have someone look at this soon. Thanks for your patience 😄

Might be related to https://bugs.chromium.org/p/chromium/issues/detail?id=1121782 - just shared this issue there. Will need to look into this

Appears to be a debian bug. The issue described here seems to only affect arch-based distros.

Or any distro who uses the zip-packaged prebuilt Brave.

We're working to get this fixed, but in the meantime I've had success with the following workaround:

  1. Download the corresponding .deb file for your Brave version from https://github.com/brave/brave-browser/releases
  2. Extract the contents of the .deb file using the ar utility - e.g. ar x brave-browser_1.13.82_amd64.deb
  3. Extract the contents of the newly extracted data.tar.xz file using the tar utility - tar xvJf data.tar.xz
  4. Check the "Log Messages" section at the bottom of brave://gpu and take note of the directory in the following error:

    Failed to load <DIRECTORY>/libGLESv2.so: <DIRECTORY>/libGLESv2.so: cannot open shared object file: No such file or directory
    

    On my machine and in the original report, <DIRECTORY> is /usr/lib/brave-bin.

  5. Copy the newly extracted files opt/brave.com/brave/libGLESv2.so and opt/brave.com/brave/libEGL.so into <DIRECTORY>.
  6. Restart Brave.

Verification passed on

Brave | 1.15.60 Chromium: 86.0.4240.42 (Official Build) dev (64-bit)
-- | --
Revision | 418ccfc2b69112bd79d5ffb38b533642e64e6af8-refs/branch-heads/4240@{#773}
OS | Ubuntu 18.04 LTS

Verified test plan from https://github.com/brave/brave-core/pull/6600

Verified libEGL.so and libGLESv2.so are part of the package
image

Verified WebGL and OpenGL are not disabled under brave://gpu
image

Was this page helpful?
0 / 5 - 0 ratings