Frame Is a New Linux X11 Server Written Entirely in Assembly

Frame is a new dependency-free X11 server for Linux, written entirely from scratch in x86-64 Assembly.

While most Linux desktop development is shifting to Wayland, developer Geir Isene has announced Frame, a new X11 server for Linux written entirely in x86-64 Assembly.

The server is built from scratch and is not based on X.Org. Instead, it uses direct Linux system calls, DRM/KMS for display output, evdev for input, and the X11 wire protocol for communicating with applications. It also avoids external libraries such as libc, Mesa, Xlib, and FreeType, resulting in a statically linked executable with no runtime dependencies.

According to Isene, Frame currently comprises only about 20,000 lines of Assembly code, and although still incomplete, he uses it as his daily desktop and reports it can run applications such as Firefox and GIMP.

Frame implements an expanding subset of the X11 protocol, including window creation, properties, pixmaps, selections, keyboard and pointer input, software composition, and support for extensions such as RANDR, SHAPE, XInput2, and MIT-SHM. Additional features are under development.

Moreover, the project is closely linked to CHasm, a suite of independent Linux tools also written in x86-64 Assembly. These include the Tile window manager, Glass terminal emulator, Bare shell, Strip status bar, and Bolt screen locker. Together, they provide Isene with a complete graphical session, though CHasm is not a traditional desktop environment.

Isene states the entire collection comprises about 100,000 lines of Assembly and replaces his previous setup, which included GDM, X.Org, i3, Conky, WezTerm, and Zsh.

One of Frame’s main goals is to remain inactive when there is no work to perform. In an informal test, Isene found that Frame and X.Org had similar total idle power consumption, but X.Org used almost three times more CPU time. These are developer-provided measurements and should not be treated as independent benchmarks.

Although Frame is usable on the developer’s machine, it remains highly experimental. It supports only x86-64 Linux, relies on software rendering, lacks full X11 protocol implementation, and has not been adopted by Linux distributions.

Currently, Frame does not provide established packages or ready-to-use sessions for major Linux distros. The CHasm project itself is presented mainly as a source of inspiration for users interested in building and adapting minimal tools similarly.

So, it could be said that Frame is not a practical replacement for X.Org at this stage. Instead, it serves more as a technical experiment demonstrating that a functional modern X11 setup can be created almost entirely in Assembly, with direct control over kernel interfaces and minimal software layers.

For additional details, see Isene’s post.

Bobby Borisov

Bobby Borisov

Bobby, an editor-in-chief at Linuxiac, is a Linux professional with over 20 years of experience. With a strong focus on Linux and open-source software, he has worked as a Senior Linux System Administrator, Software Developer, and DevOps Engineer for small and large multinational companies.

Leave a Reply

Your email address will not be published. Required fields are marked *