Mar*_*tin 12 nvidia command-prompt chromium npm electron
我有一个电子存储库(https://github.com/MartinBarker/RenderTune),当使用命令提示符运行时,它曾经在 Windows 10 上正常工作。几个月后,我回到了一台配备 Nvidia GPU 的全新 Windows 10 机器上,电子应用程序在启动时在窗口中打印了一个错误:
Uncaught TypeError: Cannot read properties of undefined (reading 'getCurrentWindow')
Run Code Online (Sandbox Code Playgroud)
运行 ffmpeg shell 命令也会导致错误,并且在命令提示符终端中输出以下消息:
[14880:1207/145651.085:ERROR:gpu_init.cc(457)] Passthrough is not supported, GL is disabled, ANGLE is
Run Code Online (Sandbox Code Playgroud)
我在我的其他 Windows 笔记本电脑上检查了运行与我的存储库的 master 分支相同的代码,并且在本地运行时运行得非常好。
看来这可能是最近的问题?我发现它在各种论坛中进行了讨论: https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1944468
我尝试将我的全局电子 npm 包升级到更新的版本: electro@16.0.4 ,但错误仍然出现。
Mar*_*off 15
您可以尝试使用禁用硬件加速app.disableHardwareAcceleration()(请参阅文档)。但我不认为这是一个解决办法,它只会让这个消息对我来说消失。
main.js
import { app, BrowserWindow } from 'electron'
import isDev from 'electron-is-dev'
app.disableHardwareAcceleration()
let win = null
async function createWindow() {
win = new BrowserWindow({
title: 'My Window'
})
const winURL = isDev
? 'http://localhost:9080'
: `file://${__dirname}/index.html`
win.loadURL(url)
win.on('ready-to-show', async () => {
win.show()
win.maximize()
})
}
app.whenReady().then(createWindow)
app.on('window-all-closed', () => {
win = null
if (process.platform !== 'darwin') {
app.quit()
}
})
Run Code Online (Sandbox Code Playgroud)