electron [功能请求]:如果Xorg不可用,则使用Wayland后端

h22fl7wq  于 6个月前  发布在  Electron
关注(0)|答案(2)|浏览(62)

预检清单

问题描述

在运行 Wayland 时,Electron 应用程序默认使用 XWayland,而本地渲染被隐藏在一个功能标志后面。
如果 XWayland 没有运行,Electron 应用程序在启动时会直接崩溃。

建议的解决方案

如果 $DISPLAY 未设置,那么尝试使用 Xorg/XWayland 是没有意义的。与其直接崩溃,不如在 $WAYLAND_DISPLAY 设置的情况下回退到使用 wayland(即

if DISPLAY is set:
  use Xorg
else if WAYLAND_DISPLAY is set:
  use Wayland
else:
  crash

)。

考虑过的替代方案

默认启用原生 Wayland 支持可能是最好的选择,但我肯定有原因将其设置为功能标志。然而,我没有找到任何关于这个问题的开放问题,所以也许有一个单独的工单来跟踪启用 wayland 的开箱即用选项,或者讨论阻止它的是什么。

其他信息

zd287kbt

zd287kbt1#

如果是这样会更好:

if WAYLAND_DISPLAY is set:
  use Wayland
else if DISPLAY is set:
  use Xorg
else:
  crash
yacmzcpb

yacmzcpb2#

还有 XDG_SESSION_TYPE ,KDE 开发人员似乎更喜欢在他们的 Qt 应用程序的显示服务器决策逻辑中检查它。参见 1 , 2

我没有在 GTK 中找到相关的代码,但我怀疑只有 WAYLAND_DISPLAY 被检查,而不是 XDG_SESSION_TYPE

我认为,只要作为 Wayland 客户端运行时没有 IME 框架支持,Wayland Ozone 平台就不应该被设置为默认值。除非 Electron 的开发人员不在乎东亚语言。
因此,#33662 应该阻止将 Wayland 设置为默认值。

相关问题