Présentation de X-serveur Frame et du bureau CHasm, écrits en assembleur

Le projet Frame développe un nouveau serveur X, entièrement écrit en assembleur NASM pour l'architecture x86_64 et destiné à fonctionner sous Linux sans dépendances externes. L'interaction avec le noyau Linux, y compris les interfaces DRM/KMS et evdev, se fait directement par des appels système, sans recourir à des bibliothèques comme libc, Mesa et FreeType. Le code Frame est distribué comme domaine public. Le développement est réalisé avec l'assistance d'IA Claude Code.

L'objectif du projet est de mettre en œuvre des extensions du protocole X11, suffisantes pour faire fonctionner le bureau CHasm, développé par le même auteur et également écrit en assembleur. Comme minimum requis, un support pour le lancement d'applications X11 typiques est annoncé, parmi lesquelles figurent Firefox, VS Code, GIMP et Inkscape. Parmi les extensions X11 prévues figurent SHAPE, RENDER, XKB, COMPOSITE, DAMAGE, RANDR, MIT-SHM, XInput2 et XVideo.

Le développement est divisé en 14 étapes. Actuellement, le projet en est à la 7ème étape, au cours de laquelle les fonctionnalités de base pour le lancement d'un terminal et de certaines applications X11 ont déjà été mises en œuvre. La 14ème étape sera atteinte lorsque toutes les fonctionnalités pour un fonctionnement complet avec Firefox seront mises en place. À ce stade, il est prévu de pouvoir lancer le bureau de base CHasm, GIMP et Firefox (avec des limitations).

Parmi les fonctionnalités déjà mises en œuvre : réception des requêtes X11 via un socket Unix, rendu logiciel via le sous-système du noyau DRM/KMS, traitement des entrées via evdev, API pour la gestion des entrées, prise en charge de la connexion de plusieurs clients X11, fonctions pour créer et gérer des fenêtres, opérations sur les cartes de pixels, opérations atomiques, sélection de texte pour le presse-papiers, extensions X11 SHAPE, RANDR, XKB, XInput2 et MIT-SHM. Les primitives de rendu vectoriel, le basculement atomique du mode vidéo, le presse-papiers, le changement de mise en page du clavier, la gestion du curseur, les extensions X11 RENDER, DAMAGE et COMPOSITE ne sont pas encore mises en œuvre.

L'environnement de bureau CHasm contient environ 100 000 lignes de code et comprend des composants écrits en assembleur : le gestionnaire de fenêtres mosaïque Tile, la barre d'état Strip, le verrou de screen Bolt, le shell interactif Bare et l'émulateur de terminal Glass. Les composants développés remplacent un tout constitué de gdm, serveur X11, i3, conky, wezterm et zsh.

Le développement est axé sur une consommation d'énergie minimale lors de l'utilisation sur un ordinateur portable. En mode veille, le gestionnaire de fenêtres Tile et le terminal Glass ne consomment pas de ressources et s'activent seulement lors d'une action de l'utilisateur. Frame en mode inactif utilise presque trois fois moins de ressources CPU que X.Org Server.

Il est affirmé que l'environnement basé sur Frame et CHasm est déjà suffisamment stable pour être utilisé dans le travail quotidien de l'auteur du projet. Lorsque des problèmes surviennent ou qu'il manque quelque chose, l'auteur fait appel à Claude au besoin pour résoudre les défauts. L'auteur développe également un ensemble d'utilitaires en ligne de commande fe2o3, écrits en Rust et couvrant tous ses besoins, sauf pour le navigateur web. Fe2o3 comprend un gestionnaire de fichiers à deux panneaux Pointer, un interpréteur de commandes rush, un éditeur de texte de style vim Scribe, un lecteur RSS Gazette, un client de messagerie et un messager Kastrup, un calendrier-planificateur Tock, un configurateur Crush, et un visualiseur de documents Viewer.



Source : opennet.ru
Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster