Firefox 将尝试在默认启用 Wayland 的情况下发布

Firefox 计划在 Linux 上默认启用其原生 Wayland 后端,凸显了从已有数十年历史的 X11 显示系统逐步转移的持续进程。评论者解释说,大多数应用依赖 GTK 或 Qt 之类的工具包来与 Wayland 通信,但浏览器、Electron 应用和游戏等复杂软件会在 GPU 加速、屏幕共享、窗口位置和脚本工具方面暴露出边缘情况。许多人报告称,Wayland 下渲染更平滑、HiDPI 缩放更好、安全性更高;而另一些人——尤其是 Nvidia 和旧硬件用户——仍然会遇到不稳定和工作流缺失的问题,这表明通过 XWayland 提供的 X11 兼容性在未来几年仍然很重要。

“默认使用 Wayland 的 Firefox”意味着什么

  • 在 Wayland 桌面环境中,Firefox 将直接与 Wayland 通信,而不是通过 XWayland 兼容层。
  • X11 用户(例如在 Xorg 上运行的 Ubuntu 20.04)不受影响;Firefox 在那里仍将使用 X11。
  • Fedora 以及(GNOME 上的)Debian 等发行版已经通过诸如 MOZ_ENABLE_WAYLAND=1 之类的环境变量,默认让 Firefox 使用 Wayland。

Wayland 与 X11 基础

  • 两者都是应用程序与显示服务器/合成器之间的显示协议。
  • X11 更老,面向网络,包含绘图原语;Wayland 基于缓冲区,更精简。
  • 应用程序仍然可以在 Wayland 下通过 XWayland 使用 X11,但这可能会影响缩放和视觉质量。

应用程序与工具包支持

  • 大多数应用依赖 GUI 工具包(GTK、Qt、Electron、SDL 等),这些工具包会隐藏 X/Wayland 细节。
  • Firefox 使用自己的渲染栈,需要明确的 Wayland 支持,尤其是在视频、硬件加速和 WebGL 方面。
  • 一些游戏和旧版应用可能永远不会移植;它们将依赖 XWayland 或原生 Wayland 的 WINE。

用户在 Wayland 上使用 Firefox 的体验

  • 许多人表示,Wayland 上的 Firefox “多年来”一直很稳定,对混合 DPI 和触控板捏合缩放支持良好。
  • 也有人遇到间歇性崩溃(例如拖动标签页时)或 WebGL 问题,有时与 Nvidia 有关。
  • 一些用户看不出与 X 有明显差别;另一些用户则注意到渲染更平滑、缩放更好。

性能、GPU 与硬件问题

  • 反馈不一:有人觉得 Wayland 更流畅、撕裂更少;也有人感觉延迟更高,尤其是在较旧的笔记本电脑上。
  • Nvidia 是一个反复出现的痛点:一些 Wayland 合成器需要补丁;某些应用会失去 GPU 加速;较旧的 GPU 或不稳定的驱动可能会让 Wayland 无法使用。
  • 变通方法包括强制软件渲染(LIBGL_ALWAYS_SOFTWARE)、按应用禁用 GPU,或使用特定的合成器/补丁。

屏幕捕获、共享与工具

  • 早期采用 Wayland 的用户通常是在屏幕捕获和热键工具失效时才发现这一点。
  • 内置截图工具通常可以正常工作;第三方屏幕共享/自动化工具必须采用新的、基于权限的协议,并且支持情况各不相同。

X11 与 Wayland 之争

  • 支持 Wayland 的观点:更好的安全性(应用无法轻易窥探按键),设计更简洁,修复了 X 的一些长期问题,如撕裂和缩放。
  • 支持 X11 的观点:成熟、对某些工作流来说“开箱即用”,有丰富的 CLI 工具(xrandr/xdotool/xwininfo),并且在较老或较古怪的硬件上回归更少。
  • 对 Wayland 的批评包括扩展泛滥、冗长、合成器质量不一致,以及缺少一些便利功能,例如可靠的窗口位置持久化(预计由合成器实现)。