Проект 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 и покриващи всички негови нужди, с изключение на уеб браузър. В състава на fe2o3 влиза двупанелен файлов мениджър Pointer, команден интерпретатор rush, текстов редактор Scribe, подобен на vim, RSS четец Gazette, имейл клиент и мессенджър Kastrup, календар-планиращ Tock, конфигуратор Crush, прегледник на документи Viewer.


Източник: opennet.ru
