生活哲学

将 Linux 与 Wayland 一起使用时要知道的事情

Linux 桌面的各个方面总是在变化,但有些组件已经存在了几十年。比如 X Window 系统(通常称为 X)。正在创建一种更快、更安全的替代方案。替代方案是 Wayland。

Wayland 已经存在很长时间了,一些基于 Linux 的操作系统已经接受它作为默认的显示服务器协议。这里是使用 Linux 和 Wayland 的意义。

什么是wayland?在 Linux 上使用 Wayland 是什么意思?

  1. 什么是 Wayland?
  2. 避免在 Wayland 上使用 GTK + 2 或 Qt 4 应用程序
  3. 某些应用程序与 Wayland 不兼容
  4. 合成是必须的
  5. Nvidia 显卡可能不适用于 Wayland
  6. 如何使用 Wayland

什么是wayland?

Linux 与 Wayland 一起使用时需要了解的图片 1

Wayland 是一种程序协议,它基于动作(例如移动窗口或单击按钮)知道它们将如何出现在屏幕上。从技术上讲,Wayland 不是 X 服务器的替代品。 Wayland 仅确定显示服务器(显示服务器-其主要任务是协调客户端输入和输出的程序)与操作系统或硬件的其余部分之间的通信方式)与应用程序通信的方式。

Wayland 依赖称为 Wayland 合成器的第三方来充当显示服务器。一些示例包括 Mutter 和 KWin(分别属于 GNOME 桌面和 KDE Plasma)。 Wayland 致力于简化显示服务器的通信,让未来的开发更轻松、更快捷。

与许多未来技术一样,Wayland 仍处于起步阶段。 X 已经存在了很长时间并且正在稳步增长。这意味着 Wayland 有很多工作要做(以及显示服务器)。现在,要让 Wayland 测试更加顺畅,需要了解一些事项。

避免在 Wayland 上使用 GTK + 2 或 Qt 4 应用程序

您与之交互的大多数 Linux 应用程序每天都使用以下两个图形工具集之一编写:GTK + 和 Qt。这些框架充当显示服务器的客户端,需要将所有内容都拉到屏幕上。但是,需要首先探索这些要求,而这正是工具包的作用。

因此,只有特定类型的程序才能真正在 Wayland 桌面上运行。例如,用 Qt 5(Plasma 桌面所基于的工具集)编写的 GTK + 3 程序或软件可以正常运行。

假设,如果您尝试打开一个 Qt 4 应用程序,它仍然会运行。 Wayland 通过运行服务器 X 来监听它无法理解的应用程序。但是,这可能会导致内存使用量略高,速度略低。此外,还有一些事情是这种方法目前无法做到的。

部分应用与Wayland不兼容

使用 Linux 和 Wayland 时要知道的事情的图片 2

Wayland 和 X 的设计方式不同,因此某些使用 X 的应用程序无法在 Wayland 上运行。

考虑使用 Redshift 和 f.lux 等屏幕颜色传输应用。这些应用程序根据一天中的时间过滤来自屏幕的蓝光。它们通过使用 X 扩展(例如 RandR)来工作,这些扩展为程序提供了一种要求 X 更改显示的简单方法。

虽然 Wayland 也提供了部分重现此能力的方法,但在执行此操作时取决于每个 Wayland 合成器。这意味着虽然桌面环境可能支持 Redshift 之类的功能(例如上面的 GNOME 夜灯功能),但该功能不一定在其他地方可用。

使用录屏软件可能会遇到类似问题。作为一项安全功能,Wayland 的显示服务器会阻止屏幕录制应用程序。这意味着在 Wayland 上基本上不可能进行屏幕录制。开发人员正在努力以不同的方式实现此功能。

合成是必须的

合成是一种有助于防止图像失真和撕裂的技术G。这是通过将屏幕副本保存在内存中来完成的,通常在显卡的帮助下。这样,即使应用程序停止响应,显示服务器仍然可以使用。

Wayland 旨在通过使合成成为必须,使这个过程比 X 更高效。 X 通过名为 Xcomposite 的扩展将合成视为一项可选功能。但是由于它的完成方式,它比Wayland需要更长的时间。

但是合成会导致很多问题。合成会导致游戏等程序的性能略低。在 X 中,大多数桌面在应用程序处于全屏模式时禁用合成。但是许多 Wayland 作曲家仍然需要这样做。如果您有兴趣在 Wayland 桌面上使用图形密集型程序,请牢记这一点。

Nvidia 显卡可能不适用于 Wayland

更具体地说,如果您使用 Nvidia 的专有图形驱动程序,Wayland 可能无法正常工作。这与上面的合成问题有关。为了使这个过程正常工作,图形驱动程序必须以某种方式与 Wayland 作曲家进行通信。

Intel 和 AMD 显卡没有问题,因为它们使用一个标准,称为 GBM(通用缓冲区管理)。 Nvidia 相信它与 Wayland 的通信方式(称为 EGL)会更好,并坚持下去。

这个问题可以通过两种方式解决:Nvidia驱动程序部署GBM或Wayland作曲家部署EGLStreams。目前,Nvidia 似乎对采用旧解决方案不感兴趣。

如何使用Wayland

此时,大多数 Linux 发行版都为您提供安装 Wayland 的选项,但大多数仍默认运行 X。您可以在发行版的存档中搜索 Wayland,注销桌面并在重新登录时选择 Wayland。

Fedora 是最早抓住这一趋势的版本之一,并且默认运行 Wayland 已经有几年了。 Fedora 以使用 Linux 桌面提供的最新技术而闻名,而且非常有用。但 Fedora 并不孤单。

一些发行版默认提供Wayland

  1. Fedora
  2. Debian
  3. openSUSE Tumbleweed
  4. PureOS
  5. 红帽企业 Linux
  6. SUSE Enterprise Linux

为什么没有这么多发行版进行切换?许多人正在等待更多的问题得到澄清。很多人希望使用 Nvidia 的专有图形驱动程序,以获得最佳的游戏体验。有些人想录制他们的屏幕以创建播客或在线流式传输视频。

显示服务器不是大多数用户关注的东西,所以发行版不想为了利益而引入这些问题,而实际上它们仍然默默地存在于背景。而且,如果您尝试使用远程桌面修复所有问题,这在 Wayland 中可能也不起作用。

相关资讯

评论

回复