GitKraken 在 Fedora 上崩溃 - "GPU process isn't usable. Goodbye."

GitKraken crash on Fedora - "GPU process isn't usable. Goodbye."

我是 运行 Fedora 上的 GitKraken 8.2.1,从 Fedora 34 升级到 35 后,GitKraken 不再启动,在命令行上启动时显示以下错误:

$ /usr/share/gitkraken/gitkraken

(node:71300) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(node:71300) [DEP0106] DeprecationWarning: crypto.createDecipher is deprecated.
(electron) 'allowRendererProcessReuse' is deprecated and will be removed.
state:  unavailable
[71300:0128/121858.313660:FATAL:gpu_data_manager_impl_private.cc(442)] GPU process isn't usable. Goodbye.
Failed to generate minidump.[1]    71300 illegal hardware instruction (core dumped)  /usr/share/gitkraken/gitkraken

我尝试清除并重新安装 GitKraken,删除完整的本地配置 ~/.gitkraken,打开日志记录到 SILLY 但没有得到任何进一步的提示。

有趣的是,我 运行 在另一台机器上使用相同的设置(Fedora 35 和 GitKraken 8.2.1),它运行良好。

我终于解决了这个问题。我发现 GitKraken 基于 EletronJS,它有一些 auxAttributes for GPU。 这些属性可以通过命令行更改,因为它们是通过 gitkraken EletronJS 应用程序中的 app.commandLine.appendSwitch 命令启用的。所有这些额外的 EletronJS 相关参数都隐藏在通过 /usr/share/gitkraken/gitkraken -h.

记录的命令行参数中

所以我的解决方案是使用 ElectronJS 属性“InProcessGpu”从命令行启动 GitKraken,这基本上 运行 GPU 进程作为一个线程。要启用该功能,只需使用属性 --in-process-gpu 启动 gitkraken,例如

/usr/share/gitkraken/gitkraken --in-process-gpu &

顺便说一句。我还发现 another solution in the gitkraken forum 通过调用 gitkraken --in-process-gpu 完全禁用 GPU 使用。不过这种方法对我没有用。