Frame-prosjektet utvikler en ny X-server skrevet utelukkende i NASM-assembler for x86_64-arkitekturen og designet for å kjøre i Linux Ingen eksterne avhengigheter. Samhandler med kjernen Linux, inkludert DRM/KMS- og evdev-grensesnittene, implementeres direkte via systemkall, uten bruk av biblioteker som libc, Mesa og FreeType. Frames kode distribueres offentlig. Utviklingen utføres ved hjelp av AI-assistenten Claude Code.
Prosjektets mål er å implementere X11-protokollutvidelser som er tilstrekkelige for CHasm-skrivebordet, utviklet av samme forfatter og også skrevet i assembly. Støtte for å kjøre standard X11-applikasjoner, inkludert Firefox, VS Code, GIMP og Inkscape, er oppgitt som et minimumskrav. X11-utvidelser som er planlagt for implementering inkluderer SHAPE, RENDER, XKB, COMPOSITE, DAMAGE, RANDR, MIT-SHM, XInput2 og XVideo.
Utviklingen er delt inn i 14 stadier. Prosjektet er for tiden på stadie 7, som allerede inkluderer grunnleggende funksjoner for å kjøre en terminal og noen X11-applikasjoner. Stadie 14 vil bli nådd når alle funksjoner for full Firefox-støtte er implementert. For øyeblikket er det annonsert at det vil kunne kjøre det grunnleggende CHasm-skrivebordet, GIMP og Firefox (med begrensninger).
Allerede implementerte funksjoner inkluderer: mottak av X11-forespørsler via en Unix-socket, programvaregjengivelse via DRM/KMS-kjernesystemet, inputbehandling via evdev, et API for inputhåndtering, støtte for tilkobling av flere X11-klienter, funksjoner for å opprette og arbeide med vinduer, pikselkartoperasjoner, atomoperasjoner, tekstvalg for utklippstavlen og X11-utvidelsene SHAPE, RANDR, XKB, XInput2 og MIT-SHM. Vektorgjengivelsesprimitiver, atomisk videomodusbytte, utklippstavlen, tastaturoppsettbytte, markørkontroll og X11-utvidelsene RENDER, DAMAGE og COMPOSITE er ennå ikke implementert.
CHasm-skrivebordsmiljøet inneholder omtrent 100 000 linjer med kode og inkluderer komponenter skrevet i assemblerspråk: Tile-vindusbehandleren, Strip-statuslinjen, Bolt-skjermlåsen, det interaktive Bare-skallet og Glass-terminalemulatoren. Disse komponentene er erstattet av en pakke som består av gdm, X11 Server, i3, conky, wezterm og zsh.
Utviklingen fokuserer på minimalt strømforbruk ved bruk på en bærbar PC. I hvilemodus bruker Tile-vindusbehandleren og Glass-terminalen ingen ressurser i det hele tatt og aktiveres kun av brukerinteraksjon. Frame bruker nesten tre ganger mindre CPU-ressurser enn X.Org Server når den er i hvilemodus.
Frame- og CHasm-baserte miljø er allerede stabilt nok til at prosjektets forfatter kan bruke det i sitt daglige arbeid. Når problemer oppstår eller noe mangler, bruker forfatteren Claude etter behov for å fikse eventuelle problemer. Han utvikler også et sett med kommandolinjeverktøy, fe2o3, skrevet i Rust og dekker alle hans behov bortsett fra en nettleser. fe2o3 inkluderer filbehandleren Pointer med to paneler, kommandotolken rush, den vim-lignende teksteditoren Scribe, RSS-leseren Gazette, e-postklienten og messengeren Kastrup, kalenderplanleggeren Tock, konfigurasjonsverktøyet Crush og dokumentviseren Viewer.


Kilde: opennet.ru
