Frame X11 – новий сервер для Linux на асемблері

Frame: Новий X11 сервер для Linux на асемблері

У той час, як більшість розробок для Linux десктопів переходять на Wayland, розробник Geir Isene оголосив про створення Frame, нового X11 сервера для Linux, написаного повністю на асемблері x86-64.

Розробка Frame без X.Org

Сервер створений з нуля і не базується на X.Org. Frame використовує прямі системні виклики Linux, DRM/KMS для виводу на екран, evdev для введення та X11 wire protocol для зв’язку з програмами. Також сервер уникає використання зовнішніх бібліотек, таких як libc, Mesa, Xlib і FreeType, що призводить до статично зв’язаного виконуваного файлу без залежностей під час виконання.

Функціональність Frame

Згідно з даними Isene, Frame наразі містить близько 20,000 рядків коду на асемблері. Незважаючи на те, що проект ще не завершує, розробник використовує його як щоденну робочу станцію. Frame здатний запускати програми, такі як Firefox і GIMP.

Розширене впровадження X11 протоколу

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

Співпраця з CHasm

Проект тісно пов’язаний з CHasm, набором незалежних інструментів для Linux, також написаних на асемблері x86-64. До його складу входять менеджер вікон Tile, емулятор терміналу Glass, базова оболонка, панель стану Strip і блокувальник екрана Bolt. Разом вони забезпечують Isene повноцінну графічну сесію, хоча CHasm не є традиційним робочим середовищем.

Тестування продуктивності Frame

Isene зазначає, що вся колекція містить близько 100,000 рядків асемблерного коду та замінила його попередню конфігурацію, до якої входили GDM, X.Org, i3, Conky, WezTerm і Zsh. Однією з основних цілей Frame є залишатися неактивним, коли немає роботи. У неформальному тестуванні Isene виявив, що споживання електроенергії в бездіяльності у Frame та X.Org подібне, але X.Org використовував майже втричі більше процесорного часу.

Експериментальний статус Frame

Хоча Frame можна використовувати на комп’ютері розробника, він залишається експериментальним. Він підтримує лише x86-64 Linux, покладається на програмну обробку, не має повної реалізації протоколу X11 і ще не був прийнятий дистрибутивами Linux.

Висновок: Frame як технічний експеримент

На даний момент Frame не надає встановлених пакетів або готових до використання сесій для основних дистрибутивів Linux. Проект CHasm в основному представляється як джерело натхнення для користувачів, які зацікавлені в створенні та адаптації мінімальних інструментів. Можна стверджувати, що Frame наразі не є практичною альтернативою X.Org. Він слугує швидше технічним експериментом, що демонструє, що функціональне сучасне X11 середовище може бути створене майже повністю на асемблері.

Детальніше про проект можна дізнатися на офіційному сайті.