Projekt Frame vyvíjí nový X server napsaný kompletně v assembleru NASM pro architekturu x86_64 a navržený pro běh v Linux Žádné externí závislosti. Interakce s jádrem. Linux, včetně rozhraní DRM/KMS a evdev, je implementován přímo prostřednictvím systémových volání, bez použití knihoven jako libc, Mesa a FreeType. Kód Frame je distribuován ve veřejné doméně. Vývoj probíhá s pomocí asistenta umělé inteligence Clauda Code.
Cílem projektu je implementovat rozšíření protokolu X11 postačující pro desktop CHasm, vyvinutá stejným autorem a napsaná také v assemblerovém jazyce. Jako minimální požadavek je uvedena podpora pro spouštění standardních aplikací X11, včetně Firefoxu, VS Code, GIMPu a Inkscape. Mezi plánovaná rozšíření X11 k implementaci patří SHAPE, RENDER, XKB, COMPOSITE, DAMAGE, RANDR, MIT-SHM, XInput2 a XVideo.
Vývoj je rozdělen do 14 fází. Projekt se aktuálně nachází ve fázi 7, která již zahrnuje základní funkce pro spuštění terminálu a některých aplikací X11. Fáze 14 bude dosažena, až budou implementovány všechny funkce pro plnou podporu Firefoxu. Aktuálně je oznámeno, že bude možné spustit základní desktop CHasm, GIMP a Firefox (s omezeními).
Mezi již implementované funkce patří: příjem požadavků X11 přes Unixový socket, softwarové vykreslování pomocí subsystému jádra DRM/KMS, zpracování vstupu pomocí evdev, API pro správu vstupu, podpora pro připojení více klientů X11, funkce pro vytváření a práci s okny, operace s pixmapami, atomické operace, výběr textu pro schránku a rozšíření X11 SHAPE, RANDR, XKB, XInput2 a MIT-SHM. Vektorové vykreslovací primitiva, atomické přepínání režimu videa, schránka, přepínání rozložení klávesnice, ovládání kurzoru a rozšíření X11 RENDER, DAMAGE a COMPOSITE dosud nebyly implementovány.
Pracovní prostředí CHasm obsahuje přibližně 100 000 řádků kódu a zahrnuje komponenty napsané v assemblerovém jazyce: správce oken Tile, stavový řádek Strip, uzamykatelnou obrazovku Bolt, interaktivní shell Bare a emulátor terminálu Glass. Tyto komponenty jsou nahrazeny balíčkem sestávajícím z gdm, X11 Server, i3, conky, wezterm a zsh.
Vývoj je zaměřen na minimální spotřebu energie při použití na notebooku. V klidovém režimu správce oken Tile a terminál Glass nespotřebovávají vůbec žádné zdroje a aktivují se pouze interakcí uživatele. Frame v klidovém stavu spotřebovává téměř třikrát méně zdrojů CPU než X.Org Server.
Prostředí založené na Frame a CHasm je již dostatečně stabilní, aby ho autor projektu mohl používat ve své každodenní práci. Když se objeví problémy nebo něco chybí, autor v případě potřeby použije Claude k opravě jakýchkoli problémů. Vyvíjí také sadu utilit příkazového řádku fe2o3, napsaných v Rustu, které pokrývají všechny jeho potřeby kromě webového prohlížeče. fe2o3 zahrnuje správce souborů Pointer s dvěma panely, interpret příkazů rush, textový editor Scribe podobný vimu, čtečku RSS kanálů Gazette, e-mailového klienta a messenger Kastrup, plánovač kalendářů Tock, konfigurační nástroj Crush a prohlížeč dokumentů Viewer.


Zdroj: opennet.ru
