Zaprezentowano serwer X Frame oraz środowisko CHasm, napisane w assemblerze

Projekt Frame rozwija nowy serwer X, napisany całkowicie w assemblerze NASM dla architektury x86_64 i zaprojektowany do pracy w systemie Linux bez zewnętrznych zależności. Interakcja z jądrem Linux, w tym interfejsy DRM/KMS i evdev, odbywa się bezpośrednio przez wywołania systemowe, bez użycia bibliotek, takich jak libc, Mesa i FreeType. Kod Frame jest udostępniany jako własność publiczna. Rozwój prowadzi AI-asystent Claude Code.

Celem projektu jest wdrożenie rozszerzeń protokołu X11, wystarczających do działania pulpitu CHasm, rozwijanego przez tego samego autora, również napisanego w assemblerze. Jako minimalny wymóg zadeklarowano wsparcie dla uruchamiania standardowych aplikacji X11, w tym Firefox, VS Code, GIMP i Inkscape. Wśród planowanych do wdrożenia rozszerzeń X11 wymieniono SHAPE, RENDER, XKB, COMPOSITE, DAMAGE, RANDR, MIT-SHM, XInput2 i XVideo.

Rozwój podzielony jest na 14 etapów. Obecnie projekt znajduje się na 7 etapie, na którym wdrożono podstawowe możliwości do uruchomienia terminala oraz niektórych aplikacji X11. Etap 14 zostanie osiągnięty, gdy wszystkie funkcje do pełnej pracy z Firefoxem będą zaimplementowane. Na obecnym etapie ogłoszono możliwość uruchomienia podstawowego pulpitu CHasm, GIMP i Firefox (z ograniczeniami).

Wśród już zaimplementowanych możliwości znajduje się: odbiór żądań X11 przez gniazdo Unix, programowe renderowanie przez podsystem jądra DRM/KMS, przetwarzanie wejścia przez evdev, interfejs API do zarządzania wejściem, wsparcie dla podłączenia wielu klientów X11, funkcje do tworzenia i zarządzania oknami, operacje na mapach pikseli, operacje atomowe, zaznaczanie tekstu do schowka, rozszerzenia X11 SHAPE, RANDR, XKB, XInput2 oraz MIT-SHM. Jeszcze nie wdrożono prymitywów rysowania wektorowego, atomowego przełączania trybu wideo, schowka, przełączania układów klawiatury, zarządzania kursorem oraz rozszerzeń X11 RENDER, DAMAGE i COMPOSITE.

Desktop CHasm zawiera około 100 tysięcy linii kodu i obejmuje komponenty napisane w assemblerze: mozaikowy menedżer okien Tile, pasek stanu Strip, blokada ekranu Bolt, interaktywna powłoka Bare oraz emulator terminala Glass. Opracowane komponenty zastępują zestaw gdm, X11 Server, i3, conky, wezterm i zsh.

Rozwój odbywa się z myślą o minimalnym zużyciu energii przy użyciu na laptopie. W trybie uśpienia menedżer okien Tile i terminal Glass w ogóle nie zużywają zasobów i aktywują się tylko w odpowiedzi na działania użytkownika. Frame w trybie bezczynności zużywa prawie trzy razy mniej zasobów CPU niż X.Org Server.

Środowisko oparte na Frame i CHasm jest już wystarczająco stabilne do codziennego użytkowania przez autora projektu. Gdy pojawiają się problemy lub czegoś brakuje, autor w miarę potrzeb angażuje Claude'a i usuwa niedociągnięcia. Autor rozwija również zestaw narzędzi konsolowych fe2o3, napisanych w Rust, które zaspokajają wszystkie jego potrzeby, oprócz przeglądarki internetowej. Zestaw fe2o3 obejmuje dwupanelowy menedżer plików Pointer, interpreter poleceń rush, edytor tekstu podobny do vim-a Scribe, czytnik RSS Gazette, klienta poczty i komunikator Kastrup, kalendarz i planner Tock, konfigurator Crush oraz przeglądarkę dokumentów Viewer.



Źródło: opennet.ru
Kup solidny hosting dla stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting dla stron z ochroną przed DDoS, serwery VPS VDS | ProHoster