跳到正文
发现
命令行工具开发者工具

yserver:Rust 编写的 X11 服务器

用 Rust 从零编写的现代 X11 服务器,可在 Linux 等平台运行真实桌面环境和应用。

admin
发布于 2026-11-07
浏览
1
访问
0
下载
0
版本
v1.9.0
平台
Windows、macOS、Linux
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。

详细介绍

项目简介

yserver 是一个用 Rust 从零编写的现代 X11 服务器。目标不是复制 Xorg,而是在现代 Linux 上运行真实桌面环境、窗口管理器和应用,同时舍弃非 TrueColor visual、间接 GLX、DDX 驱动 ABI、字节序交换客户端等遗留负担。项目可独立使用 DRM/KMS 运行完整桌面环境,并已在多种桌面、窗口管理器和硬件上测试。

主要功能

  • 从零实现的 X11 服务器,支持运行 Cinnamon、MATE、XFCE、FVWM3、openbox、awesome、i3、CDE 等桌面/窗口管理器。
  • 直接驱动 atomic KMS,不依赖 seat manager;支持多显示器、VRR、按需 tearing、硬件光标、gamma 调节等。
  • 支持合成器、DRI3、Present、GLX、RENDER、XKB、XInput、RANDR、XFIXES、RECORD 等扩展。
  • 支持 Windows(x86_64/aarch64)上显示来自 WSL 或其他机器的 X 客户端,支持共享剪贴板、设置对话框和 DPI 感知。
  • macOS 上可在窗口中运行(Apple Silicon,Mesa KosmicKrisp),支持 Dock 图标、设置窗口和 rootless 模式。
  • 提供 starty 启动器,支持显示编号选择、MIT-MAGIC-COOKIE-1 和会话清理。

安装与使用

完整说明见 docs/setup.md。从源码检出后:

just install-local
sudo usermod -aG video,input $USER

重新登录后切换到空闲控制台运行 starty。yserver 需要访问 /dev/dri/* 和 /dev/input/event*,并需要可用的 Vulkan 驱动。

发行包:Arch 可通过 AUR 安装 yserver;Fedora、Debian、Ubuntu、Alpine 的包在 Releases 中,按路径安装,例如:

sudo dnf install ./yserver-*.rpm
sudo apt install ./yserver_*.deb

macOS 26 及以上、Apple Silicon 可通过 Homebrew 安装依赖,然后:

just macos-run

注意事项

  • 项目名称 yserver 为暂定名,GitHub 上已有同名项目,后续可能更改。
  • XDMCP 和 TCP 监听是可选 Cargo 构建特性,默认关闭。
  • 运行前需确保当前用户有 video、input 组权限,并安装可用的 Vulkan 驱动。

本作品整理自 GitHub 开源项目 joske/yserver,原作者 @joske,许可证 MIT。中文介绍由 AI 根据项目 README 整理,以原仓库为准。

更新记录

  1. v1.9.0当前版本

    优化 KMS 主平面复用与直接扫描输出,窗口裁剪区域改为线性时间计算、窗口操作最高快 700 倍;修复 XFIXES/Shape 区域、字体关闭及 Present 缓冲翻转等问题。

评论