홈으로 돌아가기

Wayland 1.25: 프로토콜 업데이트 및 프로토콜

Wayland 1.25는 안정성, 문서, 텍스트 입력 및 색상에 대한 확장에 중점을 둡니다. `wl_surface.get_release`, `dispatch_pending_single()` 및 xx-input-method, xx-text-input 프로토콜 추가. HDR 및 IME 지원 개선.

IME 및 색상 관리와 함께 출시된 Wayland 1.25
Advertisement 728x90

Wayland 1.25: 주요 프로토콜 업데이트와 확장 기능

2026년 3월 19일, Wayland 프로토콜의 1.25 버전이 출시되었습니다. 이 그래픽스 프로토콜은 컴포지터를 위한 프로세스 간 통신과 라이브러리를 제공합니다. 이 업데이트는 API와 ABI 수준에서 이전 1.x 릴리스와 하위 호환됩니다. 주요 초점은 버그 수정, 문서 개선, 그리고 특정 프로토콜 기능 추가입니다. 모든 구성 요소에 MIT 라이선스가 유지됩니다.

참조 컴포지터 Weston은 데스크톱과 임베디드 시스템에서의 Wayland 통합 예제를 제공하며 별도로 발전하고 있습니다.

핵심 프로토콜의 변경 사항

개발자들이 문서를 대대적으로 개편했습니다: DocBook 형식이 Markdown 기반 mdBook으로 대체되었습니다. 이는 Wayland XML 방언, 콘텐츠 업데이트 모델, 색상 관리를 완벽히 다룹니다.

Google AdInline article slot

추가된 새 요소:

  • 여러 부모를 가진 인터페이스를 위한 frozen 속성—복잡한 계층 구조에서 상태 처리를 단순화합니다.
  • wl_surface.get_release 요청—wl_surface.attach를 통해 연결된 버퍼를 해제하기 위한 알림을 생성합니다. wl_buffer.release와 달리 이벤트가 특정 렌더링 사이클에 연결되어 렌더링 예측 가능성을 높입니다.
  • wl_display_dispatch_pending_single() 함수—큐에서 정확히 하나의 이벤트를 검색하고 처리합니다. 전체 큐를 비우는 wl_display_dispatch_pending()와 다릅니다.

WAYLAND_DEBUG 디버그 출력이 이제 로그 가독성을 위해 색상 하이라이트를 지원합니다.

새로 추가되고 개선된 Wayland 프로토콜

출시 이후 핵심 프로토콜을 보완하는 확장 기능이 추가되었습니다. 이들은 별도로 배포되며 텍스트 입력과 색상 관리에 초점을 맞춥니다.

Google AdInline article slot

텍스트 입력 프로토콜

  • xx-input-method: 애플리케이션이 컴포지터를 위해 텍스트를 생성할 수 있게 합니다. 가상 키보드와 입력기(IME)에 사용됩니다. 클라이언트가 입력 이벤트를 생성하고 서버가 이를 집계합니다.
  • xx-text-input: 서버가 애플리케이션에 텍스트를 전송합니다. 이를 표준화합니다:

- 텍스트 입력 전송.

- 입력 포커스 처리.

- 언어, 선택, 필드 유형(비밀번호, 다중 라인 등).

Google AdInline article slot

색상 관리

color-management-v1color-representation-v1 프로토콜이 개선되었습니다:

  • HDR 지원.
  • Wayland 서페이스를 위한 색 공간 정의.
  • 정확한 색 프로파일 전송을 위한 버퍼 통합.

이 확장 기능은 Weston이나 Mutter 같은 컴포지터 구현을 단순화합니다.

개발자를 위한 실용적 활용

이 업데이트는 맞춤 컴포지터를 다루는 중·고급 개발자를 대상으로 합니다. 새로운 frozen 속성은 오버레이 관리자 같은 동적 부모 시나리오에서 유용합니다.

wl_display_dispatch_pending_single() 함수는 이벤트 기반 아키텍처에서 큐를 완전히 처리하면 UI가 차단되는 문제를 해결합니다.

입력기 개발을 위해 xx-input-methodxx-text-input 프로토콜이 상호작용을 표준화하여 공급업체 고유 해킹을 최소화합니다.

클라이언트에서 wl_surface.get_release 통합 예제 (의사 코드):

wl_surface_add_listener(surface, &surface_listener, data);

static void surface_release(void *data, struct wl_surface *surface, uint32_t serial) {
    // Buffer released after commit
    buffer_pool_release(buffer);
}

이는 레이스 컨디션 없이 적시 자원 정리를 보장합니다.

주요 포인트

  • mdBook 문서와 전체 XML/색상 범위가 신규 개발자 온보딩을 가속화합니다.
  • wl_surface.get_release가 이벤트를 프레임에 연결하여 렌더링 정확성을 높입니다.
  • wl_display_dispatch_pending_single()가 이벤트에 세밀한 제어를 제공합니다.
  • 새로운 입력 프로토콜이 크로스 컴포지터 호환성을 위해 입력기를 표준화합니다.
  • 색상 관리 개선이 Wayland 생태계에서 HDR 지원을 강화합니다.

— Editorial Team

Advertisement 728x90

다음 읽기