Yserver:一个用 Rust 编写的现代 X11 服务器
多屏幕 vs. 虚拟屏幕模型
- 若干评论澄清,这里所说的“multiple screens”指的是旧式 X11 屏幕(
:0.0、:0.1),本质上是共享光标/VRAM 的独立 framebuffer。 - 现代大多数设置使用通过 Xinerama/RandR 提供的单一大型虚拟屏幕,每个显示器映射到其中;窗口可以自由移动,而应用无需知道存在多个显示器。
- 传统多屏幕被认为既冷门又别扭:应用必须为每个屏幕分别管理窗口,因此几乎没有应用支持它。
- 但某些小众场景仍依赖它(飞行模拟器、心理物理实验、“zaphod” 设置),因此有人批评将其称为“legacy”并直接移除。
- “screens”“monitors”和“virtual displays”这些术语之间的混淆引发了讨论;若干评论对术语做了澄清。
混合 DPI 和刷新率
- 一方认为,X 的统一虚拟屏幕模型强制使用共同刷新率,并且让混合 DPI 变得困难,因此称 Wayland 在这方面更优。
- 其他人则反驳说,举例表明 Xorg 至少在某些发行版和硬件上可以通过 xrandr 处理每个显示器不同的 DPI 和刷新率。
- X 上的混合 DPI 往往依赖显示器 DPI 属性加上工具包支持(Qt 需要特定环境变量),或使用 xrandr 的手动缩放技巧,但会有质量/性能权衡。
- 关于 Wayland 是否真的更好地“处理”混合 DPI,还是只是通过 compositor 侧缩放掩盖了复杂性,争论仍在继续。
网络 GUI / 远程访问
- 多位评论者怀念 X11 内建的“通过网络使用 GUI”,并认为 Wayland 缺乏透明性是一种倒退,只能转而依赖 VNC/RDP 风格方案。
- 另一些人指出了 Wayland 工具,如 waypipe、主流桌面环境中的 RDP 集成,以及各种远程协议,但无头/远程登录支持仍被描述为不成熟或脆弱。
- 还有人认为,与屏幕共享相比,GUI-over-network 如今已是小众需求,因此优先级不高。
AI 生成代码与项目价值
- 关于 AI 使用存在强烈分歧:有人把这个项目称作“slop”,并假定几乎没有人工审查;也有人反驳,认为 AI 辅助编码可以提高质量、减少枯燥劳动,并促成像这样的探索性项目。
- 有一种观点认为:即使最终结果达不到生产级,学习过程本身(例如借助 AI 探索 X11 内部机制)也有价值。
- 也有人呼吁更清楚地披露 AI 参与情况,以便设定预期。
其他要点
- 有人提出 NVIDIA 支持的问题,但未得到详细回答。
- 也有人提到与一个旧的 “Y Window System” 项目混淆;另一些人认为,考虑到那个项目的年代,名称重叠并不重要。
- 少数用户表示已成功在常见桌面环境中编译并运行 Yserver,但存在一些怪癖(例如 compositor 问题、需要手动从 TTY 启动)。
- 更广泛的 X11 vs Wayland 争论反复出现,双方都对成熟度、回归和优先级持强烈观点。