X11Libre/xserver

GitHub: X11Libre/xserver

XLibre 是从 X.Org Server 分支出来的 X11 显示服务器实现,致力于清理代码、增强功能并保持兼容性。

Stars: 4433 | Forks: 226

# XLibre Xserver

XLibre running on FreeBSD
XLibre running on FreeBSD. See more liberated screens here.

XLibre 是 [X Window System Protocol Version 11 (Wikipedia)](https://en.wikipedia.org/wiki/X_Window_System_core_protocol)(简称 X11)的显示服务器实现。它是从 [X.Org Server (Wikipedia)](https://en.wikipedia.org/wiki/X.Org_Server) 分支出来的。有关分支的原因,请参阅 [HISTORY.md](HISTORY.md)。 ## 我们的使命 XLibre 的贡献者致力于清理和加强现有代码库,同时保持向后兼容性,使 X11 成为未来的可行选择。另一个目标是积极增强 Xserver 及其驱动程序的功能。我们还负责处理 X.Org Server 中多年未发布的改进或仅对 Xwayland 进行的改进。我们的决策基于优绩和积极推动 X 发展的社区。 ## 我们的成就 自 2025 年 6 月 5 日分支以来,我们现已超过 30 名的贡献者发布了大量代码清理、用于分离 X 客户端的 [Xnamespace 扩展](https://github.com/X11Libre/xserver/blob/master/doc/Xnamespace.md),并移植了 2025 年 6 月的 [X](https://github.com/X11Libre/xserver/commit/c430c829d58a79a5d75ce43547fb649126baed01)[.](https://github.com/X11Libre/xserver/commit/899afa4c1097ed99858754677c37e1792ed3338f)[O](https://github.com/X11Libre/xserver/commit/3151e489e4754c0b426e7a771075d8f5d1b09144)[r](https://github.com/X11Libre/xserver/commit/a1e44d3c4ff997772c695c578286e2735e17f445)[g](https://github.com/X11Libre/xserver/commit/0d6af5a5429c2df1e5d7dff85d4a62599eb05504) [C](https://github.com/X11Libre/xserver/commit/da5f8d197fc25d898212714c653d66a91cbae7ab)[V](https://github.com/X11Libre/xserver/commit/948630fa428d8e0111c29a882c45b4c8bee5a796)[E](https://github.com/X11Libre/xserver/commit/923837e2c92c226ab9d4c57b94ac80fbe98bdf08) 修复。我们一起集成了[默认启用 TearFree](https://github.com/X11Libre/xserver/commit/0dacee6c5149b63a563e9bed63502da2e9f1ac1f) 和[允许启用原子模式设置](https://github.com/X11Libre/xserver/commit/461411c798c263f70daa96f7136614dfefda6adc)。Xnest 已移植到 xcb,引入了[每个 ABI 的驱动目录](https://github.com/X11Libre/xserver/commit/49c6431695f817845d921f74bf24e9e30ddd89a5),并且 [XQuartz 已添加到我们的构建任务中](https://github.com/X11Libre/xserver/commit/f40afc89832d1faf19beb4d394956208a98462cc)。我们已经解决了抛给我们的[所有](https://github.com/X11Libre/xserver/pulls?q=is%3Apr) [问题](https://github.com/X11Libre/misc/issues?q=is%3Aissue) [这些问题](https://github.com/X11Libre/xserver/issues?q=is%3Aissue),达到了相关工作流的第一阶段,并建立了对[志愿者打包 XLibre](https://github.com/X11Libre/packaging) 的支持。我们还发布了[第一个版本公告](https://www.freelists.org/post/xlibre/Xlibre-250-summer-solstice-release) 并创建了 [NEWS](NEWS)。 顺便说一句:如果您的 XLibre Xserver 已经设置并运行,您可能需要跳转到[我们的路线图](#our-roadmap)。

XLibre running accelerated on RK3588
XLibre running accelerated on RK3588. See more liberated screens here.

## 切换到 XLibre 安装和运行 XLibre 的最简单方法是使用发行版提供的软件包。有关可用选项的列表,请参阅 [Are We XLibre Yet? - (X11Libre/xserver Wiki)](https://github.com/X11Libre/xserver/wiki/Are-We-XLibre-Yet%3F) 页面。如果没有选项,则继续从源代码构建和安装 XLibre。 ### 构建 XLibre 克隆 [Xserver 仓库](https://github.com/X11Libre/xserver.git) 或解压源代码并安装依赖项后,进入源目录并运行 [Meson](https://mesonbuild.com) 构建工具: ``` cd "" meson setup build ninja -C build install ``` 您可以使用例如 `--prefix="$(pwd)/image"` 指定安装 ``,并添加构建时 [``](https://github.com/X11Libre/xserver/blob/master/meson_options.txt),例如:`-Dxnest=false`。您可能还需要构建和安装一些图形和输入驱动程序。有关更多详细信息,请参阅 [Building XLibre (X11Libre/xserver Wiki)](https://github.com/X11Libre/xserver/wiki/Building-XLibre) 页面。 ### 配置 XLibre 要在 25.0.0.15 版本(含)之前的 XLibre Xserver 中加载 **专有 Nvidia 驱动程序**,请将以下内容添加到您的 X 配置文件中,例如 `/etc/X11/xorg.conf`: ``` Section "ServerFlags" Option "IgnoreABI" "1" EndSection ``` 从 25.0.0.16 版本开始,专有 Nvidia 驱动程序会被自动检测并在内部处理,无需任何特殊配置。有关 [Nvidia 驱动程序的更多详细信息](https://github.com/X11Libre/xserver/wiki/Compatibility-of-XLibre#nvidia-proprietary-driver) 和一般兼容性,请参阅 [Compatibility of XLibre (X11Libre/xserver Wiki)](https://github.com/X11Libre/xserver/wiki/Compatibility-of-XLibre) 页面。 在 XLibre 发布自己的配置说明之前,您可以在 [Configuration - Xorg (ArchWiki)](https://wiki.archlinux.org/title/Xorg#Configuration) 页面上找到配置的详细描述。如果您是自己构建并安装 XLibre,则使用 `cd ` 进入 `` 目录,创建一个目录 `etc/X11` 并在其中创建一个文件 `xorg.conf`,然后相应地调整它。 ### 运行 XLibre 如果您使用发行版提供的软件包安装了 XLibre,Xserver 通常在系统启动时由 [init (Wikipedia)](https://en.wikipedia.org/wiki/Init) 启动。在其他系统上,应该可以通过使用用户权限调用 `startx` 来手动启动 XLibre。有关如何使用它,请参阅 [`man startx`](https://linux.die.net/man/1/startx)。 如果您是自己构建并安装 XLibre,则可能需要关闭其他 Xserver,进入 `` 目录,并创建一个包含以下内容的简单 `testx.sh` 文件: ``` #!/bin/sh ./bin/X :1 vt8 & _pid=$! sleep 10 && kill $_pid ``` 您可以根据 [`man Xorg`](https://linux.die.net/man/1/xorg) 中的说明调整 `testx.sh` 文件中的 `:1 vt8` 和其他选项。使 `testx.sh` 可执行并运行它: ``` chmod 0770 testx.sh ./testx.sh ``` 这应该给您 10 秒荣耀的黑色、美丽且空白的屏幕。之后,Xserver 会抱怨被终止,但对于“测试通过”来说,不应该有其他关键错误。有关更多详细信息,请参阅 [Building XLibre (X11Libre/xserver Wiki)](https://github.com/X11Libre/xserver/wiki/Building-XLibre)。 ## 我们的路线图 粗略地说,我们将继续清理和现代化代码库,增强我们的持续集成,添加静态代码分析,并改进手动和自动化测试。因此,我们将巩固我们的构建基础设施和发布流程,并将更多平台添加到测试周期中。我们还将进一步研究通过 Xnamespace 扩展分离 X 客户端,并提供如何使用它的实际示例。 我们收到的许多想法和功能请求中的一些将被细化和准备实施,我们还将继续集成相关但未发布的 Xorg 和 Xwayland 功能。我们的文档将在如何构建、配置和切换到 XLibre 方面得到改进。改版我们的网站、创建徽标以及更多向 XLibre 的品牌重塑也在计划之中。粗略地说到此结束。 接下来的步骤之一是使用 GitHub Projects 功能来具体化我们的路线图,安排和确定错误报告、功能请求和其他问题的优先级。这将让任何人都清楚接下来要做什么。一切都是公开的,以便您可以跟随,更重要的是,参与其中。 ## 我想帮忙! 太好了;大家都有很多事情可做。您可以考虑 [那里](https://github.com/orgs/X11Libre/discussions/categories/1-new-ideas) 的[许多](https://github.com/orgs/X11Libre/discussions/categories/2-rfcs-of-the-core-team) [想法](https://github.com/orgs/X11Libre/discussions/categories/3-ideas-soon-to-be-addressed) 和[功能请求](https://github.com/X11Libre/xserver/issues?q=is%3Aissue%20state%3Aopen%20label%3Aenhancement) [之一](https://github.com/orgs/X11Libre/discussions/categories/1-new-ideas),例如[添加静态代码分析/覆盖率](https://github.com/orgs/X11Libre/discussions/239)、[为 XLibre 创建徽标](https://github.com/X11Libre/xserver/issues/112) 或成为 [XLibre 测试驱动程序](https://github.com/X11Libre/xserver/wiki/XLibre-Test-Drivers)。 还有很好的机会来[增强 Xnamespace 的文档](https://github.com/X11Libre/xserver/issues/458) 并为 [Building XLibre](https://github.com/X11Libre/xserver/wiki/Building-XLibre) 和 [Graphics devices & drivers](https://github.com/X11Libre/xserver/wiki/Graphics-devices-&-drivers) wiki 页面添加更多详细信息。或者随着工作的进展,更新[桌面环境](https://github.com/X11Libre/xserver/wiki/Are-We-XLibre-Yet%3F#desktop-environments) 和[显示管理器](https://github.com/X11Libre/xserver/wiki/Are-We-XLibre-Yet%3F#display-managers) 列表。 最后,请查看 [XLibre On Other Distributions discussion](https://github.com/X11Libre/packaging/discussions/categories/xlibre-on-other-distributions)。已经有一些不错的工作在进行,还有一些可以做的,例如[在 OpenSuse Build Service (OBS) 中创建 XLibre 软件包](https://github.com/X11Libre/packaging/discussions/19)。或者一般来说创建一个[平台备忘单](https://github.com/orgs/X11Libre/discussions/241)。 这还不够吗?那就看看 [good first](https://github.com/X11Libre/xserver/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22good%20first%20issue%22) 和 [help wanted](https://github.com/X11Libre/xserver/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22help%20wanted%22) 问题。还会有更多问题,特别是关于代码清理。如果您想处理任何事情,请告诉我们。如果您有任何问题,[尽管问](https://github.com/orgs/X11Libre/discussions/categories/q-a)。谢谢您! ## 不客气!

XLibre running on NixOS
XLibre running on NixOS. See more liberated screens here.

这是一个独立项目,完全不隶属于 BigTech 或其任何子公司或避税工具,也不隶属于任何政治活动团体、国家行动者等。它明确不受任何“DEI”或类似歧视性政策的约束。任何善待他人的人都受欢迎。 无论您来自哪个国家,无论您的政治观点、种族、性别、年龄、食物菜单,无论您穿靴子还是高跟鞋,无论您是兽迷还是仙子,是 Conan 还是 McKay,是漫画人物、来自半人马座阿尔法星的小毛茸茸生物,还是只是一个无聊的普通人。任何有兴趣推动 X 发展的人都受欢迎。 让我们一起让 X 再次伟大! ## 联系方式 [XLibre Discussions at GitHub](https://github.com/orgs/X11Libre/discussions) | [XLibre mailing list at FreeLists](https://www.freelists.org/list/xlibre) | [@x11dev channel at Telegram](https://t.me/x11dev) | [#xlibre room at Matrix](https://matrix.to/#/#xlibre:matrix.org) | [XLibre security contact at GitHub](https://github.com/X11Libre/xserver/security/policy) [Interview: Meet Enrico Weigelt, the maintainer of the new XLibre fork - Felipe Contreras](https://felipec.wordpress.com/2025/06/11/enrico-weigelt/)
标签:Fork, FreeBSD, Unix, X11, XLibre, Xnamespace, X.Org, XServer, Xwayland, X Window System, 代码清理, 向后兼容, 图形协议, 图形栈, 图形界面, 客户端加密, 开源, 数字足迹, 显示服务器, 桌面环境, 社区驱动, 窗口管理器, 系统编程, 网络安全监控, 预握手, 驱动开发