Frame նախագիծը մշակում է նոր X սերվեր, որը գրված է ամբողջությամբ NASM ասեմբլերում x86_64 ճարտարապետության համար և նախատեսված է աշխատելու համար։ Linux Արտաքին կախվածություններ չկան։ Փոխազդեցություն միջուկի հետ Linux, ներառյալ DRM/KMS և evdev ինտերֆեյսները, իրականացվում է անմիջապես համակարգային կանչերի միջոցով՝ առանց libc, Mesa և FreeType-ի նման գրադարանների օգտագործման: Frame-ի կոդը տարածվում է հանրային տիրույթում: Մշակումն իրականացվում է արհեստական ինտելեկտի օգնական Կլոդ Քոդի օգնությամբ:
Նախագծի նպատակն է իրականացնել CHasm աշխատասեղանի համար բավարար X11 արձանագրության ընդլայնումներ, որոնք մշակվել են նույն հեղինակի կողմից և գրվել են նաև ասեմբլեր ֆորմատով: Որպես նվազագույն պահանջ նշված է X11 ստանդարտ ծրագրերի, այդ թվում՝ Firefox, VS Code, GIMP և Inkscape, աշխատանքի աջակցությունը: Կիրառման համար նախատեսված X11 ընդլայնումներից են SHAPE, RENDER, XKB, COMPOSITE, DAMAGE, RANDR, MIT-SHM, XInput2 և XVideo:
Մշակումը բաժանված է 14 փուլի: Նախագիծն այժմ գտնվում է 7-րդ փուլում, որն արդեն ներառում է տերմինալի և որոշ X11 հավելվածների գործարկման հիմնական հնարավորություններ: 14-րդ փուլին կհասնենք, երբ Firefox-ի լիարժեք աջակցության բոլոր հնարավորությունները ներդրվեն: Ներկայումս հայտարարվել է, որ այն կկարողանա գործարկել CHasm desktop-ի հիմնական տարբերակը, GIMP-ը և Firefox-ը (սահմանափակումներով):
Արդեն ներդրված գործառույթների թվում են՝ X11 հարցումների ընդունումը Unix սոքեթի միջոցով, ծրագրային ապահովման մշակումը DRM/KMS միջուկի ենթահամակարգի միջոցով, մուտքային տվյալների մշակումը evdev-ի միջոցով, մուտքային տվյալների կառավարման API-ն, բազմաթիվ X11 հաճախորդների միացման աջակցությունը, Windows-ի ստեղծման և դրանց հետ աշխատելու գործառույթները, պիքսելային գործողություններ, ատոմային գործողություններ, տեքստի ընտրությունը սեղմատախտակի համար և X11 ընդլայնումները՝ SHAPE, RANDR, XKB, XInput2 և MIT-SHM: Վեկտորային մշակման պրիմիտիվները, ատոմային տեսանյութի ռեժիմի փոխարկումը, սեղմատախտակը, ստեղնաշարի դասավորության փոխարկումը, կուրսորի կառավարումը և X11 ընդլայնումները՝ RENDER, DAMAGE և COMPOSITE դեռևս չեն ներդրվել:
CHasm աշխատասեղանի միջավայրը պարունակում է մոտավորապես 100 տող կոդ և ներառում է ասեմբլեր լեզվով գրված բաղադրիչներ՝ Tile պատուհանի կառավարիչ, Strip կարգավիճակի գոտի, Bolt էկրանի կողպեք, Bare ինտերակտիվ shell և Glass տերմինալի էմուլյատոր։ Այս բաղադրիչները փոխարինվում են gdm, X11 Server, i3, conky, wezterm և zsh-ից բաղկացած փաթեթով։
Մշակումը կենտրոնացած է նոութբուքի վրա օգտագործելիս էներգիայի նվազագույն սպառման վրա: Անգործուն ռեժիմում Tile պատուհանների կառավարիչը և Glass տերմինալը ընդհանրապես ռեսուրսներ չեն սպառում և ակտիվանում են միայն օգտատիրոջ փոխազդեցության միջոցով: Անգործուն ռեժիմում Frame-ը օգտագործում է գրեթե երեք անգամ պակաս CPU ռեսուրսներ, քան X.Org Server-ը:
Frame և CHasm-ի վրա հիմնված միջավայրն արդեն բավականաչափ կայուն է, որպեսզի նախագծի հեղինակը կարողանա այն օգտագործել իր ամենօրյա աշխատանքում: Երբ խնդիրներ են առաջանում կամ ինչ-որ բան բացակայում է, հեղինակը անհրաժեշտության դեպքում օգտագործում է Claude-ը՝ ցանկացած խնդիր լուծելու համար: Նա նաև մշակում է հրամանի տողի գործիքների մի շարք՝ fe2o3, որը գրված է Rust լեզվով և բավարարում է իր բոլոր կարիքները, բացառությամբ վեբ զննարկչի: fe2o3-ը ներառում է Pointer երկփեղկ ֆայլերի կառավարիչը, rush հրամանների մեկնաբանիչը, Scribe vim-անման տեքստային խմբագրիչը, Gazette RSS ընթերցողը, Kastrup էլ. փոստի հաճախորդը և մեսենջերը, Tock օրացույցի պլանավորիչը, Crush կարգավորման գործիքը և Viewer փաստաթղթերի դիտիչը:


Source: opennet.ru
