Sunt prezentate serverul X Frame și desktopul CHasm, scrise în assembler.

Proiectul Frame dezvoltă un nou server X, complet scris în assembler NASM pentru arhitectura x86_64 și destinat să funcționeze în Linux fără dependențe externe. Interacțiunea cu nucleul Linux, inclusiv interfețele DRM/KMS și evdev, se realizează direct prin apeluri de sistem, fără a folosi biblioteci precum libc, Mesa și FreeType. Codul Frame este distribuit ca domeniu public. Dezvoltarea se desfășoară cu ajutorul asistentului AI Claude Code.

Scopul proiectului este implementarea extensiilor protocolului X11, suficiente pentru funcționarea desktopului CHasm, dezvoltat de același autor și, de asemenea, scris în assembler. Ca minim necesar, a fost declarat suportul pentru lansarea aplicațiilor tipice X11, printre care se numără Firefox, VS Code, GIMP și Inkscape. Dintre extensiile X11 planificate, sunt menționate SHAPE, RENDER, XKB, COMPOSITE, DAMAGE, RANDR, MIT-SHM, XInput2 și XVideo.

Dezvoltarea este împărțită în 14 etape. În prezent, proiectul se află la etapa 7, în care deja au fost implementate capacitățile de bază pentru lansarea terminalului și a unor aplicații X11. Etapa 14 va fi atinsă atunci când toate capacitățile pentru funcționarea completă cu Firefox vor fi implementate. În acest stadiu, există posibilitatea de a lansa desktopul de bază CHasm, GIMP și Firefox (cu limitări).

Printre capacitățile deja implementate se numără: primirea cererilor X11 prin socket Unix, randarea software prin subsystemul nucleului DRM/KMS, gestionarea input-ului prin evdev, API pentru controlul input-ului, suport pentru conectarea mai multor clienți X11, funcții pentru crearea și gestionarea ferestrelor, operații cu hărți de pixeli, operații atomice, selectarea textului pentru clipboard, extensiile X11 SHAPE, RANDR, XKB, XInput2 și MIT-SHM. Încă nu sunt implementate primitivele de randare vectorială, comutarea atomică a modului video, clipboard-ul, comutarea layout-ului tastaturii, gestionarea cursorului, extensiile X11 RENDER, DAMAGE și COMPOSITE.

Mediul desktopului CHasm numără aproximativ 100.000 de linii de cod și include componente scrise în assembler: managerul de feronine mozaic Tile, bara de stare Strip, blocatorul de ecran Bolt, shell-ul interactiv Bare și emulatorul de terminal Glass. Componentele dezvoltate înlocuiesc o combinație de gdm, server X11, i3, conky, wezterm și zsh.

Dezvoltarea se desfășoară având în vedere un consum minim de energie atunci când este utilizată pe un laptop. În modul de așteptare, managerul de feronerie Tile și terminalul Glass nu consumă deloc resurse și se activează doar la acțiunea utilizatorului. Frame în modul de inactivitate consumă aproape de trei ori mai puține resurse CPU decât X.Org Server.

Se afirmă că mediu bazat pe Frame și CHasm este deja suficient de stabil pentru utilizarea în activitatea zilnică a autorului proiectului. Când apar probleme sau lipsuri, autorul, după cum este necesar, apelează la Claude și rezolvă deficiențele. Autorul dezvoltă, de asemenea, un set de utilitare de consolă fe2o3, scrise în Rust, care acoperă toate nevoile sale, cu excepția web-browser-ului. În cadrul fe2o3 se include un manager de fișiere cu două panouri, Pointer, un interpret de comenzi rush, un editor de text similar cu vim, Scribe, un cititor RSS, Gazette, un client de e-mail și mesager, Kastrup, un calendar-planificator, Tock, un configurator, Crush, un vizualizator de documente, Viewer.



Sursa: opennet.ro
Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster