Fedora 25: Wayland 大战 Xorg
============

就像异形大战铁血战士的结果一样，后者略胜一筹。不管怎样，你可能知道，我最近测试了 [Fedora 25][1]，体验还可以。总的来说，这个发行版表现的相当不错。它不是最快速的，但随着一系列的改进，变得足够稳定也足够好用。最重要的是，除了一些性能以及响应性的损失，Wayland 并没有造成我的系统瘫痪。但这还仅仅是个开始。

Wayland 作为一种消费者技术还处在它的襁褓期，或者至少是当人们在处理桌面事物时应就这么认为。因此，我必须继续测试，绝不弃坑。在过去的积极地使用 Fedora 25 的几个星期里，我确实碰到了几个其它的问题，有些不用太担心，有些确实很恼人，有些很奇怪，有些却无意义。让我们来讲述一下吧！

![Teaser](http://www.dedoimedo.com/images/computers-years/2016-2/fedora-wayland-xorg-teaser.jpg)

注: 图片来自 [Wikimedia][2] 并做了些修改, [CC BY-SA 3.0][3] 许可

### Wayland 并不支持所有软件

没错，这是一个事实。如果你去网站上阅读相关的信息，你会发现各种各样的软件都还没为 Wayland 做好准备。当然，我们都知道 Fedora 是一个激进的高端发行版，它是为了探索新功能而出现的测试床。这没毛病。有一段时间，所有东西都很正常，没有瞎忙活，没有错误。但接下来，我突然需要使用 GParted。我当时很着急，正在排除一个大故障，然而我却让自己置身于一些无意义的额外工作。 GParted 没办法在 Wayland 下直接启动。在探索了更多一些细节之后，我知道了该分区软件目前还没有被 Wayland 支持。

![GParted 无法运行于 Wayland](http://www.dedoimedo.com/images/computers-years/2016-2/fedora-wayland-xorg-gparted.jpg)

问题就在于我并不太清楚其它哪些应用不能在 Wayland 下运行，并且我不能在一个正确估计的时间敏锐地发现这一点。通过在线搜索，我还是不能快速找到一个简要的当前不兼容列表。可能只是我在搜索方面不太在行，但显而易见这些东西是和“Wayland + 兼容性” 这样的问题一样零零散散的。

我找到了一个[自诩][4] Wayland 很棒的文章、一个目前已被这个新玩意儿支持的 [Gnome][5] 应用程序列表、一些 ArchWiki 上难懂的资料，一篇在[英伟达][6]开发论坛上的晦涩得让我后悔点进去的主题，以及一些其他含糊的讨论。

### 再次提到性能

在 Fedora 25 上，我把登录会话从 Gnome（Wayland）切换到 Gnome Xorg，观察会对系统产生什么影响。我之前已经提到过在同一个笔记本（[联想 G50][8]）上的性能跑分和与 [Fedora 24][7] 的比较，但这次会给我们提供更加准确的结果。

Wayland（截图 1）空闲时的内存占用为 1.4GB， CPU 的平均负载约为 4-5%。Xorg（截图 2）占用了同样大小的内存，处理器消耗了全部性能的 3-4%，单纯从数字上来看少了一小点。但是 Xorg 会话的体验却好得多。虽然只是毫秒级的差距，但你能感受得到。传统的会话方式看起来更加的灵动、快速、清新一点。但 Wayland 落后得并不明显。如果你对你的电脑响应速度很敏感，你可能会对这点延迟不会太满意。当然，这也许只是作为新手缺乏优化的缘故，Wayland 会随时间进步。但这一点也是我们所不能忽视的。

![Wayland resources](http://www.dedoimedo.com/images/computers-years/2016-2/fedora-wayland-xorg-resources-wayland.jpg)

![Xorg resources](http://www.dedoimedo.com/images/computers-years/2016-2/fedora-wayland-xorg-resources-xorg.jpg)

### 批评

我对此并不高兴。虽然并不是很愤怒，但我不喜欢为了能完全享受我的桌面体验，我却需要登录到传统的 X 会话。因为 X 给了我全部，但 Wayland 则没有。这意味着我不能一天都用着 Wayland。我喜欢探索科技，但我不是一个盲目的狂热追随者。我只是想用我的桌面，有时我可能需要它快速响应。注销然后重新登录在急需使用的时候会成为恼人的麻烦。我们遇到这个问题的原因就是 Wayland 没有让 Linux 桌面用户的生活变得更简单，而恰恰相反。

引用：

> Wayland 是为了成为 X 的更加简单的替代品，更加容易开发和维护。建议 GNOME 和 KDE 都使用它。

你能看到，这就是问题的一方面原因。东西不应该被设计成容易开发或维护。它可以是满足了所有其它消费需求之后提供的有益副产品。但如果没有，那么不管它对于程序员敲代码来说多么困难或简单都将不重要。那是他们的工作。科技的所有目的都是为了达到一种无缝并且流畅的用户体验。

不幸的是，现在很大数量的产品都被重新设计或者开发，只是为了使软件人员更加轻松，而不是用户。在很大程度上，Gnome 3、PulseAudio、[Systemd][9] 和 Wayland 都没有遵循提高用户体验的宗旨。在这个意义上来说，它们更像是一种打扰，而没有为 Linux 桌面生态的稳定性和易用性作出贡献。

这也是为什么 Linux 桌面是一个相对不成熟产品的一个主要原因————它被设计成开发人员的自我支持产品，更像一个活生生的生物，而不是依附于用户各种怪念头和想法的奴隶。这也是伟大事物是如何形成的，你满足于主要需求，接下来只是担心细节方面。优秀的用户体验不依赖于（也永远不依赖于）编程语言、编译器的选择，或任何其他无意义的东西。如果依赖了，那么不管谁来设计这个抽象层做的不够好的产品，我们都会得到一个失败的作品，需要把它的存在抹去。

那么在我的展望中，我不在乎是否要吐血十升去编译一个 Xorg 或其它什么的版本。我是一个用户，我所在乎的只是我的桌面能否像它昨天或者 5 年前一样健壮地工作。没事的情况下，我不会对宏、类、变量、声明、结构体，或其他任何极客的计算机科技感兴趣。那是不着边际的。一个产品宣传自己是被创造出来为人们的开发提供方便的，那是个悖论。如果接下来再也不用去开发它了，这样反而会使事情更简单。

现在，事实是 Wayland 大体上可用，但它仍然不像 Xorg 那么好，并且它也不应该在任何的桌面上作为就绪的产品被提供。一但它能够无人知晓般无缝地取代那些过时技术，只有在那种时候，它才获得了它所需要的成功，那之后，它可以用 C、D 或者 K 之类的无论什么语言编写，拥有开发者需要的任何东西。而在那之前，它都是一个蚕食资源和人们思想的寄生虫而已。

不要误会，我们需要进步，需要改变。但它必须为了进化的目而服务。现在 Xorg 能很好地满足用户需求了吗？它能为第三方库提供图形支持吗？它能支持 HD、UHD、DPI 或其他的什么吗？你能用它玩最新的游戏吗？行还是不行？如果不行，那么它就需要被改进。这些就是进化的驱动力，而不是写代码或者编译代码的困难程度。软件开发者是数字工业的矿工，他们需要努力工作而取悦于用户。就像短语“更加易于开发”应该被取缔一样，那些崇尚于此的人也应该用老式收音机的电池处以电刑，然后用没有空调的飞船流放到火星上去。如果你不能写出高明的代码，那是你的问题。用户不能因为开发者认为自己是公主而遭受折磨。

### 结语

说到这里。大体上说，Wayland 还可以，并不差。但这说的就像是某人决定修改你工资单上分配比例，导致你从昨天能赚 100% 到今天只能赚 83% 一样。讲道理这是不能接受的，即使 Wayland 工作的相当好。正是那些不能运作的东西导致如此大的不同。忽略所有批评它的一面，Wayland 被认为降低了可用性、性能以及软件的知名度，这正是 Fedora 亟待解决的问题。

其他的发行版会跟进，然后我们会看到历史重演，就像 Gnome 3 和 Systemd 所发生的一样。没有完全准备好的东西被放到开放环境中，然后我们花费一两年时间修复那些本无需修复的东西，最终我们将拥有的是我们已经拥有的相同功能，只是用不同的编程语言来实现。我并不感兴趣这些。计算机科学曾在 1999 年非常受欢迎，当时 Excel 用户每小时能赚 50 美元。而现在，编程就像是躲在平底船下划桨，人们并不会在乎你在甲板下流下的汗水与磨出的水泡。

性能可能不太是一个问题了，因为你可以放弃 1-2% 的变化，尤其是它会受随机的来自任何一个因素的影响，如果你已经用 Linux 超过一、两年你就会知道的。但是无法启动应用是个大问题。不过至少， Fedora 也友好地提供了传统的平台。但是，它可能会在 Wayland 100% 成熟前就消失了。我们再来看看，不，不会有灾难。我原本的 Fedora 25 宣称支持这种看法。我们有的就是烦恼，不必要的烦恼。啊，这是 Linux 故事中的第 9000 集。

那么，在今天结束之际，我们已经讨论了所有事情。从中我们学到：**臣伏于 Xorg！天呐！**真棒，现在我将淡入背景音乐，而笑声会将你的欢乐带给寒冷的夜晚。再见！

干杯。

--------------------------------------------------------------------------------


作者简介：

我是 Igor Ljubuncic。现在大约 38 岁，已婚但还没有孩子。我现在在一个大胆创新的云科技公司做首席工程师。直到大约 2015 年初，我还在一个全世界最大的 IT 公司之一中做系统架构工程师，和一个工程计算团队开发新的基于 Linux 的解决方案，优化内核以及攻克 Linux 的问题。在那之前，我是一个为高性能计算环境设计创新解决方案的团队的技术领导。还有一些其他花哨的头衔，包括系统专家、系统程序员等等。所有这些都曾是我的爱好，但从 2008 年开始成为了我的有偿的工作。还有什么比这更令人满意的呢？

从 2004 年到 2008 年间，我曾通过作为医学影像行业的物理学家来糊口。我的工作专长集中在解决问题和算法开发。为此，我广泛地使用了 Matlab，主要用于信号和图像处理。另外，我得到了几个主要的工程方法学的认证，包括 MEDIC 六西格玛绿带、试验设计以及统计工程学。

我也写过书，包括高度魔幻类和 Linux 上的技术工作方面的，彼此交织。


-------------


via: http://www.dedoimedo.com/computers/fedora-25-wayland-vs-xorg.html

作者：[Igor Ljubuncic][a]
译者：[cycoe](https://github.com/cycoe)
校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出

[a]:http://www.dedoimedo.com/faq.html

[1]:http://www.dedoimedo.com/computers/fedora-25-gnome.html
[2]:https://commons.wikimedia.org/wiki/File:DragonCon-AlienVsPredator.jpg
[3]:https://creativecommons.org/licenses/by-sa/3.0/deed.en
[4]:https://wayland.freedesktop.org/faq.html
[5]:https://wiki.gnome.org/Initiatives/Wayland/Applications
[6]:https://devtalk.nvidia.com/default/topic/925605/linux/nvidia-364-12-release-vulkan-glvnd-drm-kms-and-eglstreams/
[7]:http://www.dedoimedo.com/computers/fedora-24-gnome.html
[8]:http://www.dedoimedo.com/computers/lenovo-g50-distros-second-round.html
[9]:http://www.ocsmag.com/2016/10/19/systemd-progress-through-complexity/
