SpacingBat3 / WebCord

A Discord and SpaceBar :electron:-based client implemented without Discord API.
MIT License
1.88k stars 94 forks source link

`Requested GL implementation not found in allowed implementations` upon launch #404

Closed zacharyburnett closed 1 year ago

zacharyburnett commented 1 year ago

Aknowledgements

Operating System / Platform

🐧️ Linux

Operating system architecture

x64 (64-bit Intel/AMD)

Electron version

v22.3.3

Application version

v4.2.0

Bug description

when launching webcord, the following error occurs:

[13902:0410/112223.343310:ERROR:gl_factory.cc(128)] Requested GL implementation (gl=desktop-gl,angle=none) not found in allowed implementations: [(gl=egl-angle,angle=default),(gl=egl-gles2,angle=none)].
[13902:0410/112223.345153:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
Switching to the existing window...
[13909:0410/112223.376469:ERROR:gl_factory.cc(128)] Requested GL implementation (gl=desktop-gl,angle=none) not found in allowed implementations: [(gl=egl-angle,angle=default),(gl=egl-gles2,angle=none)].
[13909:0410/112223.378059:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization

and the application does not start.

Additional context

inxi

CPU: quad core 11th Gen Intel Core i5-1135G7 (-MT MCP-)
speed/min/max: 2218/400/4200 MHz Kernel: 6.2.10-arch1-1 x86_64 Up: 3h 6m
Mem: 6668.9/15782.4 MiB (42.3%) Storage: 476.94 GiB (50.1% used) Procs: 343
Shell: nu inxi: 3.3.26

I installed webcord via the AUR. This appears to affect both the latest release, webcord-git, and webcord-bin

SpacingBat3 commented 1 year ago

Sounds like a GPU driver bug or use of experimental flags/optimizations. What's your GPU? Is GL driver proprietary (nvidia) or open-source (mesa)?

I would try running WebCord with EGL (OpenGL ES):

webcord --gl=egl
SpacingBat3 commented 1 year ago

Also, are you on Wayland or X11?

zacharyburnett commented 1 year ago

Thanks for your response!

Sounds like a GPU driver bug or use of experimental flags/optimizations. What's your GPU? Is GL driver proprietary (nvidia) or open-source (mesa)?

I'm running on an Intel iGPU that I occasionally connect to a nvidia eGPU (so I have both drivers), but I encountered this issue while on mesa.

I would try running WebCord with EGL (OpenGL ES):

webcord --gl=egl

This output the following:

[3396:0411/085940.010741:ERROR:gl_factory.cc(128)] Requested GL implementation (gl=desktop-gl,angle=none) not found in allowed implementations: [(gl=egl-angle,angle=default),(gl=egl-gles2,angle=none)].
[3396:0411/085940.011756:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization

as well as this popup: image

Also, are you on Wayland or X11?

This is on X11, I'll try it on Wayland as well.

zacharyburnett commented 1 year ago

On Wayland, it outputs the following:

[5654:0411/090531.012434:FATAL:gpu_init.cc(542)] Passthrough is not supported, GL is egl, ANGLE is 

and what looks like the same popup as before: image

Here's the result of inxi -G:

Graphics:
  Device-1: Intel TigerLake-LP GT2 [Iris Xe Graphics] driver: i915 v: kernel
  Display: wayland server: X.org v: 1.21.1.8 with: Xwayland v: 23.1.1
    compositor: kwin_wayland driver: X: loaded: intel unloaded: modesetting
    dri: i965 gpu: i915 resolution: 2256x1504
  API: OpenGL v: 4.6 Mesa 23.0.2 renderer: Mesa Intel Xe Graphics (TGL GT2)
zacharyburnett commented 1 year ago

It looks like deleting windowState makes webcord launch now, but with the same errors:

[9788:0411/091412.573219:ERROR:gl_factory.cc(128)] Requested GL implementation (gl=desktop-gl,angle=none) not found in allowed implementations: [(gl=egl-angle,angle=default),(gl=egl-gles2,angle=none)].
[9788:0411/091412.574175:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
Cannot use import statement outside a module

That seems to have solved my issue though; thank you for your help!

SpacingBat3 commented 1 year ago

It looks like deleting windowState solved the issue; webcord launches now without errors. Sorry to take up your time!

FYI this error meant WebCord was unable to read this file at all, so it was probably a permissions error (lack of read access?).

zacharyburnett commented 1 year ago

It looks like deleting windowState solved the issue; webcord launches now without errors. Sorry to take up your time!

FYI this error meant WebCord was unable to read this file at all, so it was probably a permissions error (lack of read access?).

ah ok, so the GL errors were just a red herring. Thanks!