Frame: 어셈블리로 작성된 미니멀리스트 Linux X Server

Frame: 어셈블리로 작성된 미니멀리스트 Linux X Server

Frame은 미니멀한 어셈블리 구현을 통해 X server 오버헤드를 줄입니다

Frame은 방대한 X11 코드베이스를 대체하기 위해 설계된 어셈블리로 작성된 커스텀 Linux X server입니다. X11은 약 400만 줄의 코드로 구성되어 있는 반면, Frame은 약 20,000줄로 기능적인 데스크톱 환경을 구현합니다. 이러한 복잡성의 감소는 Xorg에 비해 시스템이 유휴 상태일 때 CPU 사용량을 현저히 낮게 유지할 수 있게 하며, 이는 배터리 수명 연장과 발열 감소에 직접적으로 기여합니다.

CHasm 어셈블리 스택

Frame은 CHasm으로 알려진 어셈블리 기반 도구들의 더 넓은 생태계를 위한 기초 그래픽 엔진 역할을 합니다. 이 스택은 GDM, i3, zsh와 같은 전통적인 구성 요소들을 대체하여 완전한 소프트웨어 소유권과 극도의 효율성을 위해 설계되었습니다.

전체 스택은 다음과 같이 구성됩니다:

  • Linux Kernel: 베이스 레이어.
  • Frame: X server (그래픽 엔진).
  • Tile: Strip이라 불리는 정보 바를 특징으로 하는 윈도우 매니저.
  • Glass: Tile 내부에서 실행되는 터미널 에뮬레이터.
  • Bare: Glass 내부에서 실행되는 쉘.
  • Bolt: 그리터(이전에는 스크린 락커).

CHasm 스택은 총 약 100,000줄의 코드로 구성되며, 저자는 이를 대체하는 스택(GDM, X11, i3, conky, wezterm, zsh)보다 50배 이상 작다고 추정합니다.

성능 및 리소스 활용

시스템의 효율성을 측정하면 유휴 상태에서의 CPU 사용량에서 극명한 차이를 보입니다. Frame과 Xorg는 유휴 상태에서 비슷한 와트수를 소모하지만—주로 디스플레이 패널과 Wi-Fi 하드웨어가 전력 소비를 주도하기 때문입니다—Xorg는 Frame이 유휴 상태를 유지하는 데 필요한 CPU 리소스의 거의 3배를 소비합니다. 또한, 윈도우 매니저(Tile)와 터미널(Glass)은 3분간의 측정 기간 동안 CPU 사용량이 0밀리초를 기록하여, 사용자의 상호작용이 발생하기 전까지 데스크톱이 완전히 휴면 상태를 유지함을 의미합니다.

개발 방법론 및 AI 통합

Frame은 코드 생성 및 하드웨어 수준의 개념 학습을 위한 주요 도구로 Claude (LLM)를 사용하여 개발되었습니다. 저자는 AI를 사용하여 특정 요구 사항과

Sources