Frame ํ๋ก์ ํธ๋ x86_64 ์ํคํ ์ฒ์ฉ์ผ๋ก NASM ์ด์ ๋ธ๋ฌ๋ก ์์ ํ ์์ฑ๋์์ผ๋ฉฐ ์คํ๋๋๋ก ์ค๊ณ๋ ์๋ก์ด X ์๋ฒ๋ฅผ ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค. Linux ์ธ๋ถ ์ข ์์ฑ ์์. ์ปค๋๊ณผ ์ํธ ์์ฉ LinuxFrame์ DRM/KMS ๋ฐ evdev ์ธํฐํ์ด์ค๋ฅผ ํฌํจํ์ฌ libc, Mesa, FreeType๊ณผ ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์์คํ ํธ์ถ์ ํตํด ์ง์ ๊ตฌํ๋์์ต๋๋ค. Frame์ ์ฝ๋๋ ๊ณต๊ฐ ๋๋ฉ์ธ์ผ๋ก ๋ฐฐํฌ๋ฉ๋๋ค. ๊ฐ๋ฐ์ AI ๋น์ Claude Code์ ๋์์ ๋ฐ์ ์งํ๋๊ณ ์์ต๋๋ค.
๋ณธ ํ๋ก์ ํธ์ ๋ชฉํ๋ ๋์ผ ์ ์๊ฐ ์ด์ ๋ธ๋ฆฌ ์ธ์ด๋ก ๊ฐ๋ฐํ CHasm ๋ฐ์คํฌํฑ ํ๊ฒฝ์์ ์ฌ์ฉ ๊ฐ๋ฅํ X11 ํ๋กํ ์ฝ ํ์ฅ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๊ฒ์ ๋๋ค. Firefox, VS Code, GIMP, Inkscape ๋ฑ ํ์ค X11 ์ ํ๋ฆฌ์ผ์ด์ ์คํ์ ์ง์ํ๋ ๊ฒ์ด ์ต์ ์๊ตฌ ์ฌํญ์ ๋๋ค. ๊ตฌํ ์์ ์ธ X11 ํ์ฅ ๊ธฐ๋ฅ์๋ SHAPE, RENDER, XKB, COMPOSITE, DAMAGE, RANDR, MIT-SHM, XInput2, XVideo ๋ฑ์ด ์์ต๋๋ค.
๊ฐ๋ฐ์ ์ด 14๋จ๊ณ๋ก ์งํ๋ฉ๋๋ค. ํ์ฌ ํ๋ก์ ํธ๋ 7๋จ๊ณ์ ๋๋ฌํ์ผ๋ฉฐ, ํฐ๋ฏธ๋ ์คํ ๋ฐ ์ผ๋ถ X11 ์ ํ๋ฆฌ์ผ์ด์ ์คํ์ ์ํ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ด ์ด๋ฏธ ๊ตฌํ๋์ด ์์ต๋๋ค. 14๋จ๊ณ๋ Firefox๋ฅผ ์๋ฒฝํ๊ฒ ์ง์ํ๋ ๋ชจ๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋ ๋ ๋๋ฌํ ์์ ์ ๋๋ค. ํ์ฌ๋ก์๋ ๊ธฐ๋ณธ CHasm ๋ฐ์คํฌํฑ ํ๊ฒฝ, GIMP, ๊ทธ๋ฆฌ๊ณ (์ ํ ์ฌํญ์ด ์๋) Firefox๋ฅผ ์คํํ ์ ์์ ๊ฒ์ผ๋ก ๋ฐํ๋์์ต๋๋ค.
์ด๋ฏธ ๊ตฌํ๋ ๊ธฐ๋ฅ์๋ Unix ์์ผ์ ํตํ X11 ์์ฒญ ์์ , DRM/KMS ์ปค๋ ์๋ธ์์คํ ์ ํตํ ์ํํธ์จ์ด ๋ ๋๋ง, evdev๋ฅผ ํตํ ์ ๋ ฅ ์ฒ๋ฆฌ, ์ ๋ ฅ ๊ด๋ฆฌ API, ์ฌ๋ฌ X11 ํด๋ผ์ด์ธํธ ์ฐ๊ฒฐ ์ง์, ์ฐฝ ์์ฑ ๋ฐ ์์ ํจ์, ํฝ์ค๋งต ์ฐ์ฐ, ์์์ ์ฐ์ฐ, ํด๋ฆฝ๋ณด๋ ํ ์คํธ ์ ํ, ๊ทธ๋ฆฌ๊ณ X11 ํ์ฅ ๊ธฐ๋ฅ์ธ SHAPE, RANDR, XKB, XInput2, MIT-SHM์ด ํฌํจ๋ฉ๋๋ค. ๋ฒกํฐ ๋ ๋๋ง ๊ธฐ๋ณธ ์์, ์์์ ๋น๋์ค ๋ชจ๋ ์ ํ, ํด๋ฆฝ๋ณด๋, ํค๋ณด๋ ๋ ์ด์์ ์ ํ, ์ปค์ ์ ์ด, ๊ทธ๋ฆฌ๊ณ X11 ํ์ฅ ๊ธฐ๋ฅ์ธ RENDER, DAMAGE, COMPOSITE๋ ์์ง ๊ตฌํ๋์ง ์์์ต๋๋ค.
CHasm ๋ฐ์คํฌํฑ ํ๊ฒฝ์ ์ฝ 100๋ง ์ค์ ์ฝ๋๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, ์ด์ ๋ธ๋ฆฌ ์ธ์ด๋ก ์์ฑ๋ ๊ตฌ์ฑ ์์๋ค์ ํฌํจํฉ๋๋ค. ์ด๋ฌํ ๊ตฌ์ฑ ์์์๋ Tile ์ฐฝ ๊ด๋ฆฌ์, Strip ์ํ ํ์์ค, Bolt ํ๋ฉด ์ ๊ธ ํ๋ก๊ทธ๋จ, Bare ๋ํํ ์ ธ, Glass ํฐ๋ฏธ๋ ์๋ฎฌ๋ ์ดํฐ ๋ฑ์ด ์์ต๋๋ค. ์ด๋ฌํ ๊ตฌ์ฑ ์์๋ค์ gdm, X11 ์๋ฒ, i3, conky, wezterm, zsh๋ก ๊ตฌ์ฑ๋ ๋ฒ๋ค๋ก ๋์ฒด๋์์ต๋๋ค.
์ด ๊ฐ๋ฐ์ ๋ ธํธ๋ถ์์ ์ฌ์ฉํ ๋ ์ ๋ ฅ ์๋น๋ฅผ ์ต์ํํ๋ ๋ฐ ์ค์ ์ ๋์์ต๋๋ค. ์ ํด ๋ชจ๋์์ ํ์ผ ์ฐฝ ๊ด๋ฆฌ์์ ๊ธ๋์ค ํฐ๋ฏธ๋์ ๋ฆฌ์์ค๋ฅผ ์ ํ ์ฌ์ฉํ์ง ์์ผ๋ฉฐ ์ฌ์ฉ์ ์ํธ ์์ฉ์ ์ํด์๋ง ํ์ฑํ๋ฉ๋๋ค. Frame์ ์ ํด ์ํ์ผ ๋ X.Org ์๋ฒ๋ณด๋ค CPU ๋ฆฌ์์ค๋ฅผ ๊ฑฐ์ 3๋ฐฐ ์ ๊ฒ ์ฌ์ฉํฉ๋๋ค.
Frame๊ณผ CHasm ๊ธฐ๋ฐ ํ๊ฒฝ์ ์ด๋ฏธ ํ๋ก์ ํธ ๊ฐ๋ฐ์๊ฐ ์ผ์ ์ ๋ฌด์ ์ฌ์ฉํ ์ ์์ ๋งํผ ์์ ์ ์ ๋๋ค. ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ฑฐ๋ ํ์ํ ๊ธฐ๋ฅ์ด ๋๋ฝ๋ ๊ฒฝ์ฐ, ๊ฐ๋ฐ์๋ ํ์์ ๋ฐ๋ผ Claude๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค. ๋ํ, ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์ ์ธํ ๋ชจ๋ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋ Rust๋ก ์์ฑ๋ ๋ช ๋ น์ค ์ ํธ๋ฆฌํฐ ๋ชจ์์ธ fe2o3๋ฅผ ๊ฐ๋ฐ ์ค์ ๋๋ค. fe2o3์๋ Pointer ๋์ผ ํจ๋ ํ์ผ ๊ด๋ฆฌ์, rush ๋ช ๋ น ์ธํฐํ๋ฆฌํฐ, Scribe vim๊ณผ ์ ์ฌํ ํ ์คํธ ํธ์ง๊ธฐ, Gazette RSS ๋ฆฌ๋, Kastrup ์ด๋ฉ์ผ ํด๋ผ์ด์ธํธ ๋ฐ ๋ฉ์ ์ , Tock ์บ๋ฆฐ๋ ํ๋๋, Crush ์ค์ ๋๊ตฌ, ๊ทธ๋ฆฌ๊ณ Viewer ๋ฌธ์ ๋ทฐ์ด๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.


์ถ์ฒ : opennet.ru
