Projekt Frame razvija nov strežnik X, ki je v celoti napisan v zbirniku NASM za arhitekturo x86_64 in zasnovan za delovanje v Linux Brez zunanjih odvisnosti. Interakcija z jedrom. Linux, vključno z vmesnikoma DRM/KMS in evdev, je implementiran neposredno prek sistemskih klicev, brez uporabe knjižnic, kot so libc, Mesa in FreeType. Koda Framea je javno dostopna. Razvoj poteka s pomočjo asistenta za umetno inteligenco Clauda Codea.
Cilj projekta je implementirati razširitve protokola X11, ki so zadostne za namizje CHasm, razvite s strani istega avtorja in napisane v zbirnem jeziku. Kot minimalna zahteva je navedena podpora za zagon standardnih aplikacij X11, vključno z Firefoxom, VS Code, GIMP in Inkscapeom. Razširitve X11, ki so načrtovane za implementacijo, vključujejo SHAPE, RENDER, XKB, COMPOSITE, DAMAGE, RANDR, MIT-SHM, XInput2 in XVideo.
Razvoj je razdeljen na 14 faz. Projekt je trenutno v 7. fazi, ki že vključuje osnovne zmogljivosti za zagon terminala in nekaterih aplikacij X11. 14. faza bo dosežena, ko bodo implementirane vse zmogljivosti za polno podporo za Firefox. Trenutno je napovedano, da bo mogoče zagnati osnovno namizje CHasm, GIMP in Firefox (z omejitvami).
Med že implementirane funkcije spadajo: prejemanje zahtev X11 prek Unix vtičnice, programsko upodabljanje prek podsistema jedra DRM/KMS, obdelava vhodnih podatkov prek evdev, API za upravljanje vhodnih podatkov, podpora za povezovanje več odjemalcev X11, funkcije za ustvarjanje in delo z okni, operacije s pixmap, atomske operacije, izbiranje besedila za odložišče in razširitve X11 SHAPE, RANDR, XKB, XInput2 in MIT-SHM. Primitivi za vektorsko upodabljanje, preklapljanje atomskega načina videa, odložišče, preklapljanje postavitve tipkovnice, nadzor kurzorja in razširitve X11 RENDER, DAMAGE in COMPOSITE še niso bile implementirane.
Namizno okolje CHasm vsebuje približno 100 vrstic kode in vključuje komponente, napisane v zbirnem jeziku: upravitelj oken Tile, vrstico stanja Strip, zaklep zaslona Bolt, interaktivno lupino Bare in emulator terminala Glass. Te komponente nadomešča paket, ki ga sestavljajo gdm, X11 Server, i3, conky, wezterm in zsh.
Razvoj je osredotočen na minimalno porabo energije pri uporabi na prenosnem računalniku. V stanju mirovanja upravitelj oken Tile in terminal Glass sploh ne porabljata virov in se aktivirata le z interakcijo uporabnika. Frame v stanju mirovanja porabi skoraj trikrat manj virov procesorja kot strežnik X.Org.
Okolje, ki temelji na Frame in CHasm, je že dovolj stabilno, da ga avtor projekta lahko uporablja pri svojem vsakodnevnem delu. Ko se pojavijo težave ali kaj manjka, avtor po potrebi uporabi Claudea za odpravo morebitnih težav. Razvija tudi nabor pripomočkov ukazne vrstice fe2o3, napisanih v Rustu, ki pokrivajo vse njegove potrebe razen spletnega brskalnika. fe2o3 vključuje upravitelja datotek z dvema oknoma Pointer, interpreter ukazov rush, urejevalnik besedil Scribe, podoben vimu, bralnik RSS Gazette, e-poštni odjemalec in program za sporočanje Kastrup, načrtovalec koledarja Tock, orodje za konfiguracijo Crush in pregledovalnik dokumentov Viewer.


Vir: opennet.ru
