Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 无法使用Xvfb在Electron中呈现WebGL_Linux_Electron_Webgl_Mapbox Gl_Xvfb - Fatal编程技术网

Linux 无法使用Xvfb在Electron中呈现WebGL

Linux 无法使用Xvfb在Electron中呈现WebGL,linux,electron,webgl,mapbox-gl,xvfb,Linux,Electron,Webgl,Mapbox Gl,Xvfb,我正在尝试在我的Linux PC上呈现我的应用程序,它在Electron中具有WebGL依赖项,但是除了CSS背景色之外,页面上没有呈现任何内容。当我删除WebGL依赖项(即MapboxGL)时,所有内容都会正常渲染 我正在使用X虚拟帧缓冲区,这对于Linux环境来说似乎是必要的,如下所述: 我正在使用以下命令运行Xvfb: Xvfb :99 -screen 0 1024x768x24 > xvfblog.txt 2>&1 & 然后我用前缀启动我的应用程序: DIS

我正在尝试在我的Linux PC上呈现我的应用程序,它在Electron中具有WebGL依赖项,但是除了CSS背景色之外,页面上没有呈现任何内容。当我删除WebGL依赖项(即MapboxGL)时,所有内容都会正常渲染

我正在使用X虚拟帧缓冲区,这对于Linux环境来说似乎是必要的,如下所述:

我正在使用以下命令运行Xvfb:

Xvfb :99 -screen 0 1024x768x24 > xvfblog.txt 2>&1 &
然后我用前缀启动我的应用程序:

DISPLAY=:99
以便应用程序连接到X虚拟帧缓冲区显示器

我不确定这是否相关,但Xvfb启动时会显示以下消息:

XKEYBOARD键映射编译器(xkbcomp)报告:

>警告:忽略名称的不支持的高键码372

>X11不能支持255以上的键码

>此警告仅针对第一个high键代码显示

>内部错误:无法解析keysym XF86WWAN

>内部错误:无法解析keysym XF86RFKill

>内部错误:无法解析keysym XF86键盘

xkbcomp的错误对X服务器不是致命的

我还注意到,当我在Macbook上使用Electron测试我的应用程序时,并不需要Xvfb,我的WebGL应用程序呈现得很好


我在这里有点不知所措。关于可能出现的问题,或者我可以调查哪些问题以进行修复,是否有任何建议?

我通过将Xvfb配置为与WebGL一起使用,解决了此问题,如下所示:

Xvfb :99 -screen 0 1024x768x24 +extension GLX +render > xvfblog.txt 2>&1 &
其中我添加了
+扩展GLX+渲染
标志

我还必须使用
忽略gpu黑名单
标志启动electron。我发现这篇文章在以下方面很有帮助:

还要注意,我使用的是“electron”npm包,我必须将以下标志添加到我的
BrowserWindow
对象中:

const win = new BrowserWindow({
  show: false,
  webPreferences: {
    webgl: true,
    webSecurity: false,
    experimentalFeatures: true,
    experimentalCanvasFeatures: true,
    offscreen: true
  }
})
我希望这对某人有所帮助。

你需要在你的Electron应用程序中添加内容,我想这可能会有所帮助。