Представени са X-сървър Frame и работен плот CHasm, написани на асемблер

Проект Frame разработва нов X-сервер, написан изцяло на assembler NASM за архитектура x86_64 и предназначен за работа в Linux без външни зависимости. Взаимодействието с ядрото на Linux, включително интерфейсите DRM/KMS и evdev, се осъществява директно чрез системни повиквания, без привличане на библиотеки, като libc, Mesa и FreeType. Кодът на Frame се разпространява като обществено достояние. Разработването се извършва с участието на AI-асистента Claude Code.

Целта на проекта е реализирането на разширения на протокола X11, достатъчни за функционирането на работния плот CHasm, разработван от същия автор и също написан на assembler. Като необходим минимум е заявена поддръжката на стартиране на стандартни 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 хиляди реда код и включва написани на assembler компоненти: мозаечен прозоречен мениджър 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, текстовият редактор, подобен на vim, Scribe, RSS четците Gazette, имейл клиентът и месинджърът Kastrup, календарът Tock, конфигураторът Crush, документалният преглеждач Viewer.



Източник: opennet.ru
Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster