Omar Roth 在博客上写了一篇题为"Wayland set the Linux Desktop back by 10 years?"的文章,在 Hacker News 上获得 311 分和 430 条评论。
他说:"Wayland 是一个广泛的误导和开发资源的错误配置,以牺牲用户为代价。"
这不是对技术的否定——他承认 X11 有问题。但 Wayland 作为一个解决方案,花了 17 年才获得实质性市场份额。相比之下,PipeWire 在大约 8 年内就几乎取代了所有替代品。
背景和问题
X11 是目前 Linux 生态系统中最常见的显示服务器。它开发于 20 世纪 80 年代中期,作为一个遗留项目,积累了使其难以维护的功能。
2008 年,Kristian Høgsberg 开始了后来被称为 Wayland 的项目。Wayland(理论上)用更简单的显示协议和参考实现替换了显示服务器以及部分合成器和桌面环境。Wayland 的原始概念是只实现简单 Linux 桌面所需的东西。原始实现只有 3000 多行代码。
听起来很棒!
发生了什么
2026 年,Wayland 的市场份额达到约 40-50%,或接近 50-60%,取决于你的来源。Omar 认为一个花了 17 年才获得实质性市场份额的产品,有阻碍采用的问题。
他列出了从用户角度看到的最常见问题:
Wayland 更安全(意味着我什么都做不了)
Omar 说他用 Linux 和其他类 Unix 系统是因为它们让他能够在系统上做任何他想做的事,包括犯错!所以为什么他的显示服务器以安全的名义告诉他,他安装并选择运行的某些应用程序不允许彼此通信?
有多个案例:OBS 无法屏幕录制(它分段错误),他无法复制粘贴,他无法看到窗口预览,除非所有东西都实现了核心协议的一个特定扩展。
这里的实际"威胁模型"令人困惑,似乎不反映用户需求。应用程序被阻止看到彼此的窗口,但它们无法以任何可能引起问题的其他方式交互?
他也不太喜欢当核心参考实现的部分用内存不安全语言编写时的"安全"论点。
Wayland 更快(只要你不使用 Nvidia)
Wayland 做的几个设计决策据称是为了性能。主要,合并许多层应该减少在移动数据时复制的次数。但 Omar 说,只要你有一个 Nvidia GPU,这个论点就不成立了。
Nvidia 的 Wayland 驱动落后于 X11 驱动。他们不更新它,不测试它,不支持它。如果你有一个 Nvidia GPU,Wayland 比你用 X11 慢。
Wayland 更现代(只要你不使用任何旧软件)
Wayland 的设计假设现代软件。如果它不是——如果它期望一个 X11 连接——那么你必须用 XWayland 运行它。XWayland 是 X11 在 Wayland 上的一个兼容性层。
问题是,XWayland 不是完美的。它有 bug,它有性能问题,它不支持所有 X11 功能。如果你运行任何旧软件,Wayland 的体验比你用 X11 差。
Wayland 更简单(只要你不关心为什么它更简单)
Wayland 确实比 X11 简单。但它简单是因为它做了更少,不是因为它做得更好。
Omar 说:"Wayland 试图把所有东西都踢到 WM 那边,使得不是一个地方需要一堆代码(显示系统/它的插件),现在每个 WM 都要重复那个工作,并且(更重要的是)添加不兼容性,因为它们做了。"
为什么花这么长时间
Omar 列出了几个原因:
设计决策没有考虑到实际使用
Wayland 的设计假设理想条件:现代软件、开源驱动、简单用例。现实世界不是这样工作的。
安全问题被过度强调
Wayland 的安全模型阻止了用户想做的事情。它保护用户免受他们不关心的威胁。
性能优势是理论上的
Wayland 的性能优势在理想条件下成立。在现实世界——Nvidia GPU、旧软件、复杂用例——它比 X11 慢。
互操作性问题被低估
XWayland 不是完美的。它缺少功能,有 bug,性能差。如果你想运行任何非 Wayland 原生软件,体验比你用 X11 差。
社区分裂
Wayland 的开发分裂了社区。一些人支持它,一些人反对它,一些人等待看。这个分裂消耗了本可以用于改进 X11 或构建更好解决方案的能量。
更广泛的含义
Wayland 的故事对技术项目有几个启示:
替换不是进步
替换一个东西不意味着进步。它意味着重新开始,带着所有新问题和一些旧问题。
简单不总是更好
简单是一个美德,但当简单意味着做更少时,它不是一个美德。
理论优势不总是实际优势
理论上的优势在理想条件下成立。在现实世界,它们可能不成立。
用户知道他们想要什么
如果用户想要一个功能,它可能有一个原因。移除它不解决问题——它只是移动问题。
17 年不是快速迭代
如果一个问题需要 17 年解决,可能方法错了。
实际应用
这个案例对技术决策者有几个实际启示:
评估现有解决方案前先构建新东西
X11 有问题,但它有 40 年的开发。在构建替代品之前,考虑是否可以通过改进现有东西解决问题。
测试理论优势
理论优势在纸上看起来好。在现实世界测试它们。
考虑实际使用,不是理想条件
理想条件很少发生。为实际使用设计。
倾听用户,不是只倾听开发者
开发者想要新东西。用户想要工作东西。两者都重要,但用户最终支付账单。
接受渐进式改进
渐进式改进不性感。但它工作。
结语
Omar 说:"Wayland 已经存在了 17 年,而 X11 有近 40 年的开发。"
17 年不是快速。如果一个问题需要 17 年解决,可能方法错了。
Wayland 的故事不是关于技术——它是关于理解问题、理解用户、理解实际使用。
在这个时代,我们需要更多关于问题,少关于解决方案。