El proyecto Frame está desarrollando un nuevo servidor X escrito completamente en ensamblador NASM para la arquitectura x86_64 y diseñado para ejecutarse en Linux Sin dependencias externas. Interactuando con el kernel. LinuxLa implementación, que incluye las interfaces DRM/KMS y evdev, se realiza directamente mediante llamadas al sistema, sin utilizar bibliotecas como libc, Mesa ni FreeType. El código de Frame se distribuye públicamente. El desarrollo se lleva a cabo con la ayuda del asistente de IA Claude Code.
El objetivo del proyecto es implementar extensiones del protocolo X11 suficientes para el entorno de escritorio CHasm, desarrollado por el mismo autor y también escrito en lenguaje ensamblador. Se establece como requisito mínimo la compatibilidad con aplicaciones X11 estándar, como Firefox, VS Code, GIMP e Inkscape. Las extensiones X11 previstas para su implementación incluyen SHAPE, RENDER, XKB, COMPOSITE, DAMAGE, RANDR, MIT-SHM, XInput2 y XVideo.
El desarrollo se divide en 14 etapas. Actualmente, el proyecto se encuentra en la etapa 7, que ya incluye funcionalidades básicas para ejecutar una terminal y algunas aplicaciones X11. La etapa 14 se alcanzará cuando se implementen todas las funcionalidades para la compatibilidad total con Firefox. Por el momento, se ha anunciado que podrá ejecutar el entorno de escritorio básico CHasm, GIMP y Firefox (con limitaciones).
Las características ya implementadas incluyen: recepción de solicitudes X11 a través de un socket Unix, renderizado por software a través del subsistema del kernel DRM/KMS, procesamiento de entrada a través de evdev, una API para la gestión de entrada, compatibilidad con la conexión de múltiples clientes X11, funciones para crear y trabajar con ventanas, operaciones de pixmap, operaciones atómicas, selección de texto para el portapapeles y las extensiones X11 SHAPE, RANDR, XKB, XInput2 y MIT-SHM. Las primitivas de renderizado vectorial, el cambio de modo de vídeo atómico, el portapapeles, el cambio de distribución del teclado, el control del cursor y las extensiones X11 RENDER, DAMAGE y COMPOSITE aún no se han implementado.
El entorno de escritorio CHasm contiene aproximadamente 100 000 líneas de código e incluye componentes escritos en lenguaje ensamblador: el gestor de ventanas Tile, la barra de estado Strip, el bloqueador de pantalla Bolt, el intérprete interactivo Bare y el emulador de terminal Glass. Estos componentes se reemplazan por un paquete que incluye gdm, el servidor X11, i3, conky, wezterm y zsh.
El desarrollo se centra en minimizar el consumo de energía en un portátil. En modo inactivo, el gestor de ventanas Tile y la terminal Glass no consumen recursos y se activan únicamente con la interacción del usuario. Frame, en modo inactivo, utiliza casi tres veces menos recursos de CPU que X.Org Server.
El entorno basado en Frame y CHasm ya es lo suficientemente estable como para que el autor del proyecto lo utilice en su trabajo diario. Cuando surgen problemas o falta algo, el autor usa Claude según sea necesario para solucionarlos. También está desarrollando un conjunto de utilidades de línea de comandos, fe2o3, escritas en Rust y que cubren todas sus necesidades excepto un navegador web. fe2o3 incluye el gestor de archivos de doble panel Pointer, el intérprete de comandos rush, el editor de texto tipo vim Scribe, el lector RSS Gazette, el cliente de correo electrónico y mensajería Kastrup, el planificador de calendario Tock, la herramienta de configuración Crush y el visor de documentos Viewer.


Fuente: opennet.ru
