The 'use-gl' switch with the 'egl' implementation does not work on every system (for example, it does not work on my system). I think it would be better to identify a stable 'use-gl' implementation, if possible, for that system.
One solution I found is to use the 'use-gl' switch with the 'angle' implementation. If the app crashes, the app will restart using the 'egl' implementation. If the app crashes again, it will restart without hardware acceleration.
How and Why?
To identify a potentially stable 'use-gl' switch implementation for the application, we can utilize a configuration file that stores the number of crashes. A suitable location for this file is the 'userData' directory. On Linux, the crash count is in that case likely stored here: /home/[username]/.config/GeForce NOW/config.json. To reset the crash count, we can delete this file.
When I attempt to use the 'use-gl' switch with 'desktop' or 'swiftshader', I encounter an error indicating that these options are not among the permitted implementations. Future versions of Electron might introduce support for 'desktop' and 'swiftshader' implementations. Therefore, we should probably exclude these two implementations for now.
Based on my current understanding (which may be incorrect), the 'angle' implementation is preferred because it uses 'OpenGL ES', ensuring consistent behavior across different systems, such as Windows and Linux. Additionally, 'angle' includes an extra abstraction layer that could potentially mitigate bugs or circumvent limitations inherent in direct implementations.
To Reproduce
Start the app with npm start on a system without the 'egl' implementation for the 'use-gl' switch.
Screenshots
Operating System
Fedora Linux 39 (Workstation Edition)
Desktop Environment
GNOME 45.3
Display Server
X11
Installation method
git clone the source code
Version
2.0.1
Is this a fresh install of the app or an update from a past version?
fresh install
Did this issue appear right away upon installation/updating, or spontaneously?
Describe the bug
The 'use-gl' switch with the 'egl' implementation does not work on every system (for example, it does not work on my system). I think it would be better to identify a stable 'use-gl' implementation, if possible, for that system.
One solution I found is to use the 'use-gl' switch with the 'angle' implementation. If the app crashes, the app will restart using the 'egl' implementation. If the app crashes again, it will restart without hardware acceleration.
How and Why?
To identify a potentially stable 'use-gl' switch implementation for the application, we can utilize a configuration file that stores the number of crashes. A suitable location for this file is the 'userData' directory. On Linux, the crash count is in that case likely stored here: /home/[username]/.config/GeForce NOW/config.json. To reset the crash count, we can delete this file.
When I attempt to use the 'use-gl' switch with 'desktop' or 'swiftshader', I encounter an error indicating that these options are not among the permitted implementations. Future versions of Electron might introduce support for 'desktop' and 'swiftshader' implementations. Therefore, we should probably exclude these two implementations for now.
Based on my current understanding (which may be incorrect), the 'angle' implementation is preferred because it uses 'OpenGL ES', ensuring consistent behavior across different systems, such as Windows and Linux. Additionally, 'angle' includes an extra abstraction layer that could potentially mitigate bugs or circumvent limitations inherent in direct implementations.
To Reproduce
npm start
on a system without the 'egl' implementation for the 'use-gl' switch.Screenshots
Operating System
Fedora Linux 39 (Workstation Edition)
Desktop Environment
GNOME 45.3
Display Server
X11
Installation method
git clone the source code
Version
2.0.1
Is this a fresh install of the app or an update from a past version?
fresh install
Did this issue appear right away upon installation/updating, or spontaneously?
right away upon installation
Additional context
No response