Xfwl4 – Xfce용 Wayland 컴포지터 로드맵

1 week ago 9

  • Xfce 팀이 Wayland 기반의 새로운 컴포지터 ‘xfwl4’ 개발 계획을 공개, 커뮤니티 기부금을 활용해 핵심 개발자 Brian Tarricone이 주도
  • 기존 xfwm4와 동일한 기능과 사용자 경험을 목표로 하며, 설정 대화상자와 xfconf 구성을 재사용해 전환의 연속성 확보
  • Rust와 smithay 프레임워크를 기반으로 완전한 신규 코드로 작성, 메모리 안정성과 맞춤형 그래픽·입력 파이프라인 제공
  • 프로젝트 범위에는 세션 관리 구조 변경, XWayland 및 xdg-session-management 지원, CI 빌드 시스템 개선이 포함
  • Xfce의 Wayland 전환을 위한 핵심 투자로, 첫 개발 릴리스는 연중 공개 예정

Xfce의 새로운 Wayland 컴포지터 계획

  • Xfce 팀은 커뮤니티 기부금을 활용해 새로운 Wayland 컴포지터 ‘xfwl4’ 개발을 시작
    • 개발은 오랜 핵심 기여자인 Brian Tarricone이 담당
    • 프로젝트 기금의 상당 부분이 이 개발에 사용될 예정
  • 목표는 xfwm4와 동일한 기능과 동작을 Wayland 환경에서 구현하는 것
    • 기존 xfwm4 설정 대화상자와 xfconf 설정을 그대로 활용해 사용자 경험의 일관성 유지
  • xfwl4는 기존 xfwm4 코드에 기반하지 않고, Rust로 완전히 새로 작성
    • smithay 라이브러리를 기반으로 구축

기존 코드 재활용 대신 재작성 결정 이유

  • 초기에는 xfwm4 코드 수정으로 X11과 Wayland를 병행 지원하려 했으나, 여러 이유로 부적합하다고 판단
    • xfwm4의 구조가 X11 종속적이어서 일반화된 인터페이스 구현이 어려움
    • 리팩터링 시 X11 버그 발생 위험이 높음
    • Wayland에서 지원되지 않는 X11 개념이 존재해 코드 유지가 복잡
    • 기존 코드 사용 시 C 언어와 wlroots에 의존해야 함
  • 별도 코드베이스로 개발하면 xfwm4 안정성 유지와 Wayland 실험적 개발 병행이 가능

smithay 선택 이유

  • Brian Tarricone은 wlroots와 smithay를 비교 평가 후 smithay를 선택
    • smithay는 공식 Wayland 프로토콜 확장 대부분wlroots·KDE 프로토콜을 지원
    • 고수준 추상화가 없어 그래픽·입력 파이프라인의 세밀한 제어 가능
    • 문서화가 우수하며, Rust 사용으로 메모리 관련 버그와 크래시 위험 감소
    • 개발자가 Rust 선호
    • wlroots는 C로 작성되어 Rust 바인딩 작성이 어려움

프로젝트 범위 및 기술 과제

  • xfwm4 기능 동등성 확보 외에도 다음 과제 포함
    • Wayland 환경에서는 컴포지터가 세션 루트가 되어야 하므로 세션 시작 구조 변경 필요
    • xdg-session-management 프로토콜 지원 추가
    • XWayland 지원 포함
    • CI 컨테이너 빌드 시스템을 Rust 코드 빌드가 가능한 meson 기반으로 업그레이드
  • Brian Tarricone은 이미 개발을 시작했으며, 연중 첫 개발 릴리스 공개 예정

커뮤니티와 후원

  • 프로젝트는 Open Collective US 및 EU 후원자들의 기부로 가능해짐
  • 개발 진행 상황과 기술 세부 사항은 GitLab의 xfwl4 이슈 및 소스 코드 저장소에서 확인 가능
  • 관련 문의는 Matrix 채널 #xfce-dev를 통해 가능

Read Entire Article