X Window System == X window == X11

Wayland

리눅스 데스크탑 환경을 구현하기 위한 프로토콜

데스크탑 환경은 크게 보면 컴포지터와 쉘로 구분됨

컴포지터와 쉘의 구현을 돕는 API와 쉘이 어플리케이션과 통신할 수 있도록 프로토콜을 제공함

Wayland 이전에는 X11이 컴포지터(X 서버)의 역할을 했었다.

하지만 시간이 지나면서 커널구조가 많이 변경되었고, 이전에는 X11에서 처리해야 했던 많은 일들이, DRI, DRM등을 통해 커널이 처리하기 시작했다.

X11이라는 단일 컴포지터가 모든 쉘을 관리하는 모델은 리눅스 GUI 환경의 변화를 따라오기에는 너무 거대했고 유연하지 않았다.

Wayland는 이러한 X11의 문제를 해결하기 위해 개발되었다.

Wayland는 X11과 달리 컴포지터를 직접 구현하지 않는다. 대신 프로토콜과 관련 API를 제공하고 컴포지터와 쉘은 서드파티가 구현하도록 하고 있다.

X window 시스템 이벤트 처리 과정

Wayland 시스템 구조