In a bold move toward ultimate minimalism, developer Geir Isene has created Frame — the first X11 server for Linux written entirely in assembly language.
The X server is one of those foundational pieces that most of us take for granted. It’s big, complex, and full of decades of legacy code. But what if someone decided to rebuild it from scratch — in pure assembly language — for maximum efficiency and minimalism?
Enter Frame, the first Linux X server written entirely in x86_64 NASM assembly. No libc, no Mesa, no FreeType, no external dependencies. Just direct system calls to the kernel via DRM/KMS for graphics and evdev for input.
The author, Geir Isene, is on a mission to “own his software” completely. The standard X.Org Server weighs in at around 4 million lines of code. And Frame is roughly 20,000–25,000 lines of clean assembly. It’s part of his larger CHasm (CHange to ASM) desktop environment, which totals about 100,000 lines across all components.
The goal is simple. Extreme efficiency, especially on laptops. No unnecessary wakeups, no hot paths, and near-zero resource usage when idle. According to the project, Frame uses almost three times less CPU than X.Org in idle mode, while the accompanying window manager and terminal consume literally zero resources until you interact with them. Perfect for battery life on the go.
Project state
Frame is still in active development (currently around stage 7 of 14 planned stages), but it’s already daily-driver material for the author:
- Runs the full CHasm desktop stack: Tile (window manager), Strip (status bar), Glass (terminal emulator), and Bare (shell).
- Supports basic X11 clients, including Firefox (with some limitations) and GIMP.
- Implemented X11 extensions: SHAPE, RANDR, XKB, XInput2, MIT-SHM.
- Direct kernel interaction for rendering, input, multi-client support, windows, pixmaps, clipboard selection, and more.
- Public domain code, hosted on GitHub: isene/frame.
Still on the todo list: full vector rendering (RENDER), DAMAGE, COMPOSITE, advanced video modes, and complete support for more complex apps.
The CHasm stack replaces the traditional gdm + X11 + i3 + conky + wezterm + zsh combo with something dramatically lighter. And outside the GUI, Geir uses his fe2o3 suite (written in Rust) for file management, editing, email, RSS, and more — keeping everything keyboard-driven and consistent.
Development with AI Assistance
Interestingly, much of the heavy lifting was done with help from Claude (Anthropic’s AI coding assistant). The author mentions turning to it whenever something breaks or a new feature is needed. It’s a great example of how modern AI tools can help tackle ambitious low-level projects that would otherwise be extremely time-intensive.
Wrapping up
While desktops are getting heavier with Wayland, compositors, and electron apps, projects like Frame and CHasm are really brings core engineering. They remind us that Linux gives us the freedom to go radically minimal if we want to.
It’s not about replacing X.Org for everyone — that’s impractical for most users needing broad application compatibility. But for those who value control, efficiency, and understanding every layer of their system, this is inspiring stuff.
If you’re into low-level systems, assembly, or just curious about extreme minimalism, check out the project:
- Main announcement: isene.org/2026/07/Frame.html
- GitHub: github.com/isene/frame
- CHasm overview: isene.org/chasm
What do you think? Would you ever run a full assembly-based desktop? Or is this peak “not for production but cool as hell”? Drop your thoughts in the comments.
Cheers.