Projekt Frame razvija novi X poslužitelj napisan u cijelosti u NASM asembleru za x86_64 arhitekturu i dizajniran za rad u Linux Nema vanjskih ovisnosti. Interakcija s kernelom Linux, uključujući DRM/KMS i evdev sučelja, implementira se izravno putem sistemskih poziva, bez korištenja biblioteka kao što su libc, Mesa i FreeType. Frameov kod distribuira se u javnoj domeni. Razvoj se provodi uz pomoć AI asistenta Claudea Codea.
Cilj projekta je implementirati proširenja X11 protokola dovoljna za CHasm desktop, koje je razvio isti autor i također su napisana u asemblerskom jeziku. Podrška za pokretanje standardnih X11 aplikacija, uključujući Firefox, VS Code, GIMP i Inkscape, navedena je kao minimalni zahtjev. Planirana proširenja X11 za implementaciju uključuju SHAPE, RENDER, XKB, COMPOSITE, DAMAGE, RANDR, MIT-SHM, XInput2 i XVideo.
Razvoj je podijeljen u 14 faza. Projekt je trenutno u 7. fazi, koja već uključuje osnovne mogućnosti za pokretanje terminala i nekih X11 aplikacija. 14. faza bit će dostignuta kada se implementiraju sve mogućnosti za punu podršku za Firefox. Trenutno je najavljeno da će se moći pokretati osnovni CHasm desktop, GIMP i Firefox (s ograničenjima).
Već implementirane značajke uključuju: primanje X11 zahtjeva putem Unix socketa, softversko renderiranje putem DRM/KMS kernel podsustava, obradu ulaza putem evdeva, API za upravljanje ulazom, podršku za povezivanje više X11 klijenata, funkcije za stvaranje i rad s prozorima, pixmap operacije, atomske operacije, odabir teksta za međuspremnik i X11 ekstenzije SHAPE, RANDR, XKB, XInput2 i MIT-SHM. Primitivi vektorskog renderiranja, prebacivanje atomskog video načina, međuspremnik, prebacivanje rasporeda tipkovnice, upravljanje kursorom i X11 ekstenzije RENDER, DAMAGE i COMPOSITE još nisu implementirane.
CHasm okruženje radne površine sadrži otprilike 100 000 linija koda i uključuje komponente napisane u asemblerskom jeziku: upravitelj prozora Tile, statusnu traku Strip, zaključavanje zaslona Bolt, interaktivnu ljusku Bare i emulator terminala Glass. Ove komponente zamjenjuje paket koji se sastoji od gdm-a, X11 Servera, i3, conky-ja, wezterm-a i zsh-a.
Razvoj je usmjeren na minimalnu potrošnju energije pri korištenju na prijenosnom računalu. U stanju mirovanja, upravitelj prozora Tile i terminal Glass uopće ne troše resurse i aktiviraju se samo interakcijom korisnika. Frame, kada je u stanju mirovanja, koristi gotovo tri puta manje CPU resursa od X.Org Servera.
Okruženje temeljeno na Frameu i CHasmu već je dovoljno stabilno da ga autor projekta koristi u svom svakodnevnom radu. Kada se pojave problemi ili nešto nedostaje, autor po potrebi koristi Claudea za rješavanje bilo kakvih problema. Također razvija skup uslužnih programa naredbenog retka, fe2o3, napisan u Rustu i koji pokriva sve njegove potrebe osim web preglednika. fe2o3 uključuje upravitelj datoteka s dva okna Pointer, interpreter naredbi rush, uređivač teksta sličan vimu Scribe, čitač RSS-a Gazette, klijent e-pošte i program za razmjenu poruka Kastrup, planer kalendara Tock, alat za konfiguraciju Crush i preglednik dokumenata Viewer.


Izvor: opennet.ru
