Hacker News 中文摘要

RSS订阅

我能在2026年开始使用Wayland吗? -- Can I start using Wayland in 2026?

文章摘要

文章展望了2026年Wayland显示协议的应用前景,探讨了硬件支持、NVIDIA驱动兼容性、8K显示器分块显示等现存问题,并分享了从i3迁移到sway桌面环境的实验体验,涉及GTK字体、后端适配及屏幕锁定等功能的具体表现。

文章总结

2026年,我终于可以使用Wayland了吗?

Wayland是Linux图形堆栈的下一代协议,旨在取代X服务器(X11/Xorg)。尽管Wayland项目早在2008年就已启动,但作者在过去的18年里始终无法在自己的设备上正常使用它。本文记录了作者在2026年尝试迁移到Wayland/Sway时遇到的种种挑战。

历史背景

  • 早期阶段:Wayland在作者机器上几乎无法启动,即便成功启动,也只能运行一些演示程序。
  • 2014年后:GNOME和KDE开始支持Wayland,但主流应用(如Firefox、Chrome、Emacs)的适配进展缓慢,部分应用至今仍需实验性标志启用Wayland支持。
  • 驱动问题:NVIDIA显卡的驱动支持长期不足,导致图形故障或崩溃,而作者的8K显示器仅兼容NVIDIA显卡。
  • 近年趋势:更多发行版计划默认切换到Wayland,甚至放弃X11会话,如Fedora和RHEL。

硬件与驱动

  • 硬件配置:作者使用配备NVIDIA GeForce RTX 4070 Ti(实验室PC)和RTX 3060 Ti(主PC)的高端设备,以及一台Dell 8K显示器(7680x4320分辨率)。
  • NVIDIA驱动支持
    • 2021年底的495版本驱动程序开始支持GBM(Generic Buffer Manager),但仍有严重的图形故障。
    • 解决方案是“显式同步”(explicit sync),Sway 1.11(2025年6月)和wlroots 0.19.0首次支持此功能。

8K显示器的TILE支持问题

  • 问题描述:Dell 8K显示器需通过两个DisplayPort 1.4连接并启用MST和TILE支持。在Sway中,显示器被错误识别为两个独立屏幕。
  • 解决方案
    • wlroots长期未支持TILE属性,直到2023年有贡献者提交了相关补丁。
    • 即使应用补丁后,显示器右半部分仍无法正常显示。最终通过调试发现是NVIDIA的SRC_X DRM属性问题,并临时通过缓冲区复制实现修复。

软件环境:NixOS

作者在2025年将所有设备迁移到NixOS,并通过以下配置启用Wayland/Sway: nix services.displayManager.gdm.enable = true; programs.sway = { enable = true; wrapperFeatures.gtk = true; extraOptions = [ "--unsupported-gpu" ]; };

实验发现

  • 桌面环境:i3 → Sway
    • Sway是i3的Wayland版本,兼容i3配置文件,但存在以下问题:
      1. 无法配置与X11相同的libinput设置。
      2. 鼠标指针响应延迟。
      3. Xwayland程序缩放模糊(Sway暂不支持Xwayland缩放)。
      4. 键盘快捷键偶尔重复触发。
  • 字体与渲染
    • GTK程序字体大小异常,需重置缩放相关设置。
    • Wayland下字体渲染与X11不同,需通过dconf调整。
  • 屏幕锁定:swaylock
    • 与i3lock不同,杀死swaylock会导致“红屏死机”,需通过信号解锁。
  • 自动化工具兼容性
    • 部分依赖i3 IPC的工具需调整,如workspace-populate-for-i3因Sway不支持布局保存而失效。
  • 终端:foot
    • 替代URxvt,但存在以下问题:
      1. Ctrl+Enter输入转义序列。
      2. 鼠标双击URL选择不完整。
      3. screen(1)内无颜色支持。
  • 文本编辑器:Emacs
    • 标准版仅支持X11,在Sway中通过Xwayland运行且显示模糊。
    • Wayland原生支持(pgtk版本)存在输入延迟和文本渲染差异问题。
  • 浏览器:Chrome
    • GPU进程频繁崩溃,需禁用硬件加速。
    • 窗口无法恢复到关闭前的工作区。
  • 屏幕共享
    • 需安装xdg-desktop-portal-wlr,但当前仅支持共享整个屏幕或单个窗口(需手动选择两次)。
    • 共享窗口分辨率低,文本模糊。
  • 其他问题
    • 缩放启用时,部分窗口内容切换时“跳动”。
    • 通知工具dunst和选择器rofi表现良好。

结论

尽管作者首次在Wayland/Sway上取得进展,但与现有X11/i3的流畅体验相比,Wayland仍存在诸多问题: 1. Sway偶发重复触发快捷键。 2. 窗口或工作区切换时的图形故障。 3. Chrome无法持续启用硬件加速。 4. Emacs的Wayland支持不完善。

作者认为,Wayland/Sway作为日常驱动环境的条件尚未满足,因此暂时继续使用X11/i3。


:本文为技术博客的编译摘要,保留了核心内容并删减了部分调试细节。原文发布于2026年1月4日,作者Michael Stapelberg。

评论总结

以下是评论内容的总结:

支持Wayland的观点

  1. 功能改进:部分用户认为Wayland解决了X11的一些问题,如屏幕撕裂和分数缩放。

    • "Wayland fixes that, so that part is a huge improvement to me." (评论11)
    • "I've been running Wayland on a Framework laptop and it just works." (评论7)
  2. 稳定性与性能:部分用户在使用Wayland时未遇到问题,甚至在某些情况下表现优于X11。

    • "I've been using Wayland (wlroots/swaywm) for a few years now and it's been flawless." (评论13)
    • "For whatever reason, this GPU crashes regularly under X11 but is perfectly stable under wayland." (评论20)

反对Wayland的观点

  1. 兼容性与功能缺失:许多用户认为Wayland缺乏关键功能或存在兼容性问题。

    • "For me wayland offers only downsides, without any upsides." (评论3)
    • "The most annoying initially was that the Snap version of Firefox didn't use hardware acceleration." (评论11)
  2. 架构问题:Wayland作为协议而非实现,导致不同桌面环境需要重复开发。

    • "With Wayland each desktop is reinventing the wheel." (评论1)
    • "Wayland is calling themselves the new shite supposed to be that solution DOES NOT AUTOMATICALLY MEAN they actually managed to solve the problem." (评论21)

中立或观望态度

  1. 未来潜力:部分用户认为Wayland可能需要更多时间成熟,或依赖硬件厂商支持。

    • "Maybe in another decade or so." (评论10)
    • "We'll only start seeing Wayland adoption when distributions start forcing it." (评论6)
  2. 使用体验差异:部分用户对Wayland的体验感到困惑或无明显感知差异。

    • "I don't really have much sense for whether a given app is using Wayland or not." (评论8)
    • "I tried Wayland I didn't notice any difference whatsoever." (评论22)

关键争议点

  1. NVIDIA驱动支持:NVIDIA的驱动支持问题成为争议焦点。

    • "Nvidia refused to support the API that Wayland was using." (评论17)
    • "This stuff has been flawless on AMD systems for a while." (评论14)
  2. 开发与标准化:Wayland的分散开发模式被认为可能导致功能不一致。

    • "There really should be a standard library that all desktops use." (评论1)
    • "Wayland clients must be very conservative and respect the dynamic discovery of the interfaces." (评论23)