我正在尝试使用电子。我跟随他们的指引:https://www.electronjs.org/docs/latest/tutorial/tutorial-first-app
但是当我运行npm run start
时,我得到这个错误:
Hello from Electron ƒæï
[1816:0521/233607.695:ERROR:gl_display.cc(508)] EGL Driver message (Critical) eg
lInitialize: No available renderers.
[1816:0521/233607.695:ERROR:gl_display.cc(920)] eglInitialize D3D11 failed with
error EGL_NOT_INITIALIZED, trying next display type
[1816:0521/233607.805:ERROR:gl_display.cc(508)] EGL Driver message (Error) eglCr
eateContext: Requested GLES version (3.0) is greater than max supported (2, 0).
[1816:0521/233607.805:ERROR:gl_context_egl.cc(370)] eglCreateContext failed with
error EGL_SUCCESS
[1816:0521/233607.815:ERROR:gl_display.cc(508)] EGL Driver message (Error) eglCr
eateContext: Requested GLES version (3.0) is greater than max supported (2, 0).
[1816:0521/233607.815:ERROR:gl_context_egl.cc(370)] eglCreateContext failed with
error EGL_SUCCESS
[1816:0521/233607.815:ERROR:gpu_channel_manager.cc(884)] Failed to create GLES3
context, fallback to GLES2.
[5960:0521/233807.613:ERROR:gpu_init.cc(523)] Passthrough is not supported, GL i
s disabled, ANGLE is
我该怎么解决这个问题?
其他信息:
我使用Windows 7,所以我使用npm install electron@v22.3.10
,因为版本>=23不再与win7兼容,因此使用npm install electron --save-dev
时,我使用了臭名昭著的error code ELIFECYCLE error errno 3221225785
。
Chrome(* 版本106. 0. 5249. 121(Build Officiel)(64位)*)在这台电脑上运行良好,但没有抱怨我的图形驱动程序。
我使用Electron的目标是将我的html5游戏转换为arm 64 Linux可执行文件。
1条答案
按热度按时间vql8enpb1#
您看到的错误消息表明Electron中的GPU(图形处理单元)加速存在问题。
具体来说,错误消息指出,EGL (Embedded-System Graphics Library)(图形渲染API(如OpenGL)和底层本机平台窗口系统之间的一层)无法找到任何可用的渲染器。
它还说请求的GLES (OpenGL ES)版本高于支持的版本。
Electron和Chrome一样,默认使用硬件加速。这意味着它会尝试使用计算机的GPU来执行一些与渲染相关的繁重任务。这可能会在某些系统上导致问题,尤其是较旧的系统或图形硬件或驱动程序不太常见的系统。
首先,确保更新图形驱动程序,并为图形硬件安装最新的驱动程序。
如果问题仍然存在,请尝试在Electron应用程序中禁用硬件加速。这可以通过在创建任何浏览器窗口之前在主进程中调用
app.disableHardwareAcceleration()
函数来完成。这里的例子:
您还可以使用Chromium的渲染引擎选项强制软件渲染,以便在硬件加速不可用时使用软件渲染。您可以设置
--ignore-gpu-blacklist
命令行开关来启用此功能: