Esitellään assembly-kielellä kirjoitettu Frame X -palvelin ja CHasm-työpöytä.

Frame-projekti kehittää uutta X-palvelinta, joka on kirjoitettu kokonaan NASM-assemblerilla x86_64-arkkitehtuurille ja suunniteltu toimimaan Linux Ei ulkoisia riippuvuuksia. Vuorovaikutus ytimen kanssa Linux, mukaan lukien DRM/KMS- ja evdev-rajapinnat, toteutetaan suoraan järjestelmäkutsujen kautta ilman libc-, Mesa- ja FreeType-kirjastojen kaltaisten kirjastojen käyttöä. Framen koodi on julkisesti jaettu. Kehitystä tehdään tekoälyassistentti Claude Coden avulla.

Projektin tavoitteena on toteuttaa X11-protokollalaajennukset, jotka riittävät CHasm-työpöydälle. Laajennukset on kehittänyt sama tekijä ja ne on myös kirjoitettu assembly-kielellä. Minimivaatimuksena on tuki X11-vakiosovellusten, kuten Firefoxin, VS Coden, GIMPin ja Inkscapen, suorittamiselle. Toteutettaviksi suunniteltuihin X11-laajennuksiin kuuluvat SHAPE, RENDER, XKB, COMPOSITE, DAMAGE, RANDR, MIT-SHM, XInput2 ja XVideo.

Kehitys on jaettu 14 vaiheeseen. Projekti on tällä hetkellä vaiheessa 7, joka sisältää jo perusominaisuudet terminaalin ja joidenkin X11-sovellusten suorittamiseen. Vaihe 14 saavutetaan, kun kaikki täyden Firefox-tuen ominaisuudet on toteutettu. Tällä hetkellä on ilmoitettu, että se pystyy suorittamaan perus-CHasm-työpöytää, GIMPiä ja Firefoxia (rajoituksin).

Jo toteutettuihin ominaisuuksiin kuuluvat: X11-pyyntöjen vastaanottaminen Unix-socketin kautta, ohjelmistorenderöinti DRM/KMS-ytimen alijärjestelmän kautta, syötteiden käsittely evdevin kautta, API syötteiden hallintaan, tuki useiden X11-asiakasohjelmien yhdistämiselle, funktiot ikkunoiden luomiseen ja käsittelyyn, pixelmap-operaatiot, atomioperaatiot, tekstin valinta leikepöydälle sekä X11-laajennukset SHAPE, RANDR, XKB, XInput2 ja MIT-SHM. Vektorirenderöinnin primitiivit, atomivideotilan vaihto, leikepöytä, näppäimistöasettelun vaihto, kohdistimen ohjaus sekä X11-laajennukset RENDER, DAMAGE ja COMPOSITE eivät ole vielä toteutettuja.

CHasm-työpöytäympäristö sisältää noin 100 000 riviä koodia ja sisältää assembly-kielellä kirjoitettuja komponentteja: Tile-ikkunanhallinnan, Strip-tilarivin, Bolt-näytön lukitsijan, Bare-interaktiivisen komentotulkin ja Glass-pääteemulaattorin. Nämä komponentit on korvattu paketilla, joka koostuu gdm:stä, X11 Serveristä, i3:sta, conkysta, weztermistä ja zsh:sta.

Kehitystyössä on keskitytty kannettavalla tietokoneella käytettäessä mahdollisimman pieneen virrankulutukseen. Lepotilassa Tile-ikkunanhallinta ja Glass-pääte eivät kuluta lainkaan resursseja, ja ne aktivoituvat vain käyttäjän toimintojen kautta. Lepotilassa Frame käyttää lähes kolme kertaa vähemmän suorittimen resursseja kuin X.Org Server.

Frame- ja CHasm-pohjainen ympäristö on jo riittävän vakaa, jotta projektin tekijä voi käyttää sitä päivittäisessä työssään. Ongelmien ilmetessä tai jonkin puuttuessa tekijä käyttää Claudea tarvittaessa ongelmien korjaamiseen. Hän kehittää myös komentoriviapuohjelmien sarjaa, fe2o3, joka on kirjoitettu Rustilla ja kattaa kaikki hänen tarpeensa verkkoselainta lukuun ottamatta. fe2o3 sisältää Pointer-kaksoispaneelisen tiedostonhallinnan, Rush-komentotulkin, Scribe-vim-tyyppisen tekstieditorin, Gazette RSS -lukijan, Kastrup-sähköpostiohjelman ja -viestimen, Tock-kalenterisuunnittelijan, Crush-määritystyökalun ja Viewer-asiakirjakatseluohjelman.



Lähde: opennet.ru
Osta luotettava isännöinti sivustoille, joissa on DDoS-suojaus, VPS VDS -palvelimet 🔥 Osta luotettavaa verkkosivustojen hostingia DDoS-suojauksella, VPS VDS -palvelimilla | ProHoster