Frame-projektet udvikler en ny X-server, der er skrevet udelukkende i NASM-assembler til x86_64-arkitekturen og designet til at køre i Linux Ingen eksterne afhængigheder. Interaktion med kernen Linux, inklusive DRM/KMS og evdev-grænsefladerne, implementeres direkte via systemkald uden brug af biblioteker som libc, Mesa og FreeType. Frames kode distribueres i det offentlige domæne. Udviklingen udføres ved hjælp af AI-assistenten Claude Code.
Projektets mål er at implementere X11-protokoludvidelser, der er tilstrækkelige til CHasm-skrivebordet, udviklet af samme forfatter og også skrevet i assembly. Understøttelse af kørsel af standard X11-applikationer, herunder Firefox, VS Code, GIMP og Inkscape, er angivet som et minimumskrav. X11-udvidelser, der er planlagt til implementering, inkluderer SHAPE, RENDER, XKB, COMPOSITE, DAMAGE, RANDR, MIT-SHM, XInput2 og XVideo.
Udviklingen er opdelt i 14 faser. Projektet er i øjeblikket på fase 7, som allerede inkluderer grundlæggende funktioner til at køre en terminal og nogle X11-applikationer. Fase 14 vil blive nået, når alle funktioner til fuld Firefox-understøttelse er implementeret. I øjeblikket er det annonceret, at det vil være i stand til at køre det grundlæggende CHasm-skrivebord, GIMP og Firefox (med begrænsninger).
Allerede implementerede funktioner inkluderer: modtagelse af X11-anmodninger via en Unix-socket, softwaregengivelse via DRM/KMS-kernelsystemet, inputbehandling via evdev, en API til inputhåndtering, understøttelse af tilslutning af flere X11-klienter, funktioner til oprettelse og arbejde med vinduer, pixmap-operationer, atomare operationer, tekstvalg til udklipsholderen og X11-udvidelserne SHAPE, RANDR, XKB, XInput2 og MIT-SHM. Vektorgengivelsesprimitiver, atomisk videotilstandsskift, udklipsholderen, tastaturlayoutskift, markørkontrol og X11-udvidelserne RENDER, DAMAGE og COMPOSITE er endnu ikke implementeret.
CHasm-skrivebordsmiljøet indeholder cirka 100 linjer kode og inkluderer komponenter skrevet i assemblersprog: Tile-vindueshåndteringen, Strip-statuslinjen, Bolt-skærmlåsen, den interaktive Bare-shell og Glass-terminalemulatoren. Disse komponenter erstattes af en pakke bestående af gdm, X11 Server, i3, conky, wezterm og zsh.
Udviklingen fokuserer på minimalt strømforbrug ved brug på en bærbar computer. I inaktiv tilstand bruger Tile-vindueshåndteringen og Glass-terminalen slet ingen ressourcer og aktiveres kun ved brugerinteraktion. Frame bruger næsten tre gange færre CPU-ressourcer end X.Org Server, når den er inaktiv.
Det Frame- og CHasm-baserede miljø er allerede stabilt nok til, at projektets forfatter kan bruge det i sit daglige arbejde. Når der opstår problemer, eller noget mangler, bruger forfatteren Claude efter behov til at løse eventuelle problemer. Han udvikler også et sæt kommandolinjeværktøjer, fe2o3, skrevet i Rust og dækker alle hans behov undtagen en webbrowser. fe2o3 inkluderer Pointer-filhåndteringen med to ruder, rush-kommandofortolkeren, Scribe-teksteditoren, Gazette RSS-læseren, Kastrup e-mailklient og messenger, Tock-kalenderplanlæggeren, Crush-konfigurationsværktøjet og Viewer-dokumentfremviseren.


Kilde: opennet.ru
