Presentati il server X Frame e il desktop CHasm, scritti in assembly

Il progetto Frame sviluppa un nuovo server X, interamente scritto in assembler NASM per l'architettura x86_64 e destinato a funzionare su Linux senza dipendenze esterne. L'interazione con il kernel Linux, inclusi i protocolli DRM/KMS ed evdev, avviene direttamente tramite chiamate di sistema, senza ricorrere a librerie come libc, Mesa e FreeType. Il codice di Frame è distribuito come pubblico dominio. Lo sviluppo avviene con l'assistenza dell'AI Claude Code.

L'obiettivo del progetto è implementare estensioni del protocollo X11 sufficienti per il funzionamento del desktop CHasm, sviluppato dallo stesso autore e anch'esso scritto in assembler. È dichiarato un supporto minimo necessario per l'avvio delle applicazioni X11 standard, tra cui Firefox, VS Code, GIMP e Inkscape. Tra le estensioni X11 previste figurano SHAPE, RENDER, XKB, COMPOSITE, DAMAGE, RANDR, MIT-SHM, XInput2 e XVideo.

Lo sviluppo è suddiviso in 14 fasi. Attualmente il progetto si trova alla fase 7, in cui sono già state implementate le funzionalità di base per l'avvio di un terminale e di alcune applicazioni X11. La fase 14 sarà raggiunta quando saranno implementate tutte le funzionalità per il pieno funzionamento con Firefox. In questa fase è stata segnalata la possibilità di avviare un desktop di base CHasm, GIMP e Firefox (con alcune limitazioni).

Tra le funzionalità già implementate ci sono: ricezione delle richieste X11 tramite Unix socket, rendering software tramite il sottosistema del kernel DRM/KMS, gestione degli input tramite evdev, API per il controllo dell'input, supporto per la connessione di più client X11, funzioni per la creazione e gestione di finestre, operazioni con le bitmap, operazioni atomiche, selezione del testo per il copy-paste, estensioni X11 SHAPE, RANDR, XKB, XInput2 e MIT-SHM. Non sono ancora implementati i primitivi di disegno vettoriale, il cambio atomico della modalità video, il clipboard, il cambio della disposizione della tastiera e la gestione del cursore, così come le estensioni X11 RENDER, DAMAGE e COMPOSITE.

L'ambiente desktop CHasm conta circa 100.000 righe di codice e include componenti scritti in assembler: il gestore di finestre a mosaico Tile, la barra di stato Strip, il blocco dello schermo Bolt, la shell interattiva Bare e l'emulatore di terminale Glass. I componenti sviluppati sostituiscono una combinazione di gdm, server X11, i3, conky, wezterm e zsh.

Lo sviluppo si concentra sul consumo energetico ridotto durante l'uso su laptop. In modalità standby, il gestore delle finestre Tile e il terminale Glass non consumano affatto risorse e si attivano solo quando l'utente interagisce. Frame in modalità inattiva consuma quasi tre volte meno risorse CPU rispetto a X.Org Server.

Si afferma che l'ambiente basato su Frame e CHasm è già abbastanza stabile per l'uso quotidiano dell'autore del progetto. Quando sorgono problemi o manca qualcosa, l'autore coinvolge Claude se necessario e risolve le inefficienze. L'autore sviluppa anche un insieme di utilità da riga di comando fe2o3, scritte in Rust e che coprono tutte le sue esigenze tranne il browser web. Il pacchetto fe2o3 include un gestore di file a doppio pannello Pointer, un interprete di comandi rush, un editor di testo simile a vim Scribe, un lettore RSS Gazette, un client email e messaggistica Kastrup, un calendario pianificatore Tock, un configuratore Crush e un visualizzatore di documenti Viewer.



Fonte: opennet.ru
Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster