Frame: Új X11 szerver, teljes egészében x86_64 assemblyben írva

enlightened Ez az oldal a közösségért készül. heart Kövess minket máshol is:  Linux Mint Magyar Közösség a Mastodon-on  Telegram csatorna – csak hírek  Beszélgessünk a Telegram – Linux csevegő csoport  Hírek olvasása RSS segítségével  Linux Mint Hivatalos Magyar Közösség a Facebook-on      Linux Mint Baráti Kör a Facebook-on
wink Ha hasznosnak találod, és szeretnéd, hogy folytatódjon, támogasd a munkát Ko-fi vagy Paypal segítségével. laugh

kami911 képe

Nemrég írtunk a YSERVER-ről, egy Rust programozási nyelven írt X11 szerverről, amelynek fejlesztésében Claude Code is segített. Egy Phoronix-olvasó ma egy még különlegesebb X11 szerver megvalósítást osztott meg, amely szintén nagyrészt AI/LLM segítségével készült: a Frame egy X11 szerver, amelyet tiszta x86_64 assemblyben írtak.

A Frame egy teljesen assemblyben írt X11 szerver, mindössze egyetlen assembly forrásfájlban, amely jelenleg alig marad el a 25 ezer sornyi kódtól. Nem támaszkodik külső függőségekre, nincs szüksége sem a Mesa, sem a FreeType, sem az Xlib, de még a libc használatára sem. A Frame közvetlenül a megfelelő Linux rendszerhívásokkal, a DRM/KMS interfészekkel, valamint bemenethez az evdev felülettel kommunikál.

A Frame az elmúlt hónapban készült, döntően Claude Code közreműködésével. Az assembly kód teljes egészében megtalálható a GitHub oldalon.

Geir Isene, aki Claude Code-dal együtt dolgozik a projekten, egy blogbejegyzésben részletesebben is bemutatta a Frame-et:

"A stack most így néz ki: legalul a Linux kernel. Fölötte a frame. A frame fölött a tile ablakkezelő az információs sávval. A tile-on belül fut a glass terminál, a glass-ban pedig a bare shell. A Bolt a képernyőzáróból greeter lett, és finoman kitessékelte a gdm-et. Mindez assemblyben. A teljes CHasm együtt körülbelül 100 ezer sornyi kód. Az a stack, amit kiváltott (gdm, X11, i3, conky, wezterm, zsh), ennek nagyjából az ötvenszerese. Az egészet az akkumulátor-üzemidőért csináltam. Nem vagyok benne biztos, hogy ennek a laptopnak még van ventilátora. Rajtam kívül.

Ma számokat is rátettem. Akkuról, üresjáratban a frame és az Xorg ugyanannyi wattot vesz fel, mert úgyis a panel és a wifi viszi el a fogyasztás nagy részét. De az Xorg majdnem háromszor annyi CPU-t éget el, mint amennyire a frame-nek szüksége van ahhoz, hogy ne csináljon semmit. A tile és a glass pedig nulla ezredmásodpercet használt három perc mérés alatt. Az asztal teljesen mozdulatlan marad, amíg hozzá nem érek.

...

De stabil? Annyira stabil, hogy napi szinten ezt használom, ezen írom ezt a bejegyzést is, és csak néha kiabálok. Ha valami elromlik, vagy szeretnék egy új funkciót, odafordulok a haveromhoz, Claude-hoz, és elmondom, mi a gond. Ő sosem fárad el, nincsenek erős véleményei, és kiderült, hogy nagyon jó tanár. Ma már sokkal többet tudok a hardverrétegekről, a kurzor kirajzolásáról, a GPU-átadások kezeléséről és az eseményfigyelőkről, mint valaha terveztem."

Rendkívül érdekes, bár egyedi projekt, amely nagymértékben támaszkodik AI/LLM-ekre, hogy kezelni tudja az X11 protokoll támogatásához szükséges hatalmas mennyiségű assembly kódot. Részletesebb blogbejegyzése teljes terjedelmében elérhető itt.