Проект Frame розвиває новий X-сервер, написаний повністю на асемблері NASM для архітектури x86_64 і призначений для роботи в Linux без зовнішніх залежностей. Взаємодія з ядром Linux, включаючи інтерфейси DRM/KMS та evdev, здійснюється безпосередньо через системні виклики, без залучення бібліотек, таких як libc, Mesa та FreeType. Код Frame розповсюджується як суспільне надбання. Розробка ведеться із залученням AI-помічника Claude Code.
Метою проекту є реалізація розширень протоколу X11, достатніх для функціонування робочого столу CHasm, що розвивається тим самим автором і написаного на асемблері. Як необхідний мінімум заявлена підтримка запуску типових X11-додатків, серед яких Firefox, VS Code, GIMP та Inkscape. З намічених до реалізації X11-розширень згадані SHAPE, RENDER, XKB, COMPOSITE, DAMAGE, RANDR, MIT-SHM, XInput2 та XVideo.
Розробка поділена на 14 стадій. В даний час проект знаходиться на 7 стадії, де вже реалізовані базові можливості для запуску терміналу і деяких X11 додатків. 14 стадія буде досягнута, коли буде реалізовано всі можливості для повноцінної роботи з Firefox. На поточному етапі заявлено про можливість запуску базового робочого столу CHasm, GIMP та Firefox (з обмеженнями).
Серед уже реалізованих можливостей: прийом X11-запитів через Unix-сокет, програмне відображення через підсистему ядра DRM/KMS, обробка введення через evdev, API для управління введенням, підтримка підключення кількох X11-клієнтів, функції для створення та роботи з вікнами, операції з піксельними картами, текст X11-розширення SHAPE, RANDR, XKB, XInput2 та MIT-SHM. Ще не реалізовані примітиви векторного відтворення, атомарне перемикання відеорежиму, буфер обміну, перемикання розкладки клавіатури, керування курсором, X11-розширення RENDER, DAMAGE та COMPOSITE.
Середовище робочого столу CHasm налічує близько 100 тисяч рядків коду та включає написані на асемблері компоненти: мозаїчний віконний менеджер Tile, панель стану Strip, блокувальник екрану Bolt, інтерактивна оболонка Bare та емулятор терміналу Glass. Розроблені компоненти замінюються зв'язуванням з gdm, X11 Server, i3, conky, wezterm і zsh.
Розробка ведеться з огляду на мінімальне споживання енергії під час використання на ноутбуці. У режимі очікування віконний менеджер Tile та термінал Glass зовсім не споживають ресурси та активуються лише при дії користувача. Frame в режимі простою витрачає майже втричі менше ресурсів CPU, ніж X.Org Server.
Стверджується, що оточення на базі Frame та CHasm вже досить стабільне для використання у повсякденній роботі автора проекту. Коли виникають проблеми або чогось не вистачає, автор при необхідності залучає Claude та усуває недоробки. Автор також розвиває набір консольних утиліт fe2o3, написаних на Rust та покривають усі його потреби, окрім web-браузера. До складу fe2o3 входить двопанельний файловий менеджер Pointer, командний інтерпретатор rush, vim-подібний текстовий редактор Scribe, RSS-рідер Gazette, поштовий клієнт та месенджер Kastrup, календар-планувальник Tock, конфігуратор Crush, переглядач документів Viewer.


Джерело: opennet.ru
