过去两周,Flutter 圈的热闹有点多:Flutter 3.47 刚把 Impeller 设为全系桌面平台的默认渲染器,澎湃OS4 用 Flutter+Rust 重写系统应用的话题,在知乎单是问题页就有近 60 万浏览。知乎"flutter凉了吗"这种老问题,也跟着又被翻出来刷了一轮。而本周,一个小项目把剧情往前推了一步:不是用 Flutter 写应用,而是把 Flutter 直接放进了 Linux 桌面的"地基"里。GitHub
这个项目叫 Denial,一个 Flutter 原生的 Wayland 合成器,说人话就是:整个 Linux 桌面本身。8 月 16 日,作者把新版本的演示视频发到 B 站,收获 195 赞、170 收藏、97 条评论(截至发稿),评论区里真有相当一部分人把它装进了自己的电脑。哔哩哔哩在决定要不要跟风之前,先把三件事说清楚:它是什么、走到哪一步了、适合谁。

它在干的事:Flutter 从"租客"变"房东"
以前 Flutter 在桌面再怎么折腾,本质上都是"租客":系统合成器(GNOME、KDE 或者 Hyprland 们)分配一个窗口,Flutter 在窗口里面画自己的界面。
Denial 把这层关系倒了过来。它的底层是一个用 Rust 写的合成器,基于 Smithay 框架,负责 Wayland 协议、输入设备和显示输出这些"脏活";Flutter Engine 则通过官方的 Embedder API 直接嵌进合成器进程,整个 Dart 桌面壳以 AOT 编译的方式在里面运行——它不是跑在合成器之上的一个普通窗口,它就在合成器里面。GitHub
Wayland 应用的窗口内容则被当成"外部纹理"导入,和任务栏、设置界面、动画一起画进同一个 Flutter 场景,最后由 Impeller 渲染成整块帧缓冲,经 KMS 直接扫描输出到显示器,没有第二次合成。GitHub翻译成人话:你的整个 Linux 桌面——状态栏、窗口管理、过渡动画、设置界面——本身就是一个 Flutter 应用,而 3.47 里刚当上默认的 Impeller,在这里画的不是窗口里的界面,是整个桌面。
先看数据:节奏很快,但底子还小
兴奋之前先看数据(截至 8 月 18 日):GitHub 329 star;首个版本 v0.1.0 发布于 7 月 25 日,三周内连发 8 个版本,最新是 8 月 12 日的 v0.2.10;维护者只有一个人,Doctor Logix;代码里 Dart 和 Rust 的体量几乎各占一半;GPL-3.0-or-later 协议。
作为对照:同样是 Wayland 合成器的 Hyprland 有 3.79 万 star,主打滚动平铺布局的 niri 有 2.7 万 star。GitHubSystem76 做了四年的 COSMIC 桌面环境,也只有 6600 多 star。System76Denial 这个"满月宝宝"的 329 star,实在算不上大。

但有两个信号值得留意。一是节奏:三周 8 个版本,平均两三天一版,而且 Arch、CachyOS、Debian 13、Ubuntu 24.04、Fedora 44 五个发行版已经用上了官方签名的 x86-64 软件源。GitHub二是 issue 区非常"活":亮度调节、自定义快捷键、竖屏旋转、小数缩放黑屏,都是真装过机的人在逐条报问题,反馈闭环是转得起来的。
热度是真的,但水深还浅
先说个降温的事实:B 站那条爆出来的视频,其实是作者自己发的。Doctor Logix 是个意大利开发者,在评论区用中文一条条回复中国用户,靠的是 AI 翻译,围观群众看得直感慨,最扎眼的一条是说"意大利人和中国人通过AI能流畅交流"这件事本身。哔哩哔哩而在 Hacker News 上,相关帖子只有 4 个点,所以这波热度目前主要集中在中文社区,还不是全球性事件。Hacker News
不过评论区的实测是真的,口碑明显两极。
好评集中在颜值和流畅度。有人说"惊呆我了,第一次在linux下用到这么丝滑的桌面",有人夸动画 Q 弹,连 fcitx5 输入法的动画都跟着连贯丝滑;还有老用户拿它跟 COSMIC 比,直言"很好用!比cosmicAMD核显优化好"。哔哩哔哩也有人动了真格:Linux 平板、Surface Pro、二合一设备,评论区排着队打算装——Denial 的路线图里确实写着要适配触控优先的设备。

