Rust重写30年未变的X11服务器,Yserver登顶HN
30年没变的X11服务器,终于有人动手了
如果你在Linux桌面世界里待得够久,你一定听过这句话:”X11协议是80年代的杰作,但它的实现已经30年没真正变过了。”Xorg——我们今天使用的X11服务器——代码库可以追溯到1987年的X11R2,经历了XFree86的分裂与重组,积累了上百万行C代码。它支持几十年前的SGI图形工作站、Sun Microsystems的显示硬件,维护着一个庞大到几乎无人完全理解的DDX驱动抽象层。

2026年6月,比利时开发者\1向Hacker News提交了一个项目,标题简洁有力:\1 这个帖子迅速斩获\1,冲上首页第24位,引爆了技术社区的激烈讨论。不是因为X11又出了什么安全漏洞,而是因为——终于有人决定从零开始,用Rust重写整个X11服务器了。
Yserver是什么
Yserver(读作”why-server”)是一个\1、\1的X11显示服务器。它采用\1,托管在[github.com/joske/yserver](https://github.com/joske/yserver),目前已经积累了超过\1。项目的目标非常明确,作者在设计文档中写道:
“The goal is not to clone Xorg. It is to provide a practical X11 server that runs real desktop environments, window managers, and applications on modern Linux while dropping legacy baggage.”
翻译过来就是:\1
扔掉了什么?数十年的技术债务
Xorg为什么会变得如此臃肿?因为它要兼容一切。Yserver的设计哲学恰恰相反——\1。被明确抛弃的包括:
– \1(Xinerama时代的产物)
– \1(8位调色板时代的东西)
– \1(通过网络转发OpenGL指令,现代应用几乎不用)
– \1(Xorg最复杂的内部抽象层之一)
– \1(为不同字节序的远程客户端服务)
在底层,Yserver直接通过\1和\1与硬件对话,绕过了传统Xorg的多层中间抽象。它使用\1进行会话管理,意味着可以在不需要root权限的情况下安全运行。核心架构是\1的,保证了协议行为的高度可预测性。
能做什么:桌面环境实测
截至目前,Yserver\1:
– \1
– \1
– \1
窗口管理器方面,经过测试的有\1。更令人惊讶的是,Yserver实现了\1扩展,这使得经典的\1桌面特效(旋转立方体、窗口抖动、火焰特效等)可以在Yserver上流畅运行——作者在仓库中附上了演示视频。
硬件兼容性测试覆盖了\1平台。需要注意的是,Yserver\1,对nouveau开源驱动的支持也仍在探索中。
“TFP confirmed working on AMD, Intel, Asahi (Apple Silicon), and Qualcomm; will never work on Nvidia proprietary driver.”
AI辅助开发:Claude Code加持
Yserver有一个无法回避的标签——\1。作者Jos Dehaes在开发过程中大量使用了Anthropic的\1编程助手。仓库中同时存在`CLAUDE.md`和`AGENTS.md`两个AI配置文件,一些开发者发现其中甚至包含作者个人开发环境的沙盒路径配置,这种不够规范的细节引发了社区关于”AI生成代码质量”的讨论。
Phoronix创始人Michael Larabel在报道中写道:\1 It’s FOSS的评论则更加直接:”不管你喜不喜欢,这个项目展示了vibe coding在系统级编程中已经变得多么普遍。”
社区反应:从”这是钓鱼帖”到”比Xlibre有前途”
Yserver在HN和Reddit上激起的讨论几乎涵盖了开源社区的所有敏感神经——X11 vs Wayland、Rust vs C、AI辅助开发 vs 纯手工编码。
一些HN用户对项目的实用价值表示认可:
“I see more future in this (and Phoenix) than XLibre at least.”
也有开发者对”从零编写”这个说法提出质疑:
“if you used a compiler, don’t say ‘from scratch’.”
Reddit用户则贡献了更多辛辣评论。有人直接认为这是个钓鱼项目:
“Yeah that’s bait.”
另一位用户指出了Yserver面临的独特困境:
“I expect this project to struggle significantly because of the overlap between the anti-Wayland and anti-Rust groups.”
项目的GitHub用户名”joske”是”jokes”的变位词,也加深了一些人关于”这可能是玩笑”的猜测。
局限与未来
作为早期项目,Yserver有明确的局限性。设计文档坦承:\1——”客户端目前可以读取其他客户端的窗口和全局输入。”VT切换在LightDM启动的会话中不可用([Issue #10](https://github.com/joske/yserver/issues/10)),FreeBSD支持尚在规划阶段。
项目目前主要由\1维护,名称也是临时的——作者明确表示”yserver这个名称将来会改,但不是当前优先级最高的事。”
但不可否认的是,Yserver填补了一个真实的空白。当Ubuntu 25.10移除X11会话、Fedora不再预装X11支持、KDE Plasma 6.8计划彻底放弃X11之时,仍然有大量用户依赖X11——无论是旧硬件、特定工作流,还是对Wayland某些设计理念的保留态度。Yserver为这些人提供了一个\1的替代选项。
如何尝试
想在Arch Linux上体验?只需安装依赖并构建:
sudo pacman -S libseat libinput libdrm mesa
git clone https://github.com/joske/yserver.git
cd yserver
just install然后在TTY中启动:
yserver -- :1你也可以配置LightDM来使用Yserver作为默认X服务器——只需修改`/etc/lightdm/lightdm.conf.d/99-yserver.conf`中的`xserver-command`即可。
总结
Yserver不是一个想要取代Wayland或Xorg的项目。它更像是一次大胆的实验:\1
答案正在GitHub上被一行一行地写出来——\1、在四大GPU平台上跑通的桌面会话、以及90个HN点赞背后那些被触动的技术理想主义者。无论你站在X11还是Wayland一边,喜欢Rust还是坚持C,认可AI辅助编程还是坚决反对——Jos Dehaes和Yserver的故事提醒我们:\1
— END —
LC 智趣厅 · 科技与生活的交点
ihygg.cn
