Starling 是一个用 Swift 语言编写的早期 Linux 桌面环境,拥有自己的 Wayland 合成器、X11 服务器以及 Flutter 的 Dart 框架到 Swift 的移植版本。

Stars

92

7 天增长

暂无数据

Fork 数

5

开放 Issue

5

开源协议

Apache-2.0

最近更新

2026-07-29

AI 仓库情报摘要
FR-AI / ANALYSIS

为什么值得关注

它展示了一个完全基于 Swift 的桌面栈,从合成器到用户应用,在早期开发阶段就能运行真实的第三方 Linux 应用程序。

适合谁使用

  • 对 Linux 系统开发感兴趣的 Swift 开发者
  • 好奇 Flutter 引擎移植到 Swift 的爱好者
  • 寻求全新架构的 Linux 桌面探索者
  • 研究替代桌面框架的研究人员

典型使用场景

  • 评估 Swift 作为桌面环境系统语言的能力
  • 作为日常驱动使用,兼容 Wayland 和 X11 应用(但存在已知缺陷)
  • 使用 FlutterSwift 框架开发和测试第一方应用
  • 实验最小化的、基于 DRM 的合成器和会话管理

项目优势

  • 全面的 Wayland 协议支持(xdg-shell, dmabuf, fractional-scale 等)
  • 能够运行大量第三方应用(Chrome, VS Code, Slack, Blender 等)
  • 文档完善的构建、运行和打包流程,提供 .deb 安装包
  • 创新的 Flutter 框架到 Swift 的移植,去除了 Dart 虚拟机

使用前须知

  • 仍处于早期 alpha 阶段(v0.2),缺少屏幕锁定、通知、显示设置等功能
  • 缩放实际上固定在 2.0 倍率,分数缩放会导致文字模糊
  • Portal 不完整(缺少 Inhibit, ScreenCast, Camera, Print),且无后台备选方案
  • 没有持续集成,仅测试了 AMD 和 virtio‑gpu,且无屏幕保护程序

README 快速开始

Starling

starling.build

A new Linux desktop environment, whose shell, compositor, framework, and apps are written in Swift (the framework is a full port of Flutter's Dart framework to Swift — no Dart VM). It brings its own Wayland compositor and its own X11 server, so it runs native Wayland clients and X11 apps alike. Runs on the Flutter engine's C core via the sibling repo starling-engine.

sdk/     the Flutter→Swift framework port (SwiftPM package "FlutterSwift")
shell/   the desktop shell: compositor (C Wayland server), window manager,
         dock, spaces, portals — SwiftPM package "DesktopShellApp"
apps/    first-party apps (Settings, Files, Terminal, …), one SwiftPM package each
build/   packaging: the Ubuntu .deb, session files, app-run/app-install tools,
         vendored flutter_assets
docs/    porting guides and design notes

Get started: Install Starling · User Guide · Build from source

Status

Early development — version 0.2. The desktop boots as a real session, runs its own compositor and apps, and installs from a .deb on a stock Ubuntu 26.04. It is also the work of one person and a few months, so expect rough edges, missing pieces, and bugs. Nothing here is load-bearing for anyone yet, and interfaces change without notice.

What follows is deliberately specific about what is and is not done, because "a desktop environment" invites assumptions that would be wrong.

What works

AreaState
SessionBoots through the normal login path — gdm3gdm-wayland-session/usr/libexec/starling-sessionDesktopShellApp --drm. Unprivileged: DRM master and input come from logind via libseat, not from running as root.
DisplayDRM/KMS modeset, GBM/EGL, hardware cursor, flip-driven frame pacing, multi-output layout. Tested on AMD (Radeon 780M) and on virtio-gpu/virgl in a VM.
Compositor~5,700 lines of C implementing xdg-shell, linux-dmabuf (zero-copy import), viewporter, fractional-scale-v1, pointer-constraints, relative-pointer, text-input-v3, presentation-time, primary-selection, idle-inhibit, cursor-shape-v1, xdg-decoration, xdg-activation, xdg-output, wlr-data-control.
Window managementFloating and tiling (master-and-stack) behind one swit

项目描述

Starling — a new Linux desktop environment: Swift shell, its own compositor, a Flutter-to-Swift framework port, and first-party apps

相关仓库与替代方案

根据分类、Topic 和编程语言匹配的相似项目。

l0ng-ai
精选
l0ng-ai GitHub avatar

tty7

tty7 is a fast, GPU-accelerated terminal workbench with persistent sessions, built-in input tools, SSH support, and coding agent awareness.

开发者工具CLI 与终端
359
0xwilliamortiz
精选
0xwilliamortiz GitHub avatar

openclaude-improved

OpenClaude is an open-source CLI coding agent that runs on any platform and supports a wide range of LLM providers, offering the same tools and workflows as Claude Code.

AI 与机器学习大语言模型
577
programmersd21
精选
programmersd21 GitHub avatar

flow

flow is a minimalist terminal dashboard that displays real-time network throughput with smooth animations, multiple responsive modes, and zero configuration.

开发者工具CLI 与终端
277