差评集中在"没做完"的部分。有位用户进桌面后完全不知道怎么操作,最后让 AI 翻了一遍源码才总结出快捷键;有人反馈 1.5 倍缩放调不出来;双屏"没法用";N 卡独显笔记本的亮度调节,也只能作用于核显。对着 GitHub 的 issue 列表看,这些吐槽基本条条有对应工单,比如 4K 分辨率叠加 1.75 倍缩放会黑屏挂起这条,编号 #38。GitHub一个人维护确实顾不过来,但至少每个槽点都有人接。
对 Flutter 开发者,真正有意思的是两件事
第一件是"活体开发"模式。装上 denial-ui-development 包,桌面壳直接变成一个可编辑的 Flutter 工程:跑一句 denialctl ui setup,用 VSCodium 打开,改 Dart 代码热重载,Wayland 应用不用退出,桌面实时改实时见,还能接上 DevTools 看桌面本身的性能。GitHub对 Flutter 开发者来说,"自己写桌面"这件事的门槛,从没这么低过。
第二件是路线图承诺把合成器和桌面壳之间的契约做成稳定的版本化接口,将来官方参考壳可以整个换成你自己写的 Flutter 壳,而不用碰底层合成器。GitHub再联想澎湃OS4 用 Flutter 写系统应用这波节奏,方向其实挺清晰:Impeller 成熟之后,Flutter 的战场正在从"应用内"往"应用外"走。
还有个绕不开的话题:Denial 的 README 明确写着,这个项目是作者与 OpenAI Codex 持续协作开发的——人类负责架构、方向和测试,AI 负责实现,并且特意强调这是项目出身的一部分,不是藏在脚注里的免责声明。GitHub不管你站不站 AI 编程,一个人加 AI 能做出文档齐全、带签名包、支持五个发行版的 Wayland 合成器,这个案例本身就值得多看两眼。
顺带一个二次元彩蛋:项目名 Denial 取自《鸣潮》角色 Denia,README 说她的故事正好呼应这个项目的主旨——出身不决定它能成为什么。GitHub
谁可以装,谁建议等
最后给决策建议。
适合现在就试的:
有闲置 PC、Linux 平板或二合一设备,装的是 Arch / CachyOS / Debian 13 / Ubuntu 24.04 / Fedora 44 的 x86-64 机器;
本来就爱折腾窗口管理器的 Wayland 爱好者;
想看看 Impeller 在"应用窗口之外"表现的 Flutter 开发者。
建议再等等的:
主力工作机,尤其需要双屏、小数缩放、N 卡亮度调节的;
需要无障碍功能或成熟稳定性的。
安装本身不复杂:官方一行脚本只负责校验指纹并添加签名软件源,不直接装包,执行前会先展示完整计划再要 sudo 权限,建议先把脚本看一遍再跑。GitHub之后用 pacman、apt 或 dnf 安装 denial 即可,它会以额外会话的身份出现在登录界面,原来的桌面不受影响,随时能切回去。
遇到驱动坑也有退路:在 /etc/denial/session.conf 里设置 DENIA_FLUTTER_RENDERER=skia,就能回退到 Skia/Ganesh 渲染。GitHub
值得持续盯的信号:这次更新带来的新显示呈现调度器 Volition 还在 dev 分支打磨,等它进正式版再看流畅度的二次跃迁;1.0 的壳契约什么时候冻结,那决定"用 Flutter 自己写桌面"是不是真命题;会不会出现第二个维护者;ARM64 官方包何时发布。哔哩哔哩
上周大家还在争论澎湃OS4 用 Flutter 算不算"春天来了",这周 Denial 直接把 Flutter 做成了桌面本身。Flutter 的边界到底能不能扩到系统层,这个八月,答案比口号多了几个。