首页
/
产品
/
Starling:从零构建的 Linux 桌面环境
Starling:从零构建的 Linux 桌面环境
摘要
Starling 是一个全新的 Linux 桌面环境,几乎完全由 AI 在六个月内构建而成,通过支持 Wayland 和 X11,能够运行 Chrome、Slack 和 Zoom 等原生应用。
<p><a href="https://lobste.rs/s/tahynj/starling_linux_desktop_written_from">评论</a></p>
查看缓存全文
缓存时间:
2026/07/29 03:51
# 首款由AI编写的真正桌面 来源:https://starling.build/ 早期预览· v0\.2 · Ubuntu ## 首款由AI编写的真正桌面 之前也有人让AI去制作桌面,但结果要么是跑在浏览器标签页里,要么只是一个雏形。**Starling 直接驱动GPU,并且能运行 Chrome、Slack 和 Zoom。** 它由AI编写,由一个人指导,耗时六个月完成。 Starling桌面:文件管理器、终端和设置应用层层叠放在金门大桥壁纸上,顶部是菜单栏,底部是玻璃效果的扩展坞。设置中显示 'Starling OS, 版本 0.1, Ubuntu 25.10'。 33\.5万行 第一方Swift、C和C++代码 6个月 从首次提交到可登录的桌面 1人 指导工作 ~2,000 次提交,持续更新中 代码行数不包括封装的外部依赖。其中绝大部分——约27\.3万行——是整个系统所依赖的 Flutter→Swift 框架移植;桌面本身、其Wayland和X11服务器以及捆绑应用大约有6\.2万行。两个代码仓库都是公开的——desktop (https://github.com/starling-build/starling) 和 engine (https://github.com/starling-build/starling-engine)——因此这里的每个数字你都可以核实。 "真正"的含义 ## 不是浏览器标签页,也不是雏形。 “AI构建了一个桌面”以前也被宣称过,且通常指以下三种情况之一:在网页页面内绘制的桌面隐喻;一张从未实际登录过的逼真截图;或者一个能够启动的、从头构建的系统,但它只能运行为其编写的少数几个程序。 **一个测试可以区分它们:它能否运行不是自己编写的软件?** 这才是桌面的真正职责——承载由陌生人编写的、跨不同年份的、使用其无法控制的工具包的程序,并将它们全部保持在一个屏幕上,而彼此互不知晓。一个只能运行自己应用的系统绕开了最困难的部分。 **Starling 就是会话本身。** 它直接与 DRM/KMS 交互,拥有显示控制权。它读取原始输入设备。它是一个 Wayland 合成器,并且为那些仍需要它的程序托管着一个 X 服务器。你在登录界面选择它,登录后,它就成为你的桌面,直到你注销——运行着 Chrome、Slack 和 Zoom,而这些程序从未听说过它。 通常的AI桌面 - 运行在浏览器标签页内 - 窗口是无法承载真实程序的``标签 - 或者能启动——但只能运行为其编写的应用 - 从未实际登录过的设计截图 Starling - 通过 DRM/KMS 直接驱动GPU,作为会话本身 - 运行不是自己编写的软件——Chrome、Slack、Zoom - 同时原生支持 Wayland 和 X11 - 此处的每张截图都来自正在运行的会话 下面的截图就是决定性的测试。Zoom 是一个X11客户端;Chrome 是一个Wayland客户端。两个由陌生人编写的程序,被一个六个月前还不存在的桌面,合成到同一个场景中,经过同一个GPU路径。 展示 Starling 桌面的截图,Zoom Workplace 作为 X11 客户端打开,Google Chrome 作为 Wayland 客户端打开,两者都在壁纸上合成到同一个桌面中。 Zoom 在 X11 上,Chrome 在 Wayland 上——同一个桌面,同一个GPU路径,无需会话选择器。 为什么这很重要 ## 构建桌面的成本刚刚骤降 三十年来,构建一个Linux桌面一直是机构的工作。GNOME 和 KDE 是非凡的工程成就,由数百名贡献者持续数十年的努力才得以维持。这不是对它们的批评——而是衡量构建一个桌面所需成本的标尺。而正是这种成本导致了桌面数量如此之少。这也是为什么我们现有的桌面难以从外部进行改变。一个关于桌面应该如何运作的真正新颖的想法,几乎没有其他地方可以落地,除了分支、扩展或由他人控制的补丁队列。 一个人,六个月,一个完整的桌面。这不是通过缩减范围实现的——它能驱动GPU,能运行Chrome和Zoom,能应对显示器被拔出的情况。这个数字本身就是全部的论据。 如果现在一个人就能达到这个程度,那么Linux桌面开发的限制因素从来不是想象力,也不是品味。而是劳动力。而劳动力恰恰刚刚变得廉价。 **有趣的后果不是 Starling 本身。** 而是它之后的十个桌面——由那些从未有过十年时间去投入、在看到如此庞大的工作量时可能会选择更小项目的人来尝试。这个门槛已经降低了,Linux桌面被构建的速度也应该随之改变。 现在是构建的时刻。 桌面 ## 而且是一个完整的桌面 不是一个缺失了关键部分的概念验证。下面的每张截图都是真实的,来自正在运行的会话。 ### 平铺与浮动,两者都是第一等公民 默认是浮动窗口。翻转一个开关,所有窗口就会像平铺窗口管理器那样自动排列成主从布局——你正在工作的窗口占据主面板,其他窗口堆叠在侧边。再翻转回来,每个窗口就会精确回到它浮动时的位置。无需扩展,无需切换到不同的桌面,无需重新学习。 设置 → 外观 → 平铺窗口 展示开启了平铺功能的 Starling 桌面:设置窗口在左侧占据主面板,显示已打开的平铺窗口开关,文件管理器和计算器堆叠在右半边。 平铺开启——左侧是主面板,其余窗口堆叠在侧边。 ### 空间和控制中心 在虚拟桌面之间滑动切换,可以随身携带一个窗口,或者按一个键拉远视角,一次性看到所有空间。任何全屏显示的窗口都会安静地变成它自己的一个空间。从概览视图中将窗口拖拽到其他空间,或者从顶部的条状区域添加新空间。 Ctrl + ↑ 打开概览 · Ctrl + ← → 进行切换 展示 Starling 控制中心界面的截图:顶部是一排空间缩略图,当前空间的窗口在壁纸上排列在下方。 控制中心——顶部是空间条,下方是展开的窗口。 ### 表现良好的显示器 每个显示器都拥有自己的菜单栏、壁纸和空间——但它们是一个桌面,而不是两个。将一个窗口放在边界上,它能正常工作:一半绘制在一个屏幕上,另一半在另一个屏幕上,并且各自使用屏幕自身的缩放比例。拔掉一个显示器,它上面的窗口会回到主屏,而不是消失在虚无中。重新插上,桌面会从离开时的状态继续工作。 热插拔 · 逐显示器缩放 · 逐显示器空间 两个显示器并排连接到 Starling 的截图,每个都有自己的菜单栏和壁纸。一个文件管理器窗口跨越边界放置,其左半部分在一个屏幕上绘制,右半部分在另一个屏幕上。 两个显示器,同一个桌面——一个窗口跨越边界,一半在各自屏幕上。 ### 真正的玻璃效果,逐像素计算 扩展坞和面板不是通过模糊来伪造景深。一个片段着色器赋予每个面板真实的厚度,从中推导出表面法线,并利用斯涅尔定律通过该法线弯曲视线——然后添加菲涅耳边缘光晕和同样作用于该表面的镜面高光。看看经过后台的文字:它不仅变模糊了,而且会弯曲并向圆角末端压缩,就像光线穿过一块真实玻璃时的效果。桌面上没有任何HTML、CSS或JavaScript代码——效果是通过着色器实现的,而不是滤镜。 基于物理的 · GPU片段着色器 展示 Starling 扩展坞覆盖在网页上的特写。扩展坞后面的文字在穿过圆角末端时被模糊并明显弯曲和移位,边缘带有明亮的边缘光晕。 覆盖在网页上的扩展坞——文字像穿过玻璃一样弯曲。 ### 同一框架下的完整应用集 文件管理器、终端、设置、计算器、文本编辑器、图像查看器以及一个可以从Ubuntu软件仓库安装应用的应用商店——每一个都是用承载它们的外壳程序相同的框架编写的。一次主题更改就能同时作用到所有应用,因为中间不存在任何工具包的边界。 第一方应用 · 同一个主题,覆盖所有 ### 你的会话中没有解释器 UI框架是预先编译为机器码的,并且只绑定一个稳定的C语言渲染核心——运行循环中没有虚拟机参与。客户端缓冲区直接在GPU之间共享,从不复制,并且每个应用都是独立的进程,因此一个崩溃只会影响一个窗口,不会影响其他。 Swift,已编译 · dmabuf 零拷贝 核心理念 ### 一个好主意,加上AI来构建它 仅此而已。以上所有都源于一个关于桌面应该如何构建的决策——而AI使得构建它成为可能。 来看看这个系统是如何工作的。 了解其构建方式 → (https://starling.build/why.html) 安装 ## 安装一个软件包,然后在登录时选择 Starling 下载 Starling 0\.2 (.deb, 53 MB) ↓ (https://github.com/starling-build/starling/releases/download/v0.2/starling_0.2-1_amd64.deb) ``` # Ubuntu 26.04 LTS, amd64. Starling需要一个支持Wayland的登录 # 管理器。Ubuntu Desktop已经有一个 (GDM);在Server或最小化 # 安装中,先添加它: sudo apt install gdm3 # 下载并安装Starling及其运行时依赖: curl -fLO https://github.com/starling-build/starling/releases/download/v0.2/starling_0.2-1_amd64.deb sudo apt install ./starling_0.2-1_amd64.deb # 注销(或重启)。在登录屏幕上点击你的姓名,打开 # 会话菜单(齿轮/角落按钮),选择"Starling",然后登录。 ``` **这是一个早期预览版。** Starling 目前可以在真实硬件上运行真实的桌面,但它是 0\.2 版本:可能会遇到一些粗糙的边缘、缺失的设置以及仍待完善的应用。 已在全新安装的 Ubuntu 26\.04 下的 AMD 显卡上验证。如果你没有登录管理器,软件包会自动安装一个。 安装完成后,用户指南 (https://starling.build/guide.html) 将带你了解桌面——扩展坞、空间、快捷键和应用。
相似文章
X AI KOLs Timeline
ByteDance open-sourced UI-TARS-desktop, a native desktop GUI agent with 31.4k GitHub stars that uses vision models to control local or remote applications via natural language. The tool runs locally for privacy, supports Windows and macOS, and includes a CLI with streaming output for developers.
Product Hunt
Stella 是一款本地、开源的 AI 工具,可自动执行 Mac 上的任务。
Lobsters Hottest
一位开发者借助 Claude Code,用纯 x86_64 汇编重建了完整的 Linux 桌面栈——从 shell、终端、窗口管理器到各种工具,实现微秒级启动,并延长数小时续航。
X AI KOLs Timeline
一位中国开发者创建了Pake,这是一个使用Rust和Tauri从网页构建超轻量桌面应用的工具,与基于Electron的应用相比,大幅降低了内存占用。该开源项目已获得极大关注,GitHub星标超过51,000个。
X AI KOLs Following
DwarfStar 是一个自包含的原生推理引擎,专为 DeepSeek V4 Flash 和 PRO 模型优化,支持 Metal、CUDA 和 ROCm 后端,专注于高端个人电脑和 Mac Studio。