O projeto Frame desenvolve um novo servidor X, totalmente escrito em assembly NASM para a arquitetura x86_64 e destinado a operar no Linux sem dependências externas. A interação com o kernel Linux, incluindo interfaces DRM/KMS e evdev, é realizada diretamente através de chamadas de sistema, sem o uso de bibliotecas como libc, Mesa e FreeType. O código Frame é distribuído como domínio público. O desenvolvimento é realizado com a assistência da IA Claude Code.
O objetivo do projeto é implementar extensões do protocolo X11 suficientes para o funcionamento da área de trabalho CHasm, desenvolvida pelo mesmo autor e também escrita em assembly. O mínimo necessário declarado é o suporte ao lançamento de aplicativos X11 típicos, como Firefox, VS Code, GIMP e Inkscape. Entre as extensões X11 previstas estão SHAPE, RENDER, XKB, COMPOSITE, DAMAGE, RANDR, MIT-SHM, XInput2 e XVideo.
O desenvolvimento é dividido em 14 estágios. Atualmente, o projeto está no 7º estágio, no qual já foram implementadas as funcionalidades básicas para o lançamento do terminal e de alguns aplicativos X11. O 14º estágio será alcançado quando todas as funcionalidades para o funcionamento pleno do Firefox forem implementadas. Nesta fase, é possível lançar a área de trabalho básica CHasm, GIMP e Firefox (com limitações).
Entre as funcionalidades já implementadas estão: recepção de solicitações X11 via socket Unix, renderização programática através do subsistema do kernel DRM/KMS, tratamento de entrada via evdev, API para controle de entrada, suporte à conexão de vários clientes X11, funções para criação e gerenciamento de janelas, operações com mapas de pixels, operações atômicas, seleção de texto para a área de transferência, e extensões X11 SHAPE, RANDR, XKB, XInput2 e MIT-SHM. Primitivas de renderização vetorial, troca atômica de modos de vídeo, área de transferência, troca de layout de teclado, controle do cursor, e extensões X11 RENDER, DAMAGE e COMPOSITE ainda não foram implementadas.
O ambiente de área de trabalho CHasm contém cerca de 100 mil linhas de código e inclui componentes escritos em assembly: gerenciador de janelas em mosaico Tile, painel de estado Strip, bloqueador de tela Bolt, shell interativa Bare e emulador de terminal Glass. Os componentes desenvolvidos substituem a combinação de gdm, servidor X11, i3, conky, wezterm e zsh.
O desenvolvimento é feito com foco no consumo mínimo de energia ao usar um laptop. No modo de espera, o gerenciador de janelas Tile e o terminal Glass não consomem recursos e são ativados apenas com a interação do usuário. O Frame, em modo de inatividade, consome quase três vezes menos recursos de CPU do que o X.Org Server.
Alega-se que o ambiente baseado no Frame e no CHasm já é suficientemente estável para o uso diário do autor do projeto. Quando surgem problemas ou falta algo, o autor, conforme necessário, envolve o Claude e corrige as falhas. O autor também desenvolve um conjunto de utilitários de console fe2o3, escritos em Rust e que cobrem todas as suas necessidades, exceto um navegador web. O fe2o3 inclui um gerenciador de arquivos de duas painéis Pointer, um interpretador de comandos rush, um editor de texto semelhante ao vim Scribe, um leitor de RSS Gazette, um cliente de e-mail e mensageiro Kastrup, um calendário planejador Tock, um configurador Crush e um visualizador de documentos Viewer.


Fonte: opennet.ru
