← На главную

X-сервер frame на ассемблере от isene: 20 тыс. строк вместо 4 млн

17.07.2026 15:31 · hackernews

Разработчик с ником isene написал собственный X-сервер с нуля на ассемблере. Назвал его frame. Оригинальный X11 весит 4 миллиона строк кода — монстр, которого мало кто понимает. frame — 20 тысяч строк. Никаких зависимостей, библиотек или сборщика мусора. В простое он просто молчит и не тратит ресурсы. Автор уже работает в нём: запускает Firefox и GIMP, печатает этот пост.

Теперь его стек выглядит так: внизу Linux, поверх него frame. Дальше оконный менеджер tile с панелью strip. Внутри tile живёт терминал glass, внутри которого — шелл bare. Экран блокировки Bolt заменил gdm. Всё это на ассемблере. Вместе весь набор CHasm — около 100 тысяч строк. Заменённый стек (gdm, X11, i3, conky, wezterm, zsh) где-то в 50 раз больше.

Автор сделал это ради батареи. В простое на батарейке frame и Xorg потребляют одинаково ватт — разница съедается панелью и Wi-Fi. Но Xorg жрёт почти в три раза больше CPU, пока frame просто стоит на месте. А tile и glass за три минуты измерений не потратили ни миллисекунды. Рабочий стол стоит мёртво, пока его не тронешь.

Вне десктопа у автора набор Rust-утилит Fe₂O₃. Они заменили почти всё остальное. Firefox — единственная программа с GUI, которая осталась. Всё остальное — терминальные интерфейсы с едиными хоткеями, в разы меньше и прожорливее предшественников.

Насколько это стабильно? Автор ежедневно это использует и лишь изредка кричит. Когда что-то ломается или нужна фича, он идёт к Claude и описывает проблему. Claude никогда не устаёт и оказывается хорошим учителем. Разработчик теперь знает о железе, отрисовке курсора, GPU-хендоффах и обработчиках событий больше, чем планировал.

Телефон получил ту же обработку — собственный лаунчер, ежедневную персонализированную подборку новостей и кучу приложений для аудитории из одного человека. Весь код отдан в Public Domain. Программы для масс подходят всем понемногу. Этот стек подходит одному человеку идеально.

Читать оригинал →