A Frame projekt egy új X szervert fejleszt, amely teljes egészében NASM assemblerben íródott, x86_64 architektúrára, és úgy van tervezve, hogy a következő környezetben futhasson: Linux Nincsenek külső függőségek. Interakció a kernellel. LinuxA , beleértve a DRM/KMS és evdev interfészeket is, közvetlenül rendszerhívásokon keresztül valósul meg, olyan könyvtárak használata nélkül, mint a libc, a Mesa és a FreeType. A Frame kódja nyilvánosan elosztott. A fejlesztést Claude Code mesterséges intelligencia asszisztens segítségével végzik.
A projekt célja, hogy olyan X11 protokollbővítményeket valósítson meg, amelyek elegendőek a CHasm asztali környezethez, és amelyeket ugyanaz a szerző fejlesztett, és szintén assembly nyelven írtak. Minimumkövetelményként a szabványos X11 alkalmazások, beleértve a Firefoxot, a VS Code-ot, a GIMP-et és az Inkscape-et, futtatásának támogatása szerepel. A tervezett X11 kiterjesztések közé tartozik a SHAPE, RENDER, XKB, COMPOSITE, DAMAGE, RANDR, MIT-SHM, XInput2 és XVideo.
A fejlesztés 14 szakaszra oszlik. A projekt jelenleg a 7. szakaszban tart, amely már magában foglalja a terminál és néhány X11 alkalmazás futtatásának alapvető képességeit. A 14. szakasz akkor lesz elérhető, amikor a teljes Firefox-támogatáshoz szükséges összes képesség implementálva lesz. Jelenleg bejelentették, hogy képes lesz futtatni az alapvető CHasm asztali környezetet, a GIMP-et és a Firefoxot (korlátozásokkal).
A már implementált funkciók közé tartozik: X11 kérések fogadása Unix socketen keresztül, szoftveres renderelés DRM/KMS kernel alrendszeren keresztül, bemeneti feldolgozás evdev-n keresztül, API bemenetkezeléshez, több X11 kliens csatlakoztatásának támogatása, függvények ablakok létrehozásához és használatához, pixelmap műveletek, atomi műveletek, szövegkijelölés a vágólapra, valamint az X11 kiterjesztések: SHAPE, RANDR, XKB, XInput2 és MIT-SHM. A vektoros renderelési primitívek, az atomi videó mód váltása, a vágólap, a billentyűzetkiosztás váltása, a kurzorvezérlés, valamint az X11 kiterjesztések: RENDER, DAMAGE és COMPOSITE még nem kerültek implementálásra.
A CHasm asztali környezet körülbelül 100 000 sornyi kódot tartalmaz, és assembly nyelven írt komponenseket foglal magában: a Tile ablakkezelőt, a Strip állapotsort, a Bolt képernyőzárolót, a Bare interaktív shellt és a Glass terminálemulátort. Ezeket a komponenseket egy csomag váltja fel, amely a gdm, az X11 Server, az i3, a conky, a wezterm és a zsh csomagokból áll.
A fejlesztés a minimális energiafogyasztásra összpontosít laptopon történő használat esetén. Üresjárati módban a Tile ablakkezelő és a Glass terminál egyáltalán nem fogyaszt erőforrásokat, és csak felhasználói interakcióra aktiválódnak. Üresjárati állapotban a Frame majdnem háromszor kevesebb CPU-erőforrást használ, mint az X.Org Server.
A Frame és CHasm alapú környezet már elég stabil ahhoz, hogy a projekt szerzője a mindennapi munkájában használhassa. Amikor problémák merülnek fel, vagy valami hiányzik, a szerző szükség szerint Claude-ot használja a hibák kijavítására. Emellett egy Rust nyelven írt parancssori segédprogramcsomagot is fejleszt, a fe2o3-at, amely minden igényét kielégíti, kivéve egy webböngészőt. A fe2o3 tartalmazza a Pointer kétpaneles fájlkezelőt, a Rush parancsértelmezőt, a Scribe vim-szerű szövegszerkesztőt, a Gazette RSS-olvasót, a Kastrup e-mail klienst és üzenetküldőt, a Tock naptártervezőt, a Crush konfigurációs eszközt és a Viewer dokumentummegjelenítőt.


Forrás: opennet.ru
