В то время как основная разработка графического стека в Linux смещается в сторону Wayland, разработчик Geir Isene представил Frame — новый X11-сервер, написанный целиком на ассемблере x86-64.
Сервер создан с нуля и не базируется на X.Org. Вместо этого он использует прямые системные вызовы Linux, DRM/KMS для отображения, evdev для ввода и протокол X11 для связи с приложениями. Проект также обходится без внешних библиотек вроде libc, Mesa, Xlib и FreeType, благодаря чему на выходе получается статически скомпонованный исполняемый файл без каких-либо зависимостей времени выполнения.
По словам Isene, на данный момент Frame насчитывает всего около 20 000 строк ассемблерного кода. Сервер ещё не завершён, но автор уже использует его в качестве повседневного рабочего окружения и сообщает, что он способен запускать такие приложения, как Firefox и GIMP.
Frame реализует расширяемое подмножество протокола X11, включая создание окон, свойства, пиксмапы, выделения, ввод с клавиатуры и мыши, программную композицию, а также поддержку расширений RANDR, SHAPE, XInput2 и MIT-SHM. Дополнительные возможности находятся в разработке.
Проект тесно связан с CHasm — набором независимых инструментов для Linux, также написанных на ассемблере x86-64. В него входят оконный менеджер Tile, эмулятор терминала Glass, оболочка Bare, панель состояния Strip и экран блокировки Bolt. Вместе они обеспечивают Isene полноценную графическую сессию, хотя сам CHasm не является традиционным окружением рабочего стола.
Isene утверждает, что вся коллекция состоит примерно из 100 000 строк ассемблерного кода и заменила его предыдущую связку, включавшую GDM, X.Org, i3, Conky, WezTerm и Zsh.
Одна из главных целей Frame — простаивать, когда нет работы. В неформальном тесте Isene обнаружил, что общее энергопотребление в простое у Frame и X.Org было сопоставимым, однако X.Org тратил почти в три раза больше процессорного времени. Это измерения самого разработчика, и их не стоит считать независимыми бенчмарками.
Хотя Frame пригоден для использования на машине автора, проект остаётся крайне экспериментальным. Он поддерживает только Linux на архитектуре x86-64, полагается на программный рендеринг, не реализует весь протокол X11 и ещё не подхвачен дистрибутивами.
На данный момент Frame не предлагает готовых пакетов или преднастроенных сессий для основных дистрибутивов Linux. Сам проект CHasm преподносится прежде всего как источник вдохновения для тех, кто хочет создавать и адаптировать минималистичные инструменты подобным образом.
Таким образом, на текущем этапе Frame вряд ли можно считать практичной заменой X.Org. Скорее, это технический эксперимент, демонстрирующий, что работоспособную современную графическую подсистему на X11 реально построить практически целиком на ассемблере, напрямую управляя интерфейсами ядра и сводя к минимуму программные прослойки.
Дополнительные подробности доступны в публикации Isene.




Пока нет комментариев. Будьте первым!