Nourish - 一个具有无限缩放和平移功能的 Wayland 合成器
摘要
Nourish 是一个基于 Linux 的免费开源 Wayland 合成器,提供无限画布和缩放平移功能,使用 Rust 和 Vulkan 构建。
查看缓存全文
缓存时间: 2026/06/28 09:57
y5-snowies/nourish
来源:https://github.com/y5-snowies/nourish
Nourish
CI(https://github.com/y5-snowies/nourish/actions/workflows/ci.yml)
发布(https://github.com/y5-snowies/nourish/releases)
许可证:MIT 或 Apache-2.0
简单、下一代操作系统
https://github.com/user-attachments/assets/03d78832-c451-451f-a701-713710a20051
nourish.snowies.com(https://nourish.snowies.com) · 指南(https://nourish.snowies.com/guide) · Discord(https://discord.gg/kasec5bYb)
Nourish 是一款不受屏幕尺寸限制的 Linux 桌面系统。它免费且开源,稳定到足以作为日常主力系统使用。它不收集任何数据——没有遥测、没有分析,甚至连崩溃报告也没有。没有任何信息会离开你的机器。它性能出色,并使用 Vulkan 进行渲染。你可以选择在 Vulkan 不支持的系统中自动回退,或显式选择 GLES。它完全支持 NVIDIA 以及使用 Mesa 驱动(如 Intel 和 AMD)的显卡。
特性
- 可缩放和平移的视口,为你提供几乎无限的工作空间。
- 基于 Wayland 协议构建,支持分数缩放,使兼容窗口在任何缩放级别下保持清晰,而非变得模糊。
- 非侵入式多任务辅助功能,让你轻松高效地在多个上下文之间切换工作。
- 精心设计以保证稳定性,注重避免故障和性能问题。
访问 nourish.snowies.com(https://nourish.snowies.com) 查看其外观及完整特性列表。
安装
在 Fedora 44 上,只需一条命令。你将获得预构建版本,无需设置工具链:
curl -fsSL https://nourish.snowies.com/release/latest/fedora44/package.tar.gz | tar -xz && y5-install/install.sh
安装程序是交互式的,可安全重新运行。完整的操作指南见 https://nourish.snowies.com/guide.html(https://nourish.snowies.com/guide.html)。
想要固定版本?每个版本也以其版本号不可变地发布——https://nourish.snowies.com/release/v1.0.0/fedora44/package.tar.gz——而 latest 始终指向最新版本。你可以在发布页面(https://github.com/y5-snowies/nourish/releases)浏览它们。
对于其他发行版,请参见 https://nourish.snowies.com/guide.html(https://nourish.snowies.com/guide.html)。
我目前不为不同发行版发布单独的二进制包,通常推荐使用 Fedora。如果你使用其他发行版,从源码构建很容易,它将自动链接到你的发行版系统库版本。
源码
底层引擎称为 y5 —— 一个用 Rust 编写的 Wayland 合成器,基于 smithay(https://github.com/Smithay/smithay)(Wayland)、bevy(https://bevyengine.org)+ wgpu(https://wgpu.rs)(渲染)和 iced(https://iced.rs)(界面)的补丁分支,所有代码都在 vendor/ 目录下。
详细的指南在此处(https://nourish.snowies.com/guide.html)。
注意: y5 最初是人工架构和编写的,之后才借助 AI 进行增强。
其中包含大量生成的代码,所有代码都经过预先指导和仔细审查。
# 在当前 Wayland 会话中嵌套构建并运行
environment/run-host.sh winit release
# 构建用于系统的二进制文件
environment/build-release.sh system
如果遇到缺少库的错误,这些是项目链接的系统库。在 Fedora 上,你可以使用 environment/install-deps.sh 安装它们。对于其他发行版,请将该脚本提供给 AI 助手,询问需要哪些等效包。
贡献
欢迎贡献!如果你发现 bug 或有想法,请提交 issue(https://github.com/y5-snowies/nourish/issues)—— bug 报告和功能请求都真诚地受到感谢。同时也欢迎 Pull Request。
许可证
根据 Apache 许可证 2.0 或 MIT 许可证 之一进行许可,任你选择。
相似文章
《我的世界》中的 Wayland 合成器
一个在《我的世界》中实现完整 Wayland 合成器的模组,允许用户在游戏内启动和管理 Firefox、GIMP、VLC 等窗口。仅限 Linux。
@wsl8297: 逛 GitHub 时挖到一个狠角色:niri。它直接绕开传统桌面“窗口一多就被挤变形”的老毛病,把窗口管理方式彻底重做了一遍。 niri 采用可滚动的平铺思路:窗口按列铺在一条“无限延伸”的水平条带上。你开新窗口,不会强行压缩现有窗口;多…
文章介绍了开源项目 niri,这是一款基于 Wayland 的新型桌面合成器,通过可滚动平铺布局避免传统窗口拥挤问题,并支持动态工作区、多显示器独立管理及自定义着色器动画等特性。
在Minecraft中作为模组实现的Wayland合成器
一个在游戏内实现了功能完整的Wayland合成器的Minecraft模组,允许用户在Minecraft世界中运行和管理应用程序。仅支持Linux。
使用 Fedora Silverblue 进行合成器开发
本指南介绍如何使用原子发行版 Fedora Silverblue 开发 niri Wayland 合成器,重点介绍了不可变系统在系统组件开发中的优势。
fht-compositor: 一个动态平铺的Wayland合成器
fht-compositor是一个受dwm和xmonad启发的动态平铺Wayland合成器,提供自动窗口布局和以键盘为中心的工作流程。