پروژه Frame در حال توسعه یک سرور X جدید است که کاملاً با اسمبلر NASM برای معماری x86_64 نوشته شده و برای اجرا در ... طراحی شده است. Linux بدون وابستگی خارجی. تعامل با هسته Linux، شامل رابطهای DRM/KMS و evdev، مستقیماً از طریق فراخوانیهای سیستمی و بدون استفاده از کتابخانههایی مانند libc، Mesa و FreeType پیادهسازی میشود. کد Frame در حوزه عمومی توزیع شده است. توسعه با کمک دستیار هوش مصنوعی Claude Code انجام میشود.
هدف این پروژه، پیادهسازی افزونههای پروتکل X11 به اندازه کافی برای دسکتاپ CHasm است که توسط همین نویسنده توسعه داده شده و به زبان اسمبلی نیز نوشته شده است. پشتیبانی از اجرای برنامههای استاندارد X11، از جمله Firefox، VS Code، GIMP و Inkscape، به عنوان حداقل نیاز بیان شده است. افزونههای X11 که برای پیادهسازی برنامهریزی شدهاند عبارتند از SHAPE، RENDER، XKB، COMPOSITE، DAMAGE، RANDR، MIT-SHM، XInput2 و XVideo.
توسعه به ۱۴ مرحله تقسیم شده است. این پروژه در حال حاضر در مرحله ۷ است که شامل قابلیتهای اولیه برای اجرای ترمینال و برخی از برنامههای X11 میشود. مرحله ۱۴ زمانی فرا میرسد که تمام قابلیتهای پشتیبانی کامل از فایرفاکس پیادهسازی شود. در حال حاضر، اعلام شده است که قادر به اجرای دسکتاپ اولیه CHasm، GIMP و فایرفاکس (با محدودیتهایی) خواهد بود.
ویژگیهای پیادهسازیشدهی قبلی شامل موارد زیر است: دریافت درخواستهای X11 از طریق سوکت یونیکس، رندر نرمافزار از طریق زیرسیستم هستهی DRM/KMS، پردازش ورودی از طریق evdev، یک رابط برنامهنویسی کاربردی (API) برای مدیریت ورودی، پشتیبانی از اتصال چندین کلاینت X11، توابعی برای ایجاد و کار با پنجرهها، عملیات نقشهی پیکسلی، عملیات اتمی، انتخاب متن برای کلیپبورد و افزونههای X11 مانند SHAPE، RANDR، XKB، XInput2 و MIT-SHM. عناصر اولیه رندر برداری، تغییر حالت ویدیوی اتمی، کلیپبورد، تغییر چیدمان صفحهکلید، کنترل مکاننما و افزونههای X11 مانند RENDER، DAMAGE و COMPOSITE هنوز پیادهسازی نشدهاند.
محیط دسکتاپ CHasm تقریباً شامل ۱۰۰۰۰۰ خط کد است و شامل اجزایی است که به زبان اسمبلی نوشته شدهاند: مدیر پنجره Tile، نوار وضعیت Strip، قفل صفحه Bolt، پوسته تعاملی Bare و شبیهساز ترمینال Glass. این اجزا با مجموعهای متشکل از gdm، X11 Server، i3، conky، wezterm و zsh جایگزین شدهاند.
این توسعه بر مصرف حداقل برق هنگام استفاده روی لپتاپ متمرکز شده است. در حالت آماده به کار، مدیر پنجره Tile و ترمینال Glass هیچ منبعی مصرف نمیکنند و فقط با تعامل کاربر فعال میشوند. Frame، در حالت آماده به کار، تقریباً سه برابر کمتر از X.Org Server از منابع CPU استفاده میکند.
محیط مبتنی بر Frame و CHasm در حال حاضر به اندازه کافی پایدار است که نویسنده پروژه بتواند از آن در کارهای روزانه خود استفاده کند. وقتی مشکلی پیش میآید یا چیزی از قلم میافتد، نویسنده در صورت نیاز از Claude برای رفع هرگونه مشکل استفاده میکند. او همچنین در حال توسعه مجموعهای از ابزارهای خط فرمان، fe2o3، است که با زبان Rust نوشته شده و تمام نیازهای او به جز مرورگر وب را پوشش میدهد. fe2o3 شامل مدیر فایل دو قسمتی Pointer، مفسر دستور rush، ویرایشگر متن Scribe شبیه vim، خواننده RSS Gazette، کلاینت و پیامرسان ایمیل Kastrup، برنامهریز تقویم Tock، ابزار پیکربندی Crush و نمایشگر اسناد Viewer است.


منبع: opennet.ru
