Frame projesi, x86_64 mimarisi için tamamen NASM assembler dilinde yazılmış ve çalışacak şekilde tasarlanmış yeni bir X sunucusu geliştiriyor. Linux Harici bağımlılık yok. Çekirdekle etkileşim halinde. LinuxDRM/KMS ve evdev arayüzleri de dahil olmak üzere, Frame'in kodu libc, Mesa ve FreeType gibi kütüphaneler kullanılmadan doğrudan sistem çağrıları yoluyla uygulanmaktadır. Kod, kamu malı olarak dağıtılmaktadır. Geliştirme, yapay zeka asistanı Claude Code'un yardımıyla gerçekleştirilmektedir.
Projenin amacı, aynı yazar tarafından geliştirilen ve assembly dilinde yazılmış olan CHasm masaüstü için yeterli X11 protokol uzantılarını uygulamaktır. Firefox, VS Code, GIMP ve Inkscape dahil olmak üzere standart X11 uygulamalarının çalıştırılması desteği minimum gereksinim olarak belirtilmiştir. Uygulanması planlanan X11 uzantıları arasında SHAPE, RENDER, XKB, COMPOSITE, DAMAGE, RANDR, MIT-SHM, XInput2 ve XVideo yer almaktadır.
Geliştirme 14 aşamaya ayrılmıştır. Proje şu anda 7. aşamada olup, terminal ve bazı X11 uygulamalarını çalıştırmak için temel yetenekleri içermektedir. Tam Firefox desteği için tüm yetenekler uygulandığında 14. aşamaya ulaşılacaktır. Şu anda, temel CHasm masaüstü, GIMP ve Firefox'u (sınırlamalarla) çalıştırabileceği duyurulmuştur.
Halihazırda uygulanan özellikler arasında şunlar yer almaktadır: Unix soketi üzerinden X11 isteklerinin alınması, DRM/KMS çekirdek alt sistemi üzerinden yazılım tabanlı işleme, evdev üzerinden giriş işleme, giriş yönetimi için bir API, birden fazla X11 istemcisinin bağlanmasına destek, pencere oluşturma ve bunlarla çalışma işlevleri, piksel haritası işlemleri, atomik işlemler, pano için metin seçimi ve X11 uzantıları SHAPE, RANDR, XKB, XInput2 ve MIT-SHM. Vektör işleme temel öğeleri, atomik video modu değiştirme, pano, klavye düzeni değiştirme, imleç kontrolü ve X11 uzantıları RENDER, DAMAGE ve COMPOSITE henüz uygulanmamıştır.
CHasm masaüstü ortamı yaklaşık 100 satır kod içerir ve assembly dilinde yazılmış bileşenler barındırır: Tile pencere yöneticisi, Strip durum çubuğu, Bolt ekran kilitleyici, Bare etkileşimli kabuk ve Glass terminal öyküncüsü. Bu bileşenler, gdm, X11 Sunucusu, i3, conky, wezterm ve zsh'den oluşan bir paketle değiştirilmiştir.
Geliştirme, dizüstü bilgisayarda kullanıldığında minimum güç tüketimine odaklanmıştır. Boşta bekleme modunda, Tile pencere yöneticisi ve Glass terminali hiç kaynak tüketmez ve yalnızca kullanıcı etkileşimiyle etkinleştirilir. Frame, boşta bekleme modundayken X.Org Server'dan neredeyse üç kat daha az CPU kaynağı kullanır.
Frame ve CHasm tabanlı ortam, projenin yazarının günlük çalışmalarında kullanabileceği kadar kararlı durumda. Sorunlar ortaya çıktığında veya bir şey eksik olduğunda, yazar sorunları gidermek için gerektiğinde Claude'u kullanıyor. Ayrıca, Rust dilinde yazılmış ve bir web tarayıcısı hariç tüm ihtiyaçlarını karşılayan fe2o3 adlı bir komut satırı yardımcı programı seti geliştiriyor. fe2o3, Pointer çift bölmeli dosya yöneticisini, rush komut yorumlayıcısını, Scribe vim benzeri metin düzenleyicisini, Gazette RSS okuyucusunu, Kastrup e-posta istemcisi ve mesajlaşma programını, Tock takvim planlayıcısını, Crush yapılandırma aracını ve Viewer belge görüntüleyicisini içeriyor.


Kaynak: opennet.ru
