Логотип

Frame — новый X11-сервер для Linux, полностью написанный на ассемблере

Frame — новый X11-сервер для Linux, полностью написанный на ассемблере

Frame — это новый X11-сервер для Linux, не требующий зависимостей, полностью написанный с нуля на ассемблере x86-64.

В то время как большинство разработчиков настольных компьютеров на Linux переходят на Wayland, разработчик Гейр Исене анонсировал Frame — новый сервер X11 для Linux, полностью написанный на ассемблере x86-64.

Сервер создан с нуля и не основан на X.Org. Вместо этого он использует прямые системные вызовы Linux, DRM/KMS для вывода на дисплей, evdev для ввода и сетевой протокол X11 для взаимодействия с приложениями. Кроме того, он не использует внешние библиотеки, такие как libc, Mesa, Xlib и FreeType, что позволяет создать статически связанный исполняемый файл без зависимостей во время выполнения.

По словам Изене, Frame на данный момент содержит всего около 20 000 строк кода на ассемблере. Несмотря на то, что проект ещё не завершён, Изене использует его в качестве повседневного рабочего стола и сообщает, что на нём можно запускать такие приложения, как Firefox и GIMP.

Frame реализует расширяющееся подмножество протокола X11, включая создание окон, работу со свойствами, растровыми изображениями, выборками, вводом с клавиатуры и мыши, программную композицию и поддержку таких расширений, как RANDR, SHAPE, XInput2 и MIT-SHM. Дополнительные функции находятся в разработке.

Кроме того, проект тесно связан с CHasm, набором независимых инструментов для Linux, также написанных на ассемблере x86-64. В их число входят оконный менеджер Tile, эмулятор терминала Glass, Bare shell, Strip status bar и Bolt screen locker. Вместе они обеспечивают Isene полноценным графическим интерфейсом, хотя CHasm не является традиционной средой рабочего стола.

Айзен утверждает, что вся коллекция состоит примерно из 100 000 строк кода на языке ассемблера и заменяет его предыдущую конфигурацию, в которую входили GDM, X.Org, i3, Conky, WezTerm и Zsh.

Одна из главных целей Frame — оставаться неактивным, когда нет работы для процессора. В ходе неофициального тестирования Айзен обнаружил, что Frame и X.Org потребляют примерно одинаковое количество энергии в режиме ожидания, но X.Org использует почти в три раза больше процессорного времени. Эти показатели предоставлены разработчиками и не должны рассматриваться как независимые ориентиры.

Несмотря на то, что Frame можно использовать на компьютере разработчика, он все еще находится на стадии эксперимента. Он поддерживает только x86-64 Linux, использует программный рендеринг, не имеет полной реализации протокола X11 и не используется в дистрибутивах Linux.

В настоящее время Frame не предоставляет готовых пакетов или сессий для основных дистрибутивов Linux. Сам проект CHasm представлен в основном как источник вдохновения для пользователей, заинтересованных в создании и адаптации аналогичных минималистичных инструментов.

Таким образом, можно сказать, что на данном этапе Frame не является практичной заменой X.Org. Скорее, это технический эксперимент, демонстрирующий, что функциональную современную систему X11 можно создать почти полностью на языке ассемблера, с прямым контролем над интерфейсами ядра и минимальным количеством программных уровней.

Редактор: Анастасия

Рейтинг: 5 (1 голос)
Если статья понравилась, то поделитесь ей в социальных сетях:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

двадцать − восемь =

Это может быть вам интересно


Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала