Skip to main content

Frame – Linux X server in Assembly

Hacker News · 2026-07-17 · 운영체제/시스템


저자는 X11이라는 거대한 그래픽 스택을 대신해 'frame'이라는 자체 X 서버를 어셈블리로 직접 작성해 데스크톱을 구동하고 있다. X11이 수백만 줄에 달하는 데 비해 frame은 약 2만 줄로, 외부 의존성·라이브러리·가비지 컬렉터 없이 동작하도록 설계됐다. 현재는 리눅스 커널 위에 frame이 올라가고, 그 위에 창관리자(tile)와 최소한의 유저랜드(glass, 쉘 등)가 얹힌 형태로 전체 CHasm 스택이 약 10만 줄을 차지하며 기존(gdm, X11, i3 등) 스택보다 대략 50배 작은 규모로 대체되었다고 보고한다. 저자는 전력과 CPU 측면의 계측값도 제시하는데, 배터리 유휴 상태에서 패널과 와이파이가 소비하는 전력 때문에 전체 와트 수는 Xorg와 비슷하지만, Xorg는 '아무 것도 하지 않을 때' frame보다 거의 세 배에 달하는 CPU를 소모한다고 적시한다. 또한 측정 시간 동안 tile과 glass는 추가 CPU 시간을 거의 쓰지 않았고, 데스크톱은 사용자가 건드릴 때까지 완전히 정지해 있다고 설명한다. 글은 단순한 성능 취약점 개선을 넘어 '소프트웨어 소유'라는 철학적 목표를 드러낸다. 저자는 배터리 수명과 효율을 이유로 설계를 진행했고, Fe₂O₃라는 러스트 도구 모음으로 다른 유틸리티들을 대체했으며 휴대폰용 런처와 개인용 앱도 직접 만들었다고 밝힌다. 안정성은 일상 운용 수준으로 충분하나 아직 X 프로토콜의 미구현 항목들이 남아 있고 가끔 문제를 겪는다고 솔직히 적는다. 또 문제 해결과 기능 개발 과정에서 Claude(도우미)를 활용해 하드웨어 계층, 커서 렌더링, GPU 핸드오프, 이벤트 워처 등 저수준 그래픽스·이벤트 처리 지식을 많이 습득했다고 전한다. 공개 도메인으로 모든 코드를 배포한 점까지 고려하면, 이번 작업은 극단적 경량화와 제어권 확보가 실무적 이득(코드 규모 축소, 유휴 시 CPU 감소)을 가져올 수 있음을 보여주지만, 작성자 개인 맞춤형 설계라는 한계 역시 분명하다.

Hacker News에서 원문 읽기 →