Le serveur Frame X et le bureau CHasm, écrits en langage assembleur, sont présentés.

Le projet Frame développe un nouveau serveur X entièrement écrit en assembleur NASM pour l'architecture x86_64 et conçu pour fonctionner sous Linux Aucune dépendance externe. Interaction avec le noyau LinuxL'interface DRM/KMS et evdev, y compris, est implémentée directement via des appels système, sans recourir à des bibliothèques telles que libc, Mesa et FreeType. Le code de Frame est distribué dans le domaine public. Son développement est réalisé avec l'aide de l'assistant IA Claude Code.

Ce projet vise à implémenter les extensions du protocole X11 nécessaires au bureau CHasm, développé par le même auteur et également écrit en assembleur. La prise en charge des applications X11 standard, telles que Firefox, VS Code, GIMP et Inkscape, est requise. Les extensions X11 prévues sont SHAPE, RENDER, XKB, COMPOSITE, DAMAGE, RANDR, MIT-SHM, XInput2 et XVideo.

Le développement est divisé en 14 étapes. Le projet en est actuellement à l'étape 7, qui inclut déjà les fonctionnalités de base pour exécuter un terminal et certaines applications X11. L'étape 14 sera atteinte lorsque toutes les fonctionnalités nécessaires à la prise en charge complète de Firefox seront implémentées. Pour l'instant, il est annoncé qu'il sera possible d'exécuter l'environnement de bureau CHasm de base, GIMP et Firefox (avec des limitations).

Les fonctionnalités déjà implémentées incluent : la réception de requêtes X11 via un socket Unix, le rendu logiciel via le sous-système noyau DRM/KMS, le traitement des entrées via evdev, une API de gestion des entrées, la prise en charge de la connexion de plusieurs clients X11, des fonctions de création et d’utilisation de fenêtres, les opérations sur les pixmaps, les opérations atomiques, la sélection de texte pour le presse-papiers et les extensions X11 SHAPE, RANDR, XKB, XInput2 et MIT-SHM. Les primitives de rendu vectoriel, la commutation atomique du mode vidéo, le presse-papiers, la commutation de la disposition du clavier, le contrôle du curseur et les extensions X11 RENDER, DAMAGE et COMPOSITE ne sont pas encore implémentées.

L'environnement de bureau CHasm contient environ 100 000 lignes de code et inclut des composants écrits en langage assembleur : le gestionnaire de fenêtres Tile, la barre d'état Strip, le verrouillage d'écran Bolt, l'interpréteur de commandes Bare et l'émulateur de terminal Glass. Ces composants sont remplacés par un ensemble comprenant gdm, le serveur X11, i3, conky, wezterm et zsh.

Le développement est axé sur une consommation d'énergie minimale lors de son utilisation sur un ordinateur portable. En mode veille, le gestionnaire de fenêtres Tile et le terminal Glass ne consomment aucune ressource et ne s'activent que par l'interaction de l'utilisateur. Frame, en veille, utilise près de trois fois moins de ressources processeur que le serveur X.Org.

L'environnement basé sur Frame et CHasm est déjà suffisamment stable pour que l'auteur du projet puisse l'utiliser quotidiennement. En cas de problème ou de fonctionnalité manquante, il utilise Claude pour résoudre les problèmes. Il développe également fe2o3, une suite d'utilitaires en ligne de commande écrite en Rust et couvrant tous ses besoins, à l'exception d'un navigateur web. fe2o3 comprend le gestionnaire de fichiers à double panneau Pointer, l'interpréteur de commandes Rush, l'éditeur de texte Scribe (de type Vim), le lecteur RSS Gazette, le client de messagerie Kastrup, l'agenda Tock, l'outil de configuration Crush et la visionneuse de documents Viewer.



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