Sunt prezentate serverul Frame X și desktopul CHasm, scrise în limbaj de asamblare.

Proiectul Frame dezvoltă un nou server X scris în întregime în asamblator NASM pentru arhitectura x86_64 și conceput să ruleze în Linux Fără dependențe externe. Interacțiune cu kernelul Linux, inclusiv interfețele DRM/KMS și evdev, este implementat direct prin apeluri de sistem, fără utilizarea bibliotecilor precum libc, Mesa și FreeType. Codul Frame este distribuit în domeniul public. Dezvoltarea se realizează cu ajutorul asistentului de inteligență artificială Claude Code.

Scopul proiectului este de a implementa extensii de protocol X11 suficiente pentru desktopul CHasm, dezvoltat de același autor și scris și în assembly. Suportul pentru rularea aplicațiilor X11 standard, inclusiv Firefox, VS Code, GIMP și Inkscape, este declarat o cerință minimă. Extensiile X11 planificate pentru implementare includ SHAPE, RENDER, XKB, COMPOSITE, DAMAGE, RANDR, MIT-SHM, XInput2 și XVideo.

Dezvoltarea este împărțită în 14 etape. Proiectul se află în prezent în etapa 7, care include deja capabilități de bază pentru rularea unui terminal și a unor aplicații X11. Etapa 14 va fi atinsă atunci când vor fi implementate toate capabilitățile pentru suport complet pentru Firefox. În prezent, se anunță că va putea rula desktopul de bază CHasm, GIMP și Firefox (cu limitări).

Printre caracteristicile deja implementate se numără: primirea de cereri X11 printr-un socket Unix, randarea software prin subsistemul kernel DRM/KMS, procesarea intrărilor prin evdev, o API pentru gestionarea intrărilor, suport pentru conectarea mai multor clienți X11, funcții pentru crearea și lucrul cu ferestre, operații pixmap, operații atomice, selecția de text pentru clipboard și extensiile X11 SHAPE, RANDR, XKB, XInput2 și MIT-SHM. Primitivele de randare vectorială, comutarea modului video atomic, clipboard-ul, comutarea aspectului tastaturii, controlul cursorului și extensiile X11 RENDER, DAMAGE și COMPOSITE nu au fost încă implementate.

Mediul desktop CHasm conține aproximativ 100 de linii de cod și include componente scrise în limbaj de asamblare: managerul de ferestre Tile, bara de stare Strip, blocarea ecranului Bolt, shell-ul interactiv Bare și emulatorul de terminal Glass. Aceste componente sunt înlocuite de un pachet format din gdm, X11 Server, i3, conky, wezterm și zsh.

Dezvoltarea este concentrată pe un consum minim de energie atunci când este utilizat pe un laptop. În modul inactiv, managerul de ferestre Tile și terminalul Glass nu consumă deloc resurse și sunt activate doar prin interacțiunea utilizatorului. Frame, atunci când este inactiv, utilizează de aproape trei ori mai puține resurse CPU decât X.Org Server.

Mediul bazat pe Frame și CHasm este deja suficient de stabil pentru ca autorul proiectului să îl poată utiliza în munca sa zilnică. Când apar probleme sau lipsește ceva, autorul îl folosește pe Claude după cum este necesar pentru a remedia orice problemă. De asemenea, dezvoltă un set de utilitare pentru linia de comandă, fe2o3, scrise în Rust și care acoperă toate nevoile sale, cu excepția unui browser web. fe2o3 include managerul de fișiere Pointer cu două panouri, interpretorul de comenzi rush, editorul de text de tip vim Scribe, cititorul RSS Gazette, clientul de e-mail și mesageria Kastrup, planificatorul de calendar Tock, instrumentul de configurare Crush și vizualizatorul de documente Viewer.



Sursa: opennet.ru
Cumpărați găzduire de încredere pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără găzduire web fiabilă cu protecție DDoS, servere VPS VDS | ProHoster