Frame-projektet utvecklar en ny X-server skriven helt i NASM-assembler för x86_64-arkitekturen och designad för att köras i Linux Inga externa beroenden. Interagerar med kärnan Linux, inklusive DRM/KMS och evdev-gränssnitten, implementeras direkt via systemanrop, utan användning av bibliotek som libc, Mesa och FreeType. Frames kod distribueras i den offentliga domänen. Utvecklingen sker med hjälp av AI-assistenten Claude Code.
Projektets mål är att implementera X11-protokolltillägg som är tillräckliga för CHasm-skrivbordet, utvecklade av samma författare och även skrivna i assembly. Stöd för att köra standard X11-applikationer, inklusive Firefox, VS Code, GIMP och Inkscape, anges som ett minimikrav. X11-tillägg som planeras för implementering inkluderar SHAPE, RENDER, XKB, COMPOSITE, DAMAGE, RANDR, MIT-SHM, XInput2 och XVideo.
Utvecklingen är indelad i 14 steg. Projektet är för närvarande i steg 7, vilket redan inkluderar grundläggande funktioner för att köra en terminal och vissa X11-applikationer. Steg 14 kommer att nås när alla funktioner för fullt Firefox-stöd är implementerade. För närvarande tillkännages det att det kommer att kunna köra det grundläggande CHasm-skrivbordet, GIMP och Firefox (med begränsningar).
Redan implementerade funktioner inkluderar: mottagande av X11-förfrågningar via en Unix-socket, programvarurendering via DRM/KMS-kärnsystemet, indatabehandling via evdev, ett API för indatahantering, stöd för att ansluta flera X11-klienter, funktioner för att skapa och arbeta med fönster, pixmap-operationer, atomära operationer, textval för urklipp och X11-tilläggen SHAPE, RANDR, XKB, XInput2 och MIT-SHM. Vektorrenderingsprimitiver, växling av atomärt videoläge, urklipp, växling av tangentbordslayout, markörkontroll och X11-tilläggen RENDER, DAMAGE och COMPOSITE har ännu inte implementerats.
Skrivbordsmiljön CHasm innehåller ungefär 100 000 rader kod och inkluderar komponenter skrivna i assemblerspråk: fönsterhanteraren Tile, statusfältet Strip, skärmlåset Bolt, det interaktiva skalet Bare och terminalemulatorn Glass. Dessa komponenter ersätts av ett paket bestående av gdm, X11 Server, i3, conky, wezterm och zsh.
Utvecklingen fokuserar på minimal strömförbrukning vid användning på en bärbar dator. I viloläge förbrukar Tile-fönsterhanteraren och Glass-terminalen inga resurser alls och aktiveras endast genom användarinteraktion. Frame använder nästan tre gånger mindre CPU-resurser än X.Org Server i viloläge.
Den Frame- och CHasm-baserade miljön är redan tillräckligt stabil för att projektets författare ska kunna använda den i sitt dagliga arbete. När problem uppstår eller något saknas använder författaren Claude vid behov för att åtgärda eventuella problem. Han utvecklar också en uppsättning kommandoradsverktyg, fe2o3, skrivna i Rust och som täcker alla hans behov förutom en webbläsare. fe2o3 inkluderar filhanteraren Pointer med dubbla fönster, kommandotolken rush, den vim-liknande textredigeraren Scribe, RSS-läsaren Gazette, e-postklienten och messengern Kastrup, kalenderplaneraren Tock, konfigurationsverktyget Crush och dokumentvisaren Viewer.


Källa: opennet.ru
