Frame – 首个 Linux 汇编 X 服务器
Frame – Linux X server in Assembly

原始链接: https://isene.org/2026/07/Frame.html

由于对 X11 图形系统的复杂和臃肿感到不满,作者着手开发了一个名为“frame”的自定义极简显示服务器。该项目完全由汇编语言编写,代码量仅两万行,取代了包括 Xorg、i3 和终端模拟器在内庞大的传统堆栈,使整个系统规模减少到了约十万行——体积缩小了五十倍。 由此形成的运行在 Linux 内核上的系统堆栈极其高效,不仅在空闲时显著降低了 CPU 占用,还消除了不必要的后台进程。作者称该系统已足够稳定,可满足日常使用需求,并指出在人工智能的辅助下,软件的维护和扩展变得更加容易。通过用一套个性化的工具取代主流图形界面应用,作者实现了对计算环境的完全掌控。该生态系统的每个组件目前均已属于公有领域,比起商业软件“一刀切”的模式,它更优先考虑精确的个人效用。

关于“Frame”——一个由大语言模型(LLM)用 x86 汇编编写的 Linux X 服务器——的 Hacker News 讨论,反映了人们对人工智能辅助底层编程实用性的两极化看法。 **讨论中的关键点包括:** * **AI 汇编悖论:** 一些用户对 LLM 在不使用标准库(libc)的情况下生成复杂且功能性代码的能力印象深刻;但批评者认为,原始汇编语言——尤其是由 AI 生成的——难以维护,且往往不如现代编译器优化后的 C 或 Rust 代码。 * **性能与抽象:** 辩论者探讨了 AI 生成的汇编是否真的“最优”。怀疑论者指出,现代编译器能利用复杂的内联和特定架构优化,这是人工或 AI 编写的汇编往往无法企及的,这可能导致代码运行更慢或可移植性更差。 * **项目理念:** 该项目凸显了一个日益增长的趋势,即从零开始“重构”复杂系统(如 X11)。支持者称赞这种构建方式相比“臃肿”的 400 万行原始代码更加精简;而另一些人则警告称,这种“山寨”实现缺乏对边缘情况的支持、兼容性以及成熟软件所具备的社区维护。 * **作为工具的 AI:** 该讨论串成为了“感觉编程”(vibe-coding)的一个案例研究,即开发者利用 LLM 来跳过繁琐的模板代码。这也引发了争论:这究竟是一种创新飞跃,还是对复杂性的一种误导性追求。
相关文章

原文

Frame

On my quest to own my software, one foundational piece kept itching… the X server. The underlying graphics engine, the thing that puts pixels on the screen. X11 is 4 million lines of code, a beast very few can claim they understand. So I did the reasonable thing. I wrote my own, in Assembly.

It is called frame. No dependencies, no libraries, no garbage collector. No hot paths, no unnecessary wakeups. When it is idle, it sits still. It shuts up unless spoken to. My kind of software. It clocks in at some 20 thousand lines, and it already runs my whole desktop plus Firefox and GIMP whenever I need that. It is still young, and there is a long list of X protocol left to chew through. But it boots, it draws, and I am typing this on it.

So the stack now looks like this: The Linux kernel at the bottom. On top of that, frame. Then the window manager tile with the info bar strip. Inside tile runs the terminal glass, and in glass lives the shell bare. Bolt has been promoted from screen locker to greeter, showing gdm the door. All of it Assembly. All of CHasm together is about 100 thousand lines. The stack it replaced (gdm, X11, i3, conky, wezterm, zsh) is somewhere north of fifty times that. I did it for the battery life. I am not sure this laptop has a fan anymore. Except me.

Today I put numbers on it. Idle on battery, frame and Xorg pull the same watts, because the panel and the wifi own that number anyway. But Xorg burns almost three times the CPU that frame needs to do nothing. And tile and glass used zero milliseconds over three minutes of measuring. The desktop sits completely still until I touch it.

Beyond the desktop I have my Fe₂O₃ suite of Rust tools, which by now has replaced everything else I used to run. Except Firefox. That is the last GUI standing that I regularly use. The rest is terminal interfaces with the same keybindings everywhere, and a fraction of the size and electrical appetite of what they replaced.

Frame screenshot

But is it stable? Stable enough that I daily-drive it, write this post on it, and only occasionally yell. When something breaks or I want a feature, I turn to my buddy Claude and describe the itch. He never gets tired, is not opinionated, and turns out to be a really good teacher. I now know more about hardware layers, cursor painting, GPU handoffs and event watchers than I ever planned to.

The phone got the same treatment, with my own launcher, a daily personalized news digest and a pile of apps tailored for an audience of exactly one.

The upside is simple. I have what I need and want. I control and own the software, and all of it is given to the Public Domain. Software designed for a large audience fits everyone a little. This fits one person exactly.


Link to this post: https://isene.org/2026/07/Frame.html

联系我们 contact @ memedata.com