Hacker News 中文摘要

RSS订阅

Frame – 用汇编语言编写的Linux X服务器 -- Frame – Linux X server in Assembly

文章摘要

作者用汇编语言编写了名为Frame的Linux X服务器,仅2万行代码,无依赖无垃圾回收,已能运行桌面、Firefox和GIMP。其软件栈从Linux内核到Frame、窗口管理器tile、终端glass和shell bare,实现了完全自主掌控。

文章总结

标题:Frame——首个Linux汇编语言X服务器

在追求“拥有自己的软件”的过程中,一个基础组件始终让我耿耿于怀——X服务器。这个底层图形引擎负责在屏幕上绘制像素,而X11拥有400万行代码,几乎无人能完全理解。于是,我做了件合理的事:用汇编语言自己写了一个。

这个项目名为Frame,无依赖、无库、无垃圾回收器,没有热路径,也没有不必要的唤醒。空闲时它完全静止,除非被调用,否则保持沉默。这正是我喜欢的软件风格。它大约有2万行代码,已经能运行我的整个桌面,包括Firefox和GIMP(需要时)。虽然还很年轻,还有大量X协议需要实现,但它能启动、能绘图,我现在正用它打字。

现在的软件栈是这样的:最底层是Linux内核,之上是Frame,然后是窗口管理器tile和信息栏strip。tile中运行着终端glass,glass里运行着shell bare。Bolt从屏幕锁升级为登录管理器,取代了gdm。所有这些都是汇编语言编写的,整个CHasm项目约10万行代码。而被取代的软件栈(gdm、X11、i3、conky、wezterm、zsh)代码量是它的50倍以上。我这么做是为了电池续航——现在这台笔记本的风扇似乎都不转了,除了我本人。

今天我对它进行了测试。在电池供电且空闲状态下,Frame和Xorg的功耗相同(因为面板和WiFi才是耗电大户),但Xorg的CPU占用率几乎是Frame的三倍。而tile和glass在三分钟的测量中CPU占用为零。桌面完全静止,直到我触碰它。

除了桌面,我还有一套Rust工具Fe₂O₃套件,它已经取代了我过去使用的所有其他工具,除了Firefox——那是我唯一还在日常使用的图形界面程序。其余都是终端界面,所有地方使用相同的快捷键,体积和耗电量都只有被取代软件的一小部分。

它稳定吗?足够稳定,我每天都在使用它,用它写这篇文章,只是偶尔会吼两声。当遇到问题或需要新功能时,我会找我的伙伴Claude,描述需求。他从不疲倦,没有偏见,而且是个很好的老师。我现在对硬件层、光标绘制、GPU交接和事件监听器的了解远超预期。

手机也经历了同样的改造,我用自己的启动器、每日个性化新闻摘要和一系列只为一个人定制的应用。

好处很简单:我拥有自己需要和想要的一切。我控制并拥有这些软件,所有代码都贡献给公共领域。为大众设计的软件适合每个人一点点,而这一套软件恰好适合一个人——我。

评论总结

根据评论内容,总结主要观点及论据如下:

1. 对项目技术成就的赞赏(高认可度) - 评论者认为项目展示了作者对操作系统和X11的深刻理解,并成功用Rust重写核心功能(mintflow: "this is impressive, even with claude i think the guy have enough deep understanding of the OS") - 认为用LLM创造完美工具是LLM的最佳用途,实现无依赖和更好性能(NetOpWibby: "Using LLMs to create perfect tools for yourself is my favorite thing about them. No dependencies and better performance? Fantastic.")

2. 对AI生成汇编代码的质疑(中等认可度) - 批评者认为直接让AI生成汇编代码效率低下,不如使用宏汇编器或编译器(adrian_b: "If someone had written this program manually, the strategy would have been very different. With a good macro-assembler... one should define a great number of macros") - 有评论者指出"我写了"的说法已失去意义,实际是AI写的(bogwog: "I see the growing trend of words losing all meaning is still going strong in 2026")

3. 对Linux电源优化的讨论(中等认可度) - 评论者质疑Linux在电池设备上的优化效果,认为虽有调整空间但实际效果有限(system7rocks: "I've never quite found that Linux is more optimized on battery-powered machines for energy savings") - 但认为该项目的方法可能带来改善("this does seem like an approach that might produce that kind of fruit?")

4. 对LLM优化硬件的期待(中等认可度) - 评论者认为LLM可能比编译器更好地榨取硬件性能(dlojudice: "will LLMs manage to squeeze the most out of this hardware, better than compilers do? In the few tests I've run, yes, a lot.") - 认为廉价代码生成可能改变软件生态(spikk: "I wonder if very cheap code generation will make software monocultures less relevant here")

5. 其他技术讨论(低认可度) - 有评论者提到类似项目(如Ruby实现的X11服务器、X11Libre项目) - 对AI生成图片的质疑(Tiberium: "Was there a reason to add an AI-generated image to the top of the article?") - 对项目能否运行Doom的调侃(out-of-ideas: "can it run Doom?")