Projekt Frame vyvíjí nový X-server, napsaný kompletně v assembleru NASM pro architekturu x86_64, určený k provozu v Linuxu bez externích závislostí. Interakce s jádrem Linuxu, včetně rozhraní DRM/KMS a evdev, probíhá přímo prostřednictvím systémových volání, bez využití knihoven, jako jsou libc, Mesa a FreeType. Kód Frame je distribuován jako veřejné vlastnictví. Vývoj probíhá za pomoci AI asistenta Claude Code.
Cílem projektu je implementace rozšíření protokolu X11, dostatečných pro fungování pracovní plochy CHasm, kterou vyvíjí tentýž autor a která je také napsaná v assembleru. Jako nezbytné minimum byla uvedena podpora spuštění standardních aplikací X11, mezi které patří Firefox, VS Code, GIMP a Inkscape. Mezi plánovanými X11 rozšířeními jsou zmíněny SHAPE, RENDER, XKB, COMPOSITE, DAMAGE, RANDR, MIT-SHM, XInput2 a XVideo.
Vývoj je rozdělen do 14 fází. V současnosti se projekt nachází na 7. fázi, kde již byly realizovány základní funkcionality pro spuštění terminálu a některých X11 aplikací. 14. fáze bude dosažena, když budou realizovány všechny funkce pro plnohodnotnou práci s Firefoxem. V aktuální fázi je možné spustit základní pracovní plochu CHasm, GIMP a Firefox (s omezeními).
Mezi realizované funkce patří: příjem X11 požadavků přes Unix socket, programové vykreslování přes subsystém jádra DRM/KMS, zpracování vstupu přes evdev, API pro řízení vstupu, podpora připojení několika X11 klientů, funkce pro vytváření a práci s okny, operace s pixelovými mapami, atomové operace, selekce textu pro schránku, X11 rozšíření SHAPE, RANDR, XKB, XInput2 a MIT-SHM. Ještě nebyly implementovány primitivy pro vektorové vykreslování, atomové přepínání video režimu, schránka, přepínání klávesových rozložení, řízení kurzoru, X11 rozšíření RENDER, DAMAGE a COMPOSITE.
Pracovní prostředí CHasm obsahuje přibližně 100 tisíc řádků kódu a zahrnuje komponenty napsané v assembleru: mozaikový správce oken Tile, stavový panel Strip, blokátor obrazovky Bolt, interaktivní shell Bare a emulátor terminálu Glass. Vytvořené komponenty nahrazují kombinaci gdm, X11 Server, i3, conky, wezterm a zsh.
Vývoj se zaměřuje na minimální spotřebu energie při používání na notebooku. V režimu spánku správce oken Tile a terminál Glass téměř nevyužívají žádné zdroje a aktivují se pouze na základě uživatelské akce. Frame v režimu nečinnosti spotřebovává téměř třikrát méně zdrojů CPU než X.Org Server.
Tvrdí se, že prostředí založené na Frame a CHasm je již dostatečně stabilní pro každodenní používání autorem projektu. Když se objeví problémy nebo něco chybí, autor podle potřeby zapojuje Claude a odstraňuje nedostatky. Autor také vyvíjí sadu konzolových utilit fe2o3, napsaných v Rustu, které pokrývají všechny jeho potřeby kromě webového prohlížeče. Mezi utilitami fe2o3 je dvoupanelový správce souborů Pointer, příkazový interpretr rush, textový editor podobný vim Scribe, RSS čtečka Gazette, e-mailový klient a messenger Kastrup, plánovač Tock, konfigurátor Crush a prohlížeč dokumentů Viewer.


Zdroj: opennet.ru